/* ═══════════════════════════════════════════════
   SOTERI BRAND CSS v8.1 — Flatsome UX Builder Compatible
   Upload to: /wp-content/themes/flatsome-child/soteri-brand.css
   ═══════════════════════════════════════════════ */

/* Brand "soteri" font — self-hosted INSIDE the child theme.
   Decouples the site from the Use Any Font plugin entirely.
   Path is relative to this CSS file → ./fonts/soteri.woff2.
   Works identically on localhost and live with no URL fiddling. */
@font-face {
    font-family: 'soteri';
    src: url('./fonts/soteri.woff2') format('woff2'),
         url('./fonts/soteri.woff') format('woff');
    font-display: swap;
    font-weight: 100 900;
    font-style: normal;
}

:root {
    --soteri-gold: #b09470;
    --soteri-dark: #1a1a1a;
    --soteri-cream: #f8f6f3;
    --soteri-text: #4a4a4a;
    --soteri-text-light: #8a8a8a;
    --soteri-border: rgba(176, 148, 112, 0.15);
    --soteri-ease: cubic-bezier(0.25, 0, 0.15, 1);
}

/* ═══════════════════════════════════════════════
   GLOBAL FONT
   ═══════════════════════════════════════════════ */

body, p, h1, h2, h3, h4, h5, h6,
a, li, span, div, label, input, button, select, textarea,
th, td, blockquote, figcaption,
.woocommerce *, .shop-page-title, .category-title,
.product-title, .product-short-description,
.page-title, .entry-title, .entry-content,
.widget, .widget *, .sidebar *,
.flatsome-accordion *, .tabbed-content *,
.nav > li > a, .breadcrumbs *,
.cart-item *, .checkout *, .my-account *,
.mfp-content *, .off-canvas *, .select2-container *,
.trp-language-switcher *, .trp-ls-shortcode-current-language,
.trp-ls-shortcode-language *, .yay-currency-switcher *,
.yay-currency-custom-select *, .woocommerce-message,
.woocommerce-error, .woocommerce-info,
.soteri-confirmation-modal *, .soteri-order-confirmation *,
.ssg-modal *, .ssg-modal-content *, .wpcf7 * {
    font-family: soteri, Inter, -apple-system, sans-serif !important;
}

/* ============================================================
   GEORGIAN TYPOGRAPHY
   - Headings: Noto Serif Georgian (editorial fashion-house feel,
     pairs visually with the Latin "soteri" thin-serif logo)
   - Body / UI: Noto Sans Georgian (humanist sans, excellent on-screen)
   Both loaded via Google Fonts in functions.php.
   Triggered by html[lang^="ka"] OR body.translatepress-ka_GE.
   ============================================================ */

/* Body & UI — sans for Georgian */
html[lang="ka-GE"] body, html[lang="ka-GE"] p,
html[lang="ka-GE"] a, html[lang="ka-GE"] li,
html[lang="ka-GE"] span, html[lang="ka-GE"] div,
html[lang="ka-GE"] label, html[lang="ka-GE"] input,
html[lang="ka-GE"] button, html[lang="ka-GE"] select,
html[lang="ka-GE"] textarea,
html[lang="ka-GE"] .woocommerce *, html[lang="ka-GE"] .nav > li > a,
body.translatepress-ka_GE, body.translatepress-ka_GE p,
body.translatepress-ka_GE a, body.translatepress-ka_GE li,
body.translatepress-ka_GE span, body.translatepress-ka_GE div,
body.translatepress-ka_GE label, body.translatepress-ka_GE input,
body.translatepress-ka_GE button, body.translatepress-ka_GE select,
body.translatepress-ka_GE textarea,
body.translatepress-ka_GE .woocommerce *,
body.translatepress-ka_GE .nav > li > a,
body.translatepress-ka_GE .soteri-confirmation-modal *,
body.translatepress-ka_GE .ssg-modal-content * {
    font-family: "Noto Sans Georgian", "soteri", Inter, -apple-system, sans-serif !important;
}

/* Headings — serif for Georgian (editorial display) */
html[lang="ka-GE"] h1, html[lang="ka-GE"] h2, html[lang="ka-GE"] h3,
html[lang="ka-GE"] h4, html[lang="ka-GE"] h5, html[lang="ka-GE"] h6,
html[lang="ka-GE"] .product_title, html[lang="ka-GE"] .product-title,
html[lang="ka-GE"] .entry-title, html[lang="ka-GE"] .page-title,
html[lang="ka-GE"] .product-section-title,
html[lang="ka-GE"] .product-section-title-related,
html[lang="ka-GE"] .product-section-title-upsell,
body.translatepress-ka_GE h1, body.translatepress-ka_GE h2,
body.translatepress-ka_GE h3, body.translatepress-ka_GE h4,
body.translatepress-ka_GE h5, body.translatepress-ka_GE h6,
body.translatepress-ka_GE .product_title, body.translatepress-ka_GE .product-title,
body.translatepress-ka_GE .entry-title, body.translatepress-ka_GE .page-title,
body.translatepress-ka_GE .product-section-title,
body.translatepress-ka_GE .product-section-title-related,
body.translatepress-ka_GE .product-section-title-upsell {
    font-family: "Noto Serif Georgian", "soteri", Georgia, "Times New Roman", serif !important;
    font-weight: 300 !important;
    letter-spacing: 1px !important;
}

/* Slightly lighter weight on long Georgian body copy for legibility */
html[lang="ka-GE"] .product-short-description p,
html[lang="ka-GE"] .entry-content p,
body.translatepress-ka_GE .product-short-description p,
body.translatepress-ka_GE .entry-content p { font-weight: 400 !important; }
html[lang="ka-GE"] .product_title,
html[lang="ka-GE"] .page-title { font-weight: 300 !important; }
body.translatepress-ka_GE .product_title,
body.translatepress-ka_GE .page-title { font-weight: 300 !important; }

body {
    color: var(--soteri-text) !important;
    background-color: #fff !important;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a {
    color: inherit;
}

a:hover,
.nav > li > a:hover,
.breadcrumbs a:hover,
.woocommerce-breadcrumb a:hover {
    color: var(--soteri-gold) !important;
}

input,
textarea,
select,
.select2-container .select2-selection,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
    border-color: var(--soteri-border) !important;
    border-radius: 0 !important;
    color: var(--soteri-dark) !important;
    background-color: #fff !important;
}

input:focus,
textarea:focus,
select:focus,
.select2-container--focus .select2-selection,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
    border-color: var(--soteri-gold) !important;
    box-shadow: 0 0 0 1px rgba(176, 148, 112, 0.18) !important;
}

.button,
button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.single_add_to_cart_button,
.checkout-button,
#place_order {
    border-radius: 0 !important;
    font-family: soteri, Inter, -apple-system, sans-serif !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

/* ═══════════════════════════════════════════════
   HOMEPAGE — Header Transparency + Full-width
   ═══════════════════════════════════════════════ */

/* Force transparent header on homepage */
.home .header-wrapper,
.page-id-2 .header-wrapper {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 100 !important;
    background: transparent !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

/* Header bg transparent on homepage — hide fill backgrounds */
.home .header-wrapper .header-bg-container,
.page-id-2 .header-wrapper .header-bg-container,
.home .header-main,
.page-id-2 .header-main,
.home .header-top,
.page-id-2 .header-top,
.home .header-bottom,
.page-id-2 .header-bottom {
    background: transparent !important;
    border-bottom: none !important;
    box-shadow: none !important;
}
/* Hide ONLY header .fill backgrounds on homepage (not banners!) */
.home .header-wrapper .fill,
.page-id-2 .header-wrapper .fill,
.home .header-bg-container .fill,
.page-id-2 .header-bg-container .fill {
    display: none !important;
}

/* Nav links white on homepage */
.home .header-wrapper .nav > li > a,
.page-id-2 .header-wrapper .nav > li > a,
.home .header-wrapper .header-button,
.page-id-2 .header-wrapper .header-button,
.home .header-wrapper .cart-icon,
.page-id-2 .header-wrapper .cart-icon {
    color: #fff !important;
}
.home .header-wrapper .nav > li > a:hover,
.page-id-2 .header-wrapper .nav > li > a:hover {
    color: var(--soteri-gold) !important;
}

/* Logo — if text, make white */
.home .header-wrapper .logo a,
.page-id-2 .header-wrapper .logo a {
    color: #fff !important;
}
/* Logo image — make it white via filter on homepage */
.home .header-wrapper .logo img,
.page-id-2 .header-wrapper .logo img {
    filter: brightness(0) invert(1) !important;
}

/* Currency & language switcher transparent on homepage */
.home .header-wrapper .yay-currency-switcher,
.home .header-wrapper .yay-currency-select,
.home .header-wrapper .yay-currency-custom-select__trigger,
.home .header-wrapper .trp-ls-shortcode-current-language,
.home .header-wrapper .trp-language-switcher,
.home .header-wrapper .trp-language-switcher a,
.page-id-2 .header-wrapper .yay-currency-switcher,
.page-id-2 .header-wrapper .yay-currency-select,
.page-id-2 .header-wrapper .yay-currency-custom-select__trigger,
.page-id-2 .header-wrapper .trp-ls-shortcode-current-language,
.page-id-2 .header-wrapper .trp-language-switcher,
.page-id-2 .header-wrapper .trp-language-switcher a {
    color: rgba(255,255,255,0.7) !important;
    background: transparent !important;
    border-color: rgba(255,255,255,0.2) !important;
}
.home .header-wrapper .yay-currency-custom-select__trigger svg,
.home .header-wrapper .yay-currency-custom-select__trigger path,
.page-id-2 .header-wrapper .yay-currency-custom-select__trigger svg,
.page-id-2 .header-wrapper .yay-currency-custom-select__trigger path {
    fill: rgba(255,255,255,0.7) !important;
    stroke: rgba(255,255,255,0.7) !important;
}
.home .header-wrapper .trp-language-switcher img,
.page-id-2 .header-wrapper .trp-language-switcher img {
    filter: brightness(2) !important;
}

/* Sticky header — dark bg when scrolled */
.home .header-wrapper.stuck,
.page-id-2 .header-wrapper.stuck {
    position: fixed !important;
    background: rgba(26, 26, 26, 0.97) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    box-shadow: 0 2px 20px rgba(0,0,0,0.1) !important;
}

/* When stuck, keep white nav */
.home .header-wrapper.stuck .nav > li > a,
.page-id-2 .header-wrapper.stuck .nav > li > a,
.home .header-wrapper.stuck .header-button,
.page-id-2 .header-wrapper.stuck .header-button,
.home .header-wrapper.stuck .cart-icon,
.page-id-2 .header-wrapper.stuck .cart-icon {
    color: #fff !important;
}

/* Offset page content to sit behind transparent header */
.home .page-wrapper .page,
.page-id-2 .page-wrapper .page,
.home #content,
.page-id-2 #content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Homepage — Full-width page layout
   Real DOM (verified via curl):
   #content > .row.row-main > .large-12.col > .col-inner > [sections/sliders/banners]
   NO .container. NO .entry-content. Content is directly inside .col-inner. */

/* 1. Row-main — remove Flatsome's max-width constraint */
.home #content > .row-main,
.page-id-2 #content > .row-main {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
/* 2. Column and col-inner — full width, no padding */
.home #content > .row-main > .col,
.page-id-2 #content > .row-main > .col {
    max-width: 100% !important;
    flex-basis: 100% !important;
    padding: 0 !important;
    width: 100% !important;
}
.home #content > .row-main > .col > .col-inner,
.page-id-2 #content > .row-main > .col > .col-inner {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
}

/* 3. Boxed sections — center .section-content (max-width + margin auto) */
.home #content .section:not(.soteri-full):not(.soteri-marquee) > .section-content,
.page-id-2 #content .section:not(.soteri-full):not(.soteri-marquee) > .section-content {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
/* Flatsome .row has max-width:1080px but NO margin:auto.
   Rows must be centered inside the section-content. */
.home #content .section > .section-content > .row,
.page-id-2 #content .section > .section-content > .row {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* 4. Full-width sections (editorial, B2B with row-full-width) */
.home #content .section.soteri-full > .section-content,
.page-id-2 #content .section.soteri-full > .section-content {
    max-width: 100% !important;
}
/* Ensure full-width rows span edge to edge */
.home #content .row-full-width,
.page-id-2 #content .row-full-width {
    max-width: 100% !important;
    width: 100% !important;
}
/* Also center the product grid row (nested deeper) */
.home #content .section .row .row,
.page-id-2 #content .section .row .row {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* 5. Prevent horizontal scrollbar (scrollbar gutter) */
.home,
.page-id-2 {
    overflow-x: hidden !important;
}

/* ── Section transitions — subtle breathing between sections ── */
.home #content .section {
    position: relative;
}
/* Soft fade gradient on dark-to-light transitions */
.home #content .section.soteri-fade-top::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 80px;
    background: linear-gradient(to bottom, rgba(255,255,255,0.06), transparent);
    pointer-events: none;
    z-index: 1;
}
/* Elegant gold hairline separator */
.home #content .section.soteri-sep::after {
    content: '';
    position: absolute;
    bottom: 0; left: 50%;
    transform: translateX(-50%);
    width: 60px; height: 1px;
    background: var(--soteri-gold);
    opacity: 0.3;
}

/* ── Hero Slider (Flatsome ux_slider) ── */
.soteri-hero {
    min-height: 650px;
}
/* Ken Burns zoom on slide backgrounds */
.soteri-hero .banner .bg {
    transform: scale(1.08) !important;
    transition: transform 10s linear !important;
}
.soteri-hero .is-selected .bg {
    transform: scale(1) !important;
}
/* Custom dot navigation */
.soteri-hero .flickity-page-dots {
    bottom: 40px !important;
}
.soteri-hero .flickity-page-dots .dot {
    width: 6px !important;
    height: 6px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.2) !important;
    opacity: 1 !important;
    transition: all .5s ease !important;
    margin: 0 5px !important;
    border: none !important;
    padding: 0 !important;
}
.soteri-hero .flickity-page-dots .dot.is-selected {
    background: rgba(255,255,255,.7) !important;
    width: 24px !important;
    border-radius: 3px !important;
}
/* Hero text elements */
.soteri-hero-label {
    font-family: soteri, Inter, sans-serif;
    font-size: 10px;
    font-weight: 400;
    letter-spacing: 6px;
    text-transform: uppercase;
    color: rgba(255,255,255,.5);
    margin-bottom: 24px;
    display: block;
}
.soteri-hero-h1,
.soteri-hero h1 {
    font-family: soteri, serif !important;
    font-weight: 300 !important;
    font-size: 56px !important;
    letter-spacing: 5px !important;
    text-transform: uppercase !important;
    color: #fff !important;
    line-height: 1.1 !important;
    margin-bottom: 24px !important;
}
.soteri-hero-sub {
    font-family: soteri, Inter, sans-serif;
    font-size: 13px;
    font-weight: 300;
    line-height: 1.9;
    color: rgba(255,255,255,.55);
    max-width: 400px;
    margin: 0 auto 40px;
    letter-spacing: .5px;
}

/* ── Soteri CTA Links ── */
.soteri-cta {
    display: inline-block !important;
    font-family: soteri, Inter, sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    color: #1a1a1a !important;
    background: transparent !important;
    padding: 0 0 6px 0 !important;
    border: none !important;
    border-bottom: 1px solid var(--soteri-gold) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transition: all .4s ease !important;
    line-height: 1.4 !important;
}
.soteri-cta:hover {
    color: #b09470 !important;
    letter-spacing: 4px !important;
    background: transparent !important;
}
a.soteri-cta.white,
.soteri-cta.white {
    color: rgba(255,255,255,.9) !important;
    background: transparent !important;
    border-bottom-color: rgba(176,148,112,.5) !important;
}
a.soteri-cta.white:hover,
.soteri-cta.white:hover {
    color: #b09470 !important;
    background: transparent !important;
    border-bottom-color: #b09470 !important;
}

/* ── Soteri Labels & Titles ── */
.soteri-label {
    font-family: soteri, Inter, sans-serif;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 5px;
    text-transform: uppercase;
    color: #b09470;
    display: block;
    margin-bottom: 20px;
    opacity: .9;
}
.soteri-title {
    font-family: soteri, serif;
    font-weight: 300;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #1a1a1a;
    line-height: 1.1;
}
.soteri-title.lg { font-size: 42px; letter-spacing: 3px; }
.soteri-title.md { font-size: 30px; }
.soteri-body {
    font-family: soteri, Inter, sans-serif;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.9;
    color: #4a4a4a;
    letter-spacing: .3px;
}
.soteri-divider {
    width: 50px;
    height: 1px;
    background: #b09470;
    margin: 30px auto;
    opacity: .4;
}

/* ── Intro & Products (layout handled by Flatsome [section]) ── */

