/*
Theme layer: AivoraDolls Obsidian Atelier
Purpose: a unified, restrained luxury system across Astra, WooCommerce and
editor content. Loaded after all legacy/component styles.
*/

:root {
    --av-ink: #08090b;
    --av-ink-soft: #0d0f12;
    --av-panel: #111318;
    --av-panel-high: #171a20;
    --av-ivory: #f4f0e8;
    --av-copy: #d2cec5;
    --av-muted: #9f9a91;
    --av-gold: #d6bd7c;
    --av-gold-bright: #f0daa0;
    --av-gold-deep: #9f8144;
    --av-wine: #461b2a;
    --av-wine-soft: #6f3047;
    --av-rose-muted: #9b5c71;
    --av-line: rgba(214, 189, 124, 0.2);
    --av-line-soft: rgba(255, 255, 255, 0.08);
    --av-glass: rgba(17, 19, 24, 0.88);
    --av-shadow-sm: 0 12px 34px rgba(0, 0, 0, 0.24);
    --av-shadow-md: 0 24px 72px rgba(0, 0, 0, 0.38);
    --av-shadow-lg: 0 38px 110px rgba(0, 0, 0, 0.54);
    --av-radius-sm: 10px;
    --av-radius-md: 18px;
    --av-radius-lg: 28px;
    --av-radius-pill: 999px;
    --av-container: 1280px;
    --av-serif: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
    --av-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    --av-transition: 220ms cubic-bezier(.2, .7, .2, 1);
}

html {
    color-scheme: dark;
    scroll-behavior: smooth;
    background: var(--av-ink);
}

body,
body.ast-separate-container,
body.ast-page-builder-template {
    min-width: 320px;
    overflow-x: clip;
    background:
        radial-gradient(70rem 38rem at 105% -10%, rgba(214, 189, 124, 0.09), transparent 58%),
        radial-gradient(52rem 34rem at -12% 22%, rgba(58, 23, 35, 0.22), transparent 62%),
        linear-gradient(180deg, #090a0d 0%, #0b0c0f 52%, #08090b 100%) !important;
    color: var(--av-copy) !important;
    font-family: var(--av-sans) !important;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75 !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body::before {
    background:
        linear-gradient(rgba(255, 255, 255, 0.012) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.01) 1px, transparent 1px) !important;
    background-size: 72px 72px !important;
    opacity: 0.4;
}

::selection {
    background: rgba(214, 189, 124, 0.28);
    color: var(--av-ivory);
}

img,
svg,
video,
iframe {
    max-width: 100%;
}

img {
    height: auto;
}

a {
    color: var(--av-gold) !important;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
    transition: color var(--av-transition), opacity var(--av-transition), transform var(--av-transition);
}

a:hover,
a:focus-visible {
    color: var(--av-gold-bright) !important;
    text-shadow: none !important;
}

:where(a, button, input, select, textarea, summary):focus-visible {
    outline: 2px solid var(--av-gold-bright) !important;
    outline-offset: 3px;
}

h1,
h2,
h3,
h4,
h5,
h6,
.entry-title,
.page-title,
.woocommerce-products-header__title,
.single-product .product_title {
    color: var(--av-ivory) !important;
    font-family: var(--av-serif) !important;
    font-weight: 500 !important;
    letter-spacing: -0.018em !important;
    max-width: 100%;
    white-space: nowrap;
    text-wrap: balance;
    text-shadow: none !important;
}

/* Heading Fit keeps normal headings on one line and lets the companion
   script reduce type smoothly to the available width. Explicit author line
   breaks are left untouched. Extremely long titles retain a readable minimum
   and fall back to balanced wrapping instead of overflowing the viewport. */
body .aivora-fit-heading.aivora-fit-heading {
    max-width: 100% !important;
    overflow-wrap: normal !important;
    white-space: nowrap !important;
    font-size: var(--av-fit-font-size) !important;
}

body .aivora-fit-heading.aivora-fit-heading--fallback {
    overflow-wrap: anywhere !important;
    white-space: normal !important;
    text-wrap: balance;
}

h1,
.entry-title,
.page-title,
.woocommerce-products-header__title {
    max-width: 100%;
    font-size: clamp(2.25rem, 3.8vw, 3.75rem) !important;
    line-height: 1.08 !important;
    overflow-wrap: anywhere;
}

h2 {
    font-size: clamp(1.75rem, 3.1vw, 2.8rem) !important;
    line-height: 1.13 !important;
}

h3 {
    font-size: clamp(1.35rem, 2.2vw, 1.95rem) !important;
    line-height: 1.24 !important;
}

h4 {
    font-size: clamp(1.12rem, 1.65vw, 1.45rem) !important;
    line-height: 1.3 !important;
}

h5 {
    font-size: clamp(1rem, 1.3vw, 1.2rem) !important;
    line-height: 1.35 !important;
}

h6 {
    font-size: clamp(0.88rem, 1.1vw, 1rem) !important;
    line-height: 1.4 !important;
}

p,
li,
dd,
dt,
figcaption,
blockquote {
    color: var(--av-copy) !important;
}

.ast-container,
.site-content > .ast-container,
.site-primary-header-wrap,
.site-below-footer-wrap,
.site-above-footer-wrap {
    width: min(100% - 48px, var(--av-container));
    max-width: var(--av-container);
    margin-inline: auto;
}

.site-content {
    position: relative;
    z-index: 1;
}

/* Header and navigation */
.site-header,
.ast-primary-header-bar,
.ast-above-header-bar,
.ast-below-header-bar {
    background: rgba(8, 9, 11, 0.82) !important;
    border: 0 !important;
    box-shadow: 0 1px 0 var(--av-line-soft) !important;
    -webkit-backdrop-filter: blur(24px) saturate(125%);
    backdrop-filter: blur(24px) saturate(125%);
}

.ast-primary-header-bar {
    min-height: 76px;
}

.site-title a,
.ast-site-title-wrap .site-title a {
    color: var(--av-ivory) !important;
    font-family: var(--av-serif) !important;
    font-size: clamp(1.35rem, 2vw, 1.75rem);
    font-weight: 500 !important;
    letter-spacing: 0.08em;
}

.site-description {
    color: var(--av-muted) !important;
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.main-header-menu > .menu-item > .menu-link,
.ast-header-break-point .main-header-menu .menu-link {
    position: relative;
    color: #ded9cf !important;
    font-size: clamp(0.9rem, 0.92vw, 1rem) !important;
    font-weight: 650 !important;
    letter-spacing: 0.065em;
    text-transform: uppercase;
    text-shadow: none;
    transition: color var(--av-transition), text-shadow var(--av-transition), filter var(--av-transition) !important;
}

.main-header-menu > .menu-item > .menu-link::after {
    content: none !important;
    display: none !important;
}

.main-header-menu > .menu-item:hover > .menu-link {
    color: var(--av-gold-bright) !important;
    text-shadow:
        0 0 8px rgba(240, 218, 160, 0.52),
        0 0 22px rgba(214, 189, 124, 0.3) !important;
}

.main-header-menu > .current-menu-item > a,
.main-header-menu > .current-menu-ancestor > a {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--av-gold-bright) !important;
    text-shadow:
        0 0 8px rgba(240, 218, 160, 0.5),
        0 0 22px rgba(214, 189, 124, 0.28) !important;
}

.main-header-menu .sub-menu {
    width: min(280px, calc(100vw - 32px)) !important;
    min-width: 0 !important;
    padding: 8px !important;
    background: rgba(13, 15, 18, 0.98) !important;
    border: 1px solid var(--av-line) !important;
    border-radius: 14px !important;
    box-shadow: var(--av-shadow-lg) !important;
    backdrop-filter: blur(24px);
}

.main-header-menu .sub-menu .menu-item {
    width: 100%;
    border: 0 !important;
}

.main-header-menu .sub-menu .menu-link {
    min-height: 48px;
    padding: 12px 14px !important;
    border: 0 !important;
    border-radius: 8px !important;
    color: var(--av-copy) !important;
    font-size: 0.9rem !important;
    font-weight: 560 !important;
    letter-spacing: 0.035em;
    line-height: 1.35;
    text-transform: none;
}

/* ==========================================================
   v2.0.3 compatibility fixes
   Astra's gallery, inline mobile menu and cart drawer each use
   layout rules of their own. Keep these overrides together and
   intentionally more specific than the original component layer.
========================================================== */

/* Let every product photo define its own height. The previous fixed-height
   frame created wide side bars around portrait photography. */
body.single-product .woocommerce-product-gallery .flex-viewport {
    max-width: 100% !important;
    border-radius: 20px !important;
    background: #0b0d10 !important;
}

body.single-product .woocommerce-product-gallery__image > a {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    background: #0b0d10 !important;
}

body.single-product .woocommerce-product-gallery__wrapper img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    border-radius: 0 !important;
    object-fit: unset !important;
}

/* Mini-cart: lock the standard WooCommerce item markup to one readable
   content column. This prevents Astra/legacy floats from squeezing the title
   to one word per line and separating option labels from their values. */
#astra-mobile-cart-drawer,
#astra-mobile-cart-drawer *,
.astra-cart-drawer,
.astra-cart-drawer * {
    box-sizing: border-box;
}

#astra-mobile-cart-drawer .woocommerce-mini-cart,
.astra-cart-drawer .woocommerce-mini-cart {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 8px 20px 18px !important;
    list-style: none !important;
}

#astra-mobile-cart-drawer .woocommerce-mini-cart-item,
.astra-cart-drawer .woocommerce-mini-cart-item {
    width: 100% !important;
    min-width: 0 !important;
    padding: 20px 34px 20px 0 !important;
}

#astra-mobile-cart-drawer .woocommerce-mini-cart-item > a:not(.remove),
.astra-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) {
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    grid-template-columns: 82px minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: start !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--av-ivory) !important;
    font-size: 1rem !important;
    line-height: 1.42 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
}

#astra-mobile-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) img,
.astra-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) img {
    float: none !important;
    width: 82px !important;
    min-width: 82px !important;
    max-width: 82px !important;
    height: 104px !important;
    margin: 0 !important;
    grid-column: 1 !important;
    object-fit: cover !important;
}

#astra-mobile-cart-drawer .woocommerce-mini-cart-item dl.variation,
.astra-cart-drawer .woocommerce-mini-cart-item dl.variation {
    display: grid !important;
    width: auto !important;
    min-width: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 2px !important;
    margin: 14px 0 0 96px !important;
    padding: 12px 0 0 !important;
    border-top: 1px solid var(--av-line-soft) !important;
}

#astra-mobile-cart-drawer .woocommerce-mini-cart-item dl.variation dt,
#astra-mobile-cart-drawer .woocommerce-mini-cart-item dl.variation dd,
#astra-mobile-cart-drawer .woocommerce-mini-cart-item dl.variation p,
.astra-cart-drawer .woocommerce-mini-cart-item dl.variation dt,
.astra-cart-drawer .woocommerce-mini-cart-item dl.variation dd,
.astra-cart-drawer .woocommerce-mini-cart-item dl.variation p {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.5 !important;
    text-align: left !important;
    overflow-wrap: anywhere !important;
}

#astra-mobile-cart-drawer .woocommerce-mini-cart-item dl.variation dt:not(:first-child),
.astra-cart-drawer .woocommerce-mini-cart-item dl.variation dt:not(:first-child) {
    margin-top: 8px !important;
}

#astra-mobile-cart-drawer .woocommerce-mini-cart-item dl.variation dd,
.astra-cart-drawer .woocommerce-mini-cart-item dl.variation dd {
    color: var(--av-copy) !important;
}

