    /* ============================================================
     * Palette tokens
     * ============================================================ */
    :root {
        --smz-charcoal: #1a1a1a;
        --smz-charcoal-soft: #4a4a4a;
        --smz-muted: #666666;
        --smz-bg: #fafafa;
        --smz-cream: #f5f0e8;
        --smz-border: #e8e4dc;
        --smz-tan: #a89379;
    }

    /* ============================================================
     * Override Flatsome's primary color (#446084 steel blue) globally.
     * Buttons, link colors, and accents inherit from this — so the
     * blue "BROWSE T-SHIRTS" / "VIEW CART" / link hovers etc. all
     * normalize to charcoal automatically.
     * ============================================================ */
    :root {
        --primary-color: var(--smz-charcoal) !important;
        --fl-color-primary: var(--smz-charcoal) !important;
    }
    a { color: var(--smz-charcoal); }
    a:hover { color: var(--smz-tan); }
    .button.primary,
    button.primary,
    .button:not(.is-outline):not(.is-link):not(.secondary):not(.success):not(.alert):not(.white):not(.black),
    .button.is-form,
    input[type="submit"]:not(.is-form):not(.secondary) {
        background-color: var(--smz-charcoal) !important;
        border-color: var(--smz-charcoal) !important;
        color: #fff !important;
    }
    .button.primary:hover,
    button.primary:hover {
        background-color: var(--smz-tan) !important;
        border-color: var(--smz-tan) !important;
    }
    /* Black SOLID button (used in slide 2 "NEW DESIGNS", slide 3 "BROWSE T-SHIRTS").
       Explicitly NOT outline — outline variants are styled separately below
       with charcoal text on transparent bg so text stays readable. */
    .button.black:not(.is-outline):not(.is-link),
    a.button.black:not(.is-outline):not(.is-link) {
        background-color: var(--smz-charcoal) !important;
        border-color: var(--smz-charcoal) !important;
        color: #fff !important;
    }
    .button.black:not(.is-outline):not(.is-link):hover {
        background-color: var(--smz-tan) !important;
        border-color: var(--smz-tan) !important;
    }

    /* ============================================================
     * Header — match slider top color rhythm
     * Hero slider goes edge to edge, so header overlays it (transparent).
     * Sticky header (after scroll) and main pages get warm off-white.
     * ============================================================ */
    .header-main { background-color: transparent; }
    .header-bg-color,
    .header-wrapper.stuck .header-main,
    body:not(.home) .header-wrapper .header-main {
        background-color: var(--smz-bg) !important;
    }
    .header-wrapper.stuck { background-color: var(--smz-bg) !important; }
    /* Strip Flatsome's default header hairline — reads as a faint cream
       seam between the header and a dark hero on mobile. Sticky variant
       keeps a subtle box-shadow for separation (defined further below). */
    .header-main,
    #masthead,
    .header-wrapper,
    .header-bottom {
        border: 0 !important;
    }

    /* ============================================================
     * Desktop main nav strip (.header-bottom) — Flatsome ships this
     * with a teal/green default that clashes badly with the MZ palette.
     * Override to charcoal with white text — matches footer + slide 4.
     * ============================================================ */
    .header-bottom,
    .header-bottom-nav-dark .header-bottom,
    .header-wrapper .header-bottom {
        background-color: var(--smz-charcoal) !important;
        border-color: var(--smz-charcoal) !important;
    }
    .header-bottom .nav > li > a,
    .header-bottom .nav-spacing-large > li > a,
    .header-bottom .header-nav a,
    .nav-dropdown-default .header-bottom a {
        color: rgba(255, 255, 255, 0.92) !important;
    }
    .header-bottom .nav > li > a:hover,
    .header-bottom .nav-spacing-large > li > a:hover,
    .header-bottom .header-nav a:hover,
    .header-bottom .nav > li.active > a,
    .header-bottom .nav > li.current-menu-item > a {
        color: var(--smz-tan) !important;
    }
    /* Dropdown panel that opens from header-bottom — solid charcoal continuation */
    .nav-dropdown.nav-dropdown-default,
    .header-bottom .nav-dropdown {
        background-color: var(--smz-charcoal) !important;
        border-color: var(--smz-charcoal-soft) !important;
    }
    .nav-dropdown.nav-dropdown-default a,
    .header-bottom .nav-dropdown a {
        color: rgba(255,255,255,0.85) !important;
    }
    .nav-dropdown.nav-dropdown-default a:hover,
    .header-bottom .nav-dropdown a:hover {
        color: var(--smz-tan) !important;
        background-color: rgba(255,255,255,0.05) !important;
    }

    /* Header icons / nav text on the TOP BAR ONLY — neutral charcoal.
       (Scoped to .header-main so it does NOT bleed into .header-bottom,
       which has its own dark charcoal bg with white text.) */
    .header-main .nav > li > a,
    .header-main .header-nav-main a,
    .header-button .button,
    a.header-cart-link,
    a.cart-icon,
    a.account-link,
    a.search-icon,
    .menu-icon i,
    a.icon-menu i {
        color: var(--smz-charcoal) !important;
    }
    .header-main .nav > li > a:hover,
    .header-main .header-nav-main a:hover {
        color: var(--smz-tan) !important;
    }

    /* Cart count badge — match charcoal accent */
    .header-cart-link .cart-item-number,
    a.cart-icon .cart-counter {
        background-color: var(--smz-charcoal) !important;
        color: #fff !important;
        border-color: var(--smz-charcoal) !important;
    }

    /* Top "WORLDWIDE SHIPPING" notice — original charcoal bar with white text.
       No extra border (would read as a faint hairline next to the dark band). */
    .woocommerce-store-notice,
    .demo_store {
        background-color: var(--smz-charcoal) !important;
        color: #fff !important;
        border: 0 !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        letter-spacing: 0.16em !important;
        text-transform: uppercase !important;
        padding: 9px 16px !important;
        line-height: 1.35 !important;
        text-align: center !important;
        margin: 0 !important;
    }
    .woocommerce-store-notice a,
    .demo_store a,
    .woocommerce-store-notice__dismiss-link {
        color: var(--smz-muted) !important;
        text-decoration: none !important;
        margin-left: 12px !important;
        font-size: 10px !important;
        font-weight: 600 !important;
        letter-spacing: 0.12em !important;
    }
    .woocommerce-store-notice a:hover,
    .demo_store a:hover,
    .woocommerce-store-notice__dismiss-link:hover {
        color: var(--smz-charcoal) !important;
    }

    /* ============================================================
     * Mobile off-canvas menu — cream wash, charcoal text
     * Flatsome's drawer = .mfp-content (NOT .off-canvas-bg) on this site.
     * Catch all known wrappers + nav lists.
     * ============================================================ */
    .mfp-bg, .off-canvas .mfp-bg { background-color: rgba(26,26,26,0.55) !important; }
    .off-canvas .mfp-content,
    .mfp-content > .off-canvas-bg,
    .off-canvas-center .mfp-content,
    .mfp-content .sidebar-menu,
    .mfp-content > div {
        background-color: var(--smz-bg) !important;
    }
    .nav-sidebar > li > a,
    .sidebar-menu a,
    .mfp-content .nav > li > a,
    .mfp-content .nav-vertical > li > a,
    .mfp-content ul.nav > li > a {
        color: var(--smz-charcoal) !important;
        background-color: transparent !important;
    }
    .nav-sidebar > li > a:hover,
    .sidebar-menu a:hover,
    .mfp-content .nav > li > a:hover,
    .mfp-content ul.nav > li > a:hover {
        color: var(--smz-tan) !important;
    }
    /* Neutralize Flatsome's "first menu item highlighted" pattern that
       puts a tinted bg + tan text on item 1 (looked weird on NEW ARRIVALS). */
    .mfp-content .nav > li:first-child > a,
    .mfp-content .nav > li.menu-item-type-custom:first-of-type > a {
        background-color: transparent !important;
        color: var(--smz-charcoal) !important;
    }
    .mfp-content .nav > li:first-child {
        background-color: transparent !important;
    }
    /* Wishlist heart + other custom menu icons in mobile drawer.
       Most are static PNGs (e.g. ux-sidebar-menu-icon), so a CSS filter
       is the only way to recolor them — convert to pure charcoal. */
    .mfp-content img.ux-sidebar-menu-icon,
    .mfp-content .nav-sidebar img,
    .mfp-content .nav a img[width="20"] {
        filter: brightness(0) saturate(100%) opacity(0.85) !important;
    }
    /* SVG / font-icon variants — direct color override */
    .mfp-content .nav-sidebar a [class*="wishlist"],
    .mfp-content .nav a [class*="heart"],
    .mfp-content .wcboost-wishlist-button-icon,
    .mfp-content i.icon-heart,
    .mfp-content [class*="icon-heart"] {
        color: var(--smz-charcoal) !important;
        fill: var(--smz-charcoal) !important;
    }
    /* Dividers between mobile menu rows */
    .mfp-content .nav > li {
        border-bottom-color: var(--smz-border) !important;
    }

    /* ============================================================
     * Footer — deeper charcoal (was #4d4d4d soft gray, now consistent
     * with slide 4 dark unboxing background)
     * ============================================================ */
    .footer-wrapper,
    .absolute-footer.dark {
        background-color: var(--smz-charcoal) !important;
        color: rgba(255,255,255,0.8) !important;
    }
    .footer-wrapper a,
    .absolute-footer a {
        color: rgba(255,255,255,0.85) !important;
    }
    .footer-wrapper a:hover,
    .absolute-footer a:hover {
        color: var(--smz-tan) !important;
    }

    /* ============================================================
     * Mobile bottom nav (Home / Search / AI Help / Account)
     * Subtle warm border + charcoal text
     * ============================================================ */
    .mobile-nav,
    nav.mobile-nav {
        background-color: var(--smz-bg) !important;
        border-top: 1px solid var(--smz-border) !important;
    }
    .mobile-nav a,
    .mobile-nav a i {
        color: var(--smz-charcoal) !important;
    }
    .mobile-nav a:hover,
    .mobile-nav a:active {
        color: var(--smz-tan) !important;
    }

    /* ============================================================
     * Borders / dividers across the site — warm light gray instead
     * of cool default
     * ============================================================ */
    hr,
    .divider,
    .product-section,
    .row.row-divided > .col + .col,
    .header-bottom { border-color: var(--smz-border) !important; }

    /* ============================================================
     * Outline buttons — transparent bg, charcoal border + text.
     * (Defensive — explicit transparent bg in case any other rule
     * tries to fill the background.)
     * ============================================================ */
    .button.is-outline.black,
    .button.is-outline.dark,
    .button.black.is-outline,
    a.button.is-outline.black,
    a.button.black.is-outline {
        background-color: transparent !important;
        border-color: var(--smz-charcoal) !important;
        color: var(--smz-charcoal) !important;
    }
    .button.is-outline.black:hover,
    .button.black.is-outline:hover {
        background-color: var(--smz-charcoal) !important;
        border-color: var(--smz-charcoal) !important;
        color: #fff !important;
    }
    /* White outline buttons over dark slide bgs (slide 1 SHOP NOW, slide 2 NEW DESIGNS, slide 4 SHIPPING) */
    .button.is-outline.white,
    .button.white.is-outline,
    a.button.is-outline.white {
        background-color: transparent !important;
        border-color: rgba(255,255,255,0.85) !important;
        color: #fff !important;
    }
    .button.is-outline.white:hover {
        background-color: rgba(255,255,255,0.95) !important;
        color: var(--smz-charcoal) !important;
    }

    /* ============================================================
     * Pagination dots / bullets in slider — charcoal active
     * ============================================================ */
    .flickity-page-dots .dot.is-selected { background-color: var(--smz-charcoal) !important; }

    /* ============================================================
     * Form focus states — replace blue with tan
     * ============================================================ */
    input:focus, textarea:focus, select:focus {
        border-color: var(--smz-tan) !important;
        box-shadow: 0 0 0 1px var(--smz-tan) !important;
    }

    /* ============================================================
     * Bottom company-info block (#stylemz-footer-info) — warm cream
     * with charcoal text, visually paired with the dark footer above.
     * ============================================================ */
    #stylemz-footer-info {
        background-color: var(--smz-cream) !important;
        color: var(--smz-charcoal) !important;
        border-top: 1px solid var(--smz-border) !important;
    }
    #stylemz-footer-info a { color: var(--smz-charcoal) !important; }
    #stylemz-footer-info a:hover { color: var(--smz-tan) !important; }
    #stylemz-footer-info strong, #stylemz-footer-info b {
        color: var(--smz-charcoal) !important;
    }

    /* Back-to-top floating button — warm cream tile with charcoal arrow */
    a.back-to-top, .back-to-top-button {
        background-color: var(--smz-cream) !important;
        color: var(--smz-charcoal) !important;
        border: 1px solid var(--smz-border) !important;
    }
    a.back-to-top:hover, .back-to-top-button:hover {
        background-color: var(--smz-charcoal) !important;
        color: #fff !important;
        border-color: var(--smz-charcoal) !important;
    }

    /* ============================================================
     * v1.2.0 — TYPOGRAPHY SYSTEM (editorial minimal)
     * Inter (UI/body) + Manrope (display).
     * Letter-spacing tightened on display sizes; relaxed on small caps.
     * ============================================================ */
    :root {
        --smz-font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
        --smz-font-display: "Manrope", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
    }
    body,
    body.flatsome,
    .ux-flatsome,
    p, li, td, th, label, input, textarea, select, button, .button {
        font-family: var(--smz-font-body) !important;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-feature-settings: "ss01", "cv11";
    }
    h1, h2, h3, h4, h5, h6,
    .heading-font, .nav-line-bottom > li > a,
    .header-bottom .nav > li > a,
    .product-title, .woocommerce-loop-product__title, .product_title {
        font-family: var(--smz-font-display) !important;
        font-feature-settings: "ss01";
    }
    h1, h2 { letter-spacing: -0.022em; line-height: 1.12; }
    h3, h4 { letter-spacing: -0.015em; line-height: 1.2; }
    /* Eyebrows / small caps — wider tracking */
    .uppercase, .nav-uppercase a, .header-bottom .nav > li > a,
    .badge, .button, .row-small-text {
        letter-spacing: 0.06em !important;
    }

    /* ============================================================
     * v1.2.0 — PRODUCT CARDS refinement
     * Larger images, smoother hover, cleaner price typography,
     * subtler "Select Options" button.
     * v1.4.0 — Add bordered card frames (matches FBT card style)
     *          for cohesive graphic-studio feel across listing/home.
     * ============================================================ */
    .col-inner.product-small,
    .product-small.col-inner,
    .product-small {
        padding: 12px !important;
        border: 1px solid var(--smz-border) !important;
        border-radius: 6px !important;
        background: #fff !important;
        transition: border-color 0.2s ease !important;
    }
    .col-inner.product-small:hover,
    .product-small:hover {
        border-color: var(--smz-charcoal) !important;
    }
    .box-image {
        overflow: hidden;
        border-radius: 4px;
    }
    /* Smooth hover image swap (Flatsome's .image-fade-in pattern) */
    .box-image-back {
        transition: opacity 0.45s ease !important;
    }
    /* Subtle card lift on hover — no shadow (per CLAUDE.md), just image scale */
    .box-image img:first-child {
        transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.3, 1) !important;
    }
    .box:hover .box-image img:first-child {
        transform: scale(1.03);
    }

    /* Title typography */
    .product-title, .woocommerce-loop-product__title {
        font-size: 14px !important;
        font-weight: 600 !important;
        letter-spacing: -0.005em !important;
        line-height: 1.35 !important;
        color: var(--smz-charcoal) !important;
        margin: 12px 0 4px !important;
    }

    /* Price — bigger, cleaner */
    .product-small .price,
    .product-small .price-wrapper,
    li.product .price {
        font-size: 14px !important;
        font-weight: 600 !important;
        color: var(--smz-charcoal) !important;
    }
    .product-small .price del { color: var(--smz-muted) !important; opacity: 0.8; }
    .product-small .price ins { text-decoration: none !important; }

    /* "SELECT OPTIONS" / "ADD TO CART" loop button — slim, ghost */
    .product-small .button.product-loop-button,
    .product-small a.button.product-loop-button,
    .ecomus-button {
        font-size: 11px !important;
        font-weight: 600 !important;
        letter-spacing: 0.12em !important;
        text-transform: uppercase !important;
        padding: 10px 18px !important;
        background-color: transparent !important;
        color: var(--smz-charcoal) !important;
        border: 1px solid var(--smz-charcoal) !important;
        border-radius: 999px !important;
        margin-top: 8px !important;
    }
    .product-small .button.product-loop-button:hover,
    .product-small a.button.product-loop-button:hover {
        background-color: var(--smz-charcoal) !important;
        color: #fff !important;
    }

    /* Category label above title (if shown) */
    .product-small .category {
        font-size: 10px !important;
        letter-spacing: 0.16em !important;
        text-transform: uppercase !important;
        color: var(--smz-muted) !important;
    }

    /* ============================================================
     * v1.2.0 — SECTION RHYTHM & SPACING
     * Generous breathing room between page sections.
     * ============================================================ */
    section.section,
    .row > .col > section {
        padding-top: clamp(48px, 8vw, 100px);
        padding-bottom: clamp(48px, 8vw, 100px);
    }
    /* Override the 0px-padding hack used in homepage products section */
    .ux-flatsome section[label="Korean Designer Apparel"],
    .ux-flatsome section[label="Promise"] {
        padding-top: clamp(56px, 8vw, 96px) !important;
        padding-bottom: clamp(56px, 8vw, 96px) !important;
    }
    /* Better h2 spacing */
    section h2 { margin-bottom: 18px !important; }

    /* Eyebrow + title + sub pattern unified — applies to any
       block using these utility class names. Theme blocks can
       opt-in by wrapping copy in these spans. */
    .smz-eyebrow {
        display: inline-block;
        font-family: var(--smz-font-body);
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        color: var(--smz-muted);
        margin-bottom: 14px;
    }
    .smz-title {
        font-family: var(--smz-font-display);
        font-size: clamp(28px, 4vw, 44px);
        font-weight: 700;
        letter-spacing: -0.022em;
        line-height: 1.12;
        color: var(--smz-charcoal);
        margin: 0 0 16px;
    }
    .smz-sub {
        font-family: var(--smz-font-body);
        font-size: 15px;
        line-height: 1.7;
        color: var(--smz-muted);
        max-width: 620px;
        margin: 0 auto;
    }

    /* ============================================================
     * v1.2.0 — STICKY HEADER refinement
     * Smooth shrink on scroll; subtle bottom border on stuck state.
     * ============================================================ */
    .header-wrapper, .header-main {
        transition: padding 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease !important;
    }
    .header-wrapper.stuck .header-main {
        box-shadow: 0 1px 0 var(--smz-border);
    }

    /* ============================================================
     * v1.2.0 — SCROLL FADE-IN (subtle, opt-in via .smz-reveal class)
     * Activated by JS below, this CSS hides until in-view.
     * ============================================================ */
    .smz-reveal {
        opacity: 0;
        transform: translateY(20px);
        transition: opacity 0.6s ease-out, transform 0.6s cubic-bezier(0.2, 0.7, 0.3, 1);
    }
    .smz-reveal.is-visible {
        opacity: 1;
        transform: translateY(0);
    }

    /* ============================================================
     * v1.2.0 — Buttons polish
     * ============================================================ */
    .button {
        font-weight: 600 !important;
        letter-spacing: 0.08em !important;
        transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease !important;
    }
    .button:hover {
        transform: translateY(-1px);
    }

    /* ============================================================
     * v1.2.0 — Improved selection color
     * ============================================================ */
    ::selection { background: var(--smz-charcoal); color: #fff; }
    ::-moz-selection { background: var(--smz-charcoal); color: #fff; }

    /* ============================================================
     * v1.3.0 — PRODUCT DETAIL PAGE editorial upgrade
     * ============================================================ */

    /* --- Title: editorial display ---------------------------- */
    .product_title.entry-title,
    .product-page-title,
    h1.product_title {
        font-family: var(--smz-font-display) !important;
        font-size: clamp(24px, 3.4vw, 36px) !important;
        font-weight: 700 !important;
        letter-spacing: -0.022em !important;
        line-height: 1.18 !important;
        color: var(--smz-charcoal) !important;
        margin: 8px 0 12px !important;
    }

    /* --- Brand link under title ------------------------------ */
    .product_brand,
    a[href*="/brand/"]:not(.button),
    .product-page-brand {
        font-size: 11px !important;
        font-weight: 600 !important;
        letter-spacing: 0.18em !important;
        text-transform: uppercase !important;
        color: var(--smz-muted) !important;
        text-decoration: none !important;
    }

    /* --- Price: confident editorial -------------------------- */
    .product-page-price,
    .single-product .product-info .price,
    .price.product-page-price,
    .summary .price,
    .summary .woocommerce-Price-amount {
        font-family: var(--smz-font-display) !important;
        font-size: clamp(26px, 3.6vw, 34px) !important;
        font-weight: 700 !important;
        letter-spacing: -0.015em !important;
        color: var(--smz-charcoal) !important;
    }
    .summary .woocommerce-Price-currencySymbol,
    .price-suffix {
        font-size: 0.7em !important;
        font-weight: 500 !important;
        color: var(--smz-muted) !important;
        letter-spacing: 0.08em !important;
    }

    /* --- Replace the green "Designed in Seoul" hero banner ---
       Source: ek-product-banner (renders with hardcoded green gradient
       + green border + green text). Forcefully override regardless of
       inline styles. CLAUDE.md forbids gradients — convert to flat warm cream. */
    .ek-product-banner,
    .ek-product-banner > div,
    .ek-banner-0,
    .ek-banner-1,
    .ek-banner-2,
    .single-product .summary .woocommerce-product-details__short-description,
    .product-page-info-block,
    div[style*="background:linear-gradient(180deg,#f1f8f4"],
    div[style*="background:#e8f5e9"],
    div[style*="background:#e6f7ec"],
    div[style*="background-color:#e8f5e9"],
    div[style*="border-left:6px solid #2e7d32"],
    div[style*="border-left: 6px solid #2e7d32"],
    div[style*="border-left: 4px solid #2e7d32"],
    div[style*="border-left:4px solid #2e7d32"],
    div[style*="border-left: 4px solid #4caf50"] {
        background: var(--smz-cream) !important;
        background-image: none !important;
        border: 0 !important;
        border-left: 2px solid var(--smz-charcoal) !important;
        color: var(--smz-charcoal) !important;
        padding: 20px 24px !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        margin: 18px 0 !important;
    }
    /* Inner color overrides — green text inside the banner */
    .ek-product-banner *,
    .ek-banner-0 *,
    .ek-banner-1 *,
    .ek-banner-2 *,
    div[style*="color:#1b5e20"],
    div[style*="color: #1b5e20"],
    span[style*="color:#1b5e20"],
    span[style*="color: #1b5e20"] {
        color: var(--smz-charcoal) !important;
        background: transparent !important;
    }
    /* Nested green pill / list */
    .ek-product-banner div[style*="background"],
    .ek-product-banner div[style*="border"] {
        background: #fff !important;
        border: 1px solid var(--smz-border) !important;
        background-image: none !important;
    }

    /* --- "Print on Demand · Produced & shipped near you" ---
       The small pill badge above price */
    .ek-pod-badge,
    .product-pod-badge,
    [class*="pod-badge"] {
        background-color: transparent !important;
        border: 1px solid var(--smz-border) !important;
        color: var(--smz-muted) !important;
        font-size: 11px !important;
        letter-spacing: 0.08em !important;
        padding: 6px 12px !important;
        border-radius: 999px !important;
    }

    /* --- Size / variation buttons (variation swatches) ------- */
    .variations .swatch,
    .variation-swatch,
    .ux-swatch,
    .swatch__list-item,
    .vi-wpvs-option-wrap,
    table.variations td.value > select,
    .variations select {
        font-family: var(--smz-font-body) !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        letter-spacing: 0.02em !important;
        border: 1px solid var(--smz-border) !important;
        border-radius: 4px !important;
        color: var(--smz-charcoal) !important;
        background: #fff !important;
        transition: all 0.15s ease !important;
    }
    .variations .swatch:hover,
    .ux-swatch:hover,
    .vi-wpvs-option-wrap:hover {
        border-color: var(--smz-charcoal) !important;
    }
    /* Selected variation state */
    .variations .swatch.selected,
    .variations .swatch[aria-checked="true"],
    .ux-swatch.selected,
    .ux-swatch.is-selected,
    .swatch__list-item.selected,
    .vi-wpvs-option-wrap.vi-wpvs-option-wrap-selected,
    .vi-wpvs-option-wrap.selected {
        background: var(--smz-charcoal) !important;
        border-color: var(--smz-charcoal) !important;
        color: #fff !important;
    }

    /* --- Quantity stepper ------------------------------------ */
    .quantity .qty,
    .single-product .quantity input.qty {
        border: 1px solid var(--smz-border) !important;
        border-radius: 4px !important;
        height: 48px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        color: var(--smz-charcoal) !important;
    }
    .quantity .minus,
    .quantity .plus,
    .ux-quantity__button {
        background: var(--smz-bg) !important;
        border: 1px solid var(--smz-border) !important;
        color: var(--smz-charcoal) !important;
        height: 48px !important;
        width: 40px !important;
        font-weight: 600 !important;
        transition: all 0.15s ease !important;
    }
    .quantity .minus:hover,
    .quantity .plus:hover {
        background: var(--smz-charcoal) !important;
        color: #fff !important;
        border-color: var(--smz-charcoal) !important;
    }

    /* --- ADD TO CART — confident, full-width, big -------------- */
    .single_add_to_cart_button,
    button.single_add_to_cart_button,
    .single-product form.cart .single_add_to_cart_button,
    .product-page-cta-button {
        background-color: var(--smz-charcoal) !important;
        color: #fff !important;
        border: 0 !important;
        border-radius: 4px !important;
        font-family: var(--smz-font-body) !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        letter-spacing: 0.16em !important;
        text-transform: uppercase !important;
        padding: 13px 28px !important;
        min-height: 48px !important;
        line-height: 1.4 !important;
        flex: 1 1 auto !important;
        transition: all 0.2s ease !important;
        box-shadow: none !important;
    }
    .single_add_to_cart_button:hover {
        background-color: var(--smz-tan) !important;
        transform: translateY(-1px) !important;
    }
    /* Disabled state — uses CSS class .disabled (WooCommerce variation-not-selected)
       AND :disabled attribute. Make it visibly inactive but keep brand tone. */
    .single_add_to_cart_button:disabled,
    .single_add_to_cart_button.disabled,
    .single_add_to_cart_button.wc-variation-selection-needed {
        background-color: var(--smz-charcoal) !important;
        color: #fff !important;
        opacity: 0.35 !important;
        cursor: not-allowed !important;
        transform: none !important;
    }
    .single_add_to_cart_button.disabled:hover {
        background-color: var(--smz-charcoal) !important;
        transform: none !important;
    }

    /* --- Add to wishlist link --------------------------------- */
    .yith-wcwl-add-to-wishlist a,
    a.add_to_wishlist,
    .wcboost-products-list--wishlist .button {
        font-size: 13px !important;
        color: var(--smz-muted) !important;
        font-weight: 500 !important;
    }
    .yith-wcwl-add-to-wishlist a:hover,
    a.add_to_wishlist:hover {
        color: var(--smz-charcoal) !important;
    }

    /* --- Secure Checkout payment row -------------------------- */
    .product-secure-checkout,
    .product-payment-icons {
        margin-top: 16px !important;
        padding-top: 14px !important;
        border-top: 1px solid var(--smz-border) !important;
    }

    /* --- Estimated delivery banner ---------------------------- */
    .product-shipping-estimate,
    .product-page-shipping-info {
        font-size: 13px !important;
        color: var(--smz-muted) !important;
        padding: 10px 0 !important;
    }
    .product-shipping-estimate strong,
    .product-page-shipping-info strong {
        color: var(--smz-charcoal) !important;
    }

    /* --- Frequently Bought Together: kill leftover blues ------ */
    .frequently-bought-together,
    .fbt-bundle,
    [class*="aibt-"], [class*="fbt-"] {
        --primary-color: var(--smz-charcoal);
    }
    /* FBT prices */
    .frequently-bought-together .price,
    .fbt-bundle .price,
    .aibt-product-price,
    .aibt-total-price,
    [class*="aibt-"] .price,
    [class*="fbt-"] .price {
        color: var(--smz-charcoal) !important;
    }
    /* "THIS ITEM" badge */
    .frequently-bought-together .this-item,
    .fbt-bundle .this-item,
    [class*="aibt-this-item"],
    .aibt-this-item {
        background-color: var(--smz-charcoal) !important;
        color: #fff !important;
    }
    /* "Options Available" small badge */
    .frequently-bought-together .options-available,
    .aibt-options-available,
    [class*="aibt-options"] {
        background-color: var(--smz-bg) !important;
        border: 1px solid var(--smz-border) !important;
        color: var(--smz-charcoal) !important;
    }
    /* Star icons inside FBT — switch from blue to charcoal */
    .frequently-bought-together svg,
    .fbt-bundle svg,
    [class*="aibt-"] svg.star,
    [class*="aibt-"] svg[class*="star"] {
        fill: var(--smz-charcoal) !important;
        color: var(--smz-charcoal) !important;
    }
    /* Checkbox check-marks */
    .frequently-bought-together input[type="checkbox"]:checked + label,
    .aibt-checkbox:checked,
    .aibt-product-card input:checked {
        accent-color: var(--smz-charcoal) !important;
    }
    /* "ADD SELECTED TO CART" button */
    .aibt-add-to-cart,
    .aibt-add-selected-button,
    [class*="aibt-add"][class*="cart"],
    .frequently-bought-together button[type="submit"] {
        background-color: var(--smz-charcoal) !important;
        color: #fff !important;
        border-color: var(--smz-charcoal) !important;
        font-weight: 700 !important;
        letter-spacing: 0.12em !important;
        text-transform: uppercase !important;
        border-radius: 4px !important;
        padding: 14px 24px !important;
    }

    /* FBT total price / "$XX.XX" leaks — kill any blue color residue */
    .aibt-total-price,
    .aibt-total-price *,
    .aibt-total,
    .aibt-total *,
    .frequently-bought-together .total-price,
    .frequently-bought-together .total-price *,
    [class*="aibt"] [class*="total"] *,
    [class*="aibt"] .price,
    [class*="aibt"] .price * {
        color: var(--smz-charcoal) !important;
    }
    /* Force any blue-colored span inside FBT to charcoal */
    .frequently-bought-together [style*="color:#"],
    .frequently-bought-together [style*="color: #"],
    [class*="aibt"] [style*="color:#"],
    [class*="aibt"] [style*="color: #"] {
        color: var(--smz-charcoal) !important;
    }
    /* "Options Available" pill in FBT cards — kill blue, use charcoal palette.
       Plugin renders this with hardcoded inline color so be aggressive. */
    .aibt-container .aibt-options-available,
    .aibt-container [class*="options-available"],
    .aibt-container .aibt-product-card a[href*="options"],
    .aibt-container [class*="aibt-options"],
    .aibt-products-wrapper [class*="options"][class*="avail"] {
        background-color: transparent !important;
        background: #fff !important;
        color: var(--smz-charcoal) !important;
        border: 1px solid var(--smz-border) !important;
        font-size: 10px !important;
        font-weight: 600 !important;
        letter-spacing: 0.06em !important;
        padding: 6px 10px !important;
        border-radius: 999px !important;
    }
    .aibt-container .aibt-options-available *,
    .aibt-container [class*="options-available"] * {
        color: var(--smz-charcoal) !important;
        background: transparent !important;
        fill: var(--smz-charcoal) !important;
    }
    /* Star icon next to "Options Available" */
    .aibt-container .aibt-options-available svg,
    .aibt-container [class*="options"] svg,
    .aibt-container [class*="options"] svg * {
        fill: var(--smz-charcoal) !important;
        stroke: var(--smz-charcoal) !important;
        color: var(--smz-charcoal) !important;
    }
    /* Star icon inside the pill — neutral, not blue */
    .aibt-options-available svg,
    .aibt-product-card svg,
    [class*="aibt"] svg.star,
    [class*="aibt"] svg path,
    [class*="aibt"] [class*="star"] svg,
    [class*="aibt"] [class*="star"] svg path {
        fill: var(--smz-charcoal) !important;
        stroke: var(--smz-charcoal) !important;
        color: var(--smz-charcoal) !important;
    }
    /* "THIS ITEM" / "ITEM" callout on the current product card */
    [class*="aibt"] [class*="this-item"],
    [class*="aibt"] .this-item,
    .aibt-this-item-tag {
        background-color: var(--smz-charcoal) !important;
        color: #fff !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        letter-spacing: 0.16em !important;
        text-transform: uppercase !important;
        border-radius: 0 !important;
        border: 0 !important;
    }
    /* FBT card border accent — charcoal subtle */
    [class*="aibt"] .aibt-product-card.is-selected,
    [class*="aibt"] .aibt-product-card.selected {
        border-color: var(--smz-charcoal) !important;
        outline: 0 !important;
    }
    /* Plus connector circles */
    [class*="aibt"] .aibt-plus,
    [class*="aibt"] [class*="plus-icon"] {
        background-color: var(--smz-bg) !important;
        color: var(--smz-charcoal) !important;
        border: 1px solid var(--smz-border) !important;
    }

    /* --- Product description tabs ----------------------------- */
    .woocommerce-tabs ul.tabs li,
    .product-tabs li {
        border: none !important;
        background: transparent !important;
    }
    .woocommerce-tabs ul.tabs li a,
    .product-tabs li a {
        font-family: var(--smz-font-body) !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        letter-spacing: 0.12em !important;
        text-transform: uppercase !important;
        color: var(--smz-muted) !important;
        padding: 14px 20px !important;
        border-bottom: 2px solid transparent !important;
        transition: all 0.15s ease !important;
    }
    .woocommerce-tabs ul.tabs li.active a,
    .woocommerce-tabs ul.tabs li.active a:hover,
    .product-tabs li.active a {
        color: var(--smz-charcoal) !important;
        border-bottom-color: var(--smz-charcoal) !important;
    }
    .woocommerce-tabs ul.tabs li a:hover {
        color: var(--smz-charcoal) !important;
    }
    /* Description body content */
    .woocommerce-Tabs-panel h2,
    .woocommerce-Tabs-panel h3 {
        font-family: var(--smz-font-display) !important;
        letter-spacing: -0.015em !important;
    }

    /* --- "New" badge on PDP / cards ---------------------------- */
    .badge-new,
    .badge.badge-new,
    .product-badge.new,
    .label-new,
    .onsale,
    .ribbon {
        background-color: var(--smz-charcoal) !important;
        color: #fff !important;
        font-size: 10px !important;
        font-weight: 600 !important;
        letter-spacing: 0.12em !important;
        text-transform: uppercase !important;
        border-radius: 0 !important;
        padding: 5px 10px !important;
        border: none !important;
    }
    .badge.badge-new .badge-inner {
        background-color: var(--smz-charcoal) !important;
        color: #fff !important;
        border: 0 !important;
    }

    /* --- Breadcrumb on PDP ------------------------------------ */
    .single-product .breadcrumbs,
    nav.woocommerce-breadcrumb,
    .woocommerce-breadcrumb {
        font-size: 11px !important;
        font-weight: 500 !important;
        letter-spacing: 0.14em !important;
        text-transform: uppercase !important;
        color: var(--smz-muted) !important;
    }
    .woocommerce-breadcrumb a {
        color: var(--smz-muted) !important;
    }
    .woocommerce-breadcrumb a:hover {
        color: var(--smz-charcoal) !important;
    }

    /* --- Image gallery refinements ---------------------------- */
    .product-gallery .flickity-button {
        background-color: rgba(255,255,255,0.92) !important;
        color: var(--smz-charcoal) !important;
        border: 1px solid var(--smz-border) !important;
    }
    .product-thumbnails .image-tools {
        opacity: 0.9;
    }

    /* --- Related products / Recommended for you headings ------ */
    .related.products > h2,
    .related-products-title,
    .upsells.products > h2,
    .recommended-products h2,
    .new-arrivals-carousel h2 {
        font-family: var(--smz-font-display) !important;
        font-size: clamp(20px, 2.4vw, 28px) !important;
        font-weight: 700 !important;
        letter-spacing: -0.015em !important;
        text-align: center;
        margin-bottom: 24px !important;
    }

    /* ============================================================
     * v1.3.0 — GRAPHIC-STUDIO refinement layer
     * Pulls the whole site closer to a curated design-studio feel:
     * larger display type on hero blocks, generous breathing room,
     * thin hairline dividers, no decorative chrome.
     * ============================================================ */

    /* Body slightly cooler — pure off-white (was inheriting #fff) */
    body {
        background-color: #fff !important;
        color: var(--smz-charcoal) !important;
    }

    /* Section dividers everywhere — switch to hairline */
    section, .row { border-color: var(--smz-border) !important; }

    /* Hero slider headlines — display tightening (already big, just refine) */
    .ux-slider .hero-title,
    .ux-slider h1, .ux-slider h2 {
        font-family: var(--smz-font-display) !important;
        letter-spacing: -0.028em !important;
        line-height: 1.06 !important;
    }

    /* Product page main image + thumbnails — bordered card frames matching
       the listing/home card style for cohesive graphic-studio feel.
       Use html body prefix to win over Flatsome's gallery defaults. */
    html body.single-product .woocommerce-product-gallery__image,
    html body.single-product .product-thumbnails .image,
    html body.single-product .product-thumbnails .col-inner,
    html body.single-product .product-thumbnails .first.slide {
        border: 1px solid var(--smz-border) !important;
        border-radius: 6px !important;
        background: #fff !important;
        overflow: hidden;
        transition: border-color 0.2s ease !important;
    }
    .single-product .woocommerce-product-gallery__image:hover,
    .single-product .product-thumbnails .image:hover {
        border-color: var(--smz-charcoal) !important;
    }
    /* Active main slide / current thumbnail — charcoal border */
    .single-product .woocommerce-product-gallery__image.is-selected,
    .single-product .woocommerce-product-gallery__image.flickity-slider-cell-selected,
    .single-product .product-thumbnails .is-nav-selected,
    .single-product .product-thumbnails .flickity-nav-cell-selected,
    .single-product .product-thumbnails .slick-current .image,
    .single-product .product-thumbnails .active {
        border-color: var(--smz-charcoal) !important;
    }
    /* Keep images themselves flat — radius from wrapper */
    .product-gallery img,
    .single-product .product-images img,
    .single-product .product-thumbnails img {
        border-radius: 0 !important;
    }
    /* Slight gap between thumbnail tiles so borders don't overlap */
    .single-product .product-thumbnails .col,
    .single-product .product-thumbnails .col-inner {
        padding: 4px !important;
    }

    /* Product page summary — generous gap between elements */
    .single-product .summary > * {
        margin-bottom: 14px;
    }
    .single-product .summary .product_title {
        margin-top: 0 !important;
    }

    /* Title underline for editorial accent (subtle hairline below) */
    .single-product .product_title.entry-title::after {
        content: "";
        display: block;
        width: 32px;
        height: 1px;
        background: var(--smz-charcoal);
        margin: 12px 0 0;
    }

    /* Small specs grid below title (use ek-product-banner converted, but
       also any inline spec list) — graphic-studio block layout */
    .product-specs,
    .single-product .summary table.shop_attributes {
        font-size: 12px !important;
        font-weight: 500 !important;
        letter-spacing: 0.04em !important;
        border-collapse: collapse;
    }
    .single-product .summary table.shop_attributes th {
        text-transform: uppercase;
        letter-spacing: 0.16em !important;
        font-size: 10px !important;
        color: var(--smz-muted) !important;
        font-weight: 600 !important;
        padding: 10px 0 !important;
        border-bottom: 1px solid var(--smz-border) !important;
        background: transparent !important;
    }
    .single-product .summary table.shop_attributes td {
        color: var(--smz-charcoal) !important;
        padding: 10px 0 !important;
        border-bottom: 1px solid var(--smz-border) !important;
        background: transparent !important;
    }

    /* Category labels above product titles — design-studio taxonomy */
    .product_meta,
    .product_meta .posted_in,
    .product_meta .tagged_as {
        font-size: 11px !important;
        letter-spacing: 0.18em !important;
        text-transform: uppercase !important;
        color: var(--smz-muted) !important;
        border: 0 !important;
        padding-top: 16px !important;
        margin-top: 16px !important;
        border-top: 1px solid var(--smz-border) !important;
    }
    .product_meta a {
        color: var(--smz-charcoal) !important;
        text-decoration: none !important;
        border-bottom: 1px solid transparent !important;
        transition: border-color 0.15s ease !important;
    }
    .product_meta a:hover {
        border-bottom-color: var(--smz-charcoal) !important;
    }

    /* Tabs panel content — wider hierarchy */
    .woocommerce-Tabs-panel {
        padding-top: 32px !important;
        font-size: 15px !important;
        line-height: 1.7 !important;
        color: var(--smz-charcoal-soft) !important;
    }
    .woocommerce-Tabs-panel h2 {
        font-size: clamp(20px, 2.6vw, 26px) !important;
        margin: 28px 0 12px !important;
    }
    .woocommerce-Tabs-panel h3 {
        font-size: 16px !important;
        font-weight: 700 !important;
        margin: 24px 0 8px !important;
    }
    .woocommerce-Tabs-panel ul {
        padding-left: 18px;
    }
    .woocommerce-Tabs-panel ul li {
        margin-bottom: 6px;
    }

    /* Hairline divider before major sections on PDP */
    .single-product .related,
    .single-product .upsells,
    .single-product .new-arrivals-carousel,
    .single-product .recommended-products {
        border-top: 1px solid var(--smz-border) !important;
        padding-top: clamp(48px, 6vw, 80px) !important;
        margin-top: clamp(48px, 6vw, 80px) !important;
    }

    /* Cart count badge in header — design-studio pure circle, charcoal */
    a.cart-icon strong,
    .header-cart-link .cart-item-number,
    .ekm-cart-count-badge,
    [class*="cart-counter"] {
        background-color: var(--smz-charcoal) !important;
        color: #fff !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        font-family: var(--smz-font-body) !important;
        letter-spacing: 0 !important;
        border-radius: 999px !important;
        min-width: 18px !important;
        height: 18px !important;
        line-height: 18px !important;
        padding: 0 5px !important;
    }

    /* ATC and similar: kill default WooCommerce green success bg on hover */
    .added_to_cart, .added_to_cart:hover {
        color: var(--smz-charcoal) !important;
        background: transparent !important;
        border-bottom: 1px solid var(--smz-charcoal) !important;
    }

    /* Page wrapper gets generous side gutters on desktop */
    @media (min-width: 850px) {
        .single-product .product-main > .row {
            max-width: 1320px;
            margin: 0 auto;
            padding: 0 32px;
        }
        /* Flatsome's .col.col-fit on the summary makes it take content-width;
           with the cream banner + bigger title, content min-width overflows the
           row and forces the summary to wrap below the gallery. Force explicit
           basis to keep the gallery + summary side-by-side on desktop. */
        .single-product .product-main > .row > .product-info.summary,
        .single-product .product-main > .row > .product-info {
            flex: 0 0 42% !important;
            max-width: 42% !important;
            padding-left: 36px !important;
            padding-right: 16px !important;
        }
        .single-product .product-main > .row > .product-gallery {
            flex: 0 0 50% !important;
            max-width: 50% !important;
            /* Stick to top while the (taller) summary scrolls — eliminates
               the empty whitespace on the left when summary is longer. */
            position: sticky !important;
            top: 24px !important;
            align-self: flex-start !important;
        }
        /* Row needs items-start alignment so sticky works correctly */
        .single-product .product-main > .row {
            align-items: flex-start !important;
        }
        /* Optional .product-sidebar-small (share/recent) — narrow rail */
        .single-product .product-main > .row > .product-sidebar-small {
            flex: 0 0 8% !important;
            max-width: 8% !important;
        }
    }
    /* Tablet (medium): hide the optional sidebar-small, give summary 50% */
    @media (max-width: 1199px) and (min-width: 850px) {
        .single-product .product-main > .row > .product-info.summary,
        .single-product .product-main > .row > .product-info {
            flex: 0 0 50% !important;
            max-width: 50% !important;
        }
        .single-product .product-main > .row > .product-sidebar-small {
            display: none !important;
        }
    }

    /* ============================================================
     * v1.3.1 — Frequently Bought Together: full-width below product
     * Relocated via JS to sit AFTER product-main row (full width).
     * AIBT actual structure (verified in DOM):
     *   .aibt-container > h3.aibt-title
     *                   > .aibt-products-wrapper (flex, holds cards)
     *                   > .aibt-summary          (flex, total + btn)
     * ============================================================ */
    .aibt-container.smz-relocated {
        margin: clamp(48px, 6vw, 80px) auto !important;
        padding: 32px 32px !important;
        max-width: 1320px !important;
        width: 100% !important;
        background: #fff !important;
        border: 1px solid var(--smz-border) !important;
        border-radius: 8px !important;
    }

    /* FBT title — charcoal Manrope display.
       Plugin uses its own !important rule, bump specificity with `html`. */
    html body .aibt-container .aibt-title,
    html body .aibt-container.smz-relocated .aibt-title,
    html body h3.aibt-title {
        font-family: var(--smz-font-display) !important;
        font-size: clamp(20px, 2.4vw, 28px) !important;
        font-weight: 700 !important;
        letter-spacing: -0.015em !important;
        color: var(--smz-charcoal) !important;
        margin: 0 0 24px !important;
        text-align: center;
    }

    /* "Options Available" badge — actual class is .aibt-variation-badge */
    html body .aibt-container .aibt-variation-badge,
    html body .aibt-container .aibt-variation-badge *,
    html body .aibt-product .aibt-variation-badge {
        background: #fff !important;
        background-color: #fff !important;
        color: var(--smz-charcoal) !important;
        border: 1px solid var(--smz-border) !important;
        font-size: 10px !important;
        font-weight: 600 !important;
        letter-spacing: 0.06em !important;
        padding: 6px 10px !important;
        border-radius: 999px !important;
        fill: var(--smz-charcoal) !important;
    }
    html body .aibt-container .aibt-variation-badge svg,
    html body .aibt-container .aibt-variation-badge svg * {
        fill: var(--smz-charcoal) !important;
        stroke: var(--smz-charcoal) !important;
        color: var(--smz-charcoal) !important;
    }
    /* Plus connector + */
    html body .aibt-container span.aibt-plus {
        background: #fff !important;
        color: var(--smz-muted) !important;
        border: 1px solid var(--smz-border) !important;
        border-radius: 999px !important;
        width: 28px !important;
        height: 28px !important;
        line-height: 26px !important;
        font-weight: 400 !important;
    }

    /* Center and roomier card layout */
    .aibt-container.smz-relocated .aibt-products-wrapper {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: stretch !important;
        gap: 16px !important;
    }
    .aibt-container.smz-relocated .aibt-summary {
        margin-top: 24px !important;
        padding-top: 24px !important;
        border-top: 1px solid var(--smz-border) !important;
        align-items: center !important;
    }

    /* "+" plus connector circles between cards — keep visible but neutral */
    .aibt-container.smz-relocated .aibt-plus,
    .aibt-container.smz-relocated [class*="plus"] {
        background-color: transparent !important;
        color: var(--smz-muted) !important;
        border: none !important;
        font-size: 18px !important;
    }

    /* v1.4.1 — AIBT final layout authority.
       The plugin now owns the palette, but this MU loads later than plugin CSS;
       keep only the final StyleMZ product-detail layout rules here. */
    html body.single-product .aibt-container.smz-relocated,
    html body.single-product .aibt-theme-flatsome.aibt-container {
        width: min(100%, 1320px) !important;
        max-width: 1320px !important;
        margin: clamp(44px, 6vw, 78px) auto !important;
        padding: clamp(20px, 3vw, 34px) !important;
        background: #fff !important;
        border: 1px solid var(--smz-border) !important;
        border-radius: 8px !important;
    }
    html body.single-product .aibt-container.smz-relocated .aibt-products-wrapper,
    html body.single-product .aibt-theme-flatsome.aibt-container .aibt-products-wrapper {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 14px !important;
        align-items: stretch !important;
        justify-content: stretch !important;
        overflow: visible !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    html body.single-product .aibt-container.smz-relocated .aibt-separator,
    html body.single-product .aibt-theme-flatsome.aibt-container .aibt-separator {
        display: none !important;
    }
    html body.single-product .aibt-container.smz-relocated .aibt-product,
    html body.single-product .aibt-theme-flatsome.aibt-container .aibt-product,
    html body.single-product .aibt-container.smz-relocated .aibt-product[data-product-type="variable"],
    html body.single-product .aibt-theme-flatsome.aibt-container .aibt-product[data-product-type="variable"] {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        padding: 12px !important;
        background: #fff !important;
        border: 1px solid var(--smz-border) !important;
        border-radius: 6px !important;
    }
    html body.single-product .aibt-container.smz-relocated .aibt-main-product,
    html body.single-product .aibt-theme-flatsome.aibt-container .aibt-main-product {
        border: 2px solid var(--smz-charcoal) !important;
        background: var(--smz-bg) !important;
    }
    html body.single-product .aibt-container.smz-relocated .aibt-main-product::before,
    html body.single-product .aibt-theme-flatsome.aibt-container .aibt-main-product::before {
        display: none !important;
    }
    html body.single-product .aibt-container.smz-relocated .aibt-product-image,
    html body.single-product .aibt-theme-flatsome.aibt-container .aibt-product-image {
        height: clamp(120px, 12vw, 172px) !important;
        margin: 0 0 12px !important;
        background: #f7f7f7 !important;
        border: 1px solid var(--smz-border) !important;
        border-radius: 4px !important;
        transform: none !important;
    }
    html body.single-product .aibt-container.smz-relocated .aibt-product-image img,
    html body.single-product .aibt-theme-flatsome.aibt-container .aibt-product-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
    }
    html body.single-product .aibt-container.smz-relocated .aibt-summary,
    html body.single-product .aibt-theme-flatsome.aibt-container .aibt-summary {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 16px !important;
        margin-top: 22px !important;
        padding: 18px !important;
        background: var(--smz-bg) !important;
        border: 1px solid var(--smz-border) !important;
        border-radius: 6px !important;
    }
    @media (max-width: 849px) {
        html body.single-product .aibt-container.smz-relocated,
        html body.single-product .aibt-theme-flatsome.aibt-container {
            width: calc(100% - 28px) !important;
            margin: 34px 14px !important;
            padding: 18px 12px !important;
        }
        html body.single-product .aibt-container.smz-relocated .aibt-title,
        html body.single-product .aibt-theme-flatsome.aibt-container .aibt-title {
            text-align: left !important;
        }
        html body.single-product .aibt-container.smz-relocated .aibt-products-wrapper,
        html body.single-product .aibt-theme-flatsome.aibt-container .aibt-products-wrapper {
            grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            gap: 10px !important;
        }
        html body.single-product .aibt-container.smz-relocated .aibt-product-image,
        html body.single-product .aibt-theme-flatsome.aibt-container .aibt-product-image {
            height: 122px !important;
        }
        html body.single-product .aibt-container.smz-relocated .aibt-summary,
        html body.single-product .aibt-theme-flatsome.aibt-container .aibt-summary {
            flex-direction: column !important;
            align-items: stretch !important;
            gap: 12px !important;
            padding: 14px !important;
        }
    }

    /* ============================================================
     * v1.4.0 — DESIGNER COMMERCE LAYER
     * Homepage, shop archives, product detail, and mobile refinements
     * for a sharper independent-designer apparel feel.
     * ============================================================ */
    .smz-hero-copy {
        max-width: 720px;
        margin: 0 auto;
        padding: 0 18px;
        text-align: center;
    }
    .smz-hero-kicker,
    .smz-kicker {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.18em;
        line-height: 1.35;
        text-transform: uppercase;
        margin: 0 0 16px;
    }
    .smz-hero-kicker::before,
    .smz-hero-kicker::after,
    .smz-kicker::before {
        content: "";
        display: inline-block;
        width: 24px;
        height: 1px;
        background: currentColor;
        opacity: 0.55;
    }
    .smz-hero-title {
        font-family: var(--smz-font-display);
        font-size: clamp(38px, 7vw, 82px);
        font-weight: 800;
        letter-spacing: 0 !important;
        line-height: 0.98;
        margin: 0 0 20px;
    }
    .smz-hero-sub {
        max-width: 640px;
        margin: 0 auto 30px;
        font-size: clamp(15px, 1.5vw, 18px);
        line-height: 1.7;
    }
    .smz-hero-actions {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        flex-wrap: wrap;
    }
    .smz-hero-actions .button,
    .smz-section-action .button {
        min-width: 154px;
        justify-content: center;
    }
    .smz-stats {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0;
        border-top: 1px solid var(--smz-border);
        border-bottom: 1px solid var(--smz-border);
        background: #fff;
    }
    .smz-stat {
        padding: 22px 18px;
        text-align: center;
        border-right: 1px solid var(--smz-border);
    }
    .smz-stat:last-child { border-right: 0; }
    .smz-stat strong {
        display: block;
        font-family: var(--smz-font-display);
        font-size: clamp(22px, 3vw, 34px);
        font-weight: 800;
        line-height: 1;
        color: var(--smz-charcoal);
        margin-bottom: 8px;
    }
    .smz-stat span {
        display: block;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: var(--smz-muted);
    }
    .smz-section-head {
        max-width: 840px;
        margin: 0 auto 34px;
        padding: 0 18px;
        text-align: center;
    }
    .smz-section-head.left {
        margin-left: 0;
        text-align: left;
    }
    .smz-studio-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1px;
        background: var(--smz-border);
        border: 1px solid var(--smz-border);
    }
    .smz-studio-panel {
        background: #fff;
        padding: clamp(24px, 4vw, 42px);
        min-height: 240px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
    .smz-studio-panel b {
        display: block;
        font-family: var(--smz-font-display);
        font-size: clamp(18px, 2.4vw, 26px);
        line-height: 1.15;
        color: var(--smz-charcoal);
        margin-bottom: 18px;
    }
    .smz-studio-panel p {
        margin: 0;
        font-size: 14px;
        line-height: 1.7;
        color: var(--smz-muted);
    }
    .smz-promise-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1px;
        background: var(--smz-border);
        border: 1px solid var(--smz-border);
    }
    .smz-promise-item {
        background: #fff;
        padding: 30px 24px;
        min-height: 170px;
    }
    .smz-promise-item svg {
        width: 30px;
        height: 30px;
        color: var(--smz-charcoal);
        margin-bottom: 18px;
    }
    .smz-promise-item b {
        display: block;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: 0.14em;
        line-height: 1.35;
        text-transform: uppercase;
        color: var(--smz-charcoal);
        margin-bottom: 10px;
    }
    .smz-promise-item span {
        display: block;
        font-size: 13px;
        line-height: 1.65;
        color: var(--smz-muted);
    }

    /* Shop / category pages: tighter boutique grid and usable filters. */
    .archive.woocommerce .shop-container,
    .post-type-archive-product .shop-container,
    .tax-product_cat .shop-container {
        max-width: 1480px;
        margin: 0 auto;
        padding-left: clamp(14px, 3vw, 34px);
        padding-right: clamp(14px, 3vw, 34px);
    }
    .woocommerce-result-count,
    .woocommerce-ordering select,
    .category-filtering,
    .widget_layered_nav_filters,
    .shop-page-title .page-title-inner {
        font-size: 11px !important;
        font-weight: 700 !important;
        letter-spacing: 0.12em !important;
        text-transform: uppercase !important;
        color: var(--smz-muted) !important;
    }
    .woocommerce-ordering select,
    .orderby {
        min-height: 42px !important;
        border-radius: 999px !important;
        padding: 0 36px 0 16px !important;
        background-color: #fff !important;
        border-color: var(--smz-border) !important;
    }
    .shop-container .products.row {
        row-gap: 22px !important;
    }
    .product-small .box-text {
        padding: 14px 4px 2px !important;
    }
    .product-small .image-tools,
    .product-small .quick-view {
        border-radius: 999px !important;
        background: rgba(255,255,255,0.94) !important;
        color: var(--smz-charcoal) !important;
        border: 1px solid var(--smz-border) !important;
    }

    /* PDP: stronger buying panel, clearer variation rhythm, safer mobile sticky. */
    .single-product .product-info.summary {
        background: #fff;
    }
    .single-product .variations {
        margin-top: 18px !important;
        border-top: 1px solid var(--smz-border);
        border-bottom: 1px solid var(--smz-border);
        padding: 14px 0 !important;
    }
    .single-product table.variations th.label,
    .single-product table.variations td.label {
        width: 92px !important;
        padding-top: 12px !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        letter-spacing: 0.14em !important;
        text-transform: uppercase !important;
        color: var(--smz-charcoal) !important;
    }
    .single-product .reset_variations {
        font-size: 11px !important;
        letter-spacing: 0.08em !important;
        text-transform: uppercase !important;
        color: var(--smz-muted) !important;
    }
    .single-product form.cart {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
        align-items: stretch !important;
        margin-top: 18px !important;
    }
    .single-product form.cart .quantity {
        margin: 0 !important;
        flex: 0 0 auto;
    }
    .smz-side-notice {
        border-left-color: var(--smz-charcoal) !important;
        background: var(--smz-bg) !important;
        color: var(--smz-charcoal-soft) !important;
    }

    /* Mobile: no overlapping hero text, calmer products, sticky buy action. */
    @media (max-width: 849px) {
        .header-wrapper,
        .header-wrapper.stuck,
        .header-wrapper.stuck .header-main,
        #masthead,
        .header-main,
        .home .header-main,
        .header-main .top-divider,
        .header-main .top-divider.full-width {
            border: 0 !important;
            border-bottom: 0 !important;
            box-shadow: none !important;
        }
        .header-main .top-divider,
        .header-main .top-divider.full-width {
            display: none !important;
            background: transparent !important;
            height: 0 !important;
        }
        .header-main .mobile-nav,
        .header-main .mobile-nav.nav,
        .header-main .mobile-nav.nav-left,
        .header-main .mobile-nav.nav-right {
            border: 0 !important;
            border-top: 0 !important;
            border-bottom: 0 !important;
            box-shadow: none !important;
        }
        .header-main .flex-left::before,
        .header-main .flex-left::after,
        .header-main .flex-right::before,
        .header-main .flex-right::after,
        .header-main .logo::before,
        .header-main .logo::after,
        .header-main .logo-center::before,
        .header-main .logo-center::after {
            content: none !important;
            display: none !important;
            background: transparent !important;
            border: 0 !important;
            box-shadow: none !important;
        }
        .header-main {
            min-height: 62px !important;
        }
        .home .header-main {
            background-color: rgba(250,250,250,0.96) !important;
        }
        .ux-slider .section {
            min-height: 560px !important;
            height: 560px !important;
        }
        .smz-hero-copy {
            padding: 76px 22px 30px;
        }
        .smz-hero-title {
            font-size: clamp(34px, 12vw, 54px);
            line-height: 1.02;
        }
        .smz-hero-sub {
            font-size: 14px;
            line-height: 1.65;
            margin-bottom: 22px;
        }
        .smz-hero-kicker,
        .smz-kicker {
            font-size: 10px;
            letter-spacing: 0.12em;
        }
        .smz-hero-kicker::before,
        .smz-hero-kicker::after,
        .smz-kicker::before {
            width: 14px;
        }
        .smz-hero-actions {
            flex-direction: column;
            gap: 8px;
        }
        .smz-hero-actions br {
            display: none;
        }
        .smz-hero-actions .button {
            width: 100%;
            max-width: 260px;
            min-height: 46px;
            margin-left: 0 !important;
            margin-right: 0 !important;
        }
        .smz-stats,
        .smz-promise-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        .smz-stat:nth-child(2n),
        .smz-promise-item:nth-child(2n) {
            border-right: 0;
        }
        .smz-stat {
            padding: 18px 10px;
            border-bottom: 1px solid var(--smz-border);
        }
        .smz-studio-grid {
            grid-template-columns: 1fr;
        }
        .smz-studio-panel {
            min-height: 0;
        }
        .home .products.row > .product-small.col,
        .archive.woocommerce .products.row > .product-small.col,
        .post-type-archive-product .products.row > .product-small.col,
        .tax-product_cat .products.row > .product-small.col {
            flex: 0 0 50% !important;
            max-width: 50% !important;
            width: 50% !important;
        }
        /* Latest Apparel mobile rail — anchored on .smz-mobile-apparel-rail
           class added by JS (Flatsome regenerates section IDs every page load,
           so we can't target by ID; class-based selector is stable). */
        .row.smz-mobile-apparel-rail {
            display: flex !important;
            flex-wrap: nowrap !important;
            gap: 12px !important;
            margin-left: -14px !important;
            margin-right: -14px !important;
            padding: 0 14px 10px !important;
            overflow-x: auto !important;
            overflow-y: hidden !important;
            scroll-snap-type: x mandatory;
            scroll-padding-left: 14px;
            -webkit-overflow-scrolling: touch;
        }
        .row.smz-mobile-apparel-rail::-webkit-scrollbar {
            display: none;
        }
        .row.smz-mobile-apparel-rail > .col {
            flex: 0 0 72% !important;
            max-width: 72% !important;
            width: 72% !important;
            padding: 0 !important;
            scroll-snap-align: start;
        }
        .row.smz-mobile-apparel-rail .product-small {
            padding: 10px !important;
        }
        .row.smz-mobile-apparel-rail .product-small .box-image {
            aspect-ratio: 1 / 1.18;
            background: #f1f1f1;
        }
        .row.smz-mobile-apparel-rail .product-small .box-image img {
            width: 100% !important;
            height: 100% !important;
            object-fit: cover !important;
        }
        .row.smz-mobile-apparel-rail .product-small .box-text {
            min-height: 118px;
            padding: 12px 2px 0 !important;
        }
        .row.smz-mobile-apparel-rail .product-title,
        .row.smz-mobile-apparel-rail .woocommerce-loop-product__title {
            font-size: 13px !important;
            line-height: 1.35 !important;
        }
        .row.smz-mobile-apparel-rail .product-small .button.product-loop-button,
        .row.smz-mobile-apparel-rail .product-small a.button.product-loop-button,
        .row.smz-mobile-apparel-rail .product-small .add-to-cart-button .button {
            min-height: 34px !important;
            margin-top: 7px !important;
        }
        .product-small {
            padding: 8px !important;
        }
        .product-small .box-text {
            padding-top: 10px !important;
        }
        .product-title,
        .woocommerce-loop-product__title {
            font-size: 12px !important;
            line-height: 1.32 !important;
        }
        .product-small .price,
        .product-small .price-wrapper {
            font-size: 12px !important;
        }
        .product-small .button.product-loop-button,
        .product-small a.button.product-loop-button {
            width: 100% !important;
            padding: 9px 8px !important;
            font-size: 9px !important;
            letter-spacing: 0.08em !important;
        }
        .single-product .product-main > .row > .product-gallery,
        .single-product .product-main > .row > .product-info {
            max-width: 100% !important;
            flex-basis: 100% !important;
            padding-left: 14px !important;
            padding-right: 14px !important;
        }
        .single-product .product_title.entry-title::after {
            margin-left: 0;
        }
        .single-product table.variations th.label,
        .single-product table.variations td.label {
            width: 74px !important;
            font-size: 10px !important;
        }
        .single-product form.cart {
            position: static !important;
            z-index: auto !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
            padding: 0 !important;
            background: transparent !important;
            border-top: 0 !important;
        }
        .single-product form.cart .quantity {
            flex: 0 0 96px;
        }
        .single-product form.cart .single_add_to_cart_button {
            min-width: 0 !important;
            padding-left: 14px !important;
            padding-right: 14px !important;
        }
        .aibt-container.smz-relocated {
            margin: 34px 14px !important;
            padding: 22px 14px !important;
        }
    }