/* ── Marquee ── */
.soteri-marquee {
    overflow: hidden;
    white-space: nowrap;
}
/* Keep the section's own top/bottom padding (band height) — flex-center the track inside it */
.section.soteri-marquee > .section-content {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
/* Strip Flatsome row/col internal spacing so nothing pushes the track upward */
.section.soteri-marquee .row {
    margin: 0 !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.section.soteri-marquee .col,
.section.soteri-marquee .col-inner {
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.soteri-marquee-track {
    display: inline-block;
    animation: smq 30s linear infinite;
    line-height: 1;
}
.soteri-marquee-track span {
    display: inline-block;
    font-family: soteri, serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #b09470;
    padding: 0 30px;
    line-height: 1;
    vertical-align: middle;
}
.soteri-marquee-track span::after { content: '\2022'; margin-left: 30px; color: #b09470; opacity: .6; }
@keyframes smq { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* ── Process Steps (Flatsome row/col) ── */
.soteri-process-grid {
    max-width: 960px;
    margin: 0 auto;
}
.soteri-process-grid .col {
    border-right: 1px solid var(--soteri-border);
}
.soteri-process-grid .col:last-child {
    border-right: none;
}
.soteri-step { text-align: center; padding: 50px 35px; background: #fff; transition: background .4s ease; }
.soteri-step:hover { background: #f8f6f3; }
.soteri-step-num {
    font-family: soteri, serif;
    font-size: 40px;
    font-weight: 300;
    color: #b09470;
    margin-bottom: 24px;
    opacity: .7;
    line-height: 1;
}
.soteri-step h4 {
    font-family: soteri, Inter, sans-serif;
    font-weight: 500;
    font-size: 11px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #1a1a1a;
    margin-bottom: 16px;
}
.soteri-step p { font-size: 13px; font-weight: 300; line-height: 1.85; color: #8a8a8a; }

/* ── Editorial / Our Craft Section (Flatsome row/col) ── */
/* Image hover zoom is handled by Flatsome banner hover="zoom" */

/* ── Banner Section (Flatsome ux_banner) ── */
.soteri-banner-h2 {
    font-family: soteri, serif !important;
    font-weight: 300 !important;
    font-size: 44px !important;
    letter-spacing: 6px !important;
    text-transform: uppercase !important;
    color: #fff !important;
    margin-bottom: 10px !important;
    line-height: 1.1 !important;
}
.soteri-banner-date {
    font-size: 10px !important;
    letter-spacing: 4px !important;
    color: var(--soteri-gold) !important;
    font-weight: 400 !important;
    margin-bottom: 24px !important;
}
.soteri-banner-desc {
    font-size: 13px !important;
    font-weight: 300 !important;
    line-height: 1.9 !important;
    color: rgba(255,255,255,.6) !important;
    margin-bottom: 35px !important;
}

/* ── Men Section ── */
.soteri-men {
    position: relative;
    overflow: hidden;
}
.soteri-men::before {
    content: 'M';
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    font-family: soteri, serif;
    font-size: 300px;
    font-weight: 300;
    color: rgba(255,255,255,.02);
    pointer-events: none;
}
.soteri-men .soteri-title { color: #fff; margin-bottom: 18px; }
.soteri-men p { font-size: 13px; font-weight: 300; line-height: 1.9; color: rgba(255,255,255,.4); max-width: 420px; margin: 0 auto 40px; }

/* ── B2B Section (Flatsome row/col) ── */
/* Image hover zoom is handled by Flatsome banner hover="zoom" */

/* ── Values Section (Flatsome row/col with border) ── */
.soteri-val {
    text-align: left;
    padding: 40px 30px;
    border: 1px solid rgba(176,148,112,.15);
    transition: all .4s ease;
    position: relative;
    overflow: hidden;
}
.soteri-val::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 2px;
    background: #b09470;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .5s ease;
}
.soteri-val:hover::before { transform: scaleX(1); }
.soteri-val:hover { border-color: rgba(176,148,112,.3); }
.soteri-val .val-num {
    font-family: soteri, serif;
    font-size: 32px;
    font-weight: 300;
    color: #b09470;
    opacity: .5;
    margin-bottom: 20px;
    line-height: 1;
}
.soteri-val h4 {
    font-family: soteri, Inter, sans-serif;
    font-weight: 500;
    font-size: 11px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #1a1a1a;
    margin-bottom: 14px;
}
.soteri-val p { font-size: 13px; font-weight: 300; line-height: 1.85; color: #8a8a8a; }

/* ── Footer Strip (layout handled by Flatsome [section]) ── */

/* ── Homepage Mobile ── */
@media (max-width: 768px) {
    .soteri-hero-h1,
    .soteri-hero h1 { font-size: 36px !important; letter-spacing: 2px !important; line-height: 1.12 !important; }
    .soteri-hero-sub { max-width: 320px !important; margin-left: auto !important; margin-right: auto !important; }
    .soteri-hero .text-box { width: 88% !important; }
    .soteri-men::before { font-size: 180px; }
    .soteri-title.lg { font-size: 30px; }
    .soteri-title.md { font-size: 24px; }
    .soteri-banner-h2 { font-size: 30px !important; letter-spacing: 4px !important; }
    .soteri-process-grid .col { border-right: none !important; border-bottom: 1px solid var(--soteri-border); }
    .soteri-process-grid .col:last-child { border-bottom: none !important; }
}

@media (max-width: 549px) {
    .soteri-hero-h1,
    .soteri-hero h1 {
        font-size: 32px !important;
        letter-spacing: 1.5px !important;
    }
    .soteri-hero-label {
        font-size: 9px !important;
        letter-spacing: 4px !important;
    }
    .soteri-hero-sub {
        font-size: 12px !important;
        line-height: 1.7 !important;
    }
    .soteri-cta {
        min-height: 42px !important;
        display: inline-flex !important;
        align-items: center !important;
    }
    .product-small .box-text {
        padding-left: 4px !important;
        padding-right: 4px !important;
    }
}

/* ═══════════════════════════════════════════════
   TOP BAR
   ═══════════════════════════════════════════════ */

.header-top { background: var(--soteri-dark) !important; border-bottom: none !important; }
.header-top, .header-top a, .header-top span, .header-top .nav > li > a {
    font-size: 11px !important; letter-spacing: 1.5px !important;
    font-weight: 400 !important; color: rgba(255,255,255,0.5) !important;
}
.header-top a:hover { color: var(--soteri-gold) !important; }

/* ═══════════════════════════════════════════════
   HEADER NAV (non-homepage)
   ═══════════════════════════════════════════════ */

.header-nav .nav > li > a, .header-main .nav > li > a {
    font-size: 11px !important; letter-spacing: 2.5px !important;
    text-transform: uppercase !important; font-weight: 400 !important;
}
.header-nav .nav > li > a:hover, .header-main .nav > li > a:hover {
    color: var(--soteri-gold) !important;
}

/* ═══════════════════════════════════════════════
   BREADCRUMBS
   ═══════════════════════════════════════════════ */

.breadcrumbs, .woocommerce-breadcrumb { background: transparent !important; padding: 20px 0 !important; }
.breadcrumbs a, .breadcrumbs span, .woocommerce-breadcrumb a,
.woocommerce-breadcrumb span, .breadcrumbs .divider {
    font-size: 11px !important; letter-spacing: 2px !important;
    text-transform: uppercase !important; font-weight: 400 !important;
    color: var(--soteri-text-light) !important;
}
.breadcrumbs a:hover { color: var(--soteri-gold) !important; }

/* ═══════════════════════════════════════════════
   SHOP PAGES
   ═══════════════════════════════════════════════ */

.shop-page-title, .category-page-title, .term-title,
.archive .page-title, .woocommerce-products-header h1 {
    font-weight: 300 !important; letter-spacing: 4px !important;
    text-transform: uppercase !important; font-size: 36px !important;
    color: var(--soteri-dark) !important;
}
.woocommerce-result-count, .woocommerce-ordering select {
    font-size: 11px !important; letter-spacing: 2px !important;
    text-transform: uppercase !important; font-weight: 400 !important;
    color: var(--soteri-text-light) !important;
}
.product-small .box-image { background: var(--soteri-cream) !important; overflow: hidden !important; }
.product-small .box-image img { transition: transform 1s var(--soteri-ease) !important; }
.product-small:hover .box-image img { transform: scale(1.06) !important; }
.product-small .product-title, .product-small .product-title a {
    font-size: 12px !important; font-weight: 400 !important;
    letter-spacing: 1px !important; text-transform: uppercase !important;
    color: var(--soteri-dark) !important; line-height: 1.5 !important;
}
.product-small:hover .product-title a { color: var(--soteri-gold) !important; }
.product-small .price, .product-small .price .amount {
    font-size: 12px !important; font-weight: 300 !important;
    color: var(--soteri-text-light) !important;
}
.product-small .product-cat a {
    font-size: 10px !important; letter-spacing: 2px !important;
    text-transform: uppercase !important; color: var(--soteri-gold) !important;
}

/* Pagination */
.page-numbers, .nav-pagination a, .nav-pagination span {
    font-size: 12px !important; letter-spacing: 2px !important;
    font-weight: 400 !important; color: var(--soteri-text-light) !important;
    border: 1px solid var(--soteri-border) !important;
}
.page-numbers.current, .nav-pagination .current {
    background: var(--soteri-dark) !important; color: #fff !important;
    border-color: var(--soteri-dark) !important;
}
.page-numbers:hover { border-color: var(--soteri-gold) !important; color: var(--soteri-gold) !important; }

/* ═══════════════════════════════════════════════
   SINGLE PRODUCT — Soteri Luxury Layout
   ═══════════════════════════════════════════════ */

/* --- Layout: full-width shop container, widen product row --- */
.single-product .shop-container {
    max-width: 100% !important;
    padding: 0 !important;
}
.single-product .product-container {
    max-width: 100% !important;
}
.single-product .product-main {
    max-width: 100% !important;
}
/* THE KEY FIX: override Flatsome .row max-width:1080px on the product row */
.single-product .product-main > .row.content-row {
    max-width: 1340px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 50px 40px 70px !important;
}

/* --- Hide next/prev product navigation (clutters the layout) --- */
.single-product .next-prev-thumbs {
    display: none !important;
}

/* --- Gallery — generous space, cream bg --- */
.single-product .product-gallery {
    padding-right: 60px !important;
}
.single-product .product-gallery .slide img,
.single-product .woocommerce-product-gallery img {
    background: var(--soteri-cream) !important;
}
/* Zoom button */
.single-product .product-gallery .zoom-button {
    border-color: var(--soteri-border) !important;
    color: var(--soteri-text-light) !important;
}
.single-product .product-gallery .zoom-button:hover {
    border-color: var(--soteri-gold) !important;
    color: var(--soteri-gold) !important;
}
/* Gallery thumbnails */
.single-product .product-thumbnails .col img {
    border: 1px solid transparent !important;
    background: var(--soteri-cream) !important;
    transition: all 0.3s ease !important;
}
.single-product .product-thumbnails .col.is-nav-selected img,
.single-product .product-thumbnails .col:hover img {
    border-color: var(--soteri-gold) !important;
}

/* --- Product info area --- */
.single-product .product-info {
    padding-left: 40px !important;
}
/* Divider under title */
.single-product .product-info .is-divider {
    background-color: var(--soteri-gold) !important;
    opacity: 0.3 !important;
    max-width: 50px !important;
    margin: 20px 0 25px !important;
}

/* --- Breadcrumbs --- */
.single-product .breadcrumbs {
    padding: 0 0 15px !important;
    border-bottom: none !important;
    margin-bottom: 5px !important;
}
.single-product .breadcrumbs a,
.single-product .breadcrumbs span,
.single-product .breadcrumbs .divider {
    font-family: soteri, Inter, sans-serif !important;
    font-size: 10px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: var(--soteri-text-light) !important;
    font-weight: 400 !important;
}
.single-product .breadcrumbs a:hover {
    color: var(--soteri-gold) !important;
}

/* --- Title --- */
.product-info .product_title, .product_title {
    font-family: soteri, serif !important;
    font-weight: 300 !important; letter-spacing: 4px !important;
    text-transform: uppercase !important; font-size: 30px !important;
    color: var(--soteri-dark) !important; line-height: 1.2 !important;
}

/* --- Price + Currency switcher inline (siblings in .summary) --- */
.single-product .summary .price-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    margin: 5px 15px 20px 0 !important;
    vertical-align: middle !important;
}
.single-product .summary .yay-currency-single-page-switcher {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    margin-top: -15px !important;
}
.product-info .price .amount, .summary .price .amount {
    font-family: soteri, serif !important;
    font-size: 22px !important; font-weight: 300 !important;
    color: var(--soteri-dark) !important; letter-spacing: 1px !important;
}

/* --- Currency switcher styling --- */
.single-product .yay-currency-switcher,
.single-product .yay-currency-select,
.single-product .yay-currency-custom-select-wrapper {
    border: 1px solid var(--soteri-border) !important;
    border-radius: 0 !important;
    font-family: soteri, Inter, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 1px !important;
    color: var(--soteri-text-light) !important;
}

/* --- Description --- */
.product-short-description {
    margin: 25px 0 !important;
    padding-bottom: 25px !important;
    border-bottom: 1px solid var(--soteri-border) !important;
}
.product-short-description p {
    font-family: soteri, Inter, sans-serif !important;
    font-size: 14px !important; font-weight: 300 !important;
    line-height: 1.9 !important; color: var(--soteri-text) !important;
}
.product-short-description ul li {
    font-family: soteri, Inter, sans-serif !important;
    font-size: 13px !important; font-weight: 300 !important;
    line-height: 1.8 !important; color: var(--soteri-text) !important;
}

/* --- Size swatches (WooCommerce Variation Swatches) --- */
.single-product .variations {
    margin: 20px 0 !important;
}
.single-product .variable-items-wrapper {
    gap: 5px !important;
    display: flex !important;
    flex-wrap: wrap !important;
}
.single-product .variable-item,
.single-product .wvs-style-squared .variable-item,
.single-product .wvs-style-rounded .variable-item {
    border-radius: 0 !important;
    border: 1px solid var(--soteri-border) !important;
    font-family: soteri, Inter, sans-serif !important;
    font-size: 10px !important;
    letter-spacing: 1.5px !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    min-width: 52px !important;
    min-height: 42px !important;
    padding: 10px 16px !important;
    color: var(--soteri-dark) !important;
    background: #fff !important;
    transition: all 0.3s var(--soteri-ease) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
}
.single-product .variable-item:hover,
.single-product .wvs-style-squared .variable-item:hover {
    border-color: var(--soteri-dark) !important;
}
.single-product .variable-item.selected,
.single-product .variable-item[aria-checked="true"],
.single-product .wvs-style-squared .variable-item.selected {
    border-color: var(--soteri-dark) !important;
    background: var(--soteri-dark) !important;
    color: #fff !important;
}
/* Size label */
.single-product .variations .label label,
.single-product .woo-variation-swatches .variations .label label {
    font-family: soteri, Inter, sans-serif !important;
    font-size: 10px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    font-weight: 500 !important;
    color: var(--soteri-dark) !important;
    margin-bottom: 15px !important;
    display: block !important;
}

/* --- Quantity + Add to Cart + Buy Now + Size Guide — uniform row --- */
.single-product .cart {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin-top: 25px !important;
}
.single-product .quantity {
    border: 1px solid var(--soteri-border) !important;
    display: inline-flex !important;
    align-items: center !important;
    background: #fff !important;
    height: 48px !important;
}
.single-product .quantity input[type="number"],
.single-product .quantity .qty {
    border: none !important;
    font-family: soteri, Inter, sans-serif !important;
    font-size: 14px !important;
    font-weight: 300 !important;
    color: var(--soteri-dark) !important;
    text-align: center !important;
    width: 50px !important;
    height: 100% !important;
    background: transparent !important;
    -moz-appearance: textfield !important;
}
.single-product .quantity input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
}
.single-product .quantity .minus,
.single-product .quantity .plus {
    border: none !important;
    background: transparent !important;
    font-size: 18px !important;
    color: var(--soteri-text-light) !important;
    padding: 0 14px !important;
    height: 100% !important;
    transition: color 0.3s ease !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
}
.single-product .quantity .minus:hover,
.single-product .quantity .plus:hover {
    color: var(--soteri-dark) !important;
}

/* --- Product meta (SKU, categories) --- */
.single-product .product_meta {
    margin-top: 30px !important;
    padding-top: 20px !important;
    border-top: 1px solid var(--soteri-border) !important;
}
.single-product .product_meta > span {
    font-family: soteri, Inter, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    color: var(--soteri-text-light) !important;
}
.single-product .product_meta a {
    color: var(--soteri-text) !important;
}
.single-product .product_meta a:hover {
    color: var(--soteri-gold) !important;
}
/* SKU is surfaced as the editorial REF. line under the title — hide the duplicate in product_meta */
.single-product .product_meta .sku_wrapper {
    display: none !important;
}

/* --- Editorial REF. (SKU) line under product title --- */
.single-product .soteri-sku-line {
    margin: 6px 0 14px !important;
    font-family: soteri, Inter, "Noto Sans Georgian", sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    color: var(--soteri-text-light) !important;
    font-variant-numeric: tabular-nums !important;
    line-height: 1.4 !important;
}
.single-product .soteri-sku-line .soteri-sku-label {
    margin-right: 6px !important;
    opacity: 0.65 !important;
}
.single-product .soteri-sku-line .soteri-sku-value {
    color: var(--soteri-text) !important;
    transition: color 0.3s var(--soteri-ease) !important;
}

/* --- Share buttons --- */
.single-product .social-icons a {
    border: 1px solid var(--soteri-border) !important;
    color: var(--soteri-text-light) !important;
    transition: all 0.3s ease !important;
}
.single-product .social-icons a:hover {
    border-color: var(--soteri-gold) !important;
    color: var(--soteri-gold) !important;
}

/* --- Footer separator --- */
.single-product .product-footer {
    margin-top: 0 !important;
    border-top: none !important;
}

/* Add to cart — 48px uniform height */
.single_add_to_cart_button, button.single_add_to_cart_button {
    background: var(--soteri-dark) !important; color: #fff !important;
    border: none !important; border-radius: 0 !important;
    font-size: 11px !important; letter-spacing: 3px !important;
    text-transform: uppercase !important; font-weight: 400 !important;
    height: 48px !important; line-height: 48px !important;
    padding: 0 30px !important; transition: all 0.4s var(--soteri-ease) !important;
    display: inline-flex !important; align-items: center !important;
    justify-content: center !important; white-space: nowrap !important;
}
.single_add_to_cart_button:hover {
    background: var(--soteri-gold) !important; letter-spacing: 4px !important;
}

/* Buy now — 48px uniform height */
.ux-buy-now-button,
button.ux-buy-now-button,
.buy-now-btn,
button[name="buy-now"] {
    background: transparent !important; color: var(--soteri-dark) !important;
    border: 1px solid var(--soteri-dark) !important; border-radius: 0 !important;
    font-size: 11px !important; letter-spacing: 3px !important;
    text-transform: uppercase !important; font-weight: 400 !important;
    font-family: soteri, Inter, sans-serif !important;
    height: 48px !important; line-height: 48px !important;
    padding: 0 30px !important;
    display: inline-flex !important; align-items: center !important;
    justify-content: center !important; white-space: nowrap !important;
}
.ux-buy-now-button:hover,
.buy-now-btn:hover,
button[name="buy-now"]:hover {
    background: var(--soteri-dark) !important; color: #fff !important;
}

/* Quantity */
.quantity input[type="number"], .quantity .qty {
    border: 1px solid var(--soteri-border) !important; border-radius: 0 !important;
}
.quantity .minus, .quantity .plus {
    border: 1px solid var(--soteri-border) !important; background: transparent !important;
}
.quantity .minus:hover, .quantity .plus:hover {
    background: var(--soteri-cream) !important; border-color: var(--soteri-gold) !important;
}

/* Tabs / Accordion — elegant separators */
.woocommerce-tabs .tabs li a, .flatsome-accordion .accordion-title, .toggle .toggle-title {
    font-size: 11px !important; letter-spacing: 3px !important;
    text-transform: uppercase !important; font-weight: 500 !important;
    color: var(--soteri-dark) !important;
    padding: 18px 0 !important;
}
.flatsome-accordion .accordion-title:hover { color: var(--soteri-gold) !important; }
.flatsome-accordion .accordion-inner, .flatsome-accordion .accordion-inner p, .toggle .inner p {
    font-size: 13px !important; font-weight: 300 !important;
    line-height: 1.9 !important; color: var(--soteri-text) !important;
}
/* Accordion icon refinement */
.single-product .flatsome-accordion .accordion-title .toggle-icon {
    color: var(--soteri-gold) !important;
}
/* Accordion borders */
.single-product .flatsome-accordion .accordion-item,
.single-product .toggle {
    border-color: var(--soteri-border) !important;
}

/* ═══════════════════════════════════════════════
   RELATED PRODUCTS
   ═══════════════════════════════════════════════ */

/* Related products — full-width cream background section */
.single-product .product-footer {
    background: var(--soteri-cream) !important;
    padding: 80px 40px 70px !important;
}
.single-product .product-footer > .container {
    max-width: 1340px !important;
    margin: 0 auto !important;
}
.single-product .product-footer .row {
    max-width: 1340px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.related-products-wrapper, .related.products {
    padding-top: 0 !important;
    border-top: none !important;
    margin-top: 0 !important;
}
/* Related-products / upsell section heading — high-specificity selectors so
   nothing in Flatsome or LiteSpeed-optimised CSS can win over the brand font.
   Targets every wrapper variant and the heading itself + any inner span. */
.single-product .product-footer h2,
.single-product .product-footer h3,
.single-product .product-footer h2 span,
.single-product .product-footer h3 span,
.single-product .product-footer .product-section-title,
.single-product .product-footer .product-section-title span,
.related-products-wrapper h2,
.related-products-wrapper h3,
.related-products-wrapper h3 span,
.related.products h2,
.related.products h3,
.related.products h3 span,
h2.product-section-title,
h3.product-section-title,
h3.product-section-title span,
.product-section-title-related,
.product-section-title-related span,
.product-section-title-upsell,
.product-section-title-upsell span {
    font-family: 'soteri', 'Noto Sans Georgian', Georgia, 'Times New Roman', serif !important;
    font-weight: 300 !important;
    letter-spacing: 6px !important;
    text-transform: uppercase !important;
    font-size: 22px !important;
    color: var(--soteri-dark) !important;
    text-align: center !important;
    margin-bottom: 50px !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}
/* Related product cards — match brand */
.related .product-small .box-image {
    background: #fff !important;
}
.related .product-small .add_to_cart_button {
    font-family: soteri, Inter, sans-serif !important;
    font-size: 10px !important; background: var(--soteri-dark) !important;
    color: #fff !important; border-radius: 0 !important;
    letter-spacing: 2px !important;
}
.related .product-small .add_to_cart_button:hover { background: var(--soteri-gold) !important; }
/* Related products slider — custom arrows (Flickity broken by LiteSpeed JS opt) */
.single-product .product-footer .row-slider {
    position: relative !important;
}
.single-product .product-footer .soteri-slider-arrow {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 44px !important;
    height: 44px !important;
    background: #fff !important;
    border: 1px solid var(--soteri-border) !important;
    color: var(--soteri-dark) !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    z-index: 10 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    transition: all 0.3s ease !important;
    padding: 0 !important;
    line-height: 1 !important;
}
.single-product .product-footer .soteri-slider-arrow:hover {
    border-color: var(--soteri-gold) !important;
    color: var(--soteri-gold) !important;
}
.single-product .product-footer .soteri-arrow-prev { left: -22px !important; }
.single-product .product-footer .soteri-arrow-next { right: -22px !important; }
/* Hide Flickity native arrows in related (we use custom soteri-slider-arrow) */
.single-product .product-footer .flickity-prev-next-button,
.single-product .soteri-slider-wrap .flickity-prev-next-button {
    display: none !important;
}

/* ═══════════════════════════════════════════════
   REVIEWS
   ═══════════════════════════════════════════════ */

.woocommerce-Reviews, #reviews {
    padding: 50px 0 !important; border-top: 1px solid var(--soteri-border) !important;
    margin-top: 30px !important;
}
.woocommerce-Reviews h2, #reviews h2, #reply-title {
    font-weight: 300 !important; letter-spacing: 3px !important;
    text-transform: uppercase !important; font-size: 18px !important;
    color: var(--soteri-dark) !important;
}
#reviews .comment-form label, .comment-form label {
    font-size: 11px !important; letter-spacing: 2px !important;
    text-transform: uppercase !important; font-weight: 400 !important;
}
#reviews .comment-form input, #reviews .comment-form textarea,
.comment-form input[type="text"], .comment-form textarea {
    border: 1px solid var(--soteri-border) !important; border-radius: 0 !important;
    font-size: 13px !important; font-weight: 300 !important; padding: 14px 18px !important;
}
#reviews .comment-form input:focus, #reviews .comment-form textarea:focus {
    border-color: var(--soteri-gold) !important; outline: none !important; box-shadow: none !important;
}
#reviews .comment-form .submit, .comment-form .submit {
    background: var(--soteri-dark) !important; color: #fff !important;
    border: none !important; border-radius: 0 !important;
    font-size: 11px !important; letter-spacing: 3px !important;
    text-transform: uppercase !important; padding: 16px 35px !important;
}
#reviews .comment-form .submit:hover { background: var(--soteri-gold) !important; }
.star-rating, .star-rating span, .comment-form-rating .stars a { color: var(--soteri-gold) !important; }
.woocommerce-Reviews .comment_container {
    border-bottom: 1px solid var(--soteri-border) !important; padding: 25px 0 !important;
}
.woocommerce-review__author {
    font-size: 12px !important; letter-spacing: 1px !important;
    text-transform: uppercase !important; font-weight: 400 !important;
}
.woocommerce-noreviews {
    font-size: 13px !important; color: var(--soteri-text-light) !important; font-weight: 300 !important;
}

/* Gallery */
.product-gallery .slide img, .woocommerce-product-gallery img { background: var(--soteri-cream) !important; }
.product-thumbnails .col img { border: 1px solid transparent !important; }
.product-thumbnails .col.is-nav-selected img,
.product-thumbnails .col:hover img { border-color: var(--soteri-gold) !important; }

/* Size guide trigger — 48px uniform height */
.ssg-size-guide-trigger {
    font-size: 11px !important; font-weight: 400 !important;
    letter-spacing: 2px !important; text-transform: uppercase !important;
    border-radius: 0 !important; border: 1px solid rgba(176,148,112,0.3) !important;
    color: var(--soteri-dark) !important;
    height: 48px !important; line-height: 48px !important;
    padding: 0 20px !important;
    display: inline-flex !important; align-items: center !important;
    justify-content: center !important; white-space: nowrap !important;
}
.ssg-size-guide-trigger:hover { background: var(--soteri-dark) !important; color: #fff !important; }

/* ═══════════════════════════════════════════════
   CART
   ═══════════════════════════════════════════════ */

.woocommerce-cart .cart-item-name a, .cart_item .product-name a {
    font-size: 13px !important; font-weight: 400 !important;
    letter-spacing: 1px !important; text-transform: uppercase !important;
    color: var(--soteri-dark) !important;
}
.woocommerce-cart .cart-item-name a:hover { color: var(--soteri-gold) !important; }
.cart-totals th, .cart-totals td {
    font-size: 12px !important; letter-spacing: 1.5px !important;
    text-transform: uppercase !important; font-weight: 400 !important;
}
.wc-proceed-to-checkout .checkout-button {
    background: var(--soteri-dark) !important; color: #fff !important;
    border-radius: 0 !important; font-size: 11px !important;
    letter-spacing: 3px !important; text-transform: uppercase !important;
    padding: 16px 35px !important;
}
.wc-proceed-to-checkout .checkout-button:hover { background: var(--soteri-gold) !important; }

/* ═══════════════════════════════════════════════
   CHECKOUT
   ═══════════════════════════════════════════════ */

.woocommerce-checkout h3 {
    font-weight: 300 !important; letter-spacing: 3px !important;
    text-transform: uppercase !important; font-size: 18px !important;
}
.woocommerce-checkout label {
    font-size: 11px !important; letter-spacing: 1.5px !important;
    text-transform: uppercase !important; font-weight: 400 !important;
}
.woocommerce-checkout input, .woocommerce-checkout select, .woocommerce-checkout textarea {
    border: 1px solid var(--soteri-border) !important; border-radius: 0 !important;
    font-size: 13px !important; font-weight: 300 !important; padding: 12px 15px !important;
}
.woocommerce-checkout input:focus, .woocommerce-checkout select:focus {
    border-color: var(--soteri-gold) !important; outline: none !important; box-shadow: none !important;
}
#place_order {
    background: var(--soteri-dark) !important; color: #fff !important;
    border-radius: 0 !important; font-size: 12px !important;
    letter-spacing: 3px !important; text-transform: uppercase !important;
    padding: 18px 40px !important; width: 100% !important;
}
#place_order:hover { background: var(--soteri-gold) !important; }

/* Payment */
#payment { background: transparent !important; border: 1px solid var(--soteri-border) !important; border-radius: 0 !important; }
#payment .payment_methods li label { font-size: 13px !important; font-weight: 400 !important; color: var(--soteri-dark) !important; }
#payment .payment_box { background: var(--soteri-cream) !important; color: var(--soteri-text) !important; border-radius: 0 !important; }
#payment .payment_box::before { border-bottom-color: var(--soteri-cream) !important; }
#payment .payment_methods li { border-bottom: 1px solid var(--soteri-border) !important; }

/* ═══════════════════════════════════════════════
   MY ACCOUNT
   ═══════════════════════════════════════════════ */

.woocommerce-MyAccount-navigation ul li a {
    font-size: 12px !important; letter-spacing: 2px !important;
    text-transform: uppercase !important; font-weight: 400 !important;
    color: var(--soteri-text) !important; padding: 12px 0 !important;
    border-bottom: 1px solid var(--soteri-border) !important;
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover { color: var(--soteri-gold) !important; }

/* ═══════════════════════════════════════════════
   GLOBAL BUTTONS
   ═══════════════════════════════════════════════ */

.button, button, input[type="submit"], .woocommerce .button {
    border-radius: 0 !important; font-size: 11px !important;
    letter-spacing: 2px !important; text-transform: uppercase !important;
    font-weight: 400 !important;
}
.button.is-outline { border-width: 1px !important; padding: 12px 28px !important; }
.button.primary, .button.alt, .woocommerce .button.alt {
    background: var(--soteri-dark) !important; color: #fff !important;
}
.button.primary:hover, .button.alt:hover, .woocommerce .button.alt:hover {
    background: var(--soteri-gold) !important;
}

/* ═══════════════════════════════════════════════
   FORM INPUTS
   ═══════════════════════════════════════════════ */

input[type="text"], input[type="email"], input[type="password"],
input[type="tel"], input[type="number"], select, textarea {
    border: 1px solid var(--soteri-border) !important; border-radius: 0 !important;
    font-size: 13px !important; font-weight: 300 !important;
}
input:focus, select:focus, textarea:focus {
    border-color: var(--soteri-gold) !important; outline: none !important; box-shadow: none !important;
}

/* ═══════════════════════════════════════════════
   FOOTER — ოქროსფერი სათაურები + წაკითხვადი ტექსტი
   ═══════════════════════════════════════════════ */

.footer-wrapper, footer#footer, #footer { background: var(--soteri-dark) !important; }

/* Footer headings — GOLD */
.footer-wrapper .col-inner h3,
.footer-wrapper .widget-title,
footer .widget-title,
#footer .widget-title,
.footer-wrapper h3,
.footer-wrapper h4,
.footer-wrapper h5,
#footer h3, #footer h4, #footer h5,
footer h3, footer h4, footer h5,
.footer-1 .col-inner h3,
.footer-2 .col-inner h3,
.footer-wrapper .ux-menu-title,
#footer .ux-menu-title,
footer .ux-menu-title {
    font-weight: 400 !important; font-size: 11px !important;
    letter-spacing: 4px !important; text-transform: uppercase !important;
    color: var(--soteri-gold) !important; margin-bottom: 20px !important;
}

/* Footer links */
.footer-wrapper a, #footer a, footer a,
.footer-wrapper .menu li a, #footer .menu li a,
.footer-1 a, .footer-2 a {
    font-size: 12px !important; font-weight: 300 !important;
    letter-spacing: 1px !important; color: rgba(255,255,255,0.65) !important;
    text-decoration: none !important;
}
.footer-wrapper a:hover, #footer a:hover { color: var(--soteri-gold) !important; }

/* Footer text */
.footer-wrapper p, .footer-wrapper span, .footer-wrapper li,
#footer p, #footer li, #footer span, footer p, footer li,
.footer-1 p, .footer-1 li, .footer-2 p, .footer-2 li {
    font-size: 12px !important; font-weight: 300 !important;
    color: rgba(255,255,255,0.55) !important; line-height: 1.9 !important;
}

/* Footer bottom */
.absolute-footer, .footer-secondary, .copyright-footer {
    background: rgba(0,0,0,0.2) !important;
    border-top: 1px solid rgba(255,255,255,0.06) !important;
}
.absolute-footer p, .absolute-footer a {
    font-size: 11px !important; color: rgba(255,255,255,0.35) !important;
}
.footer-wrapper .widget li { border-bottom: none !important; padding: 4px 0 !important; }

/* Footer social */
.footer-wrapper .social-icons a, #footer .social-icons a { color: rgba(255,255,255,0.4) !important; }
.footer-wrapper .social-icons a:hover { color: var(--soteri-gold) !important; }

/* ═══════════════════════════════════════════════
   MOBILE MENU
   ═══════════════════════════════════════════════ */

.off-canvas .nav-sidebar > li > a {
    font-size: 12px !important; letter-spacing: 3px !important;
    text-transform: uppercase !important; font-weight: 400 !important;
    color: var(--soteri-dark) !important;
}
.off-canvas .nav-sidebar > li > a:hover { color: var(--soteri-gold) !important; }

/* ═══════════════════════════════════════════════
   BANNERS & HEADINGS
   ═══════════════════════════════════════════════ */

.banner-layers h1, .banner-layers h2, .banner h1, .banner h2,
.section-title, .col h1, .col h2 { font-weight: 300 !important; letter-spacing: 3px !important; }

/* ═══════════════════════════════════════════════
   WOO NOTICES
   ═══════════════════════════════════════════════ */

.woocommerce-message, .woocommerce-info, .woocommerce-error {
    border-top-color: var(--soteri-gold) !important;
    font-size: 13px !important; font-weight: 300 !important;
}

/* ═══════════════════════════════════════════════
   SIZE GUIDE MODAL
   ═══════════════════════════════════════════════ */

.mfp-content h2, .mfp-content h3 { font-weight: 300 !important; letter-spacing: 3px !important; text-transform: uppercase !important; }
.mfp-content table th, .mfp-content table td { font-size: 12px !important; font-weight: 300 !important; border-color: var(--soteri-border) !important; }

/* ═══════════════════════════════════════════════
   VARIATION SWATCHES
   ═══════════════════════════════════════════════ */

.wvs-style-squared .variable-items-wrapper .variable-item,
.wvs-style-rounded .variable-items-wrapper .variable-item {
    border: 1px solid var(--soteri-border) !important; border-radius: 0 !important; box-shadow: none !important;
}
.variable-items-wrapper .variable-item:hover { border-color: var(--soteri-gold) !important; }
.variable-items-wrapper .variable-item.selected {
    border-color: var(--soteri-dark) !important; box-shadow: 0 0 0 1px var(--soteri-dark) !important;
}
.wvs-style-squared .variable-item span {
    font-size: 11px !important; font-weight: 400 !important;
    letter-spacing: 1.5px !important; text-transform: uppercase !important;
}
.variations .label label, table.variations label {
    font-size: 11px !important; letter-spacing: 2px !important;
    text-transform: uppercase !important; font-weight: 400 !important;
}
.reset_variations { font-size: 11px !important; color: var(--soteri-text-light) !important; text-transform: uppercase !important; }
.reset_variations:hover { color: var(--soteri-gold) !important; }

/* ═══════════════════════════════════════════════
   CURRENCY SWITCHER
   ═══════════════════════════════════════════════ */

.yay-currency-switcher, .yaycurrency-switcher, .yay-currency-select {
    font-size: 11px !important; letter-spacing: 1.5px !important;
    font-weight: 400 !important; border: 1px solid var(--soteri-border) !important; border-radius: 0 !important;
}
.header-top .yay-currency-switcher, .header-top .yay-currency-select {
    border: none !important; color: rgba(255,255,255,0.5) !important;
}

/* ═══════════════════════════════════════════════
   LANGUAGE SWITCHER
   ═══════════════════════════════════════════════ */

.trp-language-switcher, .trp-language-switcher > div {
    font-size: 11px !important; letter-spacing: 1.5px !important; font-weight: 400 !important;
}
.trp-language-switcher .trp-ls-shortcode-current-language { border: none !important; background: transparent !important; }

/* ═══════════════════════════════════════════════
   MEGA MENUS & ACCORDION FONT
   ═══════════════════════════════════════════════ */

.cmm-mega-menu *, .dcm-mega-menu * { font-family: soteri, Inter, -apple-system, sans-serif !important; }
html[lang="ka-GE"] .cmm-mega-menu *, html[lang="ka-GE"] .dcm-mega-menu * {
    font-family: "Noto Sans Georgian", Inter, -apple-system, sans-serif !important;
}
.soteri-accordion-btn { font-family: soteri, Inter, -apple-system, sans-serif !important; }
html[lang="ka-GE"] .soteri-accordion-btn { font-family: "Noto Sans Georgian", Inter, -apple-system, sans-serif !important; }

/* ═══════════════════════════════════════════════
   SALE BADGE
   ═══════════════════════════════════════════════ */

.onsale, .badge-inner, span.onsale {
    background: var(--soteri-dark) !important; color: #fff !important;
    font-size: 9px !important; letter-spacing: 2px !important;
    text-transform: uppercase !important; border-radius: 0 !important;
}

/* ═══════════════════════════════════════════════
   MINI CART
   ═══════════════════════════════════════════════ */

.widget_shopping_cart .cart_list li a { font-size: 12px !important; font-weight: 400 !important; color: var(--soteri-dark) !important; }
.widget_shopping_cart .cart_list li a:hover { color: var(--soteri-gold) !important; }
.widget_shopping_cart .buttons .button { border-radius: 0 !important; }

/* ═══════════════════════════════════════════════
   STOCK & MISC
   ═══════════════════════════════════════════════ */

.in-stock { font-size: 11px !important; letter-spacing: 2px !important; text-transform: uppercase !important; color: #5a7a5a !important; }
.out-of-stock { font-size: 11px !important; letter-spacing: 2px !important; text-transform: uppercase !important; color: #a05050 !important; }
.return-to-shop .button { background: var(--soteri-dark) !important; color: #fff !important; border-radius: 0 !important; }
.return-to-shop .button:hover { background: var(--soteri-gold) !important; }
.shop_table th, .shop_table td { font-size: 12px !important; font-weight: 400 !important; border-color: var(--soteri-border) !important; }
.social-icons a { border-color: var(--soteri-border) !important; color: var(--soteri-text-light) !important; }
.social-icons a:hover { border-color: var(--soteri-gold) !important; color: var(--soteri-gold) !important; }

/* Category description */
.term-description p {
    font-size: 14px !important; font-weight: 300 !important;
    line-height: 1.9 !important; color: var(--soteri-text) !important;
    max-width: 700px !important; margin: 0 auto 30px !important; text-align: center !important;
}

/* ═══════════════════════════════════════════════
   ABOUT PAGE — Hero & Consistent Fonts
   ═══════════════════════════════════════════════ */

/* About hero — full width, text visible over image */
.page-id-34 .banner-wrapper:first-child,
.page-id-34 .section:first-child,
.page-id-34 .entry-content > .row:first-child,
.page-id-34 .entry-content > .section:first-child {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
}
/* Dark overlay so text is readable on image */
.page-id-34 .banner-wrapper:first-child .bg,
.page-id-34 .section:first-child .bg,
.page-id-34 .entry-content > .row:first-child .bg,
.page-id-34 .entry-content > .section:first-child .bg {
    position: relative !important;
}
.page-id-34 .banner-wrapper:first-child .bg::after,
.page-id-34 .section:first-child .bg::after,
.page-id-34 .entry-content > .row:first-child .bg::after,
.page-id-34 .entry-content > .section:first-child .bg::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: rgba(20, 18, 15, 0.45) !important;
    z-index: 1 !important;
    pointer-events: none !important;
}
/* Hero text above overlay */
.page-id-34 .banner-wrapper:first-child .banner-layers,
.page-id-34 .section:first-child .banner-layers,
.page-id-34 .entry-content > .row:first-child .banner-layers,
.page-id-34 .entry-content > .section:first-child .banner-layers,
.page-id-34 .banner-wrapper:first-child .text-box,
.page-id-34 .section:first-child .text-box {
    position: relative !important;
    z-index: 2 !important;
}
/* Hero text styling */
.page-id-34 .banner-wrapper:first-child h1,
.page-id-34 .banner-wrapper:first-child h2,
.page-id-34 .section:first-child h1,
.page-id-34 .section:first-child h2 {
    color: #fff !important;
    text-shadow: 0 2px 20px rgba(0,0,0,0.3) !important;
}
.page-id-34 .banner-wrapper:first-child p,
.page-id-34 .banner-wrapper:first-child span,
.page-id-34 .section:first-child p,
.page-id-34 .section:first-child span {
    color: rgba(255,255,255,0.9) !important;
    text-shadow: 0 1px 10px rgba(0,0,0,0.3) !important;
}

.page-id-34 .entry-content p,
.page-id-34 .entry-content li,
.page-id-34 .entry-content span,
.page-id-34 .col p,
.page-id-34 .col li,
.page-id-34 .col span,
.page-id-34 .text-box p,
.page-id-34 .text-box li,
.page-id-34 .text-box span {
    font-size: 14px !important;
    font-weight: 300 !important;
    line-height: 1.9 !important;
    color: var(--soteri-text) !important;
    letter-spacing: .3px !important;
}
.page-id-34 .entry-content h1,
.page-id-34 .col h1 {
    font-weight: 300 !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    font-size: 36px !important;
    color: var(--soteri-dark) !important;
}
.page-id-34 .entry-content h2,
.page-id-34 .col h2 {
    font-weight: 300 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    font-size: 26px !important;
    color: var(--soteri-dark) !important;
}
.page-id-34 .entry-content h3,
.page-id-34 .col h3,
.page-id-34 .entry-content h4,
.page-id-34 .col h4 {
    font-weight: 400 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-size: 14px !important;
    color: var(--soteri-dark) !important;
}

/* ═══════════════════════════════════════════════
   SERVICES PAGE — Native Flatsome Layout
   ═══════════════════════════════════════════════ */

/* Services service box — base style */
.soteri-service-box {
    border: 1px solid rgba(176, 148, 112, 0.2) !important;
    transition: all 0.4s var(--soteri-ease, ease) !important;
    position: relative !important;
    height: 100% !important;
}
.soteri-service-box:hover {
    border-color: rgba(176, 148, 112, 0.5) !important;
    transform: translateY(-4px) !important;
    box-shadow: 0 20px 40px rgba(26, 26, 26, 0.08) !important;
}

/* Copper numeric label inside service box */
.soteri-service-box .ux-text:first-of-type .text-inner {
    font-family: soteri, serif !important;
    font-weight: 300 !important;
    letter-spacing: 2px !important;
    line-height: 1 !important;
    margin-bottom: 16px !important;
    display: block !important;
}

/* Service box title (second text element) */
.soteri-service-box .ux-text:nth-of-type(2) .text-inner {
    font-family: soteri, serif !important;
    font-weight: 300 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    margin-bottom: 18px !important;
    color: var(--soteri-dark) !important;
}

/* Service box body text */
.soteri-service-box p {
    font-family: soteri, Inter, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
    font-weight: 300 !important;
    color: #555 !important;
    letter-spacing: 0.3px !important;
    margin: 0 !important;
}

/* COPPER variant (Eco-Friendly box) — no black, brand copper gradient */
.soteri-service-box-dark {
    border-color: #b09470 !important;
    background: linear-gradient(135deg, #b09470 0%, #9c8260 100%) !important;
    color: #ffffff !important;
}
.soteri-service-box-dark:hover {
    border-color: #9c8260 !important;
    box-shadow: 0 20px 40px rgba(176, 148, 112, 0.35) !important;
    transform: translateY(-6px) !important;
}
.soteri-service-box-dark .ux-text .text-inner {
    color: #ffffff !important;
}
.soteri-service-box-dark p {
    color: rgba(255, 255, 255, 0.92) !important;
}

/* Equal-height row for services grid */
.soteri-services-row > .row {
    align-items: stretch !important;
}
.soteri-services-row .col {
    display: flex !important;
}
.soteri-services-row .col > .col-inner {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Services page typography polish */
.page-id-services .entry-content,
body.page .entry-content .section .ux-text {
    font-family: soteri, Inter, sans-serif !important;
}

/* CTA and section headings on services page use brand font */
body.page .section .ux-text .text-inner {
    font-family: soteri, serif !important;
}

/* Mobile: service boxes stack and get spacing */
@media (max-width: 849px) {
    .soteri-service-box {
        margin-bottom: 16px !important;
    }
}

/* ═══════════════════════════════════════════════
   DARK SECTIONS — Text & Links Visibility
   ═══════════════════════════════════════════════ */

/* Flatsome dark bg sections: ensure text, links, headings are light */
.section.dark p,
.section.dark span,
.section.dark li,
.section.dark .text-box p,
.section.dark .text-box span {
    color: rgba(255,255,255,0.85) !important;
}
.section.dark h1,
.section.dark h2,
.section.dark h3,
.section.dark h4 {
    color: #fff !important;
}
.section.dark a,
.section.dark .text-box a {
    color: #fff !important;
    border-bottom-color: rgba(176,148,112,0.5) !important;
}
.section.dark a:hover {
    color: #b09470 !important;
}

/* ═══════════════════════════════════════════════
   PRODUCT HOVER — Second Image Fade
   ═══════════════════════════════════════════════ */

.product-small .box-image .back-image {
    opacity: 0 !important;
    transition: opacity 0.6s var(--soteri-ease) !important;
}
.product-small:hover .box-image .back-image {
    opacity: 1 !important;
}

/* ═══════════════════════════════════════════════
   GLOBAL POLISH
   ═══════════════════════════════════════════════ */

html { scroll-behavior: smooth; }
::selection { background: rgba(176, 148, 112, 0.2); color: var(--soteri-dark); }
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--soteri-cream); }
::-webkit-scrollbar-thumb { background: rgba(176, 148, 112, 0.3); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--soteri-gold); }

/* ═══════════════════════════════════════════════
   PRODUCT PAGE — Buttons, Currency, Arrows
   ═══════════════════════════════════════════════ */

/* === 1) Currency switcher: square, inline with price === */
.single-product .summary .price-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    margin: 5px 15px 20px 0 !important;
    vertical-align: middle !important;
}
.single-product .summary .yay-currency-single-page-switcher {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    margin-top: -15px !important;
}
.single-product .yay-currency-single-page-switcher,
.single-product .yay-currency-single-page-switcher *,
.single-product .yay-currency-custom-select-wrapper,
.single-product .yay-currency-custom-select-wrapper *,
.single-product .yay-currency-custom-select,
.single-product .yay-currency-custom-select * {
    border-radius: 0 !important;
}
.single-product .yay-currency-custom-select-wrapper {
    border: 1px solid rgba(176,148,112,0.25) !important;
    font-family: soteri, Inter, sans-serif !important;
    font-size: 12px !important;
    letter-spacing: 1px !important;
}

/* === 2) Action buttons: 2 rows, uniform 48px === */
.single-product .woocommerce-variation-add-to-cart,
.single-product .variations_button {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
}
.single-product .woocommerce-variation-add-to-cart .woocommerce-variation,
.single-product .woocommerce-variation-add-to-cart .single_variation {
    flex: 0 0 100% !important;
    width: 100% !important;
    order: 0 !important;
}
/* ROW 1: Quantity + Size Guide */
.single-product .woocommerce-variation-add-to-cart .quantity,
.single-product .woocommerce-variation-add-to-cart .ux-quantity {
    order: 1 !important;
    flex: 1 1 0 !important;
    max-width: calc(50% - 5px) !important;
    height: 48px !important;
    border: 1px solid rgba(176,148,112,0.25) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}
.single-product .woocommerce-variation-add-to-cart .ssg-button-wrapper {
    order: 2 !important;
    flex: 1 1 0 !important;
    max-width: calc(50% - 5px) !important;
    height: 48px !important;
    display: flex !important;
    align-items: stretch !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
}
.single-product .ssg-size-guide-trigger {
    height: 48px !important;
    width: 100% !important;
    padding: 0 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0 !important;
    border: 1px solid rgba(176,148,112,0.3) !important;
    font-family: soteri, Inter, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}
/* Spacer — forces row break before Add to Cart */
.single-product .woocommerce-variation-add-to-cart .soteri-row-break {
    flex: 0 0 100% !important;
    height: 0 !important;
    order: 2 !important;
}
/* ROW 2: Add to Cart + Buy Now */
.single-product .single_add_to_cart_button,
.single-product button.single_add_to_cart_button {
    order: 3 !important;
    flex: 1 1 0 !important;
    max-width: calc(50% - 5px) !important;
    height: 48px !important;
    padding: 0 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #1a1a1a !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-family: soteri, Inter, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}
.single-product .single_add_to_cart_button:hover {
    background: #b09470 !important;
}
.single-product .ux-buy-now-button,
.single-product button.ux-buy-now-button {
    order: 4 !important;
    flex: 1 1 0 !important;
    max-width: calc(50% - 5px) !important;
    height: 48px !important;
    padding: 0 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    color: #1a1a1a !important;
    border: 1px solid #1a1a1a !important;
    border-radius: 0 !important;
    font-family: soteri, Inter, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}
.single-product .ux-buy-now-button:hover {
    background: #1a1a1a !important;
    color: #fff !important;
}

/* === Quantity: remove inner shadow === */
.single-product .quantity input,
.single-product .quantity .qty,
.single-product .quantity input[type="number"] {
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    border: none !important;
    background: transparent !important;
}
.single-product .quantity .minus,
.single-product .quantity .plus {
    box-shadow: none !important;
    border: none !important;
    background: transparent !important;
}

/* === 3) Hide Flickity native arrows (we use custom ones) === */
.single-product .product-footer .flickity-prev-next-button,
.single-product .soteri-slider-wrap .flickity-prev-next-button {
    display: none !important;
}
.soteri-slider-wrap {
    position: relative !important;
}
.soteri-slider-arrow {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 44px !important;
    height: 44px !important;
    background: #fff !important;
    border: 1px solid rgba(176,148,112,0.25) !important;
    color: #1a1a1a !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    z-index: 10 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 22px !important;
    line-height: 1 !important;
    padding: 0 !important;
}
.soteri-slider-arrow:hover { border-color: #b09470 !important; color: #b09470 !important; }
.soteri-arrow-prev { left: 10px !important; }
.soteri-arrow-next { right: 10px !important; }

/* === Product page mobile === */
@media (max-width: 849px) {
    .single-product .summary .price-wrapper {
        display: flex !important;
        margin: 5px 0 15px 0 !important;
    }
    .single-product .summary .yay-currency-single-page-switcher {
        margin-top: 0 !important;
        margin-left: 0 !important;
    }
    .single-product .woocommerce-variation-add-to-cart {
        gap: 8px !important;
    }
    .single-product .woocommerce-variation-add-to-cart .quantity,
    .single-product .woocommerce-variation-add-to-cart .ux-quantity,
    .single-product .woocommerce-variation-add-to-cart .ssg-button-wrapper,
    .single-product .single_add_to_cart_button,
    .single-product button.single_add_to_cart_button,
    .single-product .ux-buy-now-button,
    .single-product button.ux-buy-now-button {
        max-width: calc(50% - 4px) !important;
        height: 44px !important;
        font-size: 10px !important;
        letter-spacing: 2px !important;
        padding: 0 12px !important;
    }
    .single-product .product-gallery {
        padding-right: 0 !important;
    }
    .single-product .product-info {
        padding-left: 0 !important;
    }
    .soteri-slider-arrow {
        width: 36px !important;
        height: 36px !important;
        font-size: 18px !important;
    }
    .product-info .product_title, .product_title {
        font-size: 22px !important;
        letter-spacing: 2px !important;
    }
}
@media (max-width: 549px) {
    .single-product .woocommerce-variation-add-to-cart .quantity,
    .single-product .woocommerce-variation-add-to-cart .ux-quantity,
    .single-product .woocommerce-variation-add-to-cart .ssg-button-wrapper,
    .single-product .single_add_to_cart_button,
    .single-product button.single_add_to_cart_button,
    .single-product .ux-buy-now-button,
    .single-product button.ux-buy-now-button {
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
    .single-product .woocommerce-variation-add-to-cart .soteri-row-break {
        display: none !important;
    }
}

/* ═══════════════════════════════════════════════
   SIZE GUIDE MODAL — Soteri Luxury Copper Design
   ═══════════════════════════════════════════════ */

/* Overlay — deep blur */
.ssg-modal-overlay {
    background: rgba(20,18,15,0.6) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

/* Modal card */
.ssg-modal-content {
    max-width: 820px !important;
    background: #f8f6f3 !important;
    box-shadow: 0 30px 80px rgba(0,0,0,0.25), 0 0 0 1px rgba(176,148,112,0.1) !important;
    border-radius: 0 !important;
}

/* ── HEADER ── copper gradient accent */
.ssg-modal-header {
    background: #1a1a1a !important;
    padding: 22px 36px 10px !important;
    border-bottom: 2px solid #b09470 !important;
    position: relative !important;
}
.ssg-modal-title {
    color: #b09470 !important;
    font-family: soteri, serif !important;
    font-size: 18px !important;
    font-weight: 300 !important;
    letter-spacing: 5px !important;
    line-height: 1.1 !important;
    text-transform: uppercase !important;
    padding-bottom: 0 !important;
}
.ssg-modal-close {
    color: rgba(176,148,112,0.6) !important;
    background: transparent !important;
    transition: all 0.3s ease !important;
}
.ssg-modal-close:hover {
    color: #b09470 !important;
    background: rgba(176,148,112,0.1) !important;
    transform: rotate(90deg) !important;
}

/* ── BODY ── */
.ssg-modal-body {
    background: #f8f6f3 !important;
    padding: 0 !important;
    color: #1a1a1a !important;
}

/* ── TABS ── copper underline on dark */
.ssg-tabs {
    background: #1a1a1a !important;
    border-bottom: none !important;
    margin: 0 !important;
    padding: 0 36px !important;
    display: flex !important;
    gap: 0 !important;
}
.ssg-tab-button {
    font-family: soteri, Inter, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    color: rgba(246,239,227,0.68) !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    padding: 12px 22px !important;
    margin: 0 !important;
    border-radius: 0 !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}
.ssg-tab-button:hover {
    color: #b09470 !important;
}
.ssg-tab-button.active {
    color: #f6efe3 !important;
    background: transparent !important;
    border-bottom-color: #b09470 !important;
}

/* ── TAB CONTENT ── */
.ssg-tab-content {
    padding: 22px 36px 24px !important;
    background: transparent !important;
    color: #1a1a1a !important;
}

/* ── CHART NAME & META ── readable, prominent */
.ssg-chart-info {
    padding: 0 0 12px 0 !important;
    background: transparent !important;
    border-bottom: 1px solid rgba(176,148,112,0.15) !important;
    margin-bottom: 14px !important;
}
.ssg-chart-info h3,
#ssg-chart-name {
    font-family: soteri, serif !important;
    font-size: 22px !important;
    font-weight: 300 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    margin: 0 0 4px 0 !important;
}
.ssg-chart-meta {
    color: #b09470 !important;
    font-family: soteri, Inter, sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    padding: 0 !important;
    background: transparent !important;
}
.ssg-chart-meta .ssg-separator {
    color: rgba(176,148,112,0.4) !important;
    margin: 0 8px !important;
}

#ssg-charts-container {
    margin-top: 0 !important;
}

.ssg-unit-toggle {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0 !important;
    margin: 0 0 12px !important;
    padding: 3px !important;
    background: #efe9df !important;
    border: 1px solid rgba(176,148,112,0.22) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.45) !important;
}

.ssg-unit-button {
    min-width: 44px !important;
    padding: 7px 13px !important;
    color: #5f5244 !important;
    background: transparent !important;
    border: 0 !important;
    margin: 0 !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: 1.6px !important;
    opacity: 1 !important;
}

.ssg-unit-button:hover,
.ssg-unit-button:focus-visible {
    color: #1a1a1a !important;
    background: rgba(255,255,255,0.55) !important;
}

.ssg-unit-button.active,
.ssg-unit-button[aria-pressed="true"] {
    color: #f6efe3 !important;
    background: #1a1a1a !important;
    box-shadow: inset 0 -2px 0 #b09470 !important;
}

.ssg-cell-unit {
    color: rgba(176,148,112,0.62) !important;
}

.ssg-modal-body table tr:hover .ssg-cell-unit,
.ssg-size-table tr:hover .ssg-cell-unit {
    color: rgba(246,239,227,0.7) !important;
}

.ssg-modal-body table td:hover .ssg-cell-unit,
.ssg-size-table td:hover .ssg-cell-unit {
    color: rgba(255,255,255,0.9) !important;
}

/* ── TABLE ── the star of the modal */
.ssg-modal-body table, .ssg-size-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-family: soteri, Inter, sans-serif !important;
    background: #fff !important;
    border: 2px solid rgba(176,148,112,0.25) !important;
    box-shadow: 0 4px 24px rgba(176,148,112,0.1) !important;
}
/* Table header — dark with copper text (high contrast) */
.ssg-modal-body table th, .ssg-size-table th {
    background: #1a1a1a !important;
    color: #b09470 !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    padding: 14px 12px !important;
    border: none !important;
    border-right: 1px solid rgba(176,148,112,0.15) !important;
    border-bottom: 2px solid #b09470 !important;
    text-align: center !important;
}
.ssg-modal-body table th:first-child, .ssg-size-table th:first-child {
    text-align: left !important;
    letter-spacing: 1.5px !important;
}
.ssg-modal-body table th:last-child, .ssg-size-table th:last-child {
    border-right: none !important;
}
/* Table cells — readable dark text, no wrapping */
.ssg-modal-body table td, .ssg-size-table td {
    padding: 13px 12px !important;
    border: none !important;
    border-bottom: 1px solid rgba(176,148,112,0.18) !important;
    border-right: 1px solid rgba(176,148,112,0.12) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #1a1a1a !important;
    text-align: center !important;
    letter-spacing: 0.3px !important;
    white-space: nowrap !important;
    transition: background 0.15s, color 0.15s !important;
}
/* First column — measurement names, copper accent bg */
.ssg-modal-body table td:first-child, .ssg-size-table td:first-child {
    text-align: left !important;
    font-weight: 500 !important;
    color: #1a1a1a !important;
    font-size: 13px !important;
    letter-spacing: 0.5px !important;
    background: rgba(176,148,112,0.06) !important;
    border-right: 2px solid rgba(176,148,112,0.15) !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
}
/* Alternating rows */
.ssg-modal-body table tr:nth-child(even) td {
    background: rgba(176,148,112,0.035) !important;
}
.ssg-modal-body table tr:nth-child(even) td:first-child {
    background: rgba(176,148,112,0.08) !important;
}
/* Coordinate hover — column gets subtle copper tint */
.ssg-size-table th.ssg-hover-col,
.ssg-size-table td.ssg-hover-col {
    background-color: rgba(176,148,112,0.06) !important;
    box-shadow: none !important;
}
/* Row hover — dark bg, cream text */
.ssg-modal-body table tr:hover td,
.ssg-size-table tr:hover td,
.ssg-size-table tr:hover td.ssg-hover-col,
.ssg-size-table tr:hover td.ssg-hover-row,
.ssg-size-table tr:hover td.ssg-hover-col.ssg-hover-row {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    color: #f6efe3 !important;
    border-color: rgba(176,148,112,0.3) !important;
}
.ssg-modal-body table tr:hover td:first-child,
.ssg-size-table tr:hover td:first-child {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    color: #b09470 !important;
}
/* Intersection — exact hovered cell = copper with white text */
.ssg-modal-body table td:hover,
.ssg-size-table td:hover,
.ssg-size-table td.ssg-hover-col.ssg-hover-row {
    background: #b09470 !important;
    background-color: #b09470 !important;
    color: #fff !important;
}
/* Last row — no bottom border */
.ssg-modal-body table tr:last-child td {
    border-bottom: none !important;
}

/* ── SECTION TITLES ── Regular Fit / Big Sizes */
.ssg-section-title {
    font-family: soteri, serif !important;
    font-size: 14px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: #b09470 !important;
    font-weight: 300 !important;
    margin: 28px 0 14px !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid rgba(176,148,112,0.15) !important;
}
.ssg-chart-section + .ssg-chart-section { margin-top: 32px !important; }

/* ── FOOTER ── */
.ssg-modal-footer {
    background: #1a1a1a !important;
    padding: 22px 36px !important;
    border-top: 2px solid #b09470 !important;
}
.ssg-footer-note {
    color: rgba(246,239,227,0.65) !important;
    font-family: soteri, Inter, sans-serif !important;
    font-size: 11.5px !important;
    line-height: 1.9 !important;
    font-weight: 300 !important;
    font-style: italic !important;
    text-align: center !important;
    margin: 0 !important;
}

/* ── SEPARATOR ── */
.ssg-separator { border-color: rgba(176,148,112,0.15) !important; }

/* ── HOW TO MEASURE TAB ── two-column: text left, image right */
.ssg-how-to-content {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 32px !important;
    font-family: soteri, Inter, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
    color: #1a1a1a !important;
}
/* Image → right column */
.ssg-how-to-content img {
    order: 2 !important;
    flex: 0 0 240px !important;
    max-width: 240px !important;
    height: auto !important;
    object-fit: contain !important;
    align-self: flex-start !important;
}
/* All text content → left column (takes remaining space) */
.ssg-how-to-content ul,
.ssg-how-to-content ol,
.ssg-how-to-content p,
.ssg-how-to-content div:not(:has(img)) {
    order: 1 !important;
    flex: 1 1 300px !important;
}
.ssg-how-to-content p,
.ssg-how-to-content li,
.ssg-how-to-content span {
    color: #1a1a1a !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.8 !important;
}
.ssg-how-to-content h3, .ssg-how-to-content h4 {
    font-family: soteri, serif !important;
    color: #1a1a1a !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-weight: 300 !important;
    font-size: 16px !important;
    margin: 0 0 10px !important;
    order: 1 !important;
    flex: 0 0 100% !important;
}
.ssg-how-to-content ul, .ssg-how-to-content ol {
    padding-left: 20px !important;
    color: #1a1a1a !important;
    margin: 0 !important;
}
.ssg-how-to-content li {
    margin-bottom: 12px !important;
}
.ssg-how-to-content strong, .ssg-how-to-content b {
    font-weight: 600 !important;
    color: #1a1a1a !important;
}
.ssg-how-to-content a {
    color: #b09470 !important;
    text-decoration: underline !important;
}

/* ── SIZE FINDER ── */
.ssg-size-finder {
    background: #fff !important;
    padding: 25px !important;
    border: 1px solid rgba(176,148,112,0.15) !important;
}
.ssg-size-finder label {
    font-family: soteri, Inter, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
}
.ssg-size-finder input, .ssg-size-finder select {
    border: 1px solid rgba(176,148,112,0.2) !important;
    border-radius: 0 !important;
    font-family: soteri, Inter, sans-serif !important;
    font-size: 14px !important;
    padding: 12px 14px !important;
    color: #1a1a1a !important;
    background: #fff !important;
}
.ssg-size-finder input:focus, .ssg-size-finder select:focus {
    border-color: #b09470 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(176,148,112,0.1) !important;
}
.ssg-size-finder button, .ssg-size-finder .btn {
    background: #b09470 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-family: soteri, Inter, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    padding: 14px 28px !important;
    transition: background 0.3s !important;
}
.ssg-size-finder button:hover { background: #1a1a1a !important; }

/* ── FIND MY SIZE TAB ── */
.ssg-enter-measurements-content h3 {
    font-family: soteri, serif !important;
    font-size: 18px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    font-weight: 300 !important;
}
.ssg-measurements-intro {
    font-size: 14px !important;
    color: #555 !important;
    line-height: 1.7 !important;
}
.ssg-measurements-form {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 18px !important;
}
.ssg-measurement-input-group label {
    font-family: soteri, Inter, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    font-weight: 400 !important;
    margin-bottom: 6px !important;
    display: block !important;
}
.ssg-measurement-input {
    width: 100% !important;
    border: 1px solid rgba(176,148,112,0.25) !important;
    border-radius: 0 !important;
    padding: 12px 14px !important;
    font-family: soteri, Inter, sans-serif !important;
    font-size: 14px !important;
    color: #1a1a1a !important;
    background: #fff !important;
    box-sizing: border-box !important;
    transition: border-color 0.3s !important;
}
.ssg-measurement-input::placeholder {
    color: #999 !important;
    opacity: 1 !important;
    font-weight: 300 !important;
}
.ssg-measurement-input:focus {
    border-color: #b09470 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(176,148,112,0.1) !important;
}
/* All input placeholders in modal */
.ssg-modal input::placeholder,
.ssg-modal select::placeholder {
    color: #999 !important;
    opacity: 1 !important;
}
.ssg-measurements-actions { margin-top: 24px !important; }
#ssg-find-my-size {
    background: #b09470 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-family: soteri, Inter, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    padding: 15px 32px !important;
    cursor: pointer !important;
    transition: background 0.3s !important;
}
#ssg-find-my-size:hover { background: #1a1a1a !important; }

/* Recommendation result */
.ssg-size-recommendation {
    margin-top: 24px !important;
    padding: 24px !important;
}
.ssg-recommendation-success {
    text-align: center !important;
    background: rgba(176,148,112,0.06) !important;
    border: 1px solid rgba(176,148,112,0.15) !important;
    padding: 28px !important;
}
.ssg-recommendation-success h4 {
    font-family: soteri, Inter, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #888 !important;
    margin: 0 0 12px !important;
}
.ssg-recommended-size-value {
    font-family: soteri, serif !important;
    font-size: 42px !important;
    color: #b09470 !important;
    letter-spacing: 4px !important;
    margin: 8px 0 !important;
}
.ssg-recommendation-success p {
    font-size: 14px !important;
    color: #555 !important;
}
.ssg-recommendation-custom, .ssg-recommendation-error {
    text-align: center !important;
    background: rgba(176,148,112,0.04) !important;
    border: 1px solid rgba(176,148,112,0.12) !important;
    padding: 24px !important;
}
/* Custom sizing / error — dark readable text */
.ssg-recommendation-custom h4,
.ssg-recommendation-error h4 {
    font-family: soteri, Inter, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    margin: 0 0 12px !important;
}
.ssg-recommendation-custom p,
.ssg-recommendation-error p {
    font-size: 14px !important;
    color: #333 !important;
    line-height: 1.7 !important;
}

/* Contact form in modal */
.ssg-contact-form-container {
    margin-top: 28px !important;
    padding-top: 24px !important;
    border-top: 1px solid rgba(176,148,112,0.12) !important;
}

/* ── SCROLLBAR ── */
.ssg-modal-body::-webkit-scrollbar { width: 5px; }
.ssg-modal-body::-webkit-scrollbar-track { background: rgba(176,148,112,0.05); }
.ssg-modal-body::-webkit-scrollbar-thumb { background: rgba(176,148,112,0.25); border-radius: 3px; }
.ssg-modal-body::-webkit-scrollbar-thumb:hover { background: rgba(176,148,112,0.4); }

/* ── SIZE GUIDE MOBILE ── */
@media (max-width: 849px) {
    .ssg-modal-content { max-width: 95vw !important; }
    .ssg-modal-header { padding: 18px 20px 9px !important; }
    .ssg-modal-title { font-size: 16px !important; letter-spacing: 4px !important; }
    .ssg-tabs { padding: 0 12px !important; }
    .ssg-tab-button { padding: 10px 12px !important; font-size: 10px !important; letter-spacing: 1.4px !important; }
    .ssg-tab-content { padding: 18px 16px 20px !important; }
    .ssg-chart-info h3, #ssg-chart-name { font-size: 17px !important; letter-spacing: 2px !important; }
    .ssg-chart-info { margin-bottom: 10px !important; padding-bottom: 10px !important; }
    .ssg-unit-toggle { margin-bottom: 10px !important; }
    .ssg-unit-button { min-width: 42px !important; padding: 7px 11px !important; color: #5f5244 !important; }
    .ssg-modal-body table th { font-size: 9px !important; padding: 11px 10px !important; letter-spacing: 1px !important; }
    .ssg-modal-body table td { padding: 12px 10px !important; font-size: 13px !important; }
    .ssg-modal-body table td:first-child { font-size: 12px !important; }
    .ssg-modal-footer { padding: 16px 20px !important; }
    .ssg-footer-note { font-size: 10.5px !important; line-height: 1.7 !important; }
    .ssg-measurements-form { grid-template-columns: 1fr !important; }
    .ssg-section-title { font-size: 12px !important; }
}
@media (max-width: 649px) {
    .ssg-how-to-content { flex-direction: column !important; }
    .ssg-how-to-content img {
        order: 1 !important;
        flex: 0 0 auto !important;
        max-width: 200px !important;
        margin: 0 auto !important;
    }
    .ssg-how-to-content ul,
    .ssg-how-to-content ol,
    .ssg-how-to-content p { order: 2 !important; }
}
@media (max-width: 549px) {
    .ssg-tab-button { padding: 9px 7px !important; font-size: 9px !important; letter-spacing: 0.8px !important; }
    .ssg-modal-body table th { font-size: 8px !important; padding: 9px 6px !important; }
    .ssg-modal-body table td { padding: 10px 6px !important; font-size: 12px !important; }
}

/* Soteri search */
.soteri-header-search-item {
    display: flex !important;
    align-items: center !important;
}

.soteri-search-trigger {
    width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: inherit !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    box-shadow: none !important;
}

.soteri-search-trigger:hover {
    color: var(--soteri-gold) !important;
    background: transparent !important;
}

.soteri-search-trigger__icon,
.soteri-search-form__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.soteri-search-trigger svg,
.soteri-search-form__icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.home .header-wrapper .soteri-search-trigger,
.page-id-2 .header-wrapper .soteri-search-trigger {
    color: #fff !important;
}

.home .header-wrapper .soteri-search-trigger:hover,
.page-id-2 .header-wrapper .soteri-search-trigger:hover {
    color: var(--soteri-gold) !important;
}

.soteri-search-lock {
    overflow: hidden !important;
}

.soteri-search-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;
    pointer-events: none;
    visibility: hidden;
}

.soteri-search-overlay.is-open {
    pointer-events: auto;
    visibility: visible;
}

.soteri-search-overlay__backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0 !important;
    background: rgba(18, 16, 13, 0.64) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    opacity: 0;
    transition: opacity 0.35s var(--soteri-ease);
}

.soteri-search-overlay.is-open .soteri-search-overlay__backdrop {
    opacity: 1;
}

.soteri-search-overlay__panel {
    position: absolute;
    top: 0;
    right: 0;
    width: min(760px, 100vw);
    height: 100%;
    background: #f8f6f3;
    color: #1a1a1a;
    box-shadow: -28px 0 80px rgba(0, 0, 0, 0.26);
    transform: translateX(100%);
    transition: transform 0.45s var(--soteri-ease);
    overflow: auto;
}

.soteri-search-overlay.is-open .soteri-search-overlay__panel {
    transform: translateX(0);
}

.soteri-search-overlay__inner {
    padding: clamp(32px, 6vw, 72px);
}

.soteri-search-overlay__close {
    position: absolute;
    top: 22px;
    right: 24px;
    width: 42px;
    height: 42px;
    padding: 0 !important;
    border: 1px solid rgba(176, 148, 112, 0.22) !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #1a1a1a !important;
    font-size: 28px !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: color 0.25s ease, border-color 0.25s ease, transform 0.25s ease !important;
}

.soteri-search-overlay__close:hover {
    color: var(--soteri-gold) !important;
    border-color: rgba(176, 148, 112, 0.55) !important;
    transform: rotate(90deg);
}

.soteri-search-kicker,
.soteri-search-page__kicker,
.soteri-404__kicker {
    margin: 0 0 16px;
    color: var(--soteri-gold);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 5px;
    text-transform: uppercase;
}

.soteri-search-overlay h2,
.soteri-search-page h1,
.soteri-404 h1 {
    margin: 0 0 26px;
    color: #1a1a1a;
    font-family: soteri, serif !important;
    font-size: clamp(34px, 6vw, 58px) !important;
    font-weight: 300 !important;
    letter-spacing: 3px !important;
    line-height: 1.05 !important;
    text-transform: uppercase !important;
}

.soteri-search-form {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 14px;
    width: 100%;
    padding: 10px 10px 10px 18px;
    background: #fff;
    border: 1px solid rgba(176, 148, 112, 0.22);
}

.soteri-search-form__icon {
    color: var(--soteri-gold);
}

.soteri-search-form input[type="search"] {
    height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: #1a1a1a !important;
    font-size: 16px !important;
    letter-spacing: 0 !important;
}

.soteri-search-form input[type="search"]::placeholder {
    color: rgba(26, 26, 26, 0.42) !important;
}

.soteri-search-form button[type="submit"] {
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 24px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #1a1a1a !important;
    color: #f8f6f3 !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
}

.soteri-search-form button[type="submit"]:hover {
    background: var(--soteri-gold) !important;
}

.soteri-search-suggestions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 18px 0 30px;
}

.soteri-search-suggestions a {
    padding: 8px 12px;
    border: 1px solid rgba(176, 148, 112, 0.2);
    color: rgba(26, 26, 26, 0.72);
    font-size: 10px;
    letter-spacing: 2px;
    text-transform: uppercase;
    background: rgba(255, 255, 255, 0.62);
}

.soteri-search-suggestions a:hover {
    border-color: var(--soteri-gold);
    color: var(--soteri-gold) !important;
}

.soteri-search-results {
    margin-top: 28px;
}

.soteri-search-results-section {
    padding: 24px 0;
    border-top: 1px solid rgba(176, 148, 112, 0.18);
}

.soteri-search-results-section__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}

.soteri-search-results-section__head span,
.soteri-search-results-section__head a {
    color: #1a1a1a;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.soteri-search-results-section__head a {
    color: var(--soteri-gold);
}

.soteri-search-live-grid,
.soteri-search-page__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.soteri-search-page__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
}