#astra-mobile-cart-drawer .woocommerce-mini-cart-item .quantity,
.astra-cart-drawer .woocommerce-mini-cart-item .quantity {
    display: block !important;
    width: auto !important;
    margin: 14px 0 0 96px !important;
    text-align: left !important;
}

#astra-mobile-cart-drawer .woocommerce-mini-cart__buttons,
.astra-cart-drawer .woocommerce-mini-cart__buttons {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 22px 22px !important;
}

#astra-mobile-cart-drawer .woocommerce-mini-cart__buttons .button,
.astra-cart-drawer .woocommerce-mini-cart__buttons .button {
    float: none !important;
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    place-items: center !important;
    transform: none !important;
}

@media (max-width: 921px) {
    /* Astra uses an inline dropdown menu on this site, not the popup drawer
       variant. Reset the legacy gold pill and keep the header compact. */
    #ast-mobile-header button.main-header-menu-toggle,
    .ast-mobile-header-wrap button.main-header-menu-toggle {
        display: grid !important;
        width: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
        height: 46px !important;
        min-height: 46px !important;
        max-height: 46px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid var(--av-line) !important;
        border-radius: 50% !important;
        background: rgba(214, 189, 124, 0.08) !important;
        box-shadow: none !important;
        color: var(--av-gold-bright) !important;
        place-items: center !important;
        transform: none !important;
    }

    #ast-mobile-header button.main-header-menu-toggle:hover,
    #ast-mobile-header button.main-header-menu-toggle:focus-visible {
        border-color: var(--av-gold) !important;
        background: rgba(214, 189, 124, 0.14) !important;
        box-shadow: 0 0 22px rgba(214, 189, 124, 0.18) !important;
        transform: none !important;
    }

    #ast-mobile-header .ast-mobile-header-content {
        width: 100% !important;
        max-width: 100% !important;
        background: #0b0c0f !important;
        border-top: 1px solid var(--av-line-soft) !important;
        color: var(--av-copy) !important;
    }

    #ast-mobile-header .ast-mobile-header-content .main-header-menu {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 8px 14px 14px !important;
        background: #0b0c0f !important;
    }

    #ast-mobile-header .ast-mobile-header-content .main-header-menu > .menu-item {
        position: relative !important;
        width: 100% !important;
        margin: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    #ast-mobile-header .ast-mobile-header-content .main-header-menu > .menu-item > .menu-link {
        display: flex !important;
        width: 100% !important;
        min-height: 52px !important;
        padding: 13px 46px 13px 14px !important;
        border: 0 !important;
        border-bottom: 1px solid var(--av-line-soft) !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: var(--av-ivory) !important;
        font-size: 0.96rem !important;
        line-height: 1.35 !important;
        text-shadow: none !important;
    }

    #ast-mobile-header .ast-mobile-header-content .main-header-menu > .current-menu-item > .menu-link,
    #ast-mobile-header .ast-mobile-header-content .main-header-menu > .current-menu-ancestor > .menu-link,
    #ast-mobile-header .ast-mobile-header-content .main-header-menu > .menu-item > .menu-link:hover {
        background: transparent !important;
        color: var(--av-gold-bright) !important;
        text-shadow: 0 0 12px rgba(240, 218, 160, 0.3) !important;
    }

    #ast-mobile-header .ast-mobile-header-content .ast-menu-toggle {
        position: absolute !important;
        top: 5px !important;
        right: 4px !important;
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: transparent !important;
        box-shadow: none !important;
        color: var(--av-gold) !important;
        transform: none !important;
    }

    #ast-mobile-header .ast-mobile-header-content .sub-menu {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 6px 0 8px 16px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
    }

    #ast-mobile-header .ast-mobile-header-content .sub-menu .menu-link {
        display: flex !important;
        width: 100% !important;
        min-height: 48px !important;
        padding: 12px 14px !important;
        border: 0 !important;
        border-bottom: 1px solid var(--av-line-soft) !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: var(--av-copy) !important;
        font-size: 0.96rem !important;
        font-weight: 600 !important;
        letter-spacing: 0.025em !important;
        line-height: 1.4 !important;
        text-transform: none !important;
    }

    /* Keep the expanded mobile search field inside the menu width and turn
       its submit control back into a small icon instead of a large pill. */
    #ast-mobile-header .ast-mobile-header-content .ast-header-search {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 14px !important;
        background: #0b0c0f !important;
    }

    #ast-mobile-header .ast-mobile-header-content .ast-search-menu-icon,
    #ast-mobile-header .ast-mobile-header-content .search-form,
    #ast-mobile-header .ast-mobile-header-content .search-form label {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    #ast-mobile-header .ast-mobile-header-content .search-field {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
        margin: 0 !important;
        padding: 10px 52px 10px 16px !important;
        border: 1px solid var(--av-line) !important;
        border-radius: 999px !important;
        background: #11141a !important;
        color: var(--av-ivory) !important;
        box-shadow: none !important;
    }

    #ast-mobile-header .ast-mobile-header-content .search-submit.ast-search-submit {
        position: absolute !important;
        z-index: 2 !important;
        top: 50% !important;
        right: 6px !important;
        left: auto !important;
        display: grid !important;
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: transparent !important;
        box-shadow: none !important;
        color: var(--av-gold-bright) !important;
        place-items: center !important;
        transform: translateY(-50%) !important;
    }

    /* Force a true one-column product layout on phones/tablets. This also
       clears Astra's floated 48% gallery width and the resulting blank area. */
    body.single-product #primary,
    body.single-product .site-main,
    body.single-product div.product {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.single-product div.product {
        display: flex !important;
        grid-template-columns: none !important;
        gap: 28px !important;
        flex-direction: column !important;
        align-items: stretch !important;
    }

    body.single-product div.product > .woocommerce-product-gallery,
    body.single-product div.product > .summary,
    body.single-product div.product > .woocommerce-tabs,
    body.single-product div.product > .related,
    body.single-product div.product > .upsells,
    body.single-product div.product > section.products {
        float: none !important;
        clear: both !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    body.single-product .woocommerce-product-gallery,
    body.single-product .woocommerce-product-gallery .flex-viewport {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    body.single-product .woocommerce-product-gallery .flex-viewport {
        border-radius: 16px !important;
    }

    body.single-product div.product .summary {
        margin-top: 0 !important;
        overflow: hidden !important;
    }

    body.single-product .summary .yith-wapo-block,
    body.single-product .summary .yith-wapo-addon,
    body.single-product .summary .options-container,
    body.single-product .summary .options {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
}

@media (max-width: 480px) {
    #astra-mobile-cart-drawer .woocommerce-mini-cart,
    .astra-cart-drawer .woocommerce-mini-cart {
        padding-inline: 16px !important;
    }

    #astra-mobile-cart-drawer .woocommerce-mini-cart-item > a:not(.remove),
    .astra-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) {
        grid-template-columns: 72px minmax(0, 1fr) !important;
        gap: 12px !important;
        font-size: 0.96rem !important;
    }

    #astra-mobile-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) img,
    .astra-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) img {
        width: 72px !important;
        min-width: 72px !important;
        max-width: 72px !important;
        height: 92px !important;
    }

    #astra-mobile-cart-drawer .woocommerce-mini-cart-item dl.variation,
    #astra-mobile-cart-drawer .woocommerce-mini-cart-item .quantity,
    .astra-cart-drawer .woocommerce-mini-cart-item dl.variation,
    .astra-cart-drawer .woocommerce-mini-cart-item .quantity {
        margin-left: 84px !important;
    }
}

.main-header-menu .sub-menu .menu-link:hover,
.main-header-menu .sub-menu .current-menu-item > .menu-link {
    background: rgba(214, 189, 124, 0.08) !important;
    color: var(--av-gold-bright) !important;
    text-shadow: 0 0 12px rgba(240, 218, 160, 0.32) !important;
}

/* Astra search icon: keep the SVG visible above legacy header colors. */
.site-header .ast-header-search,
.site-header .ast-search-menu-icon,
.site-header .ast-search-icon {
    position: relative;
    z-index: 4;
    overflow: visible !important;
}

.site-header .astra-search-icon {
    display: grid !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px;
    padding: 0 !important;
    border: 1px solid transparent !important;
    border-radius: 50%;
    background: transparent !important;
    color: var(--av-gold-bright) !important;
    opacity: 1 !important;
    visibility: visible !important;
    place-items: center;
}

.site-header .astra-search-icon:hover {
    border-color: var(--av-line) !important;
    background: rgba(214, 189, 124, 0.07) !important;
    box-shadow: 0 0 20px rgba(214, 189, 124, 0.18);
}

.site-header .astra-search-icon .ast-icon,
.site-header .astra-search-icon svg,
.site-header .astra-search-icon svg path,
.site-header .ast-search-submit svg,
.site-header .ast-search-submit svg path {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    fill: currentColor !important;
    stroke: none !important;
    color: var(--av-gold-bright) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

@media (min-width: 922px) {
    #ast-desktop-header .ast-above-header-bar,
    #ast-desktop-header .ast-above-header-bar .site-above-header-wrap,
    #ast-desktop-header .ast-above-header-bar .ast-builder-grid-row,
    .ast-primary-header-bar,
    .ast-primary-header-bar .site-primary-header-wrap,
    .ast-primary-header-bar .ast-builder-grid-row {
        height: auto !important;
        min-height: 76px;
        overflow: visible !important;
    }

    #ast-desktop-header .ast-above-header-bar .site-above-header-wrap,
    .ast-primary-header-bar .site-primary-header-wrap {
        width: min(100% - 28px, 1760px);
        max-width: 1760px;
    }

    #ast-desktop-header .ast-above-header-bar .ast-builder-grid-row,
    .ast-primary-header-bar .ast-builder-grid-row {
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        column-gap: clamp(16px, 2vw, 34px);
    }

    #ast-desktop-header .ast-above-header-bar .ast-builder-grid-row-has-sides {
        grid-template-columns: minmax(0, 1fr) auto !important;
    }

    #ast-desktop-header .site-header-above-section-left,
    #ast-desktop-header .ast-builder-menu,
    #ast-desktop-header .main-navigation,
    .ast-primary-header-bar .site-header-primary-section-center,
    .ast-primary-header-bar .ast-builder-menu,
    .ast-primary-header-bar .main-navigation {
        min-width: 0;
        width: 100%;
    }

    #ast-desktop-header .main-header-menu,
    .ast-primary-header-bar .main-header-menu {
        display: flex;
        width: 100%;
        flex-wrap: wrap !important;
        align-items: center;
        align-content: center;
        justify-content: flex-start;
        column-gap: clamp(6px, 0.65vw, 13px);
        row-gap: 0;
        padding-block: 6px;
    }

    #ast-desktop-header .main-header-menu > .menu-item,
    .ast-primary-header-bar .main-header-menu > .menu-item {
        flex: 0 0 auto;
    }

    #ast-desktop-header .main-header-menu > .menu-item > .menu-link,
    .ast-primary-header-bar .main-header-menu > .menu-item > .menu-link {
        display: flex !important;
        align-items: center;
        min-height: 52px;
        height: auto !important;
        padding: 6px 2px !important;
        line-height: 1.25 !important;
        white-space: nowrap;
    }

    .main-header-menu > .menu-item > .sub-menu {
        margin-top: 8px;
    }

    .site-header button,
    .site-header .button,
    .ast-primary-header-bar button,
    .ast-primary-header-bar .button {
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: var(--av-gold) !important;
        transform: none !important;
    }
}

@media (max-width: 1680px) and (min-width: 922px) {
    .ast-header-account-wrap .ast-header-account-text {
        display: none !important;
    }
}

.ast-header-woo-cart,
.ast-header-woo-cart a,
.ast-header-woo-cart svg,
.ast-header-woo-cart svg path {
    color: var(--av-gold) !important;
    fill: currentColor !important;
}

.ast-header-woo-cart .count,
.ast-site-header-cart .ast-addon-cart-wrap i.astra-icon::after {
    min-width: 18px;
    min-height: 18px;
    background: var(--av-gold) !important;
    color: var(--av-ink) !important;
    font-size: 10px;
    font-weight: 800 !important;
}

/* Buttons */
button:not(.ast-menu-toggle):not(.ast-search-submit):not(.pswp__button):not(.wc-block-components-quantity-selector__button):not(.astra-cart-drawer-close):not(.show-password-input),
.button,
input[type="submit"],
.wp-block-button__link,
.elementor-button,
.woocommerce button.button,
.woocommerce a.button,
.wc-block-components-button:not(.wc-block-components-quantity-selector__button) {
    min-height: 48px;
    padding: 13px 28px !important;
    border: 1px solid var(--av-gold) !important;
    border-radius: var(--av-radius-pill) !important;
    background: linear-gradient(135deg, #ead292 0%, #bea05e 100%) !important;
    box-shadow: 0 12px 30px rgba(159, 129, 68, 0.18) !important;
    color: #0a0b0d !important;
    font-family: var(--av-sans) !important;
    font-size: 0.78rem !important;
    font-weight: 750 !important;
    letter-spacing: 0.1em;
    line-height: 1.2 !important;
    text-transform: uppercase;
    transition: transform var(--av-transition), box-shadow var(--av-transition), filter var(--av-transition) !important;
}

button:not(.ast-menu-toggle):not(.ast-search-submit):not(.pswp__button):not(.wc-block-components-quantity-selector__button):not(.astra-cart-drawer-close):not(.show-password-input):hover,
.button:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover,
.elementor-button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.wc-block-components-button:not(.wc-block-components-quantity-selector__button):hover {
    filter: brightness(1.06);
    transform: translateY(-2px) !important;
    box-shadow: 0 18px 42px rgba(159, 129, 68, 0.3) !important;
}

.is-style-outline > .wp-block-button__link,
.woocommerce .button.alt + .button,
.aivora-secondary-button {
    background: transparent !important;
    color: var(--av-gold-bright) !important;
}

/* Forms */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="date"],
select,
textarea,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    min-height: 52px;
    padding: 12px 16px !important;
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    border-radius: 12px !important;
    background: linear-gradient(180deg, rgba(27, 30, 36, 0.92), rgba(16, 18, 22, 0.98)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035) !important;
    color: var(--av-ivory) !important;
    font-size: 1rem !important;
}

