/* ================================================
   DIVINSHKA – GLOBAL CSS
   Variables, reset, typographies, boutons, layout
   ================================================ */

/* ── FONTS ── */
body, input, select, textarea, button {
    font-family: 'Jost', 'Helvetica Neue', Arial, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
    color: var(--dv-dark);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.woocommerce-loop-product__title,
.product_title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 600;
    color: var(--dv-dark);
    line-height: 1.2;
}

a {
    color: var(--dv-dark);
    transition: color var(--dv-transition), opacity var(--dv-transition);
    text-decoration: none;
}
a:hover { color: var(--dv-gold); }

img { max-width: 100%; height: auto; display: block; }
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

/* ── CONTAINER ── */
.ast-container,
.ast-row {
    max-width: var(--dv-container) !important;
}

/* ── BOUTONS GLOBAUX ── */
.btn,
.dv-btn,
.button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .cart .button,
.elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px 32px;
    font-family: 'Jost', sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    border: none;
    border-radius: 0;
    cursor: pointer;
    transition: background var(--dv-transition), color var(--dv-transition), opacity var(--dv-transition);
    text-decoration: none;
}

.btn-primary,
.dv-btn--primary,
.woocommerce a.button:not(.product_type_external),
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    background: var(--dv-dark);
    color: #fff;
}
.btn-primary:hover,
.dv-btn--primary:hover,
.woocommerce a.button:hover:not(.product_type_external),
.woocommerce button.button.alt:hover {
    background: var(--dv-gold);
    color: #fff;
}

.btn-outline,
.dv-btn--outline {
    background: transparent;
    color: var(--dv-dark);
    border: 1px solid var(--dv-dark);
}
.btn-outline:hover,
.dv-btn--outline:hover {
    background: var(--dv-dark);
    color: #fff;
}

/* ── BADGES ── */
.dv-badge {
    display: inline-block;
    padding: 4px 10px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    line-height: 1;
    border-radius: var(--dv-radius);
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 10;
}
.dv-badge--new {
    background: var(--dv-dark);
    color: #fff;
}
.dv-badge--promo {
    background: #c8102e;
    color: #fff;
}
.dv-badge--prestige {
    background: var(--dv-gold);
    color: #fff;
}

/* ── SECTION LAYOUT ── */
.dv-section {
    padding: 80px 0;
}
.dv-section--sm {
    padding: 50px 0;
}
.dv-section--lg {
    padding: 120px 0;
}
.dv-section--cream {
    background: var(--dv-cream);
}
.dv-section--dark {
    background: var(--dv-dark);
    color: #fff;
}
.dv-section--black {
    background: var(--dv-black);
    color: #fff;
}

.dv-container {
    max-width: var(--dv-container);
    margin: 0 auto;
    padding: 0 30px;
}

/* ── TITRE DE SECTION ── */
.dv-section-eyebrow {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--dv-gold);
    margin-bottom: 10px;
    display: block;
}
.dv-section-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 38px;
    font-weight: 400;
    color: var(--dv-dark);
    margin-bottom: 12px;
    line-height: 1.15;
}
.dv-section-title--lg { font-size: 52px; }
.dv-section-title--white { color: #fff; }
.dv-section-subtitle {
    font-size: 14px;
    color: var(--dv-grey-text);
    max-width: 520px;
    margin: 0 auto 40px;
    line-height: 1.7;
}

/* ── DIVIDER DORÉ ── */
.dv-divider {
    width: 40px;
    height: 1px;
    background: var(--dv-gold);
    margin: 16px auto;
}

/* ── ANIMATIONS SCROLL ── */
.dv-animate {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}
.dv-animate.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.dv-animate--delay-1 { transition-delay: 0.1s; }
.dv-animate--delay-2 { transition-delay: 0.2s; }
.dv-animate--delay-3 { transition-delay: 0.3s; }
.dv-animate--delay-4 { transition-delay: 0.4s; }

/* ── NOTIFICATIONS WC ── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-top: 3px solid var(--dv-dark) !important;
    font-size: 14px;
}
.woocommerce-message::before { color: var(--dv-dark) !important; }