.soteri-search-card {
    background: #fff;
    border: 1px solid rgba(176, 148, 112, 0.16);
    transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.soteri-search-card:hover {
    border-color: rgba(176, 148, 112, 0.46);
    transform: translateY(-2px);
    box-shadow: 0 18px 40px rgba(26, 26, 26, 0.08);
}

.soteri-search-card__media {
    display: block;
    aspect-ratio: 4 / 5;
    background: #eee9e1;
    overflow: hidden;
}

.soteri-search-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s var(--soteri-ease);
}

.soteri-search-card:hover .soteri-search-card__media img {
    transform: scale(1.04);
}

.soteri-search-card__body {
    padding: 16px;
}

.soteri-search-card__eyebrow {
    margin: 0 0 8px;
    color: var(--soteri-gold);
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.soteri-search-card h3 {
    margin: 0;
    color: #1a1a1a;
    font-family: soteri, serif !important;
    font-size: 17px !important;
    font-weight: 300 !important;
    letter-spacing: 1.2px !important;
    line-height: 1.25 !important;
    text-transform: uppercase !important;
}

.soteri-search-card__meta,
.soteri-search-card__excerpt {
    margin-top: 10px;
    color: rgba(26, 26, 26, 0.58);
    font-size: 12px;
    line-height: 1.7;
}

.soteri-search-card__meta a {
    color: rgba(26, 26, 26, 0.58);
}

.soteri-search-card__price {
    margin-top: 10px;
    color: #1a1a1a;
    font-size: 13px;
    font-weight: 500;
}

.soteri-search-content-list {
    display: grid;
    gap: 12px;
}

.soteri-search-card--content {
    background: rgba(255, 255, 255, 0.68);
}

.soteri-search-category-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.soteri-search-category {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid rgba(176, 148, 112, 0.18);
    background: rgba(255, 255, 255, 0.6);
    color: #1a1a1a;
}

.soteri-search-category span {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.soteri-search-category small {
    color: rgba(26, 26, 26, 0.48);
    font-size: 11px;
}

.soteri-search-empty {
    padding: 28px;
    border: 1px solid rgba(176, 148, 112, 0.14);
    background: rgba(255, 255, 255, 0.55);
}

.soteri-search-empty p {
    margin: 0;
    color: rgba(26, 26, 26, 0.58);
    font-size: 14px;
}

.soteri-search-page,
.soteri-404 {
    background: #f8f6f3;
}

.soteri-search-page__hero,
.soteri-404__hero {
    padding: clamp(84px, 11vw, 150px) 0 clamp(44px, 6vw, 76px);
    background: #1a1a1a;
    color: #f8f6f3;
}

.soteri-search-page__hero-inner,
.soteri-search-page__body,
.soteri-404__hero-inner,
.soteri-404__body {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.soteri-search-page__hero h1,
.soteri-404__hero h1 {
    color: #f8f6f3 !important;
}

.soteri-search-page__hero p,
.soteri-404__hero p {
    max-width: 620px;
    color: rgba(248, 246, 243, 0.66);
    font-size: 15px;
    line-height: 1.9;
}

.soteri-search-page__body,
.soteri-404__body {
    padding: clamp(42px, 6vw, 76px) 0;
}

.soteri-search-page__summary {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 28px;
}

.soteri-search-page__summary h2,
.soteri-404__body h2 {
    margin: 0;
    color: #1a1a1a;
    font-family: soteri, serif !important;
    font-size: clamp(24px, 4vw, 38px) !important;
    font-weight: 300 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

.soteri-search-page__count {
    color: var(--soteri-gold);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.soteri-search-page__section + .soteri-search-page__section,
.soteri-404__section + .soteri-404__section {
    margin-top: 56px;
}

.soteri-search-page__pagination {
    margin-top: 36px;
    text-align: center;
}

.soteri-search-page__pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    margin: 0 3px;
    border: 1px solid rgba(176, 148, 112, 0.22);
    color: #1a1a1a;
}

.soteri-search-page__pagination .current,
.soteri-search-page__pagination .page-numbers:hover {
    background: #1a1a1a;
    border-color: #1a1a1a;
    color: #f8f6f3 !important;
}

.soteri-404__number {
    display: block;
    margin-bottom: 18px;
    color: rgba(176, 148, 112, 0.55);
    font-family: soteri, serif;
    font-size: clamp(80px, 17vw, 190px);
    font-weight: 300;
    letter-spacing: 8px;
    line-height: 0.8;
}

.soteri-404__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.soteri-404__actions a {
    padding: 13px 18px;
    border: 1px solid rgba(176, 148, 112, 0.3);
    color: #f8f6f3;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.soteri-404__actions a:hover {
    background: var(--soteri-gold);
    border-color: var(--soteri-gold);
    color: #fff !important;
}

@media (max-width: 849px) {
    .soteri-search-page__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .soteri-search-overlay__panel {
        width: 100vw;
    }
}

@media (max-width: 549px) {
    .soteri-search-form {
        grid-template-columns: auto 1fr;
    }

    .soteri-search-form button[type="submit"] {
        grid-column: 1 / -1;
        width: 100%;
    }

    .soteri-search-live-grid,
    .soteri-search-page__grid,
    .soteri-search-category-row {
        grid-template-columns: 1fr;
    }

    .soteri-search-page__summary {
        display: block;
    }

    .soteri-search-page__count {
        display: block;
        margin-top: 12px;
    }
}

/* ═══════════════════════════════════════════════
   v8.2 — Editorial polish pass (visual-only refinements)
   Added after live audit. Brand tokens preserved, no layout
   restructure. Pure CSS. Reversible by deleting this block.
   ═══════════════════════════════════════════════ */

/* ── Variation swatches (size buttons) — fashion-house refinement ── */
.single-product .variable-items-wrapper .button-variable-item,
.single-product .wvs-style-squared .button-variable-item {
    min-width: 56px !important;
    height: 44px !important;
    padding: 0 18px !important;
    margin: 5px !important;
    border: 1px solid var(--soteri-border) !important;
    background: #fff !important;
    color: var(--soteri-text) !important;
    font-family: soteri, Inter, sans-serif !important;
    font-size: 10.5px !important;
    letter-spacing: 1.8px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    border-radius: 0 !important;
    transition: all 0.4s var(--soteri-ease) !important;
    cursor: pointer !important;
}
.single-product .variable-items-wrapper .button-variable-item:hover {
    border-color: var(--soteri-gold) !important;
    color: var(--soteri-dark) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(176, 148, 112, 0.08) !important;
}
.single-product .variable-items-wrapper .button-variable-item.selected,
.single-product .variable-items-wrapper .button-variable-item[aria-checked="true"] {
    background: var(--soteri-dark) !important;
    border-color: var(--soteri-dark) !important;
    color: #fff !important;
    transform: none !important;
    box-shadow: none !important;
}
.single-product .variable-items-wrapper .button-variable-item.disabled,
.single-product .variable-items-wrapper .button-variable-item[disabled],
.single-product .variable-items-wrapper .button-variable-item.wvs-archived-item {
    opacity: 0.32 !important;
    cursor: not-allowed !important;
    text-decoration: line-through !important;
}

/* ── "SIZE OPTIONS" / variation label — editorial caps ── */
.single-product .variations label,
.single-product .variations th.label label,
.single-product table.variations .label {
    font-family: soteri, Inter, sans-serif !important;
    font-size: 10px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: var(--soteri-text-light) !important;
    font-weight: 400 !important;
    margin-bottom: 14px !important;
    display: block !important;
}

/* ── Short description bullets — gold dash markers ── */
.single-product .summary .woocommerce-product-details__short-description ul,
.single-product .product-short-description ul,
.single-product .summary .product-short-description ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 18px 0 !important;
}
.single-product .summary .woocommerce-product-details__short-description ul li,
.single-product .product-short-description ul li,
.single-product .summary .product-short-description ul li {
    position: relative !important;
    padding-left: 22px !important;
    margin-bottom: 8px !important;
    color: var(--soteri-text) !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
    list-style: none !important;
}
.single-product .summary .woocommerce-product-details__short-description ul li::before,
.single-product .product-short-description ul li::before,
.single-product .summary .product-short-description ul li::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 12px !important;
    width: 12px !important;
    height: 1px !important;
    background: var(--soteri-gold) !important;
}

/* ── Shop / archive / related product card refinement ── */
.shop-container .product-small,
.products .product-small,
.related .product-small {
    transition: transform 0.55s var(--soteri-ease) !important;
}
.shop-container .product-small:hover,
.products .product-small:hover,
.related .product-small:hover {
    transform: translateY(-4px) !important;
}
.shop-container .product-small .image-tools,
.products .product-small .image-tools {
    opacity: 0 !important;
    transition: opacity 0.4s var(--soteri-ease) !important;
}
.shop-container .product-small:hover .image-tools,
.products .product-small:hover .image-tools {
    opacity: 1 !important;
}
.shop-container .product-small .product-title,
.products .product-small .product-title,
.related .product-small .product-title {
    font-family: soteri, Inter, sans-serif !important;
    font-size: 12.5px !important;
    letter-spacing: 1.8px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    margin-top: 16px !important;
    margin-bottom: 6px !important;
    line-height: 1.5 !important;
}
.shop-container .product-small .product-title a,
.products .product-small .product-title a,
.related .product-small .product-title a {
    color: var(--soteri-dark) !important;
    transition: color 0.3s var(--soteri-ease) !important;
}
.shop-container .product-small .product-title a:hover,
.products .product-small .product-title a:hover,
.related .product-small .product-title a:hover {
    color: var(--soteri-gold) !important;
}
.shop-container .product-small .price,
.products .product-small .price,
.related .product-small .price {
    font-size: 12.5px !important;
    color: var(--soteri-text) !important;
    letter-spacing: 0.5px !important;
    font-variant-numeric: tabular-nums !important;
}
.shop-container .product-small .category,
.products .product-small .category,
.related .product-small .category {
    font-size: 9px !important;
    letter-spacing: 2.8px !important;
    color: var(--soteri-text-light) !important;
    text-transform: uppercase !important;
    margin-bottom: 4px !important;
}

/* ── Product image area (shop card) — confident box ── */
.shop-container .product-small .box-image,
.products .product-small .box-image,
.related .product-small .box-image {
    background: #fff !important;
    transition: all 0.5s var(--soteri-ease) !important;
}
.shop-container .product-small:hover .box-image,
.products .product-small:hover .box-image {
    box-shadow: 0 18px 40px -22px rgba(26, 26, 26, 0.2) !important;
}

/* ── Pagination — refined squares ── */
.shop-container .nav-pagination > *,
.woocommerce-pagination > *,
.page-numbers,
ul.page-numbers li > * {
    border: 1px solid var(--soteri-border) !important;
    min-width: 42px !important;
    height: 42px !important;
    line-height: 40px !important;
    padding: 0 !important;
    font-family: soteri, Inter, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 1.5px !important;
    color: var(--soteri-text) !important;
    background: transparent !important;
    border-radius: 0 !important;
    transition: all 0.3s var(--soteri-ease) !important;
    margin: 0 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
}
.shop-container .nav-pagination a:hover,
.woocommerce-pagination a:hover,
a.page-numbers:hover {
    border-color: var(--soteri-gold) !important;
    color: var(--soteri-gold) !important;
    background: transparent !important;
}
.shop-container .nav-pagination .current,
.woocommerce-pagination .current,
.page-numbers.current,
span.page-numbers.current {
    background: var(--soteri-dark) !important;
    border-color: var(--soteri-dark) !important;
    color: #fff !important;
}
.page-numbers.dots {
    border: none !important;
}

/* ── Related-products grid: center when sparse (1-2 items) ── */
.single-product .product-footer .related .row,
.single-product .product-footer .related .products,
.related .row.large-columns-4 {
    justify-content: center !important;
}

/* ── Tame empty Flatsome sections that have no content ── */
/* If a section contains a row with no actual content, collapse its huge default padding */
.home .section:has(> .section-content > .row:empty),
.home .section:has(> .section-content:empty) {
    display: none !important;
}

/* ── Refined breadcrumbs / category trail above product title ── */
.single-product .product_meta_categories,
.single-product .posted_in,
.single-product .summary .woocommerce-breadcrumb,
.single-product .breadcrumbs,
.product-info .product-categories {
    font-family: soteri, Inter, sans-serif !important;
    font-size: 10px !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    color: var(--soteri-text-light) !important;
    margin-bottom: 8px !important;
}
.single-product .product_meta_categories a,
.single-product .posted_in a,
.product-info .product-categories a {
    color: var(--soteri-text-light) !important;
    transition: color 0.3s var(--soteri-ease) !important;
}
.single-product .product_meta_categories a:hover,
.single-product .posted_in a:hover,
.product-info .product-categories a:hover {
    color: var(--soteri-gold) !important;
}

/* ── Quantity selector — slightly wider for tabular feel ── */
.single-product .quantity .qty,
.single-product .quantity input[type="number"] {
    font-variant-numeric: tabular-nums !important;
    font-family: soteri, Inter, sans-serif !important;
    letter-spacing: 1px !important;
}

/* ── Social share icons — softer hover ── */
.single-product .social-icons a {
    transition: all 0.4s var(--soteri-ease) !important;
}
.single-product .social-icons a:hover {
    transform: translateY(-2px) !important;
}

/* ── Hide WooCommerce "You may also like" upsells block on product pages ──
   The Manual Related Products picker we built fully replaces this need.
   Hidden site-wide; remove this block if you want native upsells back. */
.single-product .upsells,
.single-product .upsells.products,
.single-product section.upsells,
.single-product .product-page .upsells {
    display: none !important;
}

/* ── Brand font — universal sweep, catches every Flatsome/WC variant ──
   uaf.css covers most elements; this catches the holdouts (product card
   titles, prices, form fields, table cells, etc.) without touching icons. */
body, body input, body textarea, body select, body button, body optgroup, body option,
body table, body th, body td, body caption,
.name, .product-title, .woocommerce-loop-product__title,
.price, .amount, .price *, .amount *,
.product-small .name, .product-small .price, .product-small .category,
.products .name, .products .price, .products .category,
.related .name, .related .price, .related .category,
.product-page-price, .product-page-price *,
.entry-content, .entry-content p, .entry-content li, .entry-content a,
.button, button, input[type="button"], input[type="submit"], input[type="reset"],
.widget, .widget *, .widget-title,
.footer, .footer *, .absolute-footer, .absolute-footer *,
.header, .header *, .header-nav a, .nav a,
.menu a, .menu li, .menu li a,
form label, form input, form textarea, form select,
.woocommerce *, .woocommerce-page *,
.cart_totals *, .checkout *, .order_details *,
.posted_in, .posted_in a, .product_meta, .product_meta *,
.tabs *, .accordion *, .soteri-tab *, .soteri-tab-button,
.breadcrumbs, .breadcrumbs *, .woocommerce-breadcrumb, .woocommerce-breadcrumb *,
.banner, .banner *, .ux-banner, .ux-banner *, .text-box, .text-box *,
h1, h2, h3, h4, h5, h6, h1 *, h2 *, h3 *, h4 *, h5 *, h6 *,
p, span:not([class*="icon"]):not([class*="fa-"]):not([class*="dashicons"]),
a:not(.icon):not([class*="icon-"]):not([class*="fa-"]),
strong, em, b, small, mark, label, legend, blockquote, li, dt, dd {
    font-family: 'soteri', 'Noto Sans Georgian', Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

/* === Restore icon fonts after the universal brand-font sweep ===
   The sweep above uses descendant selectors with `*` (e.g. .product_meta *,
   .entry-content *, .footer *, .header *) which inadvertently catch icon
   <i> elements and force soteri onto them, killing the icon glyph. These
   rules explicitly re-apply each icon font's NAME with !important so they
   beat the sweep. `revert` is wrong here because it just inherits from the
   parent, which is soteri — the parent isn't an icon font origin. */

/* Flatsome icons — used for social-share, menu icons, accordion icons, cart, etc.
   Class pattern: <i class="icon-facebook">, <i class="icon-shopping-bag">, etc. */
i[class^="icon-"], i[class*=" icon-"],
[class^="icon-"]::before, [class*=" icon-"]::before,
.icon-facebook, .icon-twitter, .icon-instagram, .icon-pinterest,
.icon-email, .icon-linkedin, .icon-whatsapp, .icon-shopping-bag,
.icon-shopping-basket, .icon-shopping-cart, .icon-search, .icon-menu,
.icon-angle-down, .icon-angle-right, .icon-angle-left, .icon-angle-up,
.icon-heart, .icon-heart-o, .icon-user, .icon-close, .icon-expand,
.flatsome-icon, [class^="fl-"], [class*=" fl-"] {
    font-family: 'fl-icons' !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* WordPress dashicons (admin bar, some plugin UIs) */
.dashicons, .dashicons-before::before, .dashicons::before {
    font-family: 'dashicons' !important;
    font-weight: normal !important;
    font-style: normal !important;
    line-height: 1 !important;
}

/* Font Awesome (Yoast, some plugins, occasionally Flatsome) */
.fa, .fas, .far, .fab, .fal, .fad,
i.fa, i.fas, i.far, i.fab, i.fal, i.fad,
[class^="fa-"], [class*=" fa-"] {
    font-family: 'Font Awesome 5 Free', 'Font Awesome 5 Brands', 'FontAwesome', sans-serif !important;
    font-style: normal !important;
    font-weight: 900 !important;
}
i.fab, .fab, i[class^="fa-brand"], i[class*=" fa-brand"] {
    font-family: 'Font Awesome 5 Brands', 'FontAwesome', sans-serif !important;
    font-weight: 400 !important;
}

/* High-specificity overrides — defeat Flatsome's inline customizer styles
   (e.g. <style> .product-small .product-title { font-family: Inter !important }
   which Flatsome injects for catalog typography). Each selector has
   specificity ≥ (0,3,0) to win. */
body .product-small .name,
body .product-small .product-title,
body .product-small .woocommerce-loop-product__title,
body .product .name,
body .product .product-title,
body .product .woocommerce-loop-product__title,
body .products .name,
body .products .product-title,
body .products .woocommerce-loop-product__title,
body .name.product-title,
body .name.woocommerce-loop-product__title,
body .product-title.woocommerce-loop-product__title,
html body .price, html body .price *,
html body .amount, html body .amount *,
html body .product-page-price, html body .product-page-price * {
    font-family: 'soteri', 'Noto Sans Georgian', Inter, -apple-system, sans-serif !important;
}

/* Generic hide utility (use Flatsome's class on [section]/elements to hide them) */
.hide, section.hide, .section.hide { display: none !important; }

/* ═══════════════════════════════════════════════
   PRODUCT REVIEWS — editorial fashion-house aesthetic
   ═══════════════════════════════════════════════ */

.soteri-reviews-section {
    background: var(--soteri-cream) !important;
    padding: 90px 30px !important;
    margin-top: 0 !important;
    border-top: 1px solid var(--soteri-border) !important;
}
.soteri-reviews-section .soteri-reviews-inner {
    max-width: 880px !important;
    margin: 0 auto !important;
}
.soteri-reviews-heading {
    font-family: 'soteri', 'Noto Sans Georgian', Georgia, serif !important;
    font-size: 22px !important;
    font-weight: 300 !important;
    letter-spacing: 6px !important;
    text-transform: uppercase !important;
    text-align: center !important;
    color: var(--soteri-dark) !important;
    margin: 0 0 60px !important;
    position: relative !important;
    padding-bottom: 24px !important;
}
.soteri-reviews-heading::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: 0 !important;
    width: 40px !important;
    height: 1px !important;
    background: var(--soteri-gold) !important;
    transform: translateX(-50%) !important;
}

.soteri-reviews-section #comments > .woocommerce-Reviews-title,
.soteri-reviews-section .woocommerce-Reviews-title {
    display: none !important;
}
.soteri-reviews-section .commentlist {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 60px !important;
}
.soteri-reviews-section .commentlist > li {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid var(--soteri-border) !important;
    padding: 32px 0 !important;
    margin: 0 !important;
    list-style: none !important;
    display: block !important;
}
.soteri-reviews-section .commentlist > li:first-child {
    border-top: 1px solid var(--soteri-border) !important;
}
.soteri-reviews-section .commentlist .comment_container {
    display: block !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}
.soteri-reviews-section .commentlist .avatar,
.soteri-reviews-section .commentlist img.avatar {
    display: none !important;
}
.soteri-reviews-section .commentlist .comment-text {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    width: 100% !important;
}
.soteri-reviews-section .comment-meta {
    margin-bottom: 14px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 16px !important;
}
.soteri-reviews-section .meta {
    font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
    margin: 0 !important;
    padding: 0 !important;
}
.soteri-reviews-section strong[itemprop="author"],
.soteri-reviews-section .meta strong {
    font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    color: var(--soteri-dark) !important;
    font-weight: 500 !important;
}
.soteri-reviews-section .meta time,
.soteri-reviews-section .woocommerce-review__published-date {
    font-size: 11px !important;
    color: var(--soteri-text-light) !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    font-style: normal !important;
}
.soteri-reviews-section .description,
.soteri-reviews-section .description p {
    font-family: 'soteri', 'Noto Sans Georgian', Georgia, serif !important;
    font-size: 14.5px !important;
    line-height: 1.7 !important;
    color: var(--soteri-text) !important;
    font-weight: 300 !important;
    margin: 0 !important;
    max-width: 640px !important;
}
.soteri-reviews-section .verified,
.soteri-reviews-section em.verified {
    font-size: 10px !important;
    letter-spacing: 2px !important;
    color: var(--soteri-gold) !important;
    text-transform: uppercase !important;
    font-style: normal !important;
    font-weight: 400 !important;
    margin-left: 6px !important;
}

.soteri-reviews-section .star-rating,
.soteri-reviews-section .commentlist .star-rating {
    color: var(--soteri-gold) !important;
    font-size: 12px !important;
    letter-spacing: 3px !important;
    width: 6em !important;
}
.soteri-reviews-section .star-rating::before,
.soteri-reviews-section .star-rating span::before {
    color: var(--soteri-gold) !important;
}

.soteri-reviews-section #review_form_wrapper,
.soteri-reviews-section #review_form {
    margin-top: 0 !important;
    background: #fff !important;
    padding: 50px 40px !important;
    border: 1px solid var(--soteri-border) !important;
}
.soteri-reviews-section #review_form #respond {
    margin: 0 !important;
}
.soteri-reviews-section #reply-title {
    font-family: 'soteri', 'Noto Sans Georgian', Georgia, serif !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    color: var(--soteri-dark) !important;
    margin: 0 0 24px !important;
    text-align: center !important;
}
.soteri-reviews-section .comment-notes,
.soteri-reviews-section #respond .form-allowed-tags {
    display: none !important;
}