textarea {
    min-height: 150px;
    resize: vertical;
}

input::placeholder,
textarea::placeholder {
    color: #777a80 !important;
    opacity: 1;
}

input:focus,
select:focus,
textarea:focus,
.select2-container--focus .select2-selection {
    border-color: rgba(214, 189, 124, 0.72) !important;
    outline: 0 !important;
    box-shadow: 0 0 0 3px rgba(214, 189, 124, 0.11) !important;
}

label {
    color: #cbc5b9 !important;
    font-size: 0.82rem;
    font-weight: 650;
    letter-spacing: 0.045em;
}

.required {
    color: var(--av-gold-bright) !important;
}

fieldset {
    padding: clamp(20px, 4vw, 36px);
    border: 1px solid var(--av-line);
    border-radius: var(--av-radius-md);
}

legend {
    padding-inline: 10px;
    color: var(--av-gold-bright);
    font-family: var(--av-serif);
    font-size: 1.25rem;
}

/* General content and editorial pages */
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container .comment-respond,
.ast-separate-container .ast-author-box,
.ast-separate-container .ast-archive-description,
.ast-page-builder-template .site-content > .ast-container {
    background: transparent !important;
}

.page:not(.home):not(.woocommerce-page) .site-main,
.single-post .site-main,
.blog .site-main,
.archive:not(.woocommerce-page) .site-main,
.search .site-main,
.error404 .site-main {
    padding-block: clamp(56px, 8vw, 112px);
}

.page:not(.home):not(.woocommerce-page) article.page,
.single-post article.post,
.blog article.post,
.archive:not(.woocommerce-page) article,
.search article {
    border: 1px solid var(--av-line-soft);
    border-radius: var(--av-radius-lg);
    background:
        radial-gradient(42rem 18rem at 8% 0%, rgba(214, 189, 124, 0.055), transparent 66%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.026), rgba(255, 255, 255, 0.012)) !important;
    box-shadow: var(--av-shadow-md);
}

.page:not(.home):not(.woocommerce-page) article.page,
.single-post article.post {
    padding: clamp(28px, 6vw, 76px);
}

.blog article.post,
.archive:not(.woocommerce-page) article,
.search article {
    overflow: hidden;
    padding: clamp(24px, 4vw, 42px) !important;
    transition: border-color var(--av-transition), transform var(--av-transition), box-shadow var(--av-transition);
}

.blog article.post:hover,
.archive:not(.woocommerce-page) article:hover,
.search article:hover {
    border-color: var(--av-line);
    transform: translateY(-3px);
    box-shadow: var(--av-shadow-lg);
}

.entry-header .entry-title,
.entry-header .entry-title a {
    color: var(--av-ivory) !important;
}

.entry-meta,
.entry-meta a,
.posted-on,
.cat-links,
.tags-links {
    color: var(--av-muted) !important;
    font-size: 0.76rem;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.entry-content {
    color: var(--av-copy);
}

.entry-content > * {
    margin-bottom: 1.35em;
}

.entry-content > h2,
.entry-content > h3,
.entry-content > h4 {
    margin-top: 1.65em;
    margin-bottom: 0.65em;
}

.entry-content > h2 {
    padding-bottom: 0.35em;
    border-bottom: 1px solid var(--av-line);
}

.entry-content ul,
.entry-content ol {
    padding-left: 1.35em;
}

.entry-content li::marker {
    color: var(--av-gold);
}

.entry-content blockquote,
.wp-block-quote {
    margin: 2.25rem 0;
    padding: 22px 26px;
    border: 0 !important;
    border-left: 2px solid var(--av-gold) !important;
    border-radius: 0 var(--av-radius-md) var(--av-radius-md) 0;
    background: rgba(214, 189, 124, 0.05);
    color: var(--av-ivory) !important;
    font-family: var(--av-serif);
    font-size: 1.2rem;
}

.entry-content figure,
.wp-block-image,
.wp-block-gallery {
    margin-block: clamp(26px, 5vw, 52px);
}

.entry-content img,
.wp-block-image img {
    border-radius: var(--av-radius-md);
    box-shadow: var(--av-shadow-md);
}

figcaption,
.wp-element-caption {
    margin-top: 12px !important;
    color: var(--av-muted) !important;
    font-size: 0.8rem !important;
    letter-spacing: 0.025em;
    text-align: center;
}

.entry-content table,
.wp-block-table table {
    width: 100%;
    overflow: hidden;
    border: 1px solid var(--av-line) !important;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: var(--av-radius-md);
    background: rgba(13, 15, 18, 0.72);
}

.entry-content th,
.entry-content td,
.wp-block-table th,
.wp-block-table td {
    padding: 15px 18px;
    border: 0 !important;
    border-bottom: 1px solid var(--av-line-soft) !important;
    color: var(--av-copy) !important;
    text-align: left;
}

.entry-content th,
.wp-block-table th {
    background: rgba(214, 189, 124, 0.07);
    color: var(--av-gold-bright) !important;
    font-size: 0.76rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.entry-content tr:last-child td,
.entry-content tr:last-child th {
    border-bottom: 0 !important;
}

.entry-content details,
.faq-wrapper details,
.aivora-category-details,
.aivora-cat-details {
    border: 1px solid var(--av-line) !important;
    border-radius: var(--av-radius-md) !important;
    background: rgba(17, 19, 24, 0.74) !important;
    box-shadow: var(--av-shadow-sm);
}

.entry-content details > summary,
.faq-wrapper summary,
.aivora-category-details summary,
.aivora-cat-details summary {
    color: var(--av-ivory) !important;
}

.navigation.pagination .nav-links,
.woocommerce nav.woocommerce-pagination ul.page-numbers {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin: 28px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    list-style: none !important;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers > li {
    float: none !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.navigation.pagination a.page-numbers,
.navigation.pagination span.page-numbers,
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    display: grid !important;
    width: 42px;
    min-width: 42px;
    height: 42px;
    padding: 0 !important;
    place-items: center;
    border: 1px solid var(--av-line-soft) !important;
    border-radius: 50%;
    background: var(--av-panel) !important;
    color: var(--av-copy) !important;
}

.navigation.pagination span.page-numbers.current,
.woocommerce nav.woocommerce-pagination ul li span.current {
    border-color: var(--av-gold) !important;
    background: var(--av-gold) !important;
    color: var(--av-ink) !important;
}

/* Footer */
.site-footer,
.site-primary-footer-wrap,
.site-above-footer-wrap,
.site-below-footer-wrap {
    background: #07080a !important;
    color: var(--av-muted) !important;
}

.site-footer {
    position: relative;
    margin-top: clamp(72px, 10vw, 140px);
    border-top: 1px solid var(--av-line);
}

.site-footer::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 50%;
    width: min(56vw, 720px);
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--av-gold), transparent);
    transform: translateX(-50%);
}

.site-footer h2,
.site-footer h3,
.site-footer .widget-title {
    color: var(--av-ivory) !important;
    font-family: var(--av-serif) !important;
    font-size: 1.2rem !important;
}

.site-footer a {
    color: #bdb7ad !important;
}

.site-footer a:hover {
    color: var(--av-gold-bright) !important;
}

/* WooCommerce archives */
.woocommerce-page .site-content,
.woocommerce .site-content {
    padding-block: clamp(48px, 7vw, 96px);
}

.woocommerce-products-header {
    margin-bottom: clamp(38px, 6vw, 76px);
    text-align: center;
}

.woocommerce-products-header::before {
    content: "AIVORA COLLECTION";
    display: block;
    margin-bottom: 14px;
    color: var(--av-gold) !important;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.24em;
}

.woocommerce .woocommerce-result-count {
    color: var(--av-muted) !important;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.woocommerce .woocommerce-ordering select {
    min-width: 230px;
}

.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(18px, 2.5vw, 32px) !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    float: none !important;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
    padding: 12px 12px 22px !important;
    overflow: hidden;
    border: 1px solid var(--av-line-soft);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.012)) !important;
    box-shadow: 0 14px 44px rgba(0, 0, 0, 0.22);
    transition: transform 320ms ease, border-color 320ms ease, box-shadow 320ms ease;
}

.woocommerce ul.products li.product:hover {
    border-color: rgba(214, 189, 124, 0.34);
    transform: translateY(-6px);
    box-shadow: var(--av-shadow-lg);
}

.woocommerce ul.products li.product > a,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
    display: block;
}

.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img {
    aspect-ratio: 4 / 5;
    width: 100%;
    margin: 0 0 20px !important;
    border-radius: 13px;
    object-fit: cover;
    object-position: center top;
    filter: saturate(0.92) contrast(1.02);
    transition: filter 420ms ease, transform 700ms cubic-bezier(.2, .7, .2, 1);
}