.soteri-reviews-section .comment-form-rating {
    text-align: center !important;
    margin-bottom: 26px !important;
}
.soteri-reviews-section .comment-form-rating label {
    display: block !important;
    font-family: 'soteri', Inter, sans-serif !important;
    font-size: 10px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: var(--soteri-text-light) !important;
    margin-bottom: 10px !important;
    text-align: center !important;
}
/* Hide the underlying WC <select id="rating">; WC's JS wraps it in .hidden */
.soteri-reviews-section .comment-form-rating select#rating,
.soteri-reviews-section .comment-form-rating .hidden { display: none !important; }
/* 5-star input — proper visual stars via Unicode ★ in ::before */
.soteri-reviews-section p.stars,
.soteri-reviews-section .stars {
    display: inline-flex !important;
    gap: 4px !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
}
.soteri-reviews-section p.stars a {
    position: relative !important;
    display: inline-block !important;
    width: 26px !important;
    height: 26px !important;
    overflow: hidden !important;
    text-indent: -9999em !important;
    font-size: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-decoration: none !important;
    cursor: pointer !important;
}
.soteri-reviews-section p.stars a::before {
    content: "\2605" !important;
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    text-align: center !important;
    line-height: 26px !important;
    font-size: 22px !important;
    text-indent: 0 !important;
    color: var(--soteri-border) !important;
    transition: color 0.25s var(--soteri-ease) !important;
}
.soteri-reviews-section p.stars:hover a::before,
.soteri-reviews-section p.stars.selected a::before {
    color: var(--soteri-gold) !important;
}
.soteri-reviews-section p.stars a:hover ~ a::before,
.soteri-reviews-section p.stars.selected a.active ~ a::before {
    color: var(--soteri-border) !important;
}

.soteri-reviews-section .comment-form-author,
.soteri-reviews-section .comment-form-email,
.soteri-reviews-section .comment-form-comment {
    margin-bottom: 22px !important;
    width: 100% !important;
}
.soteri-reviews-section .comment-form-author,
.soteri-reviews-section .comment-form-email {
    width: calc(50% - 12px) !important;
    display: inline-block !important;
    vertical-align: top !important;
}
.soteri-reviews-section .comment-form-author { margin-right: 22px !important; }
.soteri-reviews-section #review_form label {
    display: block !important;
    font-family: 'soteri', Inter, sans-serif !important;
    font-size: 10px !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    color: var(--soteri-text-light) !important;
    margin-bottom: 8px !important;
}
.soteri-reviews-section #review_form input[type="text"],
.soteri-reviews-section #review_form input[type="email"],
.soteri-reviews-section #review_form textarea {
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid var(--soteri-border) !important;
    border-radius: 0 !important;
    padding: 10px 0 !important;
    font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
    font-size: 14px !important;
    color: var(--soteri-dark) !important;
    box-shadow: none !important;
    transition: border-color 0.3s var(--soteri-ease) !important;
}
.soteri-reviews-section #review_form textarea {
    min-height: 120px !important;
    line-height: 1.6 !important;
    resize: vertical !important;
}
.soteri-reviews-section #review_form input[type="text"]:focus,
.soteri-reviews-section #review_form input[type="email"]:focus,
.soteri-reviews-section #review_form textarea:focus {
    outline: none !important;
    border-bottom-color: var(--soteri-gold) !important;
}

.soteri-reviews-section .form-submit {
    text-align: center !important;
    margin-top: 28px !important;
}
.soteri-reviews-section .form-submit input[type="submit"],
.soteri-reviews-section #respond .submit {
    background: var(--soteri-dark) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-family: 'soteri', Inter, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    height: 48px !important;
    padding: 0 44px !important;
    cursor: pointer !important;
    transition: all 0.4s var(--soteri-ease) !important;
}
.soteri-reviews-section .form-submit input[type="submit"]:hover,
.soteri-reviews-section #respond .submit:hover {
    background: var(--soteri-gold) !important;
    letter-spacing: 4px !important;
}

/* Force single-column compact layout: review list on top, form below */
.soteri-reviews-section .woocommerce-Reviews.row {
    display: block !important;
    margin: 0 !important;
}
.soteri-reviews-section #comments,
.soteri-reviews-section #review_form_wrapper {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 !important;
    float: none !important;
}
.soteri-reviews-section #review_form_wrapper {
    margin-top: 40px !important;
    max-width: 560px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.soteri-reviews-section #review_form,
.soteri-reviews-section .review-form-inner {
    padding: 36px 32px !important;
    background: #fff !important;
    border: 1px solid var(--soteri-border) !important;
}
.soteri-reviews-section .review-form-inner.has-border { border: none !important; }
.soteri-reviews-section #reply-title {
    font-size: 14px !important;
    letter-spacing: 4px !important;
    margin: 0 0 26px !important;
}
/* Hide WC's own "Reviews" h3 heading (we render our own CUSTOMER REVIEWS) */
.soteri-reviews-section .woocommerce-Reviews-title { display: none !important; }

/* Thank-you / pending message after submission */
.soteri-thank-you {
    max-width: 560px;
    margin: 0 auto 40px;
    padding: 28px 30px;
    background: #fff;
    border: 1px solid var(--soteri-gold);
    text-align: center;
}
.soteri-thank-you .soteri-thank-title {
    font-family: 'soteri', 'Noto Sans Georgian', Georgia, serif;
    font-size: 14px;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--soteri-gold);
    margin: 0 0 12px;
    font-weight: 400;
}
.soteri-thank-you .soteri-thank-body {
    font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif;
    font-size: 13px;
    line-height: 1.7;
    color: var(--soteri-text);
    margin: 0;
}

.soteri-reviews-section .woocommerce-noreviews,
.soteri-reviews-section p.noreviews {
    text-align: center !important;
    font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
    font-size: 12px !important;
    letter-spacing: 2px !important;
    color: var(--soteri-text-light) !important;
    text-transform: uppercase !important;
    padding: 40px 0 !important;
    margin: 0 0 40px !important;
    border: none !important;
    background: transparent !important;
}

@media (max-width: 768px) {
    .soteri-reviews-section { padding: 60px 20px !important; }
    .soteri-reviews-heading { font-size: 16px !important; letter-spacing: 4px !important; margin-bottom: 40px !important; }
    .soteri-reviews-section #review_form { padding: 32px 22px !important; }
    .soteri-reviews-section .comment-form-author,
    .soteri-reviews-section .comment-form-email {
        width: 100% !important;
        display: block !important;
        margin-right: 0 !important;
    }
    .soteri-reviews-section .commentlist > li { padding: 24px 0 !important; }
}

/* ═══════════════════════════════════════════════
   v8.5 — Mobile audit & polish (≤ 768px)
   Strategy (from design review): horizontal density >
   font-size reduction. Aggressive letter-spacing cut,
   tight padding, 2-3 col grids for variations.
   ═══════════════════════════════════════════════ */

@media (max-width: 768px) {

    /* ──────────────── Typography on mobile ──────────────── */
    .single-product .product_title,
    h1.product-title,
    h1.entry-title {
        font-size: 22px !important;
        letter-spacing: 1.5px !important;
        line-height: 1.22 !important;
    }
    /* Shop / archive page titles — Flatsome wraps in .is-large (not h1) */
    body.archive .page-title h1,
    body.post-type-archive .page-title h1,
    .shop-page-title h1,
    .page-title h1,
    .shop-page-title .is-large,
    .shop-page-title .is-large .woocommerce-breadcrumb,
    .page-title .is-large,
    .page-title .is-large .woocommerce-breadcrumb,
    .category-page-title .is-large {
        font-size: 22px !important;
        letter-spacing: 4px !important;
        line-height: 1.2 !important;
    }
    .shop-page-title,
    .category-page-title { padding: 24px 0 18px !important; }
    .shop-page-title .page-title-inner,
    .category-page-title .page-title-inner { padding: 0 16px !important; }
    .shop-page-title .woocommerce-result-count,
    .shop-page-title .woocommerce-ordering { margin-top: 14px !important; }
    /* Hero / banner editorial title */
    .home .ux-banner h1,
    .home .ux-banner .banner-title,
    .home .ux-banner h2,
    [class*="hero-title"],
    .ux-banner-grid h1 {
        font-size: 26px !important;
        letter-spacing: 1px !important;
        line-height: 1.2 !important;
    }
    /* Soteri section titles */
    .soteri-title.md,
    .soteri-title.lg {
        font-size: 20px !important;
        letter-spacing: 3px !important;
        line-height: 1.3 !important;
    }
    /* H2/H3 generic */
    .single-product h2,
    .single-product h3,
    .home h2,
    .home h3 {
        font-size: 18px !important;
        letter-spacing: 2px !important;
    }
    /* Hero subtitle */
    .soteri-hero-sub {
        font-size: 13px !important;
        line-height: 1.6 !important;
        padding: 0 12px !important;
    }

    /* ──────────────── Section padding tightening ──────────────── */
    .home .section,
    .single-product .product-footer,
    .soteri-reviews-section {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
    .home .section[class*="soteri-fade-top"],
    .home .section[class*="soteri-cream"] {
        padding-top: 56px !important;
        padding-bottom: 56px !important;
    }

    /* ──────────────── Product grid cards ──────────────── */
    .product-small .product-title,
    .product-small .name,
    .products .product-title,
    .related .product-title {
        font-size: 11.5px !important;
        letter-spacing: 1.2px !important;
        line-height: 1.4 !important;
        margin-top: 10px !important;
        margin-bottom: 4px !important;
        padding: 0 6px !important;
    }
    .product-small .category,
    .products .category,
    .related .category {
        font-size: 8.5px !important;
        letter-spacing: 2px !important;
        margin-bottom: 4px !important;
    }
    .product-small .price,
    .products .price,
    .related .price {
        font-size: 11.5px !important;
        letter-spacing: 0.5px !important;
    }

    /* ──────────────── Variation buttons — 3-column grid ──────────────── */
    .single-product .variable-items-wrapper,
    .single-product .button-variable-items-wrapper {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 8px !important;
        margin: 4px 0 12px !important;
    }
    .single-product .variable-items-wrapper .button-variable-item,
    .single-product .wvs-style-squared .button-variable-item {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        height: 46px !important;
        font-size: 10px !important;
        letter-spacing: 1.2px !important;
        padding: 0 6px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    /* Quantity + Size Guide row */
    .single-product .quantity,
    .single-product .single_add_to_cart_button,
    .single-product .ux-buy-now-button {
        width: 100% !important;
    }

    /* ──────────────── Accordion tabs — comfortable taps ──────────────── */
    .soteri-tab-button,
    .soteri-accordion-title,
    .soteri-accordion-header {
        min-height: 54px !important;
        font-size: 12px !important;
        letter-spacing: 1.8px !important;
        padding: 14px 18px !important;
    }
    .soteri-accordion-icon img,
    .soteri-tab-icon img {
        max-width: 20px !important;
        max-height: 20px !important;
    }

    /* ──────────────── Reviews on mobile ──────────────── */
    .soteri-reviews-section {
        padding: 56px 16px !important;
    }
    .soteri-reviews-heading {
        font-size: 18px !important;
        letter-spacing: 4px !important;
        margin-bottom: 36px !important;
    }
    .soteri-reviews-section #review_form_wrapper {
        max-width: 100% !important;
    }
    .soteri-reviews-section #review_form,
    .soteri-reviews-section .review-form-inner {
        padding: 26px 18px !important;
    }
    .soteri-reviews-section #reply-title {
        font-size: 13px !important;
        letter-spacing: 3px !important;
    }
    .soteri-thank-you {
        max-width: calc(100vw - 32px) !important;
        padding: 22px 18px !important;
    }
    .soteri-thank-you .soteri-thank-title { font-size: 12px !important; letter-spacing: 3px !important; }
    .soteri-thank-you .soteri-thank-body { font-size: 12.5px !important; line-height: 1.6 !important; }

    /* ──────────────── Marquee tighter on mobile ──────────────── */
    .soteri-marquee-track span {
        font-size: 11px !important;
        letter-spacing: 2.5px !important;
        padding: 0 18px !important;
    }
    .soteri-marquee-track span::after {
        margin-left: 18px !important;
    }

    /* ──────────────── Footer columns stack ──────────────── */
    .absolute-footer,
    footer .row {
        text-align: left !important;
    }
    footer .ux-menu-title {
        font-size: 11px !important;
        letter-spacing: 2.5px !important;
        margin-bottom: 14px !important;
    }
    footer .ux-menu-link a {
        font-size: 12px !important;
        line-height: 1.7 !important;
    }

    /* ──────────────── Long words / safe wrapping ──────────────── */
    .product-small .product-title,
    .product-small .name,
    .soteri-reviews-section .description,
    .single-product .product_title,
    footer .ux-menu-link a {
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }
    /* but allow normal hyphenation */
    .product-small .product-title,
    .product-small .name {
        hyphens: none !important;
    }

    /* ──────────────── Buttons / CTAs ──────────────── */
    .single-product .single_add_to_cart_button,
    .single-product .ux-buy-now-button,
    .soteri-cta,
    .soteri-cta.white {
        letter-spacing: 2px !important;
        font-size: 11px !important;
        padding: 0 22px !important;
    }

    /* ──────────────── Description bullets — keep elegant ──────────────── */
    .single-product .summary .product-short-description ul li,
    .single-product .summary .woocommerce-product-details__short-description ul li {
        font-size: 12.5px !important;
        line-height: 1.55 !important;
        padding-left: 18px !important;
    }

    /* ──────────────── Cart / Checkout typography ──────────────── */
    .woocommerce-cart-form,
    .woocommerce-checkout {
        font-size: 13px !important;
    }
    .woocommerce table.shop_table th,
    .woocommerce table.shop_table td {
        padding: 10px 8px !important;
        font-size: 12px !important;
    }

    /* ──────────────── Categories label on product page ──────────────── */
    .single-product .product_meta {
        font-size: 10px !important;
        letter-spacing: 1.5px !important;
    }
}

/* ──────────── GEORGIAN-specific mobile tightening ──────────── */
@media (max-width: 768px) {
    html[lang="ka-GE"] h1, html[lang="ka-GE"] h2, html[lang="ka-GE"] h3,
    html[lang="ka-GE"] h4, html[lang="ka-GE"] h5, html[lang="ka-GE"] h6,
    body.translatepress-ka_GE h1, body.translatepress-ka_GE h2, body.translatepress-ka_GE h3,
    body.translatepress-ka_GE h4, body.translatepress-ka_GE h5, body.translatepress-ka_GE h6,
    html[lang="ka-GE"] .soteri-title,
    body.translatepress-ka_GE .soteri-title {
        letter-spacing: 0.5px !important;  /* Aggressive cut for Georgian word fit */
        line-height: 1.3 !important;
    }
    html[lang="ka-GE"] .product-small .product-title,
    body.translatepress-ka_GE .product-small .product-title {
        letter-spacing: 0.3px !important;
        font-size: 11px !important;
    }
    html[lang="ka-GE"] .single-product .product_title,
    body.translatepress-ka_GE .single-product .product_title {
        letter-spacing: 0.5px !important;
        font-size: 20px !important;
    }
    html[lang="ka-GE"] .soteri-tab-button,
    body.translatepress-ka_GE .soteri-tab-button {
        letter-spacing: 0.5px !important;
        font-size: 12px !important;
    }
}

/* ──────────── Smaller phones (≤ 480px) — extra tightening ──────────── */
@media (max-width: 480px) {
    .single-product .variable-items-wrapper,
    .single-product .button-variable-items-wrapper {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .single-product .variable-items-wrapper .button-variable-item {
        height: 48px !important;
        font-size: 11px !important;
        letter-spacing: 1.5px !important;
    }
    .product-small .product-title { font-size: 11px !important; }
    .home .ux-banner h1 { font-size: 22px !important; letter-spacing: 0.5px !important; }
    .soteri-title.md, .soteri-title.lg { font-size: 18px !important; letter-spacing: 2.5px !important; }
}

/* ═══════════════════════════════════════════════════════════════
   v9.0 — Mobile menu redesign + page-title clamp + related-products
   grid + brand polish. Targets the four items from user audit:
   - Brand design lost in places
   - Related products show 1 side-by-side (slider too cramped)
   - Page titles cut off on mobile
   - Burger menu doesn't match desktop / not on brand
   ═══════════════════════════════════════════════════════════════ */


/* ─────────────────────────────────────────────────
   MOBILE MENU — Full-screen cream overlay (Acne-style)
   Replaces Flatsome's narrow side-drawer with an editorial
   full-screen nav: SOTERI wordmark, large uppercase items,
   gold tap state, language switcher + utility row at bottom.
   ───────────────────────────────────────────────── */

@media (max-width: 849px) {

    /* Make the popup full-width and the cream backdrop solid. */
    .mfp-mobile-menu.mfp-bg {
        background: rgba(248, 246, 243, 0.98) !important;
        opacity: 1 !important;
    }
    .mfp-mobile-menu .mfp-container,
    .mfp-mobile-menu .mfp-container.mfp-inline-holder {
        padding: 0 !important;
    }
    .mfp-mobile-menu .mfp-content {
        max-width: 100% !important;
        width: 100% !important;
        margin: 0 !important;
        vertical-align: top !important;
    }

    /* Full-screen container. Override Flatsome's narrow .mobile-sidebar width. */
    .mfp-mobile-menu #main-menu,
    .mfp-mobile-menu #main-menu.mobile-sidebar {
        width: 100vw !important;
        max-width: 100vw !important;
        min-height: 100vh !important;
        background: var(--soteri-cream) !important;
        padding: 0 !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        box-shadow: none !important;
    }
    .mfp-mobile-menu #main-menu .sidebar-menu {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        padding: 0 !important;
        background: transparent !important;
    }

    /* ─── Brand header (injected by soteri-mobile-menu.php) ─── */
    .soteri-mobile-header {
        padding: 26px 30px 22px !important;
        border-bottom: 1px solid var(--soteri-border) !important;
        text-align: center !important;
        background: transparent !important;
    }
    .soteri-mobile-wordmark {
        display: inline-block !important;
        font-family: 'soteri', 'Noto Serif Georgian', Georgia, serif !important;
        font-size: 22px !important;
        font-weight: 300 !important;
        letter-spacing: 10px !important;
        padding-left: 10px !important; /* visual centering for letter-spacing */
        text-transform: uppercase !important;
        color: var(--soteri-dark) !important;
        text-decoration: none !important;
        line-height: 1 !important;
    }
    .soteri-mobile-wordmark:hover,
    .soteri-mobile-wordmark:focus {
        color: var(--soteri-gold) !important;
    }

    /* ─── Close button: reposition + restyle as elegant X ─── */
    .mfp-mobile-menu .mfp-close,
    .mfp-mobile-menu button.mfp-close {
        position: fixed !important;
        top: 16px !important;
        right: 14px !important;
        width: 46px !important;
        height: 46px !important;
        font-size: 0 !important;
        line-height: 0 !important;
        color: transparent !important;
        background: transparent !important;
        border: none !important;
        opacity: 1 !important;
        z-index: 9999 !important;
        cursor: pointer !important;
    }
    .mfp-mobile-menu .mfp-close::before,
    .mfp-mobile-menu .mfp-close::after {
        content: "" !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        width: 20px !important;
        height: 1px !important;
        background: var(--soteri-dark) !important;
        transform-origin: center !important;
        transition: background 0.3s var(--soteri-ease) !important;
    }
    .mfp-mobile-menu .mfp-close::before {
        transform: translate(-50%, -50%) rotate(45deg) !important;
    }
    .mfp-mobile-menu .mfp-close::after {
        transform: translate(-50%, -50%) rotate(-45deg) !important;
    }
    .mfp-mobile-menu .mfp-close:hover::before,
    .mfp-mobile-menu .mfp-close:hover::after {
        background: var(--soteri-gold) !important;
    }

    /* ─── Nav list (the actual menu) ─── */
    .mfp-mobile-menu #main-menu .nav.nav-sidebar,
    .mfp-mobile-menu #main-menu .nav.nav-vertical,
    .mfp-mobile-menu #main-menu ul.nav {
        flex: 1 !important;
        list-style: none !important;
        padding: 30px 30px 20px !important;
        margin: 0 !important;
        background: transparent !important;
        border: none !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }
    .mfp-mobile-menu #main-menu .nav-sidebar > li,
    .mfp-mobile-menu #main-menu .nav-vertical > li,
    .mfp-mobile-menu #main-menu .nav > li {
        border: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        list-style: none !important;
    }
    .mfp-mobile-menu #main-menu .nav-sidebar > li > a,
    .mfp-mobile-menu #main-menu .nav-vertical > li > a,
    .mfp-mobile-menu #main-menu .nav > li > a {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        font-family: 'soteri', 'Noto Sans Georgian', Georgia, serif !important;
        font-size: 20px !important;
        font-weight: 300 !important;
        letter-spacing: 4px !important;
        text-transform: uppercase !important;
        color: var(--soteri-dark) !important;
        padding: 22px 0 !important;
        border-bottom: 1px solid var(--soteri-border) !important;
        position: relative !important;
        line-height: 1.3 !important;
        background: transparent !important;
        transition: color 0.35s var(--soteri-ease),
                    letter-spacing 0.35s var(--soteri-ease),
                    padding-left 0.35s var(--soteri-ease) !important;
    }
    .mfp-mobile-menu #main-menu .nav-sidebar > li > a:hover,
    .mfp-mobile-menu #main-menu .nav-vertical > li > a:hover,
    .mfp-mobile-menu #main-menu .nav > li > a:hover,
    .mfp-mobile-menu #main-menu .nav-sidebar > li > a:active,
    .mfp-mobile-menu #main-menu .nav-vertical > li > a:active {
        color: var(--soteri-gold) !important;
        letter-spacing: 5px !important;
        padding-left: 6px !important;
    }
    .mfp-mobile-menu #main-menu .nav-sidebar > li:last-child > a,
    .mfp-mobile-menu #main-menu .nav-vertical > li:last-child > a {
        border-bottom: none !important;
    }

    /* Submenu toggle caret — make it match brand */
    .mfp-mobile-menu #main-menu .toggle,
    .mfp-mobile-menu #main-menu .nav-sidebar-ul-open {
        color: var(--soteri-text-light) !important;
        font-size: 11px !important;
        opacity: 0.7 !important;
    }
    .mfp-mobile-menu #main-menu .toggle .icon-angle-down,
    .mfp-mobile-menu #main-menu li.has-dropdown > a::after {
        color: var(--soteri-text-light) !important;
    }
    /* Sub-menu items: indented, smaller, lighter */
    .mfp-mobile-menu #main-menu .nav-sidebar .children,
    .mfp-mobile-menu #main-menu .nav-vertical .children,
    .mfp-mobile-menu #main-menu .nav-sidebar .sub-menu {
        padding: 4px 0 16px 18px !important;
        margin: 0 !important;
        list-style: none !important;
        background: transparent !important;
        border: none !important;
    }
    .mfp-mobile-menu #main-menu .children > li > a,
    .mfp-mobile-menu #main-menu .sub-menu > li > a {
        font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
        font-size: 13px !important;
        font-weight: 400 !important;
        letter-spacing: 2.5px !important;
        text-transform: uppercase !important;
        color: var(--soteri-text-light) !important;
        padding: 12px 0 !important;
        border-bottom: none !important;
    }
    .mfp-mobile-menu #main-menu .children > li > a:hover,
    .mfp-mobile-menu #main-menu .sub-menu > li > a:hover {
        color: var(--soteri-gold) !important;
    }

    /* ─── Footer (injected: language + utility row) ─── */
    .soteri-mobile-footer {
        padding: 24px 30px 36px !important;
        border-top: 1px solid var(--soteri-border) !important;
        text-align: center !important;
        background: transparent !important;
    }
    .soteri-mobile-lang {
        font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
        font-size: 12px !important;
        letter-spacing: 4px !important;
        text-transform: uppercase !important;
        margin-bottom: 18px !important;
        line-height: 1 !important;
    }
    .soteri-mobile-lang a {
        color: var(--soteri-text-light) !important;
        padding: 0 6px !important;
        text-decoration: none !important;
        transition: color 0.3s var(--soteri-ease) !important;
    }
    .soteri-mobile-lang a.active,
    .soteri-mobile-lang a.current-lang,
    .soteri-mobile-lang a[aria-current],
    .soteri-mobile-lang .current-language a {
        color: var(--soteri-dark) !important;
    }
    .soteri-mobile-lang a:hover {
        color: var(--soteri-gold) !important;
    }
    .soteri-mobile-lang span,
    .soteri-mobile-lang .sep {
        color: var(--soteri-border) !important;
        padding: 0 2px !important;
    }
    /* TranslatePress switcher: kill its default list styling inside our footer */
    .soteri-mobile-lang .trp-language-switcher,
    .soteri-mobile-lang ul,
    .soteri-mobile-lang li {
        display: inline !important;
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }
    .soteri-mobile-lang img,
    .soteri-mobile-lang .trp-flag-image {
        display: none !important;
    }

    .soteri-mobile-util {
        font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
        font-size: 11px !important;
        letter-spacing: 3px !important;
        text-transform: uppercase !important;
        line-height: 1 !important;
    }
    .soteri-mobile-util a {
        color: var(--soteri-text-light) !important;
        padding: 0 8px !important;
        text-decoration: none !important;
        transition: color 0.3s var(--soteri-ease) !important;
    }
    .soteri-mobile-util a:hover {
        color: var(--soteri-gold) !important;
    }
    .soteri-mobile-util .sep {
        color: var(--soteri-border) !important;
        padding: 0 2px !important;
    }

    /* Hide Flatsome's default "sidebar-menu-back" if present (it duplicates "back" copy). */
    .mfp-mobile-menu #main-menu .sidebar-menu-back-text,
    .mfp-mobile-menu #main-menu .nav-sidebar-back {
        font-family: 'soteri', sans-serif !important;
        font-size: 11px !important;
        letter-spacing: 2.5px !important;
        color: var(--soteri-text-light) !important;
        text-transform: uppercase !important;
    }
}