.woocommerce ul.products li.product:hover img {
    filter: saturate(1) contrast(1.03);
    transform: scale(1.018);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
    min-height: 2.7em;
    margin: 0 8px 10px !important;
    padding: 0 !important;
    color: var(--av-ivory) !important;
    font-family: var(--av-serif) !important;
    font-size: clamp(1.08rem, 1.5vw, 1.3rem) !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
}

.woocommerce ul.products li.product .price {
    margin: 0 8px 16px !important;
    color: var(--av-gold-bright) !important;
    font-family: var(--av-serif);
    font-size: 1.12rem !important;
    font-weight: 500 !important;
}

.woocommerce ul.products li.product .price del {
    color: var(--av-muted) !important;
    font-size: 0.82em;
    opacity: 0.75;
}

.woocommerce ul.products li.product .button {
    width: calc(100% - 16px);
    margin: 0 8px !important;
    text-align: center;
}

.woocommerce span.onsale {
    top: 22px !important;
    right: 22px !important;
    left: auto !important;
    min-width: auto !important;
    min-height: auto !important;
    padding: 7px 12px !important;
    border: 1px solid rgba(240, 218, 160, 0.42);
    border-radius: var(--av-radius-pill) !important;
    background: rgba(8, 9, 11, 0.86) !important;
    color: var(--av-gold-bright) !important;
    font-size: 0.66rem !important;
    font-weight: 750 !important;
    letter-spacing: 0.12em;
    line-height: 1.2 !important;
    text-transform: uppercase;
    backdrop-filter: blur(12px);
}

.star-rating,
.star-rating::before,
.star-rating span::before {
    color: var(--av-gold) !important;
}

/* Product page */
.single-product div.product {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
    gap: clamp(38px, 6vw, 86px);
    align-items: start;
}

.single-product div.product::before,
.single-product div.product::after {
    display: none !important;
}

.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

.single-product .woocommerce-product-gallery {
    position: relative !important;
    top: auto !important;
    align-self: start;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    isolation: isolate;
}

.single-product div.product > .woocommerce-tabs,
.single-product div.product > .related,
.single-product div.product > .upsells,
.single-product div.product > section.products {
    grid-column: 1 / -1;
    width: 100%;
}

.single-product .woocommerce-product-gallery .flex-viewport {
    max-width: 100%;
    border-radius: var(--av-radius-lg);
}

/* FlexSlider needs an oversized wrapper and inline slide widths. Never clamp
   either value or slides after the first images can render outside view. */
.single-product .woocommerce-product-gallery__wrapper {
    max-width: none !important;
    border-radius: 0;
}

.single-product .woocommerce-product-gallery .flex-viewport {
    overflow: hidden !important;
    background: var(--av-panel);
    box-shadow: var(--av-shadow-lg);
}

.single-product .woocommerce-product-gallery__image > a {
    display: block !important;
    width: 100% !important;
    max-width: 100%;
    height: clamp(440px, 58vw, 760px);
    min-height: 0;
    max-height: none;
    overflow: hidden;
    background: #0b0d10;
}

.single-product .woocommerce-product-gallery__wrapper img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: 100% !important;
    margin: 0 !important;
    border-radius: 0;
    background: #0b0d10;
    box-shadow: none;
    object-fit: contain;
    opacity: 1 !important;
    visibility: visible !important;
}

.single-product .flex-control-thumbs {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    display: grid !important;
    width: 100% !important;
    max-width: 100%;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin: 14px 0 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
    list-style: none;
}

.single-product .flex-control-thumbs li {
    float: none !important;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
}

.single-product .flex-control-thumbs img {
    display: block;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1;
    border: 1px solid transparent;
    border-radius: 10px;
    object-fit: cover;
    opacity: 0.62;
}

.single-product .flex-control-thumbs img.flex-active,
.single-product .flex-control-thumbs img:hover {
    border-color: var(--av-gold);
    opacity: 1;
}

.single-product div.product .summary {
    padding: clamp(26px, 4vw, 46px);
    border: 1px solid var(--av-line);
    border-radius: var(--av-radius-lg);
    background:
        radial-gradient(34rem 20rem at 100% 0%, rgba(214, 189, 124, 0.07), transparent 64%),
        linear-gradient(180deg, rgba(22, 24, 29, 0.94), rgba(13, 15, 18, 0.96));
    box-shadow: var(--av-shadow-lg);
}

.single-product .product_title {
    margin-bottom: 18px !important;
    font-size: clamp(1.9rem, 3vw, 3rem) !important;
    line-height: 1.1 !important;
}

.single-product div.product p.price,
.single-product div.product span.price {
    color: var(--av-gold-bright) !important;
    font-family: var(--av-serif);
    font-size: clamp(1.5rem, 2.5vw, 2.15rem) !important;
    font-weight: 500 !important;
}

.single-product .woocommerce-product-details__short-description {
    margin-block: 22px;
    color: var(--av-copy);
}

.single-product table.variations {
    border: 0 !important;
    background: transparent !important;
}

.single-product table.variations th,
.single-product table.variations td {
    display: block;
    width: 100%;
    padding: 8px 0 !important;
    border: 0 !important;
}

.single-product table.variations .label label,
.single-product .variations th {
    color: var(--av-gold-bright) !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.single-product .quantity .qty,
.woocommerce .quantity .qty {
    width: 76px;
    min-height: 48px;
    text-align: center;
}

.single-product .single_add_to_cart_button {
    min-width: min(100%, 280px);
}

.single-product .product_meta {
    margin-top: 30px;
    padding-top: 22px;
    border-top: 1px solid var(--av-line-soft);
    color: var(--av-muted);
    font-size: 0.76rem;
    letter-spacing: 0.04em;
}

.aivora-product-assurance {
    display: grid;
    gap: 11px;
    margin: 28px 0 0 !important;
    padding: 20px 22px !important;
    border: 1px solid var(--av-line) !important;
    border-radius: var(--av-radius-md);
    background: rgba(214, 189, 124, 0.045);
    list-style: none !important;
}

.aivora-product-assurance li {
    position: relative;
    margin: 0;
    padding-left: 28px;
    color: #d8d3c8 !important;
    font-size: 0.86rem;
}

.aivora-product-assurance li::before {
    content: "";
    position: absolute;
    top: 0.55em;
    left: 2px;
    width: 7px;
    height: 7px;
    border: 1px solid var(--av-gold);
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(214, 189, 124, 0.07);
}

.single-product .woocommerce-tabs,
.single-product .related,
.single-product .up-sells {
    grid-column: 1 / -1;
    margin-top: clamp(54px, 8vw, 104px);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 32px !important;
    padding: 0 !important;
    border-bottom: 1px solid var(--av-line-soft);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    padding: 14px 18px !important;
    color: var(--av-muted) !important;
    font-size: 0.72rem;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    border-bottom: 1px solid var(--av-gold);
    color: var(--av-gold-bright) !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
    padding: clamp(24px, 4vw, 44px);
    border: 1px solid var(--av-line-soft);
    border-radius: var(--av-radius-lg);
    background: rgba(17, 19, 24, 0.55);
}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    min-height: 58px;
    padding: 17px 22px 17px 58px !important;
    border: 1px solid var(--av-line) !important;
    border-radius: var(--av-radius-md) !important;
    background: rgba(17, 19, 24, 0.96) !important;
    box-shadow: var(--av-shadow-md) !important;
    color: var(--av-copy) !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    left: 22px !important;
    color: var(--av-gold) !important;
}

.woocommerce-message * ,
.woocommerce-info *,
.woocommerce-error * {
    background-color: transparent !important;
}

/* My account */
.woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: clamp(28px, 5vw, 64px);
    align-items: start;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    width: auto !important;
    padding: 12px;
    border: 1px solid var(--av-line);
    border-radius: var(--av-radius-md);
    background: rgba(17, 19, 24, 0.82);
    box-shadow: var(--av-shadow-md);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    margin: 0;
    list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link a {
    display: block;
    padding: 12px 14px;
    border-radius: 10px;
    color: var(--av-copy) !important;
    font-size: 0.82rem;
    letter-spacing: 0.045em;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation-link a:hover {
    background: rgba(214, 189, 124, 0.08);
    color: var(--av-gold-bright) !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
    float: none !important;
    width: auto !important;
    min-width: 0;
    padding: clamp(24px, 5vw, 48px);
    border: 1px solid var(--av-line-soft);
    border-radius: var(--av-radius-lg);
    background: rgba(17, 19, 24, 0.62);
}

.woocommerce-account table.shop_table,
.woocommerce-order-details table.shop_table {
    overflow: hidden;
    border: 1px solid var(--av-line) !important;
    border-radius: var(--av-radius-md) !important;
    background: transparent;
}

/* Cart drawer */
.ast-cart-drawer {
    background: rgba(0, 0, 0, 0.72) !important;
    backdrop-filter: blur(8px);
}

.astra-cart-drawer {
    z-index: 100000 !important;
    display: block !important;
    width: min(440px, 100vw) !important;
    max-width: 100% !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
    border-left: 1px solid var(--av-line) !important;
    background: #0d0f12 !important;
    color: var(--av-copy) !important;
    box-shadow: -24px 0 70px rgba(0, 0, 0, 0.55) !important;
}

.astra-cart-drawer-header {
    position: absolute !important;
    z-index: 4;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    display: flex !important;
    width: 100% !important;
    height: 72px !important;
    min-height: 72px !important;
    box-sizing: border-box;
    padding: 18px 22px !important;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--av-line-soft) !important;
    background: #0d0f12 !important;
    color: var(--av-ivory) !important;
}

.astra-cart-drawer-header .astra-cart-drawer-title {
    order: 1;
    min-width: 0;
    margin: 0 !important;
    color: var(--av-ivory) !important;
    font-family: var(--av-serif);
    font-size: 1.45rem !important;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
}

.astra-cart-drawer-content,
.ast-cart-drawer-content {
    display: block !important;
    width: 100% !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    box-sizing: border-box;
    padding: 72px 0 0 !important;
    overflow: hidden !important;
    background: #0d0f12 !important;
    color: var(--av-copy) !important;
}

.astra-cart-drawer-content > .widget,
.ast-cart-drawer-content > .widget {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.astra-cart-drawer-content .widget_shopping_cart_content,
.ast-cart-drawer-content .widget_shopping_cart_content {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0;
    flex-direction: column;
    overflow: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.astra-cart-drawer .woocommerce-mini-cart,
.ast-cart-drawer-content .woocommerce-mini-cart {
    display: block !important;
    flex: 1 1 auto;
    width: 100% !important;
    height: auto !important;
    min-height: 0;
    margin: 0 !important;
    padding: 6px 20px 18px !important;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(214, 189, 124, 0.32) transparent;
    opacity: 1 !important;
    visibility: visible !important;
}

.astra-cart-drawer .woocommerce-mini-cart-item,
.ast-cart-drawer-content .woocommerce-mini-cart-item {
    position: relative;
    display: block !important;
    margin: 0 !important;
    padding: 18px 30px 18px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--av-line-soft) !important;
    background: transparent !important;
    color: var(--av-copy) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.astra-cart-drawer .woocommerce-mini-cart-item > a:not(.remove),
.ast-cart-drawer-content .woocommerce-mini-cart-item > a:not(.remove) {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 0 !important;
    color: var(--av-ivory) !important;
    font-family: var(--av-serif);
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: 1.42;
}

.astra-cart-drawer .woocommerce-mini-cart-item img,
.ast-cart-drawer-content .woocommerce-mini-cart-item img {
    float: none !important;
    width: 72px !important;
    height: 88px !important;
    margin: 0 !important;
    border-radius: 10px;
    box-shadow: var(--av-shadow-sm);
    object-fit: cover;
}

.astra-cart-drawer .woocommerce-mini-cart-item .remove,
.ast-cart-drawer-content .woocommerce-mini-cart-item .remove {
    position: absolute !important;
    top: 18px !important;
    right: 0 !important;
    left: auto !important;
    display: grid !important;
    width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--av-line) !important;
    border-radius: 50% !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--av-muted) !important;
    font-size: 20px !important;
    line-height: 1 !important;
    place-items: center;
}