/* ─────────────────────────────────────────────────
   PAGE TITLES — comprehensive clamp on mobile
   Catches all archive / page / banner title variants
   so nothing gets cut. Latin: wider letter-spacing.
   Georgian: tighter to fit longer glyphs.
   ───────────────────────────────────────────────── */

@media (max-width: 768px) {
    .shop-page-title,
    .shop-page-title .is-large,
    .shop-page-title h1,
    .page-title h1,
    .page-title-inner h1,
    .entry-header h1,
    .entry-title,
    .woocommerce-products-header__title,
    .category-page-title,
    body.archive .page-title h1,
    body.post-type-archive .page-title h1,
    .banner h1,
    .banner h2,
    .banner-title,
    .text-box h1,
    .text-box h2 {
        font-size: clamp(20px, 5.6vw, 28px) !important;
        letter-spacing: 3px !important;
        line-height: 1.22 !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        hyphens: none !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        max-width: 100% !important;
    }
    /* Breadcrumb segment in shop title (e.g. "WOMEN /") — tighter */
    .shop-page-title .is-divider,
    .shop-page-title nav.woocommerce-breadcrumb,
    .shop-page-title .breadcrumbs {
        font-size: 11px !important;
        letter-spacing: 2px !important;
    }

    /* Georgian-specific tightening — long glyphs need less spacing */
    html[lang="ka-GE"] .shop-page-title,
    html[lang="ka-GE"] .shop-page-title .is-large,
    html[lang="ka-GE"] .page-title h1,
    html[lang="ka-GE"] .page-title-inner h1,
    html[lang="ka-GE"] .entry-header h1,
    html[lang="ka-GE"] .entry-title,
    html[lang="ka-GE"] .woocommerce-products-header__title,
    html[lang="ka-GE"] .banner-title,
    html[lang="ka-GE"] .text-box h1,
    html[lang="ka-GE"] .text-box h2,
    body.translatepress-ka_GE .shop-page-title,
    body.translatepress-ka_GE .shop-page-title .is-large,
    body.translatepress-ka_GE .page-title h1,
    body.translatepress-ka_GE .entry-header h1,
    body.translatepress-ka_GE .woocommerce-products-header__title,
    body.translatepress-ka_GE .banner-title {
        font-size: clamp(18px, 5vw, 24px) !important;
        letter-spacing: 0.8px !important;
        line-height: 1.28 !important;
    }
}


/* ─────────────────────────────────────────────────
   RELATED PRODUCTS on mobile — kill the slider,
   show a clean 2-column grid. More editorial; matches
   Acne / COS where related items are static, not swipey.
   ───────────────────────────────────────────────── */

@media (max-width: 768px) {
    /* Convert Flickity slider row to a CSS grid. !important needed because
       Flickity writes inline styles after init. */
    .related-products-wrapper .row-slider,
    .related.products .row-slider,
    .product-section .row-slider.row {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 18px 14px !important;
        height: auto !important;
    }
    /* Flickity wraps items in .flickity-slider with absolute positioning. Disable. */
    .related-products-wrapper .flickity-slider,
    .related.products .flickity-slider,
    .product-section .flickity-slider {
        position: static !important;
        transform: none !important;
        display: contents !important;
        width: auto !important;
        height: auto !important;
    }
    /* Each product card: snap into the grid cell. */
    .related-products-wrapper .product-small,
    .related.products .product-small,
    .product-section .product-small {
        position: static !important;
        left: auto !important;
        top: auto !important;
        right: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        transform: none !important;
    }
    /* Kill slider arrows on mobile — they cluttered the cream. */
    .related-products-wrapper .flickity-button,
    .related-products-wrapper .flickity-prev-next-button,
    .related.products .flickity-button,
    .related.products .flickity-prev-next-button,
    .product-section .flickity-button {
        display: none !important;
    }
    /* Cap visible items to 4 (2 rows of 2) so the section stays tight on mobile. */
    .related-products-wrapper .product-small:nth-of-type(n+5),
    .related.products .product-small:nth-of-type(n+5),
    .product-section .row-slider .product-small:nth-of-type(n+5) {
        display: none !important;
    }
    /* Section heading polish for related */
    .related-products-wrapper .product-section-title,
    .related.products > h2,
    .related.products .product-section-title {
        font-family: 'soteri', 'Noto Serif Georgian', Georgia, serif !important;
        font-size: 18px !important;
        font-weight: 300 !important;
        letter-spacing: 5px !important;
        text-align: center !important;
        text-transform: uppercase !important;
        margin: 0 0 28px !important;
        padding: 0 16px !important;
        color: var(--soteri-dark) !important;
    }
}


/* ─────────────────────────────────────────────────
   BRAND-DESIGN POLISH — places where the brand
   was getting lost on mobile
   ───────────────────────────────────────────────── */

@media (max-width: 768px) {
    /* Cart count badge on the header bag icon — too orange/bright;
       make it elegant gold matching brand */
    .header-cart-link .cart-item.cart-count,
    .header-button .cart-item.cart-count,
    .cart-icon strong {
        background: var(--soteri-gold) !important;
        color: #fff !important;
        font-family: 'soteri', sans-serif !important;
        font-size: 9px !important;
        letter-spacing: 0.5px !important;
        font-weight: 500 !important;
        line-height: 18px !important;
        height: 18px !important;
        min-width: 18px !important;
        border: none !important;
    }

    /* Header sticky shadow softer — was harsh on mobile scroll */
    .header.has-sticky.stuck #wrapper #header,
    .stuck #header,
    #header.is-sticky {
        box-shadow: 0 1px 0 var(--soteri-border) !important;
    }

    /* Default sorting dropdown — make it brand-consistent */
    .woocommerce-ordering select,
    .woocommerce .woocommerce-ordering select {
        font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
        font-size: 11px !important;
        letter-spacing: 2.5px !important;
        text-transform: uppercase !important;
        color: var(--soteri-dark) !important;
        background: transparent !important;
        border: 1px solid var(--soteri-border) !important;
        border-radius: 0 !important;
        padding: 12px 36px 12px 16px !important;
        height: auto !important;
        max-width: 100% !important;
    }

    /* Breadcrumb on product page — small and elegant, not bold black */
    .single-product .woocommerce-breadcrumb,
    .single-product .product-page-title .breadcrumbs {
        font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
        font-size: 10px !important;
        letter-spacing: 2px !important;
        text-transform: uppercase !important;
        color: var(--soteri-text-light) !important;
        margin-bottom: 14px !important;
    }
    .single-product .woocommerce-breadcrumb a {
        color: var(--soteri-text-light) !important;
    }
    .single-product .woocommerce-breadcrumb a:hover {
        color: var(--soteri-gold) !important;
    }

    /* Make sure the header logo is centered & not stretched on mobile */
    #header .header-logo img,
    #header .logo img {
        max-height: 44px !important;
        width: auto !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   v9.1 — Override: Flatsome uses .off-canvas-left (NOT .mfp-mobile-menu).
   The .mfp-content wrapper is locked at 300px. Target the real classes.
   ═══════════════════════════════════════════════════════════════ */

@media (max-width: 849px) {
    /* The crucial overrides — .off-canvas-left is Flatsome's mobile drawer class */
    .mfp-wrap.off-canvas-left .mfp-content,
    .mfp-wrap.off-canvas .mfp-content {
        max-width: 100vw !important;
        width: 100vw !important;
        margin: 0 !important;
        left: 0 !important;
        right: 0 !important;
    }
    .mfp-wrap.off-canvas-left .mfp-container,
    .mfp-wrap.off-canvas .mfp-container {
        padding: 0 !important;
        width: 100vw !important;
    }
    .mfp-wrap.off-canvas-left #main-menu,
    .mfp-wrap.off-canvas-left #main-menu.mobile-sidebar,
    .mfp-wrap.off-canvas #main-menu,
    .mfp-wrap.off-canvas #main-menu.mobile-sidebar,
    html.has-off-canvas-left #main-menu.mobile-sidebar,
    html.has-off-canvas #main-menu.mobile-sidebar {
        width: 100vw !important;
        max-width: 100vw !important;
        min-height: 100vh !important;
        background: var(--soteri-cream) !important;
        padding: 0 !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        box-shadow: none !important;
    }
    /* Backdrop solid cream */
    .mfp-bg.off-canvas-left,
    .mfp-bg.off-canvas {
        background: rgba(248, 246, 243, 0.98) !important;
        opacity: 1 !important;
    }
    /* Sidebar-menu inner: also full-width flex column */
    .mfp-wrap.off-canvas-left #main-menu .sidebar-menu,
    .mfp-wrap.off-canvas #main-menu .sidebar-menu {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        padding: 0 !important;
        width: 100% !important;
        background: transparent !important;
    }

    /* Nav list inside the full-width drawer */
    .mfp-wrap.off-canvas-left #main-menu .nav.nav-sidebar,
    .mfp-wrap.off-canvas-left #main-menu ul.nav,
    .mfp-wrap.off-canvas #main-menu .nav.nav-sidebar,
    .mfp-wrap.off-canvas #main-menu ul.nav {
        flex: 1 !important;
        padding: 30px 30px 20px !important;
        margin: 0 !important;
        list-style: none !important;
        background: transparent !important;
        border: none !important;
        display: flex !important;
        flex-direction: column !important;
    }
    .mfp-wrap.off-canvas-left #main-menu .nav-sidebar > li > a,
    .mfp-wrap.off-canvas-left #main-menu .nav > li > a,
    .mfp-wrap.off-canvas #main-menu .nav-sidebar > li > a,
    .mfp-wrap.off-canvas #main-menu .nav > li > a {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        font-family: 'soteri', 'Noto Sans Georgian', Georgia, serif !important;
        font-size: 20px !important;
        font-weight: 300 !important;
        letter-spacing: 4px !important;
        text-transform: uppercase !important;
        color: var(--soteri-dark) !important;
        padding: 22px 0 !important;
        border-bottom: 1px solid var(--soteri-border) !important;
        background: transparent !important;
        line-height: 1.3 !important;
        transition: color 0.35s var(--soteri-ease),
                    letter-spacing 0.35s var(--soteri-ease),
                    padding-left 0.35s var(--soteri-ease) !important;
    }
    .mfp-wrap.off-canvas-left #main-menu .nav-sidebar > li > a:hover,
    .mfp-wrap.off-canvas-left #main-menu .nav > li > a:hover {
        color: var(--soteri-gold) !important;
        letter-spacing: 5px !important;
        padding-left: 6px !important;
    }

    /* Hide auto-expanded "MY ACCOUNT" sub-menu on mobile so the nav stays clean.
       Users can tap MY ACCOUNT to go to /my-account/ — the sub-items there. */
    .mfp-wrap.off-canvas-left #main-menu .nav-sidebar > li > ul.sub-menu,
    .mfp-wrap.off-canvas-left #main-menu .nav-sidebar > li > ul.children,
    .mfp-wrap.off-canvas #main-menu .nav-sidebar > li > ul.sub-menu,
    .mfp-wrap.off-canvas #main-menu .nav-sidebar > li > ul.children {
        display: none !important;
    }
    /* But still show if user taps toggle (Flatsome adds .active class on parent <li>) */
    .mfp-wrap.off-canvas-left #main-menu .nav-sidebar > li.active > ul.sub-menu,
    .mfp-wrap.off-canvas-left #main-menu .nav-sidebar > li.active > ul.children {
        display: block !important;
    }

    /* Close button reposition — Flatsome's close lives directly in .mfp-wrap */
    .mfp-wrap.off-canvas-left .mfp-close,
    .mfp-wrap.off-canvas-left button.mfp-close,
    .mfp-wrap.off-canvas .mfp-close,
    .mfp-wrap.off-canvas button.mfp-close {
        position: fixed !important;
        top: 16px !important;
        right: 14px !important;
        width: 46px !important;
        height: 46px !important;
        font-size: 0 !important;
        line-height: 0 !important;
        color: transparent !important;
        background: transparent !important;
        border: none !important;
        opacity: 1 !important;
        z-index: 9999 !important;
        cursor: pointer !important;
    }
    .mfp-wrap.off-canvas-left .mfp-close::before,
    .mfp-wrap.off-canvas-left .mfp-close::after,
    .mfp-wrap.off-canvas .mfp-close::before,
    .mfp-wrap.off-canvas .mfp-close::after {
        content: "" !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        width: 20px !important;
        height: 1px !important;
        background: var(--soteri-dark) !important;
    }
    .mfp-wrap.off-canvas-left .mfp-close::before,
    .mfp-wrap.off-canvas .mfp-close::before {
        transform: translate(-50%, -50%) rotate(45deg) !important;
    }
    .mfp-wrap.off-canvas-left .mfp-close::after,
    .mfp-wrap.off-canvas .mfp-close::after {
        transform: translate(-50%, -50%) rotate(-45deg) !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   v9.2 — Mobile drawer now mirrors desktop nav (WOMEN, COLLECTIONS,
   EXPLORE + their submenus). Polish the submenu expansion UX.
   ═══════════════════════════════════════════════════════════════ */

@media (max-width: 849px) {
    /* Caret toggle on parent items — make it elegant */
    .mfp-wrap.off-canvas-left #main-menu li.menu-item-has-children > a::after,
    .mfp-wrap.off-canvas-left #main-menu li.has-dropdown > a::after,
    .mfp-wrap.off-canvas #main-menu li.menu-item-has-children > a::after,
    .mfp-wrap.off-canvas #main-menu li.has-dropdown > a::after {
        content: "+" !important;
        font-family: 'soteri', sans-serif !important;
        font-size: 18px !important;
        font-weight: 200 !important;
        color: var(--soteri-text-light) !important;
        margin-left: 12px !important;
        transition: transform 0.3s var(--soteri-ease), color 0.3s var(--soteri-ease) !important;
        line-height: 1 !important;
    }
    .mfp-wrap.off-canvas-left #main-menu li.active > a::after,
    .mfp-wrap.off-canvas #main-menu li.active > a::after {
        content: "−" !important;
        color: var(--soteri-gold) !important;
    }

    /* Hide Flatsome's default toggle button (we use ::after caret on the link itself) */
    .mfp-wrap.off-canvas-left #main-menu .toggle,
    .mfp-wrap.off-canvas #main-menu .toggle {
        display: none !important;
    }

    /* Submenu items: indented, smaller, lighter — match Acne aesthetic */
    .mfp-wrap.off-canvas-left #main-menu .nav-sidebar .sub-menu,
    .mfp-wrap.off-canvas-left #main-menu .nav-sidebar .children,
    .mfp-wrap.off-canvas #main-menu .nav-sidebar .sub-menu,
    .mfp-wrap.off-canvas #main-menu .nav-sidebar .children {
        padding: 4px 0 14px 6px !important;
        margin: 0 !important;
        list-style: none !important;
        background: transparent !important;
        border: none !important;
    }
    .mfp-wrap.off-canvas-left #main-menu .sub-menu > li,
    .mfp-wrap.off-canvas-left #main-menu .children > li,
    .mfp-wrap.off-canvas #main-menu .sub-menu > li,
    .mfp-wrap.off-canvas #main-menu .children > li {
        border: none !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }
    .mfp-wrap.off-canvas-left #main-menu .sub-menu > li > a,
    .mfp-wrap.off-canvas-left #main-menu .children > li > a,
    .mfp-wrap.off-canvas #main-menu .sub-menu > li > a,
    .mfp-wrap.off-canvas #main-menu .children > li > a {
        display: block !important;
        font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
        font-size: 13px !important;
        font-weight: 400 !important;
        letter-spacing: 2.5px !important;
        text-transform: uppercase !important;
        color: var(--soteri-text-light) !important;
        padding: 12px 14px !important;
        border-bottom: none !important;
        background: transparent !important;
        line-height: 1.3 !important;
        transition: color 0.3s var(--soteri-ease), padding-left 0.3s var(--soteri-ease) !important;
    }
    .mfp-wrap.off-canvas-left #main-menu .sub-menu > li > a:hover,
    .mfp-wrap.off-canvas-left #main-menu .children > li > a:hover,
    .mfp-wrap.off-canvas #main-menu .sub-menu > li > a:hover {
        color: var(--soteri-gold) !important;
        padding-left: 20px !important;
    }

    /* The big block-style dropdowns (Women, Collections) can contain UX blocks
       with images. Hide those on mobile — just show the text links. */
    .mfp-wrap.off-canvas-left #main-menu .menu-item-design-container-width .nav-column,
    .mfp-wrap.off-canvas-left #main-menu .menu-item-design-container-width img,
    .mfp-wrap.off-canvas-left #main-menu .menu-item-has-block img,
    .mfp-wrap.off-canvas #main-menu .menu-item-design-container-width img,
    .mfp-wrap.off-canvas #main-menu .menu-item-has-block img {
        display: none !important;
    }
    /* But keep text content from the block (heading + link list) */
    .mfp-wrap.off-canvas-left #main-menu .menu-item-design-container-width .nav-dropdown-inner,
    .mfp-wrap.off-canvas-left #main-menu .menu-item-design-container-width .container,
    .mfp-wrap.off-canvas #main-menu .menu-item-design-container-width .container {
        padding: 0 !important;
        max-width: 100% !important;
    }

    /* Override Flatsome's mobile nav-dropdown that may force grid columns */
    .mfp-wrap.off-canvas-left #main-menu .nav-dropdown,
    .mfp-wrap.off-canvas #main-menu .nav-dropdown {
        position: static !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        display: none !important;
        opacity: 1 !important;
        transform: none !important;
        visibility: visible !important;
    }
    /* Show dropdown when parent .active */
    .mfp-wrap.off-canvas-left #main-menu li.active > .nav-dropdown,
    .mfp-wrap.off-canvas-left #main-menu li.active > .sub-menu,
    .mfp-wrap.off-canvas #main-menu li.active > .nav-dropdown,
    .mfp-wrap.off-canvas #main-menu li.active > .sub-menu {
        display: block !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   v10.0 — Mobile menu refinement.
   - Smaller, more elegant fonts (was too big in v9)
   - Real logo image (from Customizer > Header > Logo) instead of wordmark
   - Social icons row in footer
   - Classes renamed soteri-mm-* for clarity (was soteri-mobile-*)
   - Everything is reversible/configurable via Customizer > Soteri Mobile Menu
   ═══════════════════════════════════════════════════════════════ */

@media (max-width: 849px) {

    /* ─── HEADER (logo or wordmark) ─── */
    .soteri-mm-header {
        padding: 22px 24px 18px !important;
        border-bottom: 1px solid var(--soteri-border) !important;
        text-align: center !important;
        background: transparent !important;
    }
    .soteri-mm-logo {
        display: inline-block !important;
        line-height: 0 !important;
    }
    .soteri-mm-logo img {
        max-height: 42px !important;
        width: auto !important;
        max-width: 140px !important;
        object-fit: contain !important;
        opacity: 1 !important;
        transition: opacity 0.3s var(--soteri-ease) !important;
    }
    .soteri-mm-logo:hover img,
    .soteri-mm-logo:focus img {
        opacity: 0.75 !important;
    }
    /* Wordmark fallback */
    .soteri-mm-wordmark {
        display: inline-block !important;
        font-family: 'soteri', 'Noto Serif Georgian', Georgia, serif !important;
        font-size: 18px !important;
        font-weight: 300 !important;
        letter-spacing: 8px !important;
        padding-left: 8px !important;
        text-transform: uppercase !important;
        color: var(--soteri-dark) !important;
        text-decoration: none !important;
        line-height: 1 !important;
    }
    .soteri-mm-wordmark:hover,
    .soteri-mm-wordmark:focus {
        color: var(--soteri-gold) !important;
    }

    /* ─── NAV ITEMS — smaller, more elegant ─── */
    .mfp-wrap.off-canvas-left #main-menu .nav.nav-sidebar,
    .mfp-wrap.off-canvas-left #main-menu ul.nav,
    .mfp-wrap.off-canvas #main-menu .nav.nav-sidebar,
    .mfp-wrap.off-canvas #main-menu ul.nav {
        padding: 20px 24px 16px !important;
    }
    .mfp-wrap.off-canvas-left #main-menu .nav-sidebar > li > a,
    .mfp-wrap.off-canvas-left #main-menu .nav > li > a,
    .mfp-wrap.off-canvas #main-menu .nav-sidebar > li > a,
    .mfp-wrap.off-canvas #main-menu .nav > li > a {
        font-size: 15px !important;
        letter-spacing: 3px !important;
        padding: 17px 0 !important;
        font-weight: 400 !important;
    }
    .mfp-wrap.off-canvas-left #main-menu .nav-sidebar > li > a:hover,
    .mfp-wrap.off-canvas-left #main-menu .nav > li > a:hover {
        letter-spacing: 4px !important;
        padding-left: 4px !important;
    }
    /* Submenu items — smaller still */
    .mfp-wrap.off-canvas-left #main-menu .sub-menu > li > a,
    .mfp-wrap.off-canvas-left #main-menu .children > li > a,
    .mfp-wrap.off-canvas #main-menu .sub-menu > li > a,
    .mfp-wrap.off-canvas #main-menu .children > li > a {
        font-size: 11.5px !important;
        letter-spacing: 2px !important;
        padding: 10px 12px !important;
    }
    /* Caret on expandable items — smaller */
    .mfp-wrap.off-canvas-left #main-menu li.menu-item-has-children > a::after,
    .mfp-wrap.off-canvas-left #main-menu li.has-dropdown > a::after,
    .mfp-wrap.off-canvas #main-menu li.menu-item-has-children > a::after,
    .mfp-wrap.off-canvas #main-menu li.has-dropdown > a::after {
        font-size: 15px !important;
    }

    /* ─── FOOTER (social + lang + util) ─── */
    .soteri-mm-footer {
        padding: 20px 24px 28px !important;
        border-top: 1px solid var(--soteri-border) !important;
        text-align: center !important;
        background: transparent !important;
    }

    /* Social icons row */
    .soteri-mm-social {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 22px !important;
        margin-bottom: 20px !important;
    }
    .soteri-mm-social-link {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 36px !important;
        height: 36px !important;
        border-radius: 50% !important;
        border: 1px solid var(--soteri-border) !important;
        color: var(--soteri-text-light) !important;
        text-decoration: none !important;
        transition: color 0.3s var(--soteri-ease), border-color 0.3s var(--soteri-ease), transform 0.3s var(--soteri-ease) !important;
    }
    .soteri-mm-social-link i {
        font-size: 14px !important;
        line-height: 1 !important;
    }
    .soteri-mm-social-link:hover,
    .soteri-mm-social-link:focus {
        color: var(--soteri-gold) !important;
        border-color: var(--soteri-gold) !important;
        transform: translateY(-1px) !important;
    }

    /* Language switcher — compact */
    .soteri-mm-lang {
        font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
        font-size: 11px !important;
        letter-spacing: 3.5px !important;
        text-transform: uppercase !important;
        margin-bottom: 12px !important;
        line-height: 1 !important;
    }
    .soteri-mm-lang a {
        color: var(--soteri-text-light) !important;
        padding: 0 6px !important;
        text-decoration: none !important;
        transition: color 0.3s var(--soteri-ease) !important;
    }
    .soteri-mm-lang a.active,
    .soteri-mm-lang a.current-lang,
    .soteri-mm-lang a[aria-current],
    .soteri-mm-lang .current-language a {
        color: var(--soteri-dark) !important;
    }
    .soteri-mm-lang a:hover {
        color: var(--soteri-gold) !important;
    }
    .soteri-mm-lang span,
    .soteri-mm-lang .sep {
        color: var(--soteri-border) !important;
        padding: 0 2px !important;
    }
    .soteri-mm-lang .trp-language-switcher,
    .soteri-mm-lang ul,
    .soteri-mm-lang li {
        display: inline !important;
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }
    .soteri-mm-lang img,
    .soteri-mm-lang .trp-flag-image {
        display: none !important;
    }

    /* Utility row — Account · Cart */
    .soteri-mm-util {
        font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
        font-size: 10px !important;
        letter-spacing: 2.5px !important;
        text-transform: uppercase !important;
        line-height: 1 !important;
    }
    .soteri-mm-util a {
        color: var(--soteri-text-light) !important;
        padding: 0 8px !important;
        text-decoration: none !important;
        transition: color 0.3s var(--soteri-ease) !important;
    }
    .soteri-mm-util a:hover {
        color: var(--soteri-gold) !important;
    }
    .soteri-mm-util .sep {
        color: var(--soteri-border) !important;
        padding: 0 2px !important;
    }

    /* Adjust header padding now that fonts are smaller (more room) */
    .mfp-wrap.off-canvas-left .mfp-close,
    .mfp-wrap.off-canvas .mfp-close {
        top: 14px !important;
        right: 10px !important;
        width: 42px !important;
        height: 42px !important;
    }
    .mfp-wrap.off-canvas-left .mfp-close::before,
    .mfp-wrap.off-canvas-left .mfp-close::after,
    .mfp-wrap.off-canvas .mfp-close::before,
    .mfp-wrap.off-canvas .mfp-close::after {
        width: 18px !important;
    }

    /* ─── Hide the old v9-era classes if they're still in DOM (safety) ─── */
    .soteri-mobile-header,
    .soteri-mobile-footer {
        display: none !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   v11.0 — Full-site brand pass.
   Strategy (Codex consensus): fix CROSS-CUTTING PRIMITIVES first
   (buttons, inputs, notices) — every page benefits automatically.
   Then surface-specific polish for Cart, Checkout, My Account, header.
   ═══════════════════════════════════════════════════════════════ */


/* ─────────────────────────────────────────────────
   TIER 1 — BUTTONS (site-wide unification)
   Three variants: primary (solid dark), secondary
   (outline), tertiary (text-link). Zero radius. No
   shadows. Hover = color shift only, no transforms.
   ───────────────────────────────────────────────── */

.button,
button.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button,
input[type="submit"].button,
.is-form,
.button.primary,
.button.is-large,
.checkout-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--soteri-dark) !important;
    color: #fff !important;
    border: 1px solid var(--soteri-dark) !important;
    border-radius: 0 !important;
    font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    line-height: 1 !important;
    height: 48px !important;
    padding: 0 26px !important;
    cursor: pointer !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transition: background-color 0.3s var(--soteri-ease),
                color 0.3s var(--soteri-ease),
                border-color 0.3s var(--soteri-ease),
                letter-spacing 0.3s var(--soteri-ease) !important;
}
.button:hover,
button.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover,
.checkout-button:hover,
input[type="submit"].button:hover {
    background: var(--soteri-gold) !important;
    border-color: var(--soteri-gold) !important;
    color: #fff !important;
    letter-spacing: 3.5px !important;
    transform: none !important;
}
/* Secondary (outline) variant — Continue Shopping, Update Cart, etc. */
.button.secondary,
.button.is-outline,
.woocommerce a.button.wc-backward,
.woocommerce button[name="update_cart"],
.woocommerce-page button[name="update_cart"],
.button.tab,
.button.text {
    background: transparent !important;
    color: var(--soteri-dark) !important;
    border: 1px solid var(--soteri-border) !important;
}
.button.secondary:hover,
.button.is-outline:hover,
.woocommerce a.button.wc-backward:hover,
.woocommerce button[name="update_cart"]:hover {
    background: transparent !important;
    color: var(--soteri-gold) !important;
    border-color: var(--soteri-gold) !important;
}
/* Disabled state */
.button:disabled,
button.button:disabled,
.woocommerce button.button:disabled,
.button[disabled] {
    background: var(--soteri-text-light) !important;
    border-color: var(--soteri-text-light) !important;
    color: #fff !important;
    cursor: not-allowed !important;
    opacity: 0.8 !important;
}