.astra-cart-drawer .woocommerce-mini-cart-item .remove:hover,
.ast-cart-drawer-content .woocommerce-mini-cart-item .remove:hover {
    border-color: var(--av-gold) !important;
    color: var(--av-gold-bright) !important;
}

.astra-cart-drawer .woocommerce-mini-cart-item dl.variation,
.ast-cart-drawer-content .woocommerce-mini-cart-item dl.variation {
    display: grid !important;
    grid-template-columns: minmax(112px, auto) minmax(0, 1fr);
    gap: 5px 10px;
    margin: 12px 0 0 86px !important;
    padding: 12px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--av-line-soft) !important;
    color: var(--av-muted) !important;
    font-size: 0.76rem !important;
    line-height: 1.45;
}

.astra-cart-drawer .woocommerce-mini-cart-item dl.variation dt,
.astra-cart-drawer .woocommerce-mini-cart-item dl.variation dd,
.ast-cart-drawer-content .woocommerce-mini-cart-item dl.variation dt,
.ast-cart-drawer-content .woocommerce-mini-cart-item dl.variation dd {
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow-wrap: anywhere;
}

.astra-cart-drawer .woocommerce-mini-cart-item dl.variation dt,
.ast-cart-drawer-content .woocommerce-mini-cart-item dl.variation dt {
    color: #bbb5aa !important;
    font-weight: 650 !important;
}

.astra-cart-drawer .woocommerce-mini-cart-item .quantity,
.ast-cart-drawer-content .woocommerce-mini-cart-item .quantity {
    display: block;
    margin: 12px 0 0 86px !important;
    color: var(--av-gold-bright) !important;
    font-size: 0.86rem !important;
}

.astra-cart-drawer .woocommerce-mini-cart__total,
.ast-cart-drawer-content .woocommerce-mini-cart__total {
    flex: 0 0 auto;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    margin: 0 !important;
    padding: 18px 22px !important;
    border-top: 1px solid var(--av-line) !important;
    border-bottom: 0 !important;
    background: #0d0f12 !important;
    color: var(--av-ivory) !important;
    font-size: 0.95rem !important;
    line-height: 1.35;
}

.astra-cart-drawer .woocommerce-mini-cart__total .amount,
.ast-cart-drawer-content .woocommerce-mini-cart__total .amount {
    color: var(--av-gold-bright) !important;
    font-family: var(--av-serif);
    font-size: 1.08rem !important;
}

.astra-cart-drawer .woocommerce-mini-cart__buttons,
.ast-cart-drawer-content .woocommerce-mini-cart__buttons {
    flex: 0 0 auto;
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin: 0 !important;
    padding: 0 22px 22px !important;
    background: #0d0f12 !important;
}

.astra-cart-drawer .woocommerce-mini-cart__buttons .button,
.ast-cart-drawer-content .woocommerce-mini-cart__buttons .button {
    width: 100%;
    min-height: 46px;
    margin: 0 !important;
    padding: 11px 10px !important;
    font-size: 0.7rem !important;
    letter-spacing: 0.1em;
}

body.woocommerce .astra-cart-drawer .astra-cart-drawer-header button.astra-cart-drawer-close,
.woocommerce .astra-cart-drawer .astra-cart-drawer-close,
body .astra-cart-drawer .astra-cart-drawer-close,
.astra-cart-drawer-close {
    position: static !important;
    order: 2;
    inset: auto !important;
    display: grid !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--av-line) !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: var(--av-gold-bright) !important;
    font-size: 22px !important;
    line-height: 1 !important;
    box-shadow: none !important;
    place-items: center;
    transform: none !important;
}

/* Tracking plugin page stays on-brand instead of forcing a white layout. */
body.page-id-3816,
body.page-id-3816 p,
body.page-id-3816 label,
body.page-id-3816 span,
body.page-id-3816 div {
    color: var(--av-copy) !important;
}

body.page-id-3816 h1,
body.page-id-3816 h2,
body.page-id-3816 h3,
body.page-id-3816 .nav-tabs .nav-link.active {
    color: var(--av-ivory) !important;
}

body.page-id-3816 input[type="text"],
body.page-id-3816 input[type="email"] {
    color: var(--av-ivory) !important;
}

/* Homepage refinement: card markup and placement are intentionally untouched. */
body.home .aivora-home-card {
    border: 1px solid var(--av-line) !important;
    background:
        radial-gradient(24rem 14rem at 0% 0%, rgba(214, 189, 124, 0.08), transparent 70%),
        linear-gradient(180deg, rgba(24, 26, 31, 0.9), rgba(12, 14, 17, 0.94)) !important;
    box-shadow: var(--av-shadow-md) !important;
}

body.home .aivora-home-card::before {
    background: radial-gradient(ellipse at center, rgba(214, 189, 124, 0.11), rgba(58, 23, 35, 0.1) 42%, transparent 72%) !important;
}

body.home .aivora-home-card-title {
    color: var(--av-ivory) !important;
    font-family: var(--av-serif) !important;
}

body.home .aivora-home-card-text {
    color: var(--av-copy) !important;
}

body.home .aivora-home-card-link {
    border: 1px solid var(--av-gold) !important;
    background: linear-gradient(135deg, rgba(111, 48, 71, 0.92), rgba(47, 21, 31, 0.96)) !important;
    box-shadow:
        0 10px 26px rgba(0, 0, 0, 0.48),
        0 0 22px rgba(70, 27, 42, 0.2) !important;
    color: var(--av-gold-bright) !important;
}

body.home .aivora-home-card-link:hover {
    background: linear-gradient(135deg, rgba(124, 54, 80, 0.96), rgba(56, 24, 36, 0.98)) !important;
    box-shadow:
        0 14px 34px rgba(0, 0, 0, 0.56),
        0 0 28px rgba(111, 48, 71, 0.24) !important;
}

body.home .aivora-hero-block a.premium-btn {
    border: 1px solid var(--av-gold) !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--av-gold-bright) !important;
}

body.home .aivora-hero-block a.premium-btn:hover {
    background: rgba(214, 189, 124, 0.1) !important;
}

body.home .aivora-hero-title {
    color: var(--av-ivory) !important;
    font-family: var(--av-serif) !important;
    font-size: clamp(2.6rem, 3.8vw, 4.4rem) !important;
    font-weight: 400 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em !important;
    text-shadow: 0 24px 64px rgba(0, 0, 0, 0.58) !important;
}

body.home .aivora-hero-block ~ section h2 {
    color: var(--av-ivory) !important;
    font-family: var(--av-serif) !important;
    font-weight: 400 !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
}

body.home .aivora-trust-text h4 {
    color: var(--av-gold-bright) !important;
}

/* Responsive */
@media (max-width: 1120px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .single-product div.product {
        grid-template-columns: minmax(0, 1fr) minmax(340px, 0.9fr);
        gap: 36px;
    }
}