/* ─────────────────────────────────────────────────
   TIER 1 — FORM INPUTS (site-wide unification)
   Hairline-only borders, no rounding, no fill.
   Focus = border darkens, no glow.
   ───────────────────────────────────────────────── */

input[type="text"]:not(.qty),
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"]:not(.qty),
input[type="search"],
input[type="url"],
input[type="date"],
textarea,
select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select,
.select2-container--default .select2-selection--single,
.select2-container .select2-selection,
.woocommerce-input-wrapper input {
    background: transparent !important;
    border: 1px solid var(--soteri-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
    font-size: 13px !important;
    color: var(--soteri-dark) !important;
    height: 46px !important;
    padding: 0 14px !important;
    line-height: 1.4 !important;
    transition: border-color 0.3s var(--soteri-ease) !important;
}
textarea {
    height: auto !important;
    min-height: 100px !important;
    padding: 14px !important;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
textarea:focus,
select:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce-input-wrapper input:focus {
    border-color: var(--soteri-dark) !important;
    outline: none !important;
    box-shadow: none !important;
}
/* Form labels — light, uppercase, letter-spaced */
.woocommerce form .form-row label,
.woocommerce-page form .form-row label,
form.checkout label,
.woocommerce-form-login label,
.woocommerce-form-register label,
.edit-account label,
.woocommerce-address-fields label,
form.cart label {
    font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: var(--soteri-text-light) !important;
    margin-bottom: 6px !important;
}
/* The required-field "*" — gold, not red */
.woocommerce form .form-row .required,
.woocommerce form .form-row abbr.required {
    color: var(--soteri-gold) !important;
    text-decoration: none !important;
    border: none !important;
}
/* Placeholder text */
::placeholder { color: var(--soteri-text-light) !important; opacity: 0.7 !important; }


/* ─────────────────────────────────────────────────
   TIER 1 — WOOCOMMERCE NOTICES
   Cream background + 2px gold/dark left border. No icons.
   ───────────────────────────────────────────────── */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice,
.woocommerce-notice--success,
.woocommerce-notice--info,
.woocommerce-notice--error {
    background: var(--soteri-cream) !important;
    border: none !important;
    border-left: 2px solid var(--soteri-gold) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--soteri-dark) !important;
    font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
    font-size: 13px !important;
    letter-spacing: 0.5px !important;
    padding: 18px 22px !important;
    margin: 0 0 24px !important;
    list-style: none !important;
}
.woocommerce-info {
    border-left-color: var(--soteri-dark) !important;
}
.woocommerce-error {
    border-left-color: #b04a3a !important;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before,
.woocommerce-notice::before {
    display: none !important;
    content: "" !important;
}
.woocommerce-message a,
.woocommerce-info a {
    color: var(--soteri-dark) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}
.woocommerce-message a.button,
.woocommerce-info a.button {
    /* Demote in-notice buttons to text-link */
    background: transparent !important;
    color: var(--soteri-dark) !important;
    border: none !important;
    padding: 0 !important;
    height: auto !important;
    text-decoration: underline !important;
    font-size: 11px !important;
}


/* ─────────────────────────────────────────────────
   TIER 2 — GLOBAL HEADER UTILITIES
   Currency switcher, search overlay, mini-cart.
   ───────────────────────────────────────────────── */

/* Currency switcher (Yay/Aelia/FOX/etc.) — strip the pill */
.yay-currency-switcher,
.yay-currency-switcher-wrap,
.fox-currency-switcher,
.wmcs-currency,
[class*="currency-switcher"] {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}
.yay-currency-switcher .yay-currency-current,
.fox-current-currency,
.wmcs-currency-current,
[class*="currency-switcher"] > a,
[class*="currency-switcher"] > button,
[class*="currency-switcher"] .current {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 6px !important;
    font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: var(--soteri-text-light) !important;
}
.yay-currency-switcher .yay-currency-current:hover,
[class*="currency-switcher"] > a:hover,
[class*="currency-switcher"] > button:hover {
    color: var(--soteri-dark) !important;
}
[class*="currency-switcher"] img,
.yay-currency-switcher img,
.fox-currency-switcher img {
    display: none !important;
}

/* Mini-cart slide-out drawer */
.cart-popup,
#cart-popup,
.mfp-content .widget_shopping_cart,
.mini_cart_inner,
.widget_shopping_cart_content {
    background: #fff !important;
    padding: 32px 28px !important;
}
.widget_shopping_cart .product_list_widget,
.widget_shopping_cart_content .product_list_widget {
    padding: 0 !important;
    margin: 0 0 24px !important;
    list-style: none !important;
}
.widget_shopping_cart .product_list_widget li,
.widget_shopping_cart_content .cart_list li {
    padding: 18px 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid var(--soteri-border) !important;
    background: transparent !important;
    list-style: none !important;
    position: relative !important;
}
.widget_shopping_cart_content .cart_list li img {
    width: 64px !important;
    height: auto !important;
    border: 1px solid var(--soteri-border) !important;
    border-radius: 0 !important;
}
.widget_shopping_cart_content .cart_list li a:not(.remove) {
    font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
    font-size: 12px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: var(--soteri-dark) !important;
    font-weight: 500 !important;
}
.widget_shopping_cart_content .cart_list .quantity {
    font-family: 'soteri', Inter, sans-serif !important;
    font-size: 11px !important;
    color: var(--soteri-text-light) !important;
    letter-spacing: 1px !important;
}
.widget_shopping_cart_content .total {
    border-top: 1px solid var(--soteri-border) !important;
    border-bottom: none !important;
    padding: 16px 0 !important;
    margin: 0 0 18px !important;
    font-size: 12px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: var(--soteri-dark) !important;
}
.widget_shopping_cart_content .total strong {
    font-weight: 500 !important;
}
.widget_shopping_cart_content .buttons {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}
.widget_shopping_cart_content .buttons a {
    width: 100% !important;
    text-align: center !important;
}


/* ─────────────────────────────────────────────────
   TIER 3 — CART PAGE
   Hairline-only, lighter prices, demoted secondary buttons.
   ───────────────────────────────────────────────── */

/* Headings in cart/checkout/account — lighten Flatsome's bold default */
.woocommerce h2,
.woocommerce h3,
.woocommerce-cart h2,
.woocommerce-cart h3,
.cart_totals h2,
.cart_totals h3,
.cross-sells > h2,
#order_review_heading,
.woocommerce-account h2,
.woocommerce-account h3,
.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3,
.woocommerce-additional-fields > h3 {
    font-family: 'soteri', 'Noto Serif Georgian', Georgia, serif !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    color: var(--soteri-dark) !important;
    margin: 0 0 24px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid var(--soteri-border) !important;
}
html[lang="ka-GE"] .woocommerce h2,
html[lang="ka-GE"] .woocommerce h3,
body.translatepress-ka_GE .woocommerce h2,
body.translatepress-ka_GE .woocommerce h3 {
    letter-spacing: 1px !important;
}

/* Cart table — hairline only */
.woocommerce-cart-form,
.woocommerce table.shop_table,
.woocommerce-cart table.shop_table,
.woocommerce-page table.shop_table {
    border: none !important;
    border-radius: 0 !important;
    border-collapse: collapse !important;
    background: transparent !important;
}
.woocommerce-cart-form thead th,
.woocommerce table.shop_table thead th {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid var(--soteri-border) !important;
    font-family: 'soteri', Inter, sans-serif !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    color: var(--soteri-text-light) !important;
    padding: 14px 8px !important;
}
.woocommerce-cart-form tbody td,
.woocommerce table.shop_table tbody td {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid var(--soteri-border) !important;
    padding: 22px 8px !important;
    vertical-align: middle !important;
}
.woocommerce-cart-form .product-name a,
.woocommerce-cart .product-name a {
    font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
    font-size: 12px !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    color: var(--soteri-dark) !important;
    font-weight: 500 !important;
}
/* All price displays — lighten the Flatsome bold default */
.woocommerce-cart .product-price,
.woocommerce-cart .product-subtotal,
.woocommerce .price,
.cart_totals .order-total,
.cart-subtotal,
.cart_totals tr td,
.cart_totals .amount,
.cart-subtotal .amount,
.order-total .amount,
.woocommerce-Price-amount,
.woocommerce-cart .amount {
    font-family: 'soteri', Inter, sans-serif !important;
    font-weight: 400 !important;
    color: var(--soteri-dark) !important;
}
.cart_totals .order-total .amount,
.order-total .amount {
    font-weight: 500 !important;
    font-size: 15px !important;
}

/* Remove ("x") column → small text link */
.woocommerce-cart-form .product-remove a.remove,
.woocommerce .remove {
    width: 22px !important;
    height: 22px !important;
    line-height: 22px !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: var(--soteri-text-light) !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    border: 1px solid var(--soteri-border) !important;
    transition: color 0.3s var(--soteri-ease), border-color 0.3s var(--soteri-ease) !important;
}
.woocommerce-cart-form .product-remove a.remove:hover,
.woocommerce .remove:hover {
    color: var(--soteri-gold) !important;
    border-color: var(--soteri-gold) !important;
    background: transparent !important;
}

/* Cart quantity stepper — hairline buttons */
.quantity,
.woocommerce .quantity {
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid var(--soteri-border) !important;
}
.quantity input.qty,
.woocommerce .quantity input.qty {
    border: none !important;
    background: transparent !important;
    width: 40px !important;
    height: 38px !important;
    padding: 0 !important;
    text-align: center !important;
    font-family: 'soteri', Inter, sans-serif !important;
    font-size: 13px !important;
    color: var(--soteri-dark) !important;
    -moz-appearance: textfield !important;
}
.quantity input.qty::-webkit-outer-spin-button,
.quantity input.qty::-webkit-inner-spin-button { display: none !important; }
.quantity .button.plus,
.quantity .button.minus,
.quantity button[type="button"] {
    background: transparent !important;
    border: none !important;
    color: var(--soteri-dark) !important;
    width: 32px !important;
    height: 38px !important;
    padding: 0 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}
.quantity .button.plus:hover,
.quantity .button.minus:hover {
    color: var(--soteri-gold) !important;
    background: transparent !important;
    letter-spacing: 0 !important;
}

/* Cart totals box — cream tint */
.cart_totals,
.woocommerce .cart_totals {
    background: var(--soteri-cream) !important;
    padding: 28px 24px !important;
    border: none !important;
}
.cart_totals table {
    border: none !important;
    width: 100% !important;
}
.cart_totals table th,
.cart_totals table td {
    border: none !important;
    border-bottom: 1px solid var(--soteri-border) !important;
    padding: 14px 0 !important;
    background: transparent !important;
    font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
    font-size: 12px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: var(--soteri-text) !important;
}
.cart_totals table tr:last-child th,
.cart_totals table tr:last-child td {
    border-bottom: none !important;
}
.cart_totals .order-total th,
.cart_totals .order-total td {
    color: var(--soteri-dark) !important;
    font-weight: 500 !important;
}

/* Coupon form — minimalist inline */
.coupon,
.woocommerce-cart .coupon {
    display: flex !important;
    gap: 10px !important;
    align-items: stretch !important;
    margin-bottom: 24px !important;
}
.coupon input[name="coupon_code"] {
    flex: 1 !important;
    min-width: 0 !important;
}


/* ─────────────────────────────────────────────────
   TIER 3 — CHECKOUT
   Form inputs already covered by Tier 1. Polish section
   headings + order review box + payment method radios.
   ───────────────────────────────────────────────── */

.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading {
    background: var(--soteri-cream) !important;
    padding: 30px 24px !important;
    border: none !important;
    border-radius: 0 !important;
}
.woocommerce-checkout #order_review_heading {
    margin-bottom: 0 !important;
    border-bottom: none !important;
    padding-bottom: 22px !important;
}
.woocommerce-checkout #order_review {
    margin-top: 0 !important;
}
.woocommerce-checkout #order_review table.shop_table {
    border: none !important;
}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
    border: none !important;
    border-bottom: 1px solid var(--soteri-border) !important;
    padding: 14px 8px !important;
    background: transparent !important;
}

/* Payment methods box */
.woocommerce-checkout-payment,
#payment {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-top: 20px !important;
}
.woocommerce-checkout-payment ul.payment_methods,
#payment ul.payment_methods {
    background: transparent !important;
    border: 1px solid var(--soteri-border) !important;
    border-radius: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    margin: 0 0 24px !important;
}
.woocommerce-checkout-payment ul.payment_methods li,
#payment ul.payment_methods li {
    padding: 18px 22px !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid var(--soteri-border) !important;
    list-style: none !important;
}
.woocommerce-checkout-payment ul.payment_methods li:last-child {
    border-bottom: none !important;
}
.woocommerce-checkout-payment ul.payment_methods li label {
    font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
    font-size: 13px !important;
    letter-spacing: 1.5px !important;
    color: var(--soteri-dark) !important;
    text-transform: none !important;
    font-weight: 500 !important;
}
.woocommerce-checkout-payment .payment_box {
    background: transparent !important;
    border: none !important;
    margin-top: 12px !important;
    padding: 8px 0 0 24px !important;
    color: var(--soteri-text) !important;
    font-size: 12px !important;
}
.woocommerce-checkout-payment .payment_box::before {
    display: none !important;
}

/* Select2 (country dropdown etc.) — match input style */
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 44px !important;
    color: var(--soteri-dark) !important;
    font-family: 'soteri', Inter, sans-serif !important;
    font-size: 13px !important;
    padding-left: 12px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 44px !important;
}
.select2-dropdown {
    border: 1px solid var(--soteri-border) !important;
    border-radius: 0 !important;
    background: #fff !important;
}
.select2-results__option {
    font-family: 'soteri', Inter, sans-serif !important;
    font-size: 13px !important;
    padding: 10px 14px !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: var(--soteri-cream) !important;
    color: var(--soteri-dark) !important;
}


/* ─────────────────────────────────────────────────
   TIER 4 — MY ACCOUNT
   ───────────────────────────────────────────────── */

/* Page header */
.woocommerce-account .page-title,
.woocommerce-account .page-title-inner h1,
.woocommerce-account .entry-header h1 {
    font-family: 'soteri', 'Noto Serif Georgian', Georgia, serif !important;
    font-weight: 300 !important;
    font-size: clamp(20px, 4.5vw, 28px) !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    color: var(--soteri-dark) !important;
}
html[lang="ka-GE"] .woocommerce-account .page-title,
body.translatepress-ka_GE .woocommerce-account .page-title {
    letter-spacing: 1px !important;
}

/* Side-nav */
.woocommerce-MyAccount-navigation ul,
.woocommerce-MyAccount-navigation {
    background: transparent !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 30px !important;
}
.woocommerce-MyAccount-navigation li {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid var(--soteri-border) !important;
    padding: 0 !important;
    list-style: none !important;
}
.woocommerce-MyAccount-navigation li a {
    display: block !important;
    font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
    font-size: 12px !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    color: var(--soteri-text-light) !important;
    padding: 16px 0 !important;
    text-decoration: none !important;
    transition: color 0.3s var(--soteri-ease), padding-left 0.3s var(--soteri-ease) !important;
}
.woocommerce-MyAccount-navigation li a:hover {
    color: var(--soteri-gold) !important;
    padding-left: 4px !important;
}
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--is-active a {
    color: var(--soteri-dark) !important;
    font-weight: 500 !important;
    border-left: 2px solid var(--soteri-gold) !important;
    padding-left: 14px !important;
}

/* The 4 big bordered cards on dashboard — downgrade to elegant text blocks */
.woocommerce-account .woocommerce-MyAccount-content .my-account-dashboard-cards,
.my-account-dashboard-cards {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    margin-top: 24px !important;
}
.woocommerce-account .woocommerce-MyAccount-content .my-account-dashboard-cards a,
.my-account-dashboard-cards a,
.my-account-dashboard-cards .card,
.woocommerce-account .my-account-dashboard-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: 1px solid var(--soteri-border) !important;
    border-radius: 0 !important;
    padding: 26px 14px !important;
    font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    color: var(--soteri-dark) !important;
    text-decoration: none !important;
    box-shadow: none !important;
    text-align: center !important;
    transition: border-color 0.3s var(--soteri-ease), color 0.3s var(--soteri-ease) !important;
}
.my-account-dashboard-cards a:hover {
    border-color: var(--soteri-gold) !important;
    color: var(--soteri-gold) !important;
}

/* Mobile: stack cards vertically */
@media (max-width: 560px) {
    .my-account-dashboard-cards { grid-template-columns: 1fr !important; }
}

/* Orders table */
.woocommerce-orders-table {
    border: none !important;
}
.woocommerce-orders-table th {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid var(--soteri-border) !important;
    font-size: 10px !important;
    letter-spacing: 2px !important;
    color: var(--soteri-text-light) !important;
}
.woocommerce-orders-table td {
    border: none !important;
    border-bottom: 1px solid var(--soteri-border) !important;
}


/* ─────────────────────────────────────────────────
   TIER 5 — SHOP ARCHIVE polish
   Sort dropdown, result count, pagination.
   ───────────────────────────────────────────────── */

.woocommerce-result-count,
.shop-toolbar .woocommerce-result-count {
    font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: var(--soteri-text-light) !important;
}

.woocommerce-pagination ul.page-numbers,
.woocommerce nav.woocommerce-pagination ul {
    border: none !important;
    display: flex !important;
    justify-content: center !important;
    gap: 14px !important;
    list-style: none !important;
    margin: 40px 0 !important;
    padding: 0 !important;
}
.woocommerce-pagination ul.page-numbers li,
.woocommerce nav.woocommerce-pagination ul li {
    border: none !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.woocommerce-pagination ul.page-numbers li a,
.woocommerce-pagination ul.page-numbers li span,
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    background: transparent !important;
    border: none !important;
    color: var(--soteri-text-light) !important;
    font-family: 'soteri', Inter, sans-serif !important;
    font-size: 12px !important;
    letter-spacing: 2px !important;
    line-height: 1 !important;
    padding: 8px 4px !important;
    border-bottom: 1px solid transparent !important;
    transition: color 0.3s var(--soteri-ease), border-color 0.3s var(--soteri-ease) !important;
    border-radius: 0 !important;
}
.woocommerce-pagination ul.page-numbers li a:hover,
.woocommerce nav.woocommerce-pagination ul li a:hover {
    color: var(--soteri-dark) !important;
    border-bottom-color: var(--soteri-border) !important;
    background: transparent !important;
}
.woocommerce-pagination ul.page-numbers li span.current,
.woocommerce nav.woocommerce-pagination ul li span.current {
    color: var(--soteri-dark) !important;
    font-weight: 500 !important;
    border-bottom: 1px solid var(--soteri-dark) !important;
}


/* ─────────────────────────────────────────────────
   POLISH — Variation swatches on product page
   Make selected state more elegant
   ───────────────────────────────────────────────── */

.button-variable-item,
.wvs-style-squared .button-variable-item {
    background: transparent !important;
    border: 1px solid var(--soteri-border) !important;
    color: var(--soteri-dark) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.button-variable-item.selected,
.button-variable-item.selected.selected,
.wvs-style-squared .button-variable-item.selected {
    background: var(--soteri-dark) !important;
    color: #fff !important;
    border-color: var(--soteri-dark) !important;
    box-shadow: none !important;
}

/* "Add to cart" succcess toast — silence */
.woocommerce-message,
.woocommerce-cart-form .woocommerce-message {
    border-radius: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════
   v12.0 — Deep micro-polish layer.
   Codex deep-audit consensus. Small details that separate "good"
   from Acne/COS-tier. NO new structure — just refinement.
   ═══════════════════════════════════════════════════════════════ */


/* ─────────────────────────────────────────────────
   GLOBAL HOVER VOCABULARY — color shift ONLY
   No transforms, no shadows, no underline animations.
   Buttons get letter-spacing easing, that's it.
   ───────────────────────────────────────────────── */
a,
button,
.nav > li > a,
.button {
    transition-property: color, background-color, border-color, opacity, letter-spacing !important;
    transition-duration: 0.3s !important;
    transition-timing-function: var(--soteri-ease, cubic-bezier(0.4, 0, 0.2, 1)) !important;
}
a:hover,
.nav > li > a:hover,
.nav-sidebar > li > a:hover {
    color: var(--soteri-gold) !important;
}
/* Kill any inherited hover transforms */
.button:hover,
button.button:hover,
.product-small:hover,
.product-small:hover .box-image,
.box:hover,
.box-image:hover img {
    transform: none !important;
    box-shadow: none !important;
}


/* ─────────────────────────────────────────────────
   FOCUS-VISIBLE — gold ring (keyboard-only)
   ───────────────────────────────────────────────── */
:focus { outline: none !important; }
:focus-visible {
    outline: 1px solid var(--soteri-gold) !important;
    outline-offset: 3px !important;
    border-radius: 0 !important;
}
/* But within form inputs the border shift is enough */
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: none !important;
}


/* ─────────────────────────────────────────────────
   NUMBER RENDERING — tabular + lining figures
   Prevents price jitter and aligns columns in tables
   ───────────────────────────────────────────────── */
.price,
.amount,
.woocommerce-Price-amount,
.qty,
input.qty,
.cart_totals .shop_table,
.cart_totals .amount,
.order-total,
.cart-subtotal,
.product-price,
.product-subtotal,
.product-quantity,
.woocommerce-orders-table .order-number,
.woocommerce-orders-table .order-total {
    font-variant-numeric: lining-nums tabular-nums !important;
    font-feature-settings: "lnum" 1, "tnum" 1 !important;
}


/* ─────────────────────────────────────────────────
   CART BADGE — gold (kill Flatsome's orange)
   Strong selectors so this wins over theme defaults.
   ───────────────────────────────────────────────── */
.header-cart-link .cart-item-count,
.header-cart-link .cart-count,
.header-cart-link span.count,
.cart-icon strong,
.cart-icon-handle strong,
.cart-icon > a strong,
.header-button .cart-count,
.header-button-1 strong,
.nav-cart-link strong,
.cart-handle .cart-item.cart-count,
.cart-handle strong,
li.cart-item strong,
li.html.custom.html-1 strong,
a.header-cart-link strong,
.woocommerce-mini-cart-button strong,
.cart-item .header-cart-link strong {
    background: var(--soteri-gold) !important;
    background-color: var(--soteri-gold) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50% !important;
    font-family: 'soteri', Inter, sans-serif !important;
    font-size: 9px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    height: 16px !important;
    min-width: 16px !important;
    line-height: 16px !important;
    text-align: center !important;
    padding: 0 4px !important;
    box-shadow: none !important;
    font-variant-numeric: tabular-nums !important;
}


/* ─────────────────────────────────────────────────
   PRODUCT CARDS — consistent 3/4 aspect, smooth hover
   ───────────────────────────────────────────────── */
.product-small .box-image,
.products .product-small .box-image,
.related .product-small .box-image {
    aspect-ratio: 3 / 4 !important;
    background: var(--soteri-cream) !important;
    overflow: hidden !important;
    position: relative !important;
}
.product-small .box-image img,
.products .product-small .box-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
    transition: opacity 0.4s var(--soteri-ease) !important;
    transform: none !important;
}
.product-small:hover .box-image img {
    opacity: 0.92 !important;
    transform: none !important;
}
.product-small,
.product-small .box {
    box-shadow: none !important;
    background: transparent !important;
}


/* ─────────────────────────────────────────────────
   SALE BADGE — transparent + gold hairline underline
   ───────────────────────────────────────────────── */
.badge,
.badge-container .badge,
.callout .badge,
.product-small .badge-container .badge,
.badge-inner,
span.onsale,
.onsale {
    background: transparent !important;
    color: var(--soteri-dark) !important;
    border: none !important;
    border-bottom: 1px solid var(--soteri-gold) !important;
    border-radius: 0 !important;
    font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    padding: 4px 0 !important;
    box-shadow: none !important;
    height: auto !important;
    line-height: 1.2 !important;
    min-width: 0 !important;
}
.badge-container {
    background: transparent !important;
}


/* ─────────────────────────────────────────────────
   REMOVE QUICK-VIEW & WISHLIST clutter (luxury hygiene)
   ───────────────────────────────────────────────── */
.product-small .quick-view,
.product-small .show-on-hover .quick-view,
.lightbox-by-click,
.product-small .lightbox-quick-view,
.show-on-hover .quick-view-button,
.product-small .wishlist-icon,
.product-small .tinv-wishlist,
.product-small .yith-wcwl-add-to-wishlist,
.product-small .image-tools .quick-view,
.product-small .image-tools .wishlist-button {
    display: none !important;
}


/* ─────────────────────────────────────────────────
   STICKY HEADER — soft transition, hairline border
   ───────────────────────────────────────────────── */
.header-wrapper.stuck,
.has-sticky.stuck #wrapper #header,
#header.is-sticky,
.header-wrapper.is-sticky {
    box-shadow: none !important;
    border-bottom: 1px solid var(--soteri-border) !important;
}
.header-main,
.header-wrapper {
    transition: height 0.22s ease, padding 0.22s ease, background-color 0.22s ease !important;
}


/* ─────────────────────────────────────────────────
   TEXT HIERARCHY — quiet the meta/disclaimer text
   ───────────────────────────────────────────────── */
.product_meta,
.posted_in,
.woocommerce-breadcrumb,
.woocommerce-small-amount,
.small,
.is-small,
.tagged_as,
.sku_wrapper,
.product-meta-text,
.posted-in,
.product-page-title .breadcrumbs {
    color: var(--soteri-text-light) !important;
    font-size: 11px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
}
.product_meta a,
.posted_in a,
.woocommerce-breadcrumb a {
    color: var(--soteri-text-light) !important;
}
.product_meta a:hover,
.posted_in a:hover,
.woocommerce-breadcrumb a:hover {
    color: var(--soteri-gold) !important;
}


/* ─────────────────────────────────────────────────
   LETTER-SPACING SCALE — by font size
   Bigger fonts = tighter tracking
   ───────────────────────────────────────────────── */
h1, .h1 { letter-spacing: 1px !important; }
h2, .h2 { letter-spacing: 2px !important; }
h3, .h3 { letter-spacing: 2.5px !important; }
h4, .h4 { letter-spacing: 3px !important; }
h5, .h5 { letter-spacing: 3.5px !important; }
h6, .h6, small, .small { letter-spacing: 1.5px !important; }
/* Body copy NOT letter-spaced — only display type is */
body, p, .description, .product-short-description,
.woocommerce-product-details__short-description,
.entry-content p {
    letter-spacing: 0 !important;
}


/* ─────────────────────────────────────────────────
   ITALIC DISCIPLINE — restrict italic to editorial
   ───────────────────────────────────────────────── */
em, i {
    font-style: normal !important;
}
blockquote em, blockquote i,
.editorial em, .editorial i,
.entry-content blockquote em {
    font-style: italic !important;
}


/* ─────────────────────────────────────────────────
   HYPHENATION — discipline by context
   ───────────────────────────────────────────────── */
.product-title, .product_title,
.nav, .nav > li > a,
.button, .badge,
.soteri-title, .banner-title, .text-box h1, .text-box h2,
h1, h2, h3, h4, h5, h6 {
    hyphens: none !important;
    word-break: normal !important;
}
.entry-content p,
.description p,
.product-short-description p {
    hyphens: auto !important;
}


/* ─────────────────────────────────────────────────
   SHADOWS — kill globally for editorial flatness
   ───────────────────────────────────────────────── */