@media (max-width: 921px) {
    .ast-container,
    .site-content > .ast-container,
    .site-primary-header-wrap,
    .site-below-footer-wrap,
    .site-above-footer-wrap {
        width: min(100% - 36px, var(--av-container));
    }

    .ast-mobile-popup-drawer.active .ast-mobile-popup-inner {
        background: #0b0c0f !important;
    }

    .ast-mobile-popup-content .main-header-menu {
        padding: 88px 22px 32px;
    }

    .ast-mobile-popup-content .main-header-menu .menu-link {
        min-height: 54px;
        border-bottom: 1px solid var(--av-line-soft);
        color: var(--av-ivory) !important;
    }

    .ast-mobile-popup-drawer .ast-menu-toggle,
    .ast-mobile-header-wrap .ast-menu-toggle,
    .ast-builder-menu-mobile .ast-menu-toggle {
        border: 1px solid var(--av-line) !important;
        background: transparent !important;
        box-shadow: none !important;
        color: var(--av-gold) !important;
    }

    .ast-menu-toggle svg,
    .ast-menu-toggle svg path {
        fill: currentColor !important;
        stroke: currentColor !important;
    }

    .single-product div.product {
        grid-template-columns: 1fr;
    }

    .single-product .woocommerce-product-gallery {
        position: relative !important;
        top: auto;
    }

    .woocommerce-account .woocommerce {
        grid-template-columns: 1fr;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex;
        overflow-x: auto;
        padding-bottom: 2px;
        scrollbar-width: thin;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation-link {
        flex: 0 0 auto;
    }
}

@media (max-width: 768px) {
    body {
        font-size: 15.5px;
    }

    .ast-container,
    .site-content > .ast-container,
    .site-primary-header-wrap,
    .site-below-footer-wrap,
    .site-above-footer-wrap {
        width: min(100% - 28px, var(--av-container));
    }

    /* Use the mobile viewport instead of nesting WooCommerce inside Astra's
       default container padding. A small safe edge keeps cards comfortable
       without making product and editorial panels unnecessarily narrow. */
    body .site-content > .ast-container {
        width: calc(100% - 16px) !important;
        max-width: none !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    body.woocommerce-page .site-main,
    body.single-product .site-main {
        width: 100% !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    body.single-product .ast-woocommerce-container,
    body.single-product div.product,
    body.single-product div.product .summary,
    body.single-product div.product > .woocommerce-tabs {
        max-width: none !important;
    }

    h1,
    .entry-title,
    .page-title,
    .woocommerce-products-header__title {
        font-size: clamp(1.85rem, 8vw, 2.65rem) !important;
        line-height: 1.12 !important;
    }

    .page:not(.home):not(.woocommerce-page) .site-main,
    .single-post .site-main,
    .blog .site-main,
    .archive:not(.woocommerce-page) .site-main,
    .search .site-main,
    .error404 .site-main {
        padding-block: 40px;
    }

    .page:not(.home):not(.woocommerce-page) article.page,
    .single-post article.post,
    .blog article.post,
    .archive:not(.woocommerce-page) article,
    .search article {
        padding: 22px 18px !important;
        border-radius: 20px;
    }

    .entry-content table,
    .wp-block-table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .entry-content th,
    .entry-content td,
    .wp-block-table th,
    .wp-block-table td {
        min-width: 150px;
        padding: 13px 14px;
    }

    .woocommerce .woocommerce-result-count,
    .woocommerce .woocommerce-ordering {
        float: none;
        width: 100%;
        margin: 0 0 14px;
    }

    .woocommerce .woocommerce-ordering select {
        width: 100%;
    }

    .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px !important;
    }

    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        padding: 8px 8px 16px !important;
        border-radius: 16px;
    }

    .woocommerce ul.products li.product img {
        margin-bottom: 14px !important;
        border-radius: 11px;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce ul.products li.product h2 {
        min-height: 0;
        margin-inline: 4px !important;
        font-size: 1rem !important;
    }

    .woocommerce ul.products li.product .price {
        margin-inline: 4px !important;
        font-size: 1rem !important;
    }

    .woocommerce ul.products li.product .button {
        width: calc(100% - 8px);
        min-height: 42px;
        margin-inline: 4px !important;
        padding: 10px 8px !important;
        font-size: 0.64rem !important;
        letter-spacing: 0.06em;
    }

    .single-product div.product .summary {
        width: 100% !important;
        padding: 24px 18px;
        border-radius: 20px;
    }

    .single-product .product_title {
        font-size: clamp(1.75rem, 7.5vw, 2.45rem) !important;
    }

    .single-product .woocommerce-product-gallery__image > a {
        min-height: 0;
        height: min(72vh, calc((100vw - 28px) * 1.25));
        max-height: 72vh;
        aspect-ratio: auto;
    }

    .single-product .woocommerce-product-gallery__wrapper img {
        max-height: 72vh !important;
    }

    .single-product .flex-control-thumbs {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .single-product .cart,
    .single-product .woocommerce-variation-add-to-cart {
        display: grid !important;
        grid-template-columns: 72px minmax(0, 1fr);
        gap: 10px;
    }

    .single-product .single_add_to_cart_button {
        min-width: 0;
        width: 100%;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs li {
        flex: 0 0 auto;
    }

    .woocommerce div.product .woocommerce-tabs .panel {
        width: 100% !important;
        padding: 22px 16px;
        border-radius: 20px;
    }

    .woocommerce-message,
    .woocommerce-info,
    .woocommerce-error {
        padding: 52px 18px 18px !important;
    }

    .woocommerce-message::before,
    .woocommerce-info::before,
    .woocommerce-error::before {
        top: 20px !important;
        left: 20px !important;
        transform: none !important;
    }

    .woocommerce-message .button,
    .woocommerce-info .button {
        float: none !important;
        width: 100%;
        margin: 14px 0 0 !important;
    }
}

@media (max-width: 480px) {
    .woocommerce ul.products {
        gap: 10px !important;
    }

    .woocommerce ul.products li.product .button {
        white-space: normal;
    }

    .single-product .cart,
    .single-product .woocommerce-variation-add-to-cart {
        grid-template-columns: 1fr;
    }

    .single-product .quantity .qty,
    .woocommerce .quantity .qty {
        width: 100%;
    }

    .astra-cart-drawer .woocommerce-mini-cart,
    .ast-cart-drawer-content .woocommerce-mini-cart {
        padding-inline: 16px !important;
    }

    .astra-cart-drawer .woocommerce-mini-cart-item dl.variation,
    .ast-cart-drawer-content .woocommerce-mini-cart-item dl.variation {
        grid-template-columns: 1fr;
        gap: 2px;
        margin-left: 0 !important;
    }

    .astra-cart-drawer .woocommerce-mini-cart-item dl.variation dd,
    .ast-cart-drawer-content .woocommerce-mini-cart-item dl.variation dd {
        margin-bottom: 6px !important;
    }

    .astra-cart-drawer .woocommerce-mini-cart__buttons,
    .ast-cart-drawer-content .woocommerce-mini-cart__buttons {
        grid-template-columns: 1fr;
    }
}

/* Product configurators: a restrained wine accent replaces legacy bright
   pink while champagne outlines keep the selection state unmistakable. */
body.single-product .thwvsf-wrapper-ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
}

body.single-product .thwvsf-wrapper-item-li {
    display: inline-flex !important;
    width: auto !important;
    min-width: 64px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 5px 12px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--av-line) !important;
    border-radius: 999px !important;
    background: #12151a !important;
    box-shadow: none !important;
    color: var(--av-copy) !important;
    transition: border-color var(--av-transition), background var(--av-transition), box-shadow var(--av-transition) !important;
}

body.single-product .thwvsf-wrapper-item-li .thwvsf-item-span.item-span-text {
    color: var(--av-copy) !important;
    font-size: 0.9rem !important;
    font-weight: 650 !important;
}

body.single-product .thwvsf-wrapper-item-li:hover {
    border-color: rgba(214, 189, 124, 0.52) !important;
    background: rgba(214, 189, 124, 0.06) !important;
}

body.single-product .thwvsf-wrapper-item-li.thwvsf-selected,
body.single-product .thwvsf-wrapper-item-li[aria-selected="true"] {
    border-color: rgba(240, 218, 160, 0.68) !important;
    background:
        radial-gradient(circle at 20% 0%, rgba(155, 92, 113, 0.24), transparent 54%),
        linear-gradient(135deg, #582234, #2e141e) !important;
    box-shadow:
        0 0 0 1px rgba(111, 48, 71, 0.45),
        0 10px 26px rgba(37, 13, 22, 0.28) !important;
}

body.single-product .thwvsf-wrapper-item-li.thwvsf-selected .thwvsf-item-span.item-span-text,
body.single-product .thwvsf-wrapper-item-li[aria-selected="true"] .thwvsf-item-span.item-span-text {
    color: var(--av-gold-bright) !important;
}

body.single-product #yith-wapo-container {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 28px !important;
}

body.single-product #yith-wapo-container .yith-wapo-addon {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 14px !important;
    padding: 18px !important;
    border: 1px solid var(--av-line-soft) !important;
    border-radius: 18px !important;
    background:
        radial-gradient(30rem 14rem at 100% 0%, rgba(70, 27, 42, 0.13), transparent 58%),
        #0c1016 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
}

body.single-product #yith-wapo-container .wapo-addon-title {
    margin: 0 !important;
    color: var(--av-ivory) !important;
    font-family: var(--av-serif) !important;
    font-size: 1.18rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.01em !important;
    line-height: 1.35 !important;
}

body.single-product #yith-wapo-container .options-container {
    margin-top: 14px !important;
}

body.single-product #yith-wapo-container .options.per-row-2 {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

body.single-product #yith-wapo-container .yith-wapo-option {
    min-width: 0 !important;
    color: var(--av-copy) !important;
}

body.single-product #yith-wapo-container .yith-wapo-option .option-container {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 240px !important;
    margin: 0 auto !important;
    padding: 8px !important;
    border: 1px solid transparent !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.018) !important;
    transition: border-color var(--av-transition), background var(--av-transition), box-shadow var(--av-transition) !important;
}

body.single-product #yith-wapo-container .yith-wapo-option:hover .option-container {
    border-color: rgba(214, 189, 124, 0.32) !important;
    background: rgba(214, 189, 124, 0.035) !important;
}

body.single-product #yith-wapo-container .yith-wapo-option.selected .option-container {
    border-color: rgba(240, 218, 160, 0.58) !important;
    background:
        radial-gradient(22rem 12rem at 50% 0%, rgba(111, 48, 71, 0.16), transparent 62%),
        rgba(255,255,255,.025) !important;
    box-shadow: 0 0 0 1px rgba(70, 27, 42, 0.34) !important;
}

body.single-product #yith-wapo-container .image-container,
body.single-product #yith-wapo-container .image-container .image {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

body.single-product #yith-wapo-container .image-container img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    border-radius: 10px !important;
    box-shadow: none !important;
}

body.single-product #yith-wapo-container input[type="radio"],
body.single-product #yith-wapo-container input[type="checkbox"] {
    accent-color: var(--av-wine-soft) !important;
}

body.single-product #yith-wapo-container .radiobutton.checked input[type="radio"],
body.single-product #yith-wapo-container input[type="radio"]:checked,
body.single-product #yith-wapo-container input[type="checkbox"]:checked {
    border-radius: 50% !important;
    background: var(--av-wine-soft) !important;
    box-shadow: 0 0 0 2px rgba(240, 218, 160, 0.22) !important;
}

/* Account forms had a higher-specificity legacy pink focus style. */
.woocommerce-account .required,
.woocommerce-account span.required,
.woocommerce-account form label .required,
.woocommerce-account .show-password-input::after {
    color: var(--av-rose-muted) !important;
}

.woocommerce-account input:focus,
.woocommerce-account textarea:focus,
.woocommerce-account select:focus {
    border-color: rgba(214, 189, 124, 0.7) !important;
    outline: 0 !important;
    box-shadow:
        0 0 0 3px rgba(214, 189, 124, 0.1),
        0 12px 32px rgba(36, 12, 21, 0.18) !important;
}

@media (max-width: 480px) {
    body.single-product #yith-wapo-container .yith-wapo-addon {
        padding: 14px !important;
        border-radius: 15px !important;
    }

    body.single-product #yith-wapo-container .options.per-row-2 {
        gap: 8px !important;
    }

    body.single-product #yith-wapo-container .yith-wapo-option .option-container {
        padding: 6px !important;
    }
}

/* ==========================================================
   v2.0.5 responsive typography and spacing corrections
   ========================================================== */

/* The footer logo block inherits WordPress figure margins of 52px on both
   sides. Keep the contact stack deliberately compact without changing the
   spacing of the other footer columns. */
.site-footer-primary-section-1 #block-10,
.site-footer-primary-section-1 #block-35,
.site-footer-primary-section-1 #block-26 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.site-footer-primary-section-1 #block-10 h2 {
    margin: 0 0 12px !important;
}

.site-footer-primary-section-1 #block-35 figure {
    margin: 10px 0 12px !important;
    line-height: 0 !important;
}

.site-footer-primary-section-1 #block-35 img {
    display: block !important;
}

.site-footer-primary-section-1 #block-26 p {
    margin: 0 !important;
}

/* Breadcrumbs are intrinsically one line high. These rules remove the large
   archive padding and entry-header margins that surrounded them. */
body.woocommerce-page.ast-normal-title-enabled .site-content,
body.single-product.ast-normal-title-enabled .site-content {
    padding-top: clamp(24px, 3vw, 42px) !important;
    padding-bottom: clamp(48px, 6vw, 78px) !important;
}

body.woocommerce-page.ast-normal-title-enabled .entry-header,
body.single-product.ast-normal-title-enabled .entry-header {
    margin-top: clamp(10px, 1.25vw, 16px) !important;
    margin-bottom: clamp(10px, 1.25vw, 16px) !important;
}

body.woocommerce-page.ast-normal-title-enabled .site-main,
body.single-product.ast-normal-title-enabled .site-main {
    padding-top: clamp(14px, 1.7vw, 22px) !important;
}

.ast-breadcrumbs-wrapper,
.ast-breadcrumbs-inner,
.breadcrumb-trail,
.ast-breadcrumbs,
.ast-breadcrumbs .trail-items {
    min-height: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Mini-cart product links contain both a text node and an image. A grid can
   place the text in the thumbnail column when WooCommerce changes their DOM
   order, so reserve the thumbnail space explicitly and anchor the image to
   the item instead. */
.astra-cart-drawer-header .astra-cart-drawer-title {
    max-width: calc(100% - 58px) !important;
    overflow: hidden !important;
    font-size: clamp(1.45rem, 5.4vw, 1.9rem) !important;
    line-height: 1.15 !important;
    text-overflow: ellipsis;
    white-space: nowrap !important;
}

#astra-mobile-cart-drawer .woocommerce-mini-cart-item,
.astra-cart-drawer .woocommerce-mini-cart-item,
.ast-cart-drawer-content .woocommerce-mini-cart-item {
    position: relative !important;
}

#astra-mobile-cart-drawer .woocommerce-mini-cart-item > a:not(.remove),
.astra-cart-drawer .woocommerce-mini-cart-item > a:not(.remove),
.ast-cart-drawer-content .woocommerce-mini-cart-item > a:not(.remove) {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 104px !important;
    margin: 0 !important;
    padding: 0 0 0 96px !important;
    color: var(--av-ivory) !important;
    font-family: var(--av-serif) !important;
    font-size: clamp(0.98rem, 2.4vw, 1.08rem) !important;
    font-weight: 500 !important;
    line-height: 1.38 !important;
    hyphens: none !important;
    overflow-wrap: break-word !important;
    text-wrap: pretty;
    white-space: normal !important;
    word-break: normal !important;
}

#astra-mobile-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) img,
.astra-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) img,
.ast-cart-drawer-content .woocommerce-mini-cart-item > a:not(.remove) img {
    position: absolute !important;
    top: 18px !important;
    left: 0 !important;
    float: none !important;
    width: 82px !important;
    min-width: 82px !important;
    max-width: 82px !important;
    height: 104px !important;
    margin: 0 !important;
    border-radius: 10px !important;
    object-fit: cover !important;
}

#astra-mobile-cart-drawer .woocommerce-mini-cart-item dl.variation,
#astra-mobile-cart-drawer .woocommerce-mini-cart-item .quantity,
.astra-cart-drawer .woocommerce-mini-cart-item dl.variation,
.astra-cart-drawer .woocommerce-mini-cart-item .quantity,
.ast-cart-drawer-content .woocommerce-mini-cart-item dl.variation,
.ast-cart-drawer-content .woocommerce-mini-cart-item .quantity {
    margin-left: 96px !important;
}

@media (max-width: 768px) {
    h1,
    .entry-title,
    .page-title,
    .woocommerce-products-header__title {
        font-size: clamp(2rem, 8vw, 2.8rem) !important;
    }

    body.woocommerce-page.ast-normal-title-enabled .site-content,
    body.single-product.ast-normal-title-enabled .site-content {
        padding-top: 18px !important;
    }

    body.woocommerce-page.ast-normal-title-enabled .entry-header,
    body.single-product.ast-normal-title-enabled .entry-header {
        margin-top: 8px !important;
        margin-bottom: 8px !important;
    }

    body.woocommerce-page.ast-normal-title-enabled .site-main,
    body.single-product.ast-normal-title-enabled .site-main {
        padding-top: 12px !important;
    }
}

@media (max-width: 480px) {
    .astra-cart-drawer-header .astra-cart-drawer-title {
        font-size: clamp(1.35rem, 7vw, 1.65rem) !important;
    }

    #astra-mobile-cart-drawer .woocommerce-mini-cart,
    .astra-cart-drawer .woocommerce-mini-cart,
    .ast-cart-drawer-content .woocommerce-mini-cart {
        padding-right: 14px !important;
        padding-left: 14px !important;
    }

    #astra-mobile-cart-drawer .woocommerce-mini-cart-item > a:not(.remove),
    .astra-cart-drawer .woocommerce-mini-cart-item > a:not(.remove),
    .ast-cart-drawer-content .woocommerce-mini-cart-item > a:not(.remove) {
        min-height: 88px !important;
        padding-left: 78px !important;
        font-size: clamp(0.96rem, 4.4vw, 1.04rem) !important;
    }

    #astra-mobile-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) img,
    .astra-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) img,
    .ast-cart-drawer-content .woocommerce-mini-cart-item > a:not(.remove) img {
        width: 66px !important;
        min-width: 66px !important;
        max-width: 66px !important;
        height: 86px !important;
    }

    #astra-mobile-cart-drawer .woocommerce-mini-cart-item dl.variation,
    #astra-mobile-cart-drawer .woocommerce-mini-cart-item .quantity,
    .astra-cart-drawer .woocommerce-mini-cart-item dl.variation,
    .astra-cart-drawer .woocommerce-mini-cart-item .quantity,
    .ast-cart-drawer-content .woocommerce-mini-cart-item dl.variation,
    .ast-cart-drawer-content .woocommerce-mini-cart-item .quantity {
        margin-left: 78px !important;
    }
}

/* ==========================================================
   v2.0.6 mobile reading and swipe affordances
   ========================================================== */

@media (max-width: 768px) {
    body.home .aivora-hero-title {
        font-size: clamp(2.25rem, 8vw, 2.9rem) !important;
        line-height: 1.08 !important;
    }

    /* Gutenberg table figures become the horizontal scroll surface. A short
       gold cue, visible scrollbar and edge shadows make the gesture obvious
       while retaining the restrained luxury palette. */
    .entry-content .wp-block-table {
        position: relative;
        display: block !important;
        max-width: 100%;
        padding: 30px 0 8px;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        border: 1px solid rgba(214, 189, 124, 0.26) !important;
        border-radius: 18px;
        background:
            linear-gradient(90deg, rgba(214, 189, 124, 0.12), transparent 22px) left center / 34px 100% no-repeat,
            linear-gradient(270deg, rgba(214, 189, 124, 0.16), transparent 24px) right center / 38px 100% no-repeat,
            rgba(12, 14, 17, 0.92);
        box-shadow:
            inset 18px 0 20px -24px rgba(240, 218, 160, 0.72),
            inset -18px 0 20px -24px rgba(240, 218, 160, 0.8);
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-inline: contain;
        scrollbar-color: rgba(240, 218, 160, 0.9) rgba(214, 189, 124, 0.12);
        scrollbar-width: auto;
    }

    .entry-content .wp-block-table::before {
        content: "SWIPE TO VIEW  →";
        position: absolute;
        top: 8px;
        left: 14px;
        z-index: 2;
        color: var(--av-gold-bright) !important;
        font-size: 0.66rem;
        font-weight: 750;
        letter-spacing: 0.14em;
        line-height: 1.3;
        pointer-events: none;
    }

    .entry-content .wp-block-table > table {
        min-width: 620px;
        margin: 0 !important;
        overflow: visible;
    }

    .entry-content .wp-block-table::-webkit-scrollbar,
    .entry-content table::-webkit-scrollbar {
        height: 9px;
    }

    .entry-content .wp-block-table::-webkit-scrollbar-track,
    .entry-content table::-webkit-scrollbar-track {
        border-radius: 99px;
        background: rgba(214, 189, 124, 0.1);
    }

    .entry-content .wp-block-table::-webkit-scrollbar-thumb,
    .entry-content table::-webkit-scrollbar-thumb {
        border: 2px solid #0d0f12;
        border-radius: 99px;
        background: linear-gradient(90deg, var(--av-gold), var(--av-gold-bright));
    }

    .entry-content table tbody tr:nth-child(odd) > :is(td, th),
    .wp-block-table table tbody tr:nth-child(odd) > :is(td, th) {
        background: rgba(255, 255, 255, 0.012) !important;
    }

    .entry-content table tbody tr:nth-child(even) > :is(td, th),
    .wp-block-table table tbody tr:nth-child(even) > :is(td, th) {
        background: rgba(214, 189, 124, 0.055) !important;
    }

    .entry-content table thead th,
    .wp-block-table table thead th {
        background: rgba(214, 189, 124, 0.13) !important;
        color: var(--av-gold-bright) !important;
    }
}

/* ==========================================================
   v2.0.7 mobile-only touch separation and scroll indicator
   ========================================================== */

.aivora-mobile-table-shell {
    display: contents;
}

.aivora-mobile-scroll-indicator {
    display: none;
}

@media (max-width: 921px) {
    /* The category link and submenu control no longer share the same hit
       area. The 8px neutral gap also tolerates imprecise thumb taps. */
    #ast-mobile-header .ast-mobile-header-content .main-header-menu > .menu-item-has-children {
        min-height: 52px !important;
        flex-wrap: wrap !important;
    }

    #ast-mobile-header .ast-mobile-header-content .main-header-menu > .menu-item-has-children > .menu-link {
        width: calc(100% - 76px) !important;
        min-width: 0 !important;
        padding-right: 14px !important;
    }

    #ast-mobile-header .ast-mobile-header-content .main-header-menu > .menu-item-has-children > .ast-menu-toggle {
        z-index: 6 !important;
        top: 0 !important;
        right: 0 !important;
        width: 68px !important;
        min-width: 68px !important;
        max-width: 68px !important;
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;
        border: 0 !important;
        border-left: 1px solid rgba(214, 189, 124, 0.24) !important;
        border-radius: 0 !important;
        background: rgba(214, 189, 124, 0.055) !important;
        color: var(--av-gold-bright) !important;
        touch-action: manipulation;
        -webkit-tap-highlight-color: rgba(214, 189, 124, 0.14);
    }

    #ast-mobile-header .ast-mobile-header-content .main-header-menu > .menu-item-has-children > .ast-menu-toggle:hover,
    #ast-mobile-header .ast-mobile-header-content .main-header-menu > .menu-item-has-children > .ast-menu-toggle:focus-visible,
    #ast-mobile-header .ast-mobile-header-content .main-header-menu > .menu-item-has-children > .ast-menu-toggle[aria-expanded="true"] {
        border-left-color: rgba(240, 218, 160, 0.52) !important;
        background: linear-gradient(135deg, rgba(91, 34, 54, 0.78), rgba(42, 17, 26, 0.84)) !important;
        color: var(--av-gold-bright) !important;
    }

    #ast-mobile-header .ast-mobile-header-content .main-header-menu > .menu-item-has-children > .sub-menu {
        flex: 0 0 100% !important;
    }
}

@media (max-width: 768px) {
    /* Direct product-description tables and Gutenberg table figures share a
       theme-controlled indicator because iOS ignores scrollbar thumb colors. */
    .entry-content .aivora-mobile-table-shell,
    .entry-content .wp-block-table.aivora-scroll-enhanced {
        position: relative;
        display: block !important;
        width: 100%;
        max-width: 100%;
        padding-bottom: 8px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-inline: contain;
        scrollbar-width: none !important;
    }

    .entry-content .aivora-mobile-table-shell::-webkit-scrollbar,
    .entry-content .wp-block-table.aivora-scroll-enhanced::-webkit-scrollbar,
    .entry-content .aivora-mobile-table-shell > table::-webkit-scrollbar,
    .entry-content .wp-block-table.aivora-scroll-enhanced > table::-webkit-scrollbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
    }

    .entry-content .aivora-mobile-table-shell > table,
    .entry-content .wp-block-table.aivora-scroll-enhanced > table {
        display: table !important;
        min-width: 620px !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    .entry-content .aivora-mobile-scroll-indicator {
        position: sticky;
        bottom: 3px;
        left: 14px;
        z-index: 5;
        display: block;
        width: min(calc(100vw - 72px), calc(100% - 28px));
        height: 6px;
        margin: 9px 14px 2px;
        overflow: hidden;
        border: 1px solid rgba(240, 218, 160, 0.4);
        border-radius: 99px;
        background: rgba(214, 189, 124, 0.2);
        box-shadow:
            0 0 0 1px rgba(0, 0, 0, 0.24),
            0 0 12px rgba(214, 189, 124, 0.18);
        pointer-events: none;
    }

    .entry-content .aivora-mobile-scroll-indicator__thumb {
        display: block;
        width: var(--av-scroll-thumb, 42%);
        height: 100%;
        border-radius: inherit;
        background: linear-gradient(90deg, #c8a963, #f0daa0);
        box-shadow: 0 0 10px rgba(240, 218, 160, 0.5);
        transform: translate3d(var(--av-scroll-x, 0px), 0, 0);
        transition: transform 80ms linear;
    }
}

/* ==========================================================
   v2.0.8 WooCommerce My Account layout and password control
   ========================================================== */

.woocommerce-account .entry-content > .woocommerce {
    width: min(100%, 1180px);
    margin-inline: auto;
}

/* Logged-out login/register markup is a single child of .woocommerce. It
   must span the navigation/content grid instead of being squeezed into the
   260px navigation column. */
.woocommerce-account .woocommerce > .u-columns.col2-set {
    grid-column: 1 / -1;
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(20px, 3vw, 34px);
    align-items: stretch;
}

/* WooCommerce adds clearfix pseudo-elements to .col2-set. In a CSS grid they
   become anonymous grid items and push the real columns into diagonal rows. */
.woocommerce-account .woocommerce > .u-columns.col2-set::before,
.woocommerce-account .woocommerce > .u-columns.col2-set::after {
    content: none !important;
    display: none !important;
}

.woocommerce-account .woocommerce > .u-columns.col2-set > .u-column1,
.woocommerce-account .woocommerce > .u-columns.col2-set > .u-column2 {
    float: none !important;
    display: flex;
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    padding: clamp(24px, 3vw, 38px) !important;
    flex-direction: column;
    border: 1px solid rgba(214, 189, 124, 0.24);
    border-radius: clamp(20px, 2vw, 28px);
    background:
        radial-gradient(32rem 20rem at 8% 0%, rgba(102, 40, 61, 0.13), transparent 62%),
        linear-gradient(145deg, rgba(23, 25, 30, 0.96), rgba(13, 15, 19, 0.98));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.035),
        0 28px 70px rgba(0, 0, 0, 0.28);
}