.box, .box-shadow-1, .box-shadow-2, .box-shadow-3,
.product-small .box, .product-small,
.nav-dropdown, .header-nav .nav-dropdown,
.cart-popup, .has-shadow,
.section.section-shadow,
.dark .box, .dark .nav-dropdown {
    box-shadow: none !important;
    text-shadow: none !important;
}
.nav-dropdown,
.header-nav .nav-dropdown {
    border: 1px solid var(--soteri-border) !important;
}


/* ─────────────────────────────────────────────────
   MOBILE TAP HIGHLIGHT — gold tint
   ───────────────────────────────────────────────── */
html, body, a, button, .button, input, select, textarea {
    -webkit-tap-highlight-color: rgba(176, 148, 112, 0.18) !important;
}
html {
    scroll-behavior: smooth !important;
}


/* ─────────────────────────────────────────────────
   SAFE-AREA-INSET — notch-aware drawer & overlays
   ───────────────────────────────────────────────── */
.mobile-sidebar,
#main-menu.mobile-sidebar,
.off-canvas-left .mfp-content,
.off-canvas-right .mfp-content,
.soteri-search-overlay__panel {
    padding-bottom: env(safe-area-inset-bottom, 0) !important;
}
.soteri-mm-footer {
    padding-bottom: calc(28px + env(safe-area-inset-bottom, 0)) !important;
}


/* ─────────────────────────────────────────────────
   LOGO LONG-PRESS / IMAGE DRAG PREVENTION
   ───────────────────────────────────────────────── */
.header-logo img,
.soteri-mm-logo img,
#header .logo img {
    -webkit-user-drag: none !important;
    user-select: none !important;
    pointer-events: auto !important;
}


/* ─────────────────────────────────────────────────
   BUTTON PRESSED + DISABLED states
   ───────────────────────────────────────────────── */
.button:active,
.woocommerce a.button:active,
.woocommerce button.button:active {
    transform: translateY(1px) !important;
    transition-duration: 0.05s !important;
}
.button.disabled,
.button:disabled,
.woocommerce button.button:disabled,
.woocommerce a.button.disabled {
    opacity: 0.35 !important;
    cursor: not-allowed !important;
}


/* ─────────────────────────────────────────────────
   NEWSLETTER / FOOTER FORMS — minimalist inputs on dark
   ───────────────────────────────────────────────── */
footer .wpcf7-email,
footer input[type="email"],
.absolute-footer input[type="email"],
.footer input[type="email"],
.footer-newsletter input,
footer .mc4wp-form input[type="email"] {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.22) !important;
    border-radius: 0 !important;
    padding: 12px 0 !important;
    color: #fff !important;
    font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
    font-size: 13px !important;
    height: auto !important;
}
footer input[type="email"]:focus,
.footer input[type="email"]:focus {
    border-bottom-color: var(--soteri-gold) !important;
}
footer input[type="email"]::placeholder,
.footer input[type="email"]::placeholder {
    color: rgba(255, 255, 255, 0.5) !important;
}


/* ─────────────────────────────────────────────────
   BACK-TO-TOP button — quiet square
   ───────────────────────────────────────────────── */
.back-to-top,
#top-link,
.scroll-to-top {
    background: #fff !important;
    color: var(--soteri-dark) !important;
    border: 1px solid var(--soteri-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    width: 44px !important;
    height: 44px !important;
    transition: color 0.3s var(--soteri-ease), border-color 0.3s var(--soteri-ease) !important;
}
.back-to-top:hover,
#top-link:hover {
    color: var(--soteri-gold) !important;
    border-color: var(--soteri-gold) !important;
}


/* ─────────────────────────────────────────────────
   TRUST BADGES (payment icons) — desaturate
   ───────────────────────────────────────────────── */
.payment-icons img,
.footer .payment img,
.woocommerce-checkout-payment img,
.payment_methods img {
    filter: grayscale(1) !important;
    opacity: 0.55 !important;
    transition: opacity 0.3s var(--soteri-ease) !important;
}
.payment-icons img:hover,
.footer .payment img:hover {
    opacity: 0.8 !important;
}


/* ─────────────────────────────────────────────────
   SR-ONLY utility class
   ───────────────────────────────────────────────── */
.sr-only,
.screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}


/* ─────────────────────────────────────────────────
   GUTTER RHYTHM — consistent column padding
   ───────────────────────────────────────────────── */
@media (max-width: 849px) {
    .row.row-small > .col,
    .row-small > .col,
    .products.row-small > .col {
        padding-left: 8px !important;
        padding-right: 8px !important;
        padding-bottom: 16px !important;
    }
}
@media (min-width: 850px) {
    .row.row-small > .col,
    .row-small > .col {
        padding-left: 12px !important;
        padding-right: 12px !important;
        padding-bottom: 24px !important;
    }
}


/* ─────────────────────────────────────────────────
   SEARCH OVERLAY — extra polish
   ───────────────────────────────────────────────── */
.soteri-search-overlay__panel input[type="search"],
.soteri-search-overlay__panel .soteri-search-input {
    font-size: 22px !important;
    font-family: 'soteri', 'Noto Serif Georgian', Georgia, serif !important;
    font-weight: 300 !important;
    color: var(--soteri-dark) !important;
    border: none !important;
    border-bottom: 1px solid var(--soteri-border) !important;
    background: transparent !important;
    height: 56px !important;
    padding: 0 !important;
    letter-spacing: 0.5px !important;
}
.soteri-search-overlay__panel input[type="search"]:focus,
.soteri-search-overlay__panel .soteri-search-input:focus {
    border-bottom-color: var(--soteri-dark) !important;
}


/* ─────────────────────────────────────────────────
   MISC POLISH
   ───────────────────────────────────────────────── */
/* Selection color — gold */
::selection { background: var(--soteri-gold); color: #fff; }
::-moz-selection { background: var(--soteri-gold); color: #fff; }

/* Horizontal rules — hairline gold-tinted */
hr {
    border: none !important;
    height: 1px !important;
    background: var(--soteri-border) !important;
    margin: 32px 0 !important;
}

/* Images in editorial content — gentle reveal */
.entry-content img {
    transition: opacity 0.4s var(--soteri-ease) !important;
}
.entry-content img:hover {
    opacity: 0.92 !important;
}

/* Cursor — make non-button clickables explicit */
[role="button"],
.is-clickable,
.product-small a {
    cursor: pointer !important;
}

/* ═══════════════════════════════════════════════════════════════
   v12.1 — Cart badge actually fixed.
   Flatsome renders the count as a CSS ::after pseudo on
   .icon-shopping-bag[data-icon-label] — that's why earlier
   element-targeted selectors didn't win. Target the pseudo.
   ═══════════════════════════════════════════════════════════════ */

.icon-shopping-bag[data-icon-label]::after,
i.icon-shopping-bag[data-icon-label]::after,
.header-cart-link .icon-shopping-bag::after,
.header-cart-link i.icon-shopping-bag::after,
.cart-icon i.icon-shopping-bag::after,
[class*="icon-shopping"][data-icon-label]::after {
    background: var(--soteri-gold) !important;
    background-color: var(--soteri-gold) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50% !important;
    font-family: 'soteri', Inter, sans-serif !important;
    font-size: 9px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    height: 16px !important;
    min-width: 16px !important;
    line-height: 16px !important;
    padding: 0 4px !important;
    box-shadow: none !important;
    font-variant-numeric: tabular-nums !important;
    /* Tweak position so it sits nicely on the shopping-bag icon */
    top: -6px !important;
    right: -8px !important;
}

/* ═══════════════════════════════════════════════════════════════
   v13.0 — Logo size + mobile menu expansion fix.
   - Logo was crushed to 13px wide; bump to a proper size
   - Menu now auto-expands all submenus on mobile
   - Submenu items now read as primary nav items (not buried)
   ═══════════════════════════════════════════════════════════════ */


/* ─────────────────────────────────────────────────
   HEADER LOGO — much bigger, breathing room
   The image is square-ish (854×943); at the old 44px
   max-height the visible content was tiny. Bump to 64px
   on mobile, 90px on desktop, with no width constraint.
   ───────────────────────────────────────────────── */

#header .header-logo,
#header .header_logo,
#header .logo img,
.header-main .logo img {
    max-height: 90px !important;
    height: auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    object-fit: contain !important;
    /* Override any aspect-ratio constraint that crushes width */
    aspect-ratio: auto !important;
}

/* The logo column needs to be wide enough not to clamp the image */
.header-main .flex-col.logo,
#header .flex-col.logo {
    flex: 0 0 auto !important;
    max-width: none !important;
    min-width: 80px !important;
}

@media (max-width: 849px) {
    #header .header-logo,
    #header .header_logo,
    #header .logo img,
    .header-main .logo img {
        max-height: 64px !important;
    }
    .header-main .flex-col.logo,
    #header .flex-col.logo {
        min-width: 60px !important;
    }
}

/* Mobile drawer wordmark / logo — already correct in v10 but
   bump max-height for parity with the header now that the
   visible content is taller. */
@media (max-width: 849px) {
    .soteri-mm-logo img {
        max-height: 56px !important;
        max-width: 160px !important;
    }
}


/* ─────────────────────────────────────────────────
   MOBILE MENU — auto-expanded submenus
   PHP adds .active to all parent items. Show their
   submenu by default. The toggle still works to collapse.
   Subitems read as full-class nav items, just slightly
   indented and lighter to keep visual hierarchy.
   ───────────────────────────────────────────────── */

@media (max-width: 849px) {
    /* Show all auto-expanded submenus by default */
    .mfp-wrap.off-canvas-left #main-menu .nav-sidebar > li.active > .sub-menu,
    .mfp-wrap.off-canvas-left #main-menu .nav-sidebar > li.active > .children,
    .mfp-wrap.off-canvas-left #main-menu .nav-sidebar > li.active > .nav-dropdown,
    .mfp-wrap.off-canvas #main-menu .nav-sidebar > li.active > .sub-menu,
    .mfp-wrap.off-canvas #main-menu .nav-sidebar > li.active > .children {
        display: block !important;
    }

    /* Active parent caret shows minus */
    .mfp-wrap.off-canvas-left #main-menu li.active > a::after,
    .mfp-wrap.off-canvas #main-menu li.active > a::after {
        content: "−" !important;
        color: var(--soteri-gold) !important;
    }

    /* Sub-menu styling refined — readable but distinguished from top level */
    .mfp-wrap.off-canvas-left #main-menu .sub-menu,
    .mfp-wrap.off-canvas-left #main-menu .children,
    .mfp-wrap.off-canvas #main-menu .sub-menu,
    .mfp-wrap.off-canvas #main-menu .children {
        padding: 2px 0 14px 4px !important;
        margin: 0 !important;
        list-style: none !important;
        background: transparent !important;
        border: none !important;
    }
    .mfp-wrap.off-canvas-left #main-menu .sub-menu > li > a,
    .mfp-wrap.off-canvas-left #main-menu .children > li > a,
    .mfp-wrap.off-canvas #main-menu .sub-menu > li > a,
    .mfp-wrap.off-canvas #main-menu .children > li > a {
        display: block !important;
        font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
        font-size: 12px !important;
        font-weight: 400 !important;
        letter-spacing: 2.2px !important;
        text-transform: uppercase !important;
        color: var(--soteri-text-light) !important;
        padding: 11px 14px !important;
        border-bottom: none !important;
        background: transparent !important;
        line-height: 1.3 !important;
        transition: color 0.3s var(--soteri-ease), padding-left 0.3s var(--soteri-ease) !important;
    }
    .mfp-wrap.off-canvas-left #main-menu .sub-menu > li > a:hover,
    .mfp-wrap.off-canvas #main-menu .sub-menu > li > a:hover {
        color: var(--soteri-gold) !important;
        padding-left: 22px !important;
    }
    /* Soft hairline accent on first sub-item to visually break from parent label */
    .mfp-wrap.off-canvas-left #main-menu .sub-menu > li:first-child > a,
    .mfp-wrap.off-canvas #main-menu .sub-menu > li:first-child > a {
        padding-top: 14px !important;
    }
}


/* ─────────────────────────────────────────────────
   GOLD CART BADGE — strengthened position
   On the LARGER logo header the badge needs slight reposition.
   ───────────────────────────────────────────────── */

.icon-shopping-bag[data-icon-label]::after,
i.icon-shopping-bag[data-icon-label]::after {
    top: -4px !important;
    right: -6px !important;
}

/* ═══════════════════════════════════════════════════════════════
   v13.1 — Force explicit logo width (auto was rendering at 31px
   on a 1.25 DPR viewport — likely Flatsome img attribute conflict).
   Pin width explicitly so the result is predictable across devices.
   ═══════════════════════════════════════════════════════════════ */

#header .header-logo,
#header .header_logo,
#header .logo img,
.header-main .logo img {
    width: 110px !important;
    max-width: 110px !important;
    min-width: 110px !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    aspect-ratio: 854 / 943 !important;
}
@media (max-width: 849px) {
    #header .header-logo,
    #header .header_logo,
    #header .logo img,
    .header-main .logo img {
        width: 70px !important;
        max-width: 70px !important;
        min-width: 70px !important;
        height: auto !important;
        max-height: none !important;
    }
}
/* Make the logo column wide enough not to clamp */
#header .flex-col.logo,
.header-main .flex-col.logo {
    flex: 0 0 auto !important;
    min-width: 110px !important;
    max-width: none !important;
}
@media (max-width: 849px) {
    #header .flex-col.logo,
    .header-main .flex-col.logo {
        min-width: 70px !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   v13.2 — Hide auto-injected "My Account / LOGIN" item from the
   mobile drawer (account access exists in the footer utility row).
   ═══════════════════════════════════════════════════════════════ */

@media (max-width: 849px) {
    .mfp-wrap.off-canvas-left #main-menu .nav-sidebar > li.account-item,
    .mfp-wrap.off-canvas-left #main-menu .nav-sidebar > li.has-icon.account-item,
    .mfp-wrap.off-canvas-left #main-menu .nav-sidebar > li.menu-item.account-item,
    .mfp-wrap.off-canvas #main-menu .nav-sidebar > li.account-item,
    #main-menu .nav-sidebar > li.account-item {
        display: none !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   v14.0 — Compact review form.
   Was 558×661 (too vertical). Goals: tighter padding, smaller
   textarea, prominent stars, inline Name/Email, cleaner checkbox row.
   ═══════════════════════════════════════════════════════════════ */

.soteri-reviews-section #review_form_wrapper {
    max-width: 560px !important;
    margin: 0 auto !important;
}
.soteri-reviews-section #review_form,
.soteri-reviews-section .review-form-inner {
    background: #fff !important;
    padding: 32px 32px !important;
    border: 1px solid var(--soteri-border) !important;
}

/* "Share Your Experience" title — tighter spacing below */
.soteri-reviews-section #reply-title {
    font-family: 'soteri', 'Noto Serif Georgian', Georgia, serif !important;
    font-size: 15px !important;
    font-weight: 300 !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    color: var(--soteri-dark) !important;
    margin: 0 0 22px !important;
    padding-bottom: 14px !important;
    text-align: center !important;
    border-bottom: 1px solid var(--soteri-border) !important;
}

/* Rating row — center stars, larger, gold tap state */
.soteri-reviews-section .comment-form-rating {
    text-align: center !important;
    margin: 0 0 22px !important;
}
.soteri-reviews-section .comment-form-rating label {
    display: block !important;
    font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
    font-size: 10px !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    color: var(--soteri-text-light) !important;
    margin: 0 0 12px !important;
}
.soteri-reviews-section p.stars,
.soteri-reviews-section .stars {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    margin: 0 !important;
}
.soteri-reviews-section p.stars a,
.soteri-reviews-section .stars a {
    font-size: 26px !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 4px !important;
    color: var(--soteri-border) !important;
    transition: color 0.25s var(--soteri-ease) !important;
    border: none !important;
    background: transparent !important;
}
.soteri-reviews-section p.stars a:hover,
.soteri-reviews-section p.stars a.active,
.soteri-reviews-section p.stars:hover a {
    color: var(--soteri-gold) !important;
}
.soteri-reviews-section p.stars a.active ~ a {
    color: var(--soteri-border) !important;
}

/* Review textarea — shorter min-height, hidden resize handle */
.soteri-reviews-section .comment-form-comment {
    margin: 0 0 20px !important;
}
.soteri-reviews-section #review_form textarea,
.soteri-reviews-section .comment-form-comment textarea {
    min-height: 100px !important;
    height: 100px !important;
    max-height: 240px !important;
    padding: 12px 14px !important;
    border: 1px solid var(--soteri-border) !important;
    background: transparent !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    resize: vertical !important;
    border-radius: 0 !important;
}
.soteri-reviews-section #review_form textarea:focus,
.soteri-reviews-section .comment-form-comment textarea:focus {
    border-color: var(--soteri-dark) !important;
    outline: none !important;
}

/* Name / Email — inline columns, tighter */
.soteri-reviews-section .comment-form-author,
.soteri-reviews-section .comment-form-email {
    width: calc(50% - 8px) !important;
    display: inline-block !important;
    vertical-align: top !important;
    margin: 0 0 16px !important;
}
.soteri-reviews-section .comment-form-author {
    margin-right: 14px !important;
}
.soteri-reviews-section .comment-form-author input,
.soteri-reviews-section .comment-form-email input {
    width: 100% !important;
    height: 42px !important;
    border: 1px solid var(--soteri-border) !important;
    background: transparent !important;
    padding: 0 12px !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    color: var(--soteri-dark) !important;
}
.soteri-reviews-section .comment-form-author input:focus,
.soteri-reviews-section .comment-form-email input:focus {
    border-color: var(--soteri-dark) !important;
    outline: none !important;
}

/* Cookie consent checkbox — compact one-liner */
.soteri-reviews-section .comment-form-cookies-consent {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 18px !important;
}
.soteri-reviews-section .comment-form-cookies-consent input[type="checkbox"] {
    margin: 0 !important;
    width: 14px !important;
    height: 14px !important;
    flex-shrink: 0 !important;
    accent-color: var(--soteri-gold) !important;
}
.soteri-reviews-section .comment-form-cookies-consent label {
    margin: 0 !important;
    font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
    font-size: 10px !important;
    letter-spacing: 0.5px !important;
    text-transform: none !important;
    color: var(--soteri-text-light) !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
}

/* Submit row — tighten margin above */
.soteri-reviews-section .form-submit {
    margin: 0 !important;
    text-align: center !important;
    padding-top: 4px !important;
}
.soteri-reviews-section .form-submit input[type="submit"],
.soteri-reviews-section #respond .submit {
    background: var(--soteri-dark) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-family: 'soteri', Inter, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    font-weight: 500 !important;
    height: 46px !important;
    padding: 0 38px !important;
    cursor: pointer !important;
    transition: background-color 0.3s var(--soteri-ease), letter-spacing 0.3s var(--soteri-ease) !important;
    width: 100% !important;
    max-width: 100% !important;
}
.soteri-reviews-section .form-submit input[type="submit"]:hover,
.soteri-reviews-section #respond .submit:hover {
    background: var(--soteri-gold) !important;
    letter-spacing: 3.5px !important;
}

/* Form labels above inputs — small, light, uppercase */
.soteri-reviews-section #review_form label,
.soteri-reviews-section .comment-form label {
    display: block !important;
    font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
    font-size: 10px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: var(--soteri-text-light) !important;
    margin: 0 0 6px !important;
    font-weight: 400 !important;
}
.soteri-reviews-section #review_form .required,
.soteri-reviews-section .comment-form .required {
    color: var(--soteri-gold) !important;
    border: none !important;
    text-decoration: none !important;
}

/* Comment notes (if any) — hide or quiet */
.soteri-reviews-section .comment-notes,
.soteri-reviews-section .logged-in-as,
.soteri-reviews-section #respond .form-allowed-tags {
    display: none !important;
}

/* Mobile-specific — stack inputs, slimmer padding */
@media (max-width: 768px) {
    .soteri-reviews-section #review_form,
    .soteri-reviews-section .review-form-inner {
        padding: 22px 18px !important;
    }
    .soteri-reviews-section .comment-form-author,
    .soteri-reviews-section .comment-form-email {
        width: 100% !important;
        display: block !important;
        margin: 0 0 14px !important;
    }
    .soteri-reviews-section .comment-form-author {
        margin-right: 0 !important;
    }
    .soteri-reviews-section #reply-title {
        font-size: 13px !important;
        letter-spacing: 3px !important;
    }
    .soteri-reviews-section p.stars a,
    .soteri-reviews-section .stars a {
        font-size: 22px !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   v14.1 — Review form: horizontal 2-col layout (desktop).
   Left column: rating + name + email.
   Right column: textarea (matches left column height).
   Bottom row: cookie checkbox + submit button.
   Mobile: stacks back to single column.
   ═══════════════════════════════════════════════════════════════ */

@media (min-width: 769px) {

    /* Wider container */
    .soteri-reviews-section #review_form_wrapper {
        max-width: 880px !important;
    }
    .soteri-reviews-section #review_form,
    .soteri-reviews-section .review-form-inner {
        padding: 32px 36px !important;
    }

    /* Use CSS grid for the comment-form */
    .soteri-reviews-section .comment-form {
        display: grid !important;
        grid-template-columns: 1fr 1.4fr !important;
        grid-template-areas:
            "rating  comment"
            "author  comment"
            "email   comment"
            "consent submit";
        column-gap: 28px !important;
        row-gap: 16px !important;
        align-items: start !important;
    }

    /* Place each control in its grid area */
    .soteri-reviews-section .comment-form-rating {
        grid-area: rating !important;
        margin: 0 !important;
        text-align: left !important;
    }
    .soteri-reviews-section .comment-form-rating label {
        text-align: left !important;
    }
    .soteri-reviews-section p.stars,
    .soteri-reviews-section .stars {
        justify-content: flex-start !important;
        gap: 4px !important;
    }
    .soteri-reviews-section p.stars a,
    .soteri-reviews-section .stars a {
        font-size: 24px !important;
        padding: 2px !important;
    }

    .soteri-reviews-section .comment-form-comment {
        grid-area: comment !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        height: 100% !important;
    }
    .soteri-reviews-section .comment-form-comment textarea {
        flex: 1 !important;
        min-height: 180px !important;
        height: 100% !important;
        max-height: none !important;
    }

    .soteri-reviews-section .comment-form-author {
        grid-area: author !important;
        width: 100% !important;
        margin: 0 !important;
        display: block !important;
    }
    .soteri-reviews-section .comment-form-email {
        grid-area: email !important;
        width: 100% !important;
        margin: 0 !important;
        display: block !important;
    }
    .soteri-reviews-section .comment-form-author {
        margin-right: 0 !important;
    }

    .soteri-reviews-section .comment-form-cookies-consent {
        grid-area: consent !important;
        margin: 0 !important;
        align-self: center !important;
    }
    .soteri-reviews-section .form-submit {
        grid-area: submit !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: right !important;
    }
    .soteri-reviews-section .form-submit input[type="submit"],
    .soteri-reviews-section #respond .submit {
        width: auto !important;
        min-width: 200px !important;
        padding: 0 32px !important;
    }

    /* Logged-in state (no name/email/consent) — collapse grid */
    .soteri-reviews-section .comment-form:not(:has(.comment-form-author)) {
        grid-template-areas:
            "rating  comment"
            "submit  comment" !important;
        grid-template-rows: auto 1fr !important;
    }
    /* Fallback if :has not supported: just use min-height on textarea */
}

/* Mobile fallback — single column (already works, just confirm) */
@media (max-width: 768px) {
    .soteri-reviews-section .comment-form {
        display: block !important;
    }
    .soteri-reviews-section .form-submit input[type="submit"] {
        width: 100% !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   v15.0 — Pending-review notification in brand style.
   When a guest review is submitted and awaits moderation, WordPress
   renders the comment inline with "Your review is awaiting approval".
   Restyle the unapproved <li> as an elegant brand notification:
   cream background, gold left border, editorial typography.
   ═══════════════════════════════════════════════════════════════ */

/* The pending comment item — make it a notification box */
.soteri-reviews-section .commentlist > li.unapproved,
.soteri-reviews-section .commentlist > li.comment.unapproved,
.soteri-reviews-section ol.commentlist > li[class*="unapproved"],
.soteri-reviews-section li.comment.unapproved {
    background: var(--soteri-cream) !important;
    border: none !important;
    border-left: 2px solid var(--soteri-gold) !important;
    border-top: none !important;
    border-bottom: none !important;
    padding: 24px 28px !important;
    margin: 0 0 32px !important;
    list-style: none !important;
    display: block !important;
    position: relative !important;
}

/* Hide avatar in the pending state */
.soteri-reviews-section .commentlist > li.unapproved .avatar,
.soteri-reviews-section .commentlist > li.unapproved img.avatar {
    display: none !important;
}

/* Hide the comment meta (author + date) in pending state — focus on the notification */
.soteri-reviews-section .commentlist > li.unapproved .comment-meta,
.soteri-reviews-section .commentlist > li.unapproved .meta {
    display: none !important;
}

/* The "Your review is awaiting approval" eyebrow */
.soteri-reviews-section .commentlist > li.unapproved .comment-awaiting-moderation,
.soteri-reviews-section .commentlist > li.unapproved em.comment-awaiting-moderation,
.soteri-reviews-section em.comment-awaiting-moderation {
    display: block !important;
    font-family: 'soteri', 'Noto Sans Georgian', Inter, sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: var(--soteri-gold) !important;
    font-style: normal !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}

/* Add a brand-styled headline above (via ::before on the comment-text or li) */
.soteri-reviews-section .commentlist > li.unapproved .comment-text::before {
    content: "Thank you for your feedback" !important;
    display: block !important;
    font-family: 'soteri', 'Noto Serif Georgian', Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 300 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: var(--soteri-dark) !important;
    margin: 0 0 12px !important;
    line-height: 1.3 !important;
}

/* Quiet the comment body text (the submitted review preview) */
.soteri-reviews-section .commentlist > li.unapproved .description,
.soteri-reviews-section .commentlist > li.unapproved .description p,
.soteri-reviews-section .commentlist > li.unapproved .comment-text p {
    font-family: 'soteri', 'Noto Serif Georgian', Georgia, serif !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    color: var(--soteri-text) !important;
    font-style: normal !important;
    margin: 8px 0 0 !important;
    padding: 12px 0 0 !important;
    border-top: 1px solid var(--soteri-border) !important;
    max-width: 100% !important;
}

/* Star rating in pending state — display below as small gold row */
.soteri-reviews-section .commentlist > li.unapproved .star-rating {
    margin: 10px 0 0 !important;
    font-size: 11px !important;
    width: 5em !important;
}

/* Mobile: tighter padding */
@media (max-width: 768px) {
    .soteri-reviews-section .commentlist > li.unapproved {
        padding: 20px 18px !important;
        margin: 0 0 24px !important;
    }
    .soteri-reviews-section .commentlist > li.unapproved .comment-text::before {
        font-size: 14px !important;
        letter-spacing: 2.5px !important;
    }
    .soteri-reviews-section .commentlist > li.unapproved em.comment-awaiting-moderation {
        font-size: 10px !important;
        letter-spacing: 2px !important;
    }
    .soteri-reviews-section .commentlist > li.unapproved .description,
    .soteri-reviews-section .commentlist > li.unapproved .description p {
        font-size: 12.5px !important;
    }
}

/* Override the order: we want awaiting-moderation TOP, then headline (via ::before), then review */
/* Actually use flex column with order to control sequence */
.soteri-reviews-section .commentlist > li.unapproved .comment-text,
.soteri-reviews-section .commentlist > li.unapproved .comment_container {
    display: flex !important;
    flex-direction: column !important;
}
.soteri-reviews-section .commentlist > li.unapproved .comment-text::before {
    order: 1 !important;
}
.soteri-reviews-section .commentlist > li.unapproved em.comment-awaiting-moderation {
    order: 0 !important;
}
.soteri-reviews-section .commentlist > li.unapproved .description {
    order: 2 !important;
}
.soteri-reviews-section .commentlist > li.unapproved .star-rating {
    order: 3 !important;
}