.woocommerce-account .woocommerce > .u-columns.col2-set > .u-column1 {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

.woocommerce-account .woocommerce > .u-columns.col2-set > .u-column2 {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

.woocommerce-account .woocommerce > .u-columns.col2-set h2 {
    margin: 0 0 24px !important;
    color: var(--av-ivory) !important;
    font-size: clamp(1.75rem, 3vw, 2.35rem) !important;
    line-height: 1.08 !important;
}

.woocommerce-account form.woocommerce-form-login,
.woocommerce-account form.woocommerce-form-register {
    display: flex;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
    flex-direction: column;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.woocommerce-account form .form-row,
.woocommerce-account form .woocommerce-form-row {
    float: none !important;
    width: 100% !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
}

.woocommerce-account form label {
    display: block;
    margin: 0 0 8px;
    color: #cfc9bd !important;
    font-size: 0.82rem !important;
    font-weight: 650 !important;
    letter-spacing: 0.045em !important;
    line-height: 1.45 !important;
}

.woocommerce-account form input[type="text"],
.woocommerce-account form input[type="email"],
.woocommerce-account form input[type="password"] {
    display: block;
    width: 100% !important;
    min-width: 0;
    min-height: 54px;
    padding: 13px 16px !important;
    border: 1px solid rgba(214, 189, 124, 0.2) !important;
    border-radius: 13px !important;
    background: linear-gradient(180deg, rgba(25, 28, 34, 0.98), rgba(14, 16, 21, 0.99)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035) !important;
}

.woocommerce-account form .password-input {
    position: relative !important;
    display: block !important;
    width: 100% !important;
}

.woocommerce-account form .password-input input {
    padding-right: 54px !important;
}

/* This control is deliberately excluded from the global pill-button system. */
.woocommerce-account button.show-password-input,
.woocommerce-account button.show-password-input:hover,
.woocommerce-account button.show-password-input:focus,
.woocommerce-account button.show-password-input:active {
    position: absolute !important;
    z-index: 3;
    top: 50% !important;
    right: 9px !important;
    bottom: auto !important;
    left: auto !important;
    display: grid !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    place-items: center;
    border: 1px solid transparent !important;
    border-radius: 50% !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #c8aa68 !important;
    font-size: 0 !important;
    letter-spacing: 0 !important;
    line-height: 1 !important;
    text-indent: 0 !important;
    transform: translateY(-50%) !important;
    filter: none !important;
}

.woocommerce-account button.show-password-input:hover,
.woocommerce-account button.show-password-input:focus-visible {
    border-color: rgba(240, 218, 160, 0.34) !important;
    background: rgba(214, 189, 124, 0.09) !important;
    color: var(--av-gold-bright) !important;
    outline: 0 !important;
}

.woocommerce-account button.show-password-input::after {
    content: "" !important;
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 17px;
    height: 11px;
    border: 1.7px solid currentColor;
    border-radius: 75% 0 75% 0;
    background: transparent !important;
    color: inherit !important;
    opacity: 1 !important;
    transform: translate(-50%, -50%) rotate(45deg);
}

.woocommerce-account button.show-password-input::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    display: block;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: currentColor;
    color: inherit !important;
    transform: translate(-50%, -50%);
}

.woocommerce-account button.show-password-input.display-password::before {
    width: 20px;
    height: 1.7px;
    border-radius: 99px;
    background: currentColor;
    box-shadow: 0 0 0 1.5px rgba(15, 17, 21, 0.9);
    transform: translate(-50%, -50%) rotate(-45deg);
}

.woocommerce-account .woocommerce-form-login__rememberme {
    display: inline-flex !important;
    margin: 0 18px 12px 0 !important;
    align-items: center;
    gap: 9px;
    vertical-align: middle;
}

.woocommerce-account .woocommerce-form-login__rememberme input[type="checkbox"] {
    width: 17px;
    height: 17px;
    margin: 0 !important;
    accent-color: var(--av-wine-soft);
}

.woocommerce-account .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-form-register__submit {
    min-width: 142px;
}

.woocommerce-account .lost_password {
    margin: auto 0 0 !important;
    padding-top: 22px;
    border-top: 1px solid rgba(214, 189, 124, 0.14);
}

.woocommerce-account .woocommerce-privacy-policy-text {
    color: var(--av-muted);
    font-size: 0.94rem;
    line-height: 1.75;
}

.woocommerce-account .g-recaptcha,
.woocommerce-account .anr_captcha_field {
    max-width: 100%;
    margin: 4px 0 18px !important;
}

/* Keep the dashboard/content positions stable even if a plugin reverses the
   two nodes in the rendered account markup. */
.woocommerce-account .woocommerce-MyAccount-navigation {
    grid-column: 1;
    grid-row: 1;
    padding: 10px !important;
    border-color: rgba(214, 189, 124, 0.24) !important;
    border-radius: 22px !important;
    background:
        radial-gradient(24rem 16rem at 0% 0%, rgba(102, 40, 61, 0.11), transparent 60%),
        rgba(17, 19, 24, 0.94) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul,
.woocommerce-account .woocommerce-MyAccount-navigation li {
    width: 100%;
    border: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link a {
    min-height: 50px;
    padding: 14px 15px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(214, 189, 124, 0.1) !important;
    border-radius: 10px !important;
    background: transparent !important;
    box-shadow: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link:last-child a {
    border-bottom-color: transparent !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation-link a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation-link a:focus-visible {
    border-bottom-color: transparent !important;
    background: linear-gradient(90deg, rgba(91, 34, 54, 0.58), rgba(214, 189, 124, 0.07)) !important;
    color: var(--av-gold-bright) !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
    grid-column: 2;
    grid-row: 1;
    min-height: 320px;
    padding: clamp(26px, 4vw, 46px) !important;
    border-color: rgba(214, 189, 124, 0.2) !important;
    border-radius: 24px !important;
    background:
        radial-gradient(40rem 24rem at 100% 0%, rgba(102, 40, 61, 0.1), transparent 58%),
        rgba(17, 19, 24, 0.76) !important;
}

/* Address overview: billing and shipping are paired cards on desktop. */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
    display: grid !important;
    width: 100% !important;
    margin: clamp(24px, 4vw, 38px) 0 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 24px);
    align-items: stretch;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::after {
    content: none !important;
    display: none !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address {
    float: none !important;
    display: flex !important;
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(214, 189, 124, 0.24) !important;
    border-radius: 19px !important;
    background:
        radial-gradient(24rem 14rem at 0% 0%, rgba(102, 40, 61, 0.11), transparent 64%),
        rgba(13, 15, 19, 0.9) !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.2);
}

.woocommerce-account .woocommerce-Address-title,
.woocommerce-account .woocommerce-Address-title.title,
.woocommerce-account header.woocommerce-Address-title {
    display: flex !important;
    width: 100% !important;
    min-height: 82px;
    margin: 0 !important;
    padding: 18px 20px !important;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border: 0 !important;
    border-bottom: 1px solid rgba(214, 189, 124, 0.17) !important;
    border-radius: 0 !important;
    background:
        linear-gradient(110deg, rgba(91, 34, 54, 0.28), rgba(214, 189, 124, 0.045)),
        #15171c !important;
    box-shadow: none !important;
}

.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title.title h2 {
    margin: 0 !important;
    color: var(--av-ivory) !important;
    font-size: clamp(1.35rem, 2.2vw, 1.8rem) !important;
    line-height: 1.12 !important;
}

.woocommerce-account .woocommerce-Address-title .edit,
.woocommerce-account .woocommerce-Address-title a.edit {
    float: none !important;
    flex: 0 0 auto;
    padding: 8px 0 !important;
    color: var(--av-gold-bright) !important;
    font-size: 0.77rem;
    font-weight: 700;
    letter-spacing: 0.065em;
    line-height: 1.3;
    text-align: right;
    text-transform: uppercase;
}

.woocommerce-account .woocommerce-Address-title .edit:hover,
.woocommerce-account .woocommerce-Address-title .edit:focus-visible {
    color: var(--av-ivory) !important;
    text-shadow: 0 0 16px rgba(240, 218, 160, 0.34);
}

.woocommerce-account .woocommerce-Address address {
    min-height: 174px;
    margin: 0 !important;
    padding: 22px 20px 24px !important;
    flex: 1;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #d7d1c7 !important;
    font-family: var(--av-sans) !important;
    font-size: 0.96rem;
    font-style: normal !important;
    line-height: 1.8;
}

@media (max-width: 921px) {
    .woocommerce-account .woocommerce-MyAccount-navigation {
        grid-column: 1;
        grid-row: 1;
    }

    .woocommerce-account .woocommerce-MyAccount-content {
        grid-column: 1;
        grid-row: 2;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: grid !important;
        overflow: visible !important;
        padding: 0 !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation-link {
        width: auto !important;
        min-width: 0;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation-link a {
        height: 100%;
        border-bottom: 0 !important;
        background: rgba(255, 255, 255, 0.018) !important;
    }
}

@media (max-width: 820px) {
    .woocommerce-account .woocommerce > .u-columns.col2-set {
        grid-template-columns: 1fr;
    }

    .woocommerce-account .woocommerce > .u-columns.col2-set > .u-column1 {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .woocommerce-account .woocommerce > .u-columns.col2-set > .u-column2 {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .woocommerce-account .entry-content > .woocommerce {
        gap: 16px;
    }

    .woocommerce-account .woocommerce > .u-columns.col2-set > .u-column1,
    .woocommerce-account .woocommerce > .u-columns.col2-set > .u-column2,
    .woocommerce-account .woocommerce-MyAccount-content {
        padding: 20px 17px !important;
        border-radius: 18px !important;
    }

    .woocommerce-account .woocommerce > .u-columns.col2-set h2 {
        margin-bottom: 20px !important;
        font-size: 1.7rem !important;
    }

    .woocommerce-account .woocommerce-Address-title,
    .woocommerce-account .woocommerce-Address-title.title,
    .woocommerce-account header.woocommerce-Address-title {
        min-height: 72px;
        padding: 15px 16px !important;
    }

    .woocommerce-account .woocommerce-Address-title h2,
    .woocommerce-account .woocommerce-Address-title.title h2 {
        font-size: 1.28rem !important;
    }

    .woocommerce-account .woocommerce-Address address {
        min-height: 0;
        padding: 18px 16px 20px !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
        padding: 7px !important;
        border-radius: 17px !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation-link a {
        min-height: 48px;
        padding: 11px 10px !important;
        font-size: 0.72rem !important;
        line-height: 1.35;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}
