/* ============================================================
 * storefront.css -- consolidated from style.css + 18 versioned
 * patch files (v56..v95) that were previously loaded as 19
 * separate <link> requests, in the exact same cascade order.
 *
 * Only byte-identical duplicate rule blocks were removed (kept
 * at their LAST position) -- this cannot change the final
 * computed styles, since an identical rule applied twice has
 * the same effect as applied once. No semantic/manual merging
 * of conflicting rules was performed.
 * Exact-duplicate blocks removed: 70
 * ============================================================ */


/* ---- from style.css ---- */
/* ==========================================================
   Design tokens
   Palette: Charcoal (ink), Bone (paper), Cognac (leather), 
            Brass (hardware accent), Slate (secondary text)
   Type: Fraunces (display/stamped headings), Inter (body), 
         IBM Plex Mono (specs, SKU, dimensions - technical feel)
   Signature: product cards rendered as hanging luggage tags
   ========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root {
    --ink: #211f1d;
    --bone: #f1eada;
    --cognac: #a9673b;
    --cognac-dark: #834f2c;
    --brass: #b8935a;
    --slate: #6b6558;
    --line: #ddd2bd;
    --radius-tag: 6px;
}


* { box-sizing: border-box; margin: 0; padding: 0; }


body {
    background: var(--bone);
    color: var(--ink);
    font-family: 'Inter', sans-serif;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}


h1, h2, h3, .display {
    font-family: 'Fraunces', serif;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--ink);
}


.mono, .price, .sku {
    font-family: 'IBM Plex Mono', monospace;
}


a { color: inherit; text-decoration: none; }


.container { max-width: 1180px; margin: 0 auto; padding: 0 24px; }


/* ---------- Header ---------- */
.site-header {
    background: var(--ink);
    color: var(--bone);
    border-bottom: 3px solid var(--brass);
}

.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 24px;
    max-width: 1180px;
    margin: 0 auto;
}

.logo {
    font-family: 'Fraunces', serif;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.logo span { color: var(--brass); }

.main-nav { display: flex; gap: 28px; }

.main-nav a {
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--bone);
    opacity: 0.85;
    position: relative;
    padding-bottom: 4px;
}

.main-nav a:hover { opacity: 1; border-bottom: 1px solid var(--brass); }

.header-actions { display: flex; gap: 18px; align-items: center; font-size: 0.85rem; }


/* ---------- Hero: boarding-pass strip ---------- */
.hero {
    background: var(--ink);
    color: var(--bone);
    position: relative;
    overflow: hidden;
}

.boarding-strip {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 24px;
    background: var(--cognac-dark);
    font-family: 'IBM Plex Mono', monospace;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bone);
    border-bottom: 1px dashed rgba(241,234,218,0.4);
}

.hero-inner {
    max-width: 1180px;
    margin: 0 auto;
    padding: 70px 24px 90px;
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 40px;
    align-items: center;
}

.hero-eyebrow {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--brass);
    margin-bottom: 18px;
}

.hero h1 {
    font-size: clamp(2.4rem, 5vw, 4rem);
    line-height: 1.02;
    margin-bottom: 20px;
}

.hero p.sub {
    font-size: 1.05rem;
    color: #cfc7b4;
    max-width: 460px;
    margin-bottom: 32px;
}

.btn-primary {
    display: inline-block;
    background: var(--brass);
    color: var(--ink);
    font-weight: 600;
    padding: 14px 30px;
    border-radius: var(--radius-tag);
    font-size: 0.95rem;
    transition: transform 0.15s ease, background 0.15s ease;
}

.btn-primary:hover { background: #c7a15a; transform: translateY(-1px); }


.hero-tag-visual {
    position: relative;
    display: flex;
    justify-content: center;
}

.hero-tag-visual .tag-card {
    transform: rotate(-6deg);
}


/* ---------- Section heading ---------- */
.section-heading {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin: 64px 0 28px;
}

.section-heading h2 { font-size: 1.9rem; }

.section-heading .stamp {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--slate);
    border: 1px solid var(--line);
    padding: 5px 10px;
    border-radius: 3px;
}


/* ---------- Product grid: luggage-tag cards ---------- */
.product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
    padding-bottom: 80px;
}

@media (max-width: 900px) {
    .product-grid { grid-template-columns: repeat(2, 1fr); }
    .hero:not(.hero-featured-layout) .hero-inner { grid-template-columns: 1fr; }
}

@media (max-width: 540px) {
    .product-grid { grid-template-columns: 1fr; }
    .main-nav { display: none; }
}


.tag-card {
    background: #fffdf8;
    border: 1px solid var(--line);
    border-radius: var(--radius-tag);
    padding: 18px 18px 20px;
    position: relative;
    box-shadow: 0 1px 0 rgba(33,31,29,0.03);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.tag-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 24px -12px rgba(33,31,29,0.25);
}

/* punched hole + string, the signature detail */
.tag-card::before {
    content: "";
    position: absolute;
    top: 14px;
    left: 14px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--bone);
    border: 2px solid var(--slate);
}

.tag-card .tag-image {
    width: 100%;
    aspect-ratio: 1 / 1.1;
    background: var(--bone);
    border-radius: 4px;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--slate);
    font-family: 'IBM Plex Mono', monospace;
    font-size: 0.75rem;
    overflow: hidden;
}

.tag-card .tag-image img { width: 100%; height: 100%; object-fit: cover; }

.tag-card h3 {
    font-size: 1.05rem;
    margin-bottom: 6px;
}

.tag-card .price {
    font-size: 0.95rem;
    color: var(--cognac-dark);
    font-weight: 500;
}

.tag-card .spec-line {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 0.7rem;
    color: var(--slate);
    margin-top: 8px;
    border-top: 1px dashed var(--line);
    padding-top: 8px;
}


/* ---------- Mega Menu ---------- */
.mega-menu-item { position: relative; }

.mega-menu-dropdown {
    display: none;
    position: absolute;
    top: 100%; left: 0;
    background: #fffdf8;
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 10px 0;
    min-width: 160px;
    box-shadow: 0 14px 30px -10px rgba(0,0,0,0.25);
    z-index: 40;
}

.mega-menu-item:hover .mega-menu-dropdown { display: block; }

.mega-menu-dropdown a {
    display: block;
    padding: 8px 16px;
    color: var(--ink);
    font-size: 0.82rem;
    text-transform: none;
    letter-spacing: normal;
}

.mega-menu-dropdown a:hover { background: var(--bone); }


/* ---------- Wishlist ---------- */
.wishlist-heart-btn {
    position: absolute;
    top: 12px; left: 12px;
    background: rgba(255,253,248,0.9);
    border: 1px solid var(--line);
    border-radius: 50%;
    width: 30px; height: 30px;
    cursor: pointer;
    color: var(--slate);
    font-size: 0.95rem;
    z-index: 2;
}

.wishlist-heart-btn.is-active { color: var(--cognac); border-color: var(--cognac); }

.detail-wishlist-btn { position: static; }


/* ---------- Color Swatches ---------- */
.color-swatch-row { display: flex; gap: 8px; }

.color-swatch {
    width: 26px; height: 26px;
    border-radius: 50%;
    display: inline-block;
    cursor: pointer;
    border: 2px solid transparent;
}

.color-swatch.active { border-color: var(--cognac); }


/* ---------- Product Tabs ---------- */
.product-tabs { margin-top: 10px; }

.tab-headers { display: flex; gap: 4px; border-bottom: 1px solid var(--line); margin-bottom: 16px; }

.tab-header {
    background: none; border: none;
    padding: 10px 14px;
    font-size: 0.82rem;
    color: var(--slate);
    cursor: pointer;
    border-bottom: 2px solid transparent;
}

.tab-header.active { color: var(--ink); border-bottom-color: var(--cognac); font-weight: 500; }

.tab-panel { display: none; }

.tab-panel.active { display: block; }

.spec-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }

.spec-table td { padding: 8px 0; border-bottom: 1px solid var(--line); }

.spec-table td:first-child { color: var(--slate); width: 40%; }


/* ---------- Sticky Mobile Add-to-Cart Bar ---------- */
.sticky-add-bar {
    display: none;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    background: #fffdf8;
    border-top: 1px solid var(--line);
    padding: 12px 16px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    z-index: 80;
    box-shadow: 0 -8px 20px rgba(0,0,0,0.08);
}

.sticky-add-bar.visible { display: flex; }

.sticky-add-info { display: flex; flex-direction: column; font-size: 0.8rem; }

.sticky-add-bar .btn-primary { flex-shrink: 0; padding: 10px 20px; }

@media (min-width: 701px) { .sticky-add-bar { display: none !important; } }


/* ---------- Category Listing: filters + view toggle ---------- */
.listing-layout { display: grid; grid-template-columns: 220px 1fr; gap: 34px; padding-bottom: 80px; }

.listing-sidebar { position: sticky; top: 20px; align-self: start; }

.filter-group { margin-bottom: 20px; }

.view-toggle { display: flex; gap: 6px; }

.view-toggle-btn {
    background: none;
    border: 1px solid var(--line);
    border-radius: 4px;
    padding: 6px 12px;
    font-size: 0.75rem;
    cursor: pointer;
    color: var(--slate);
}

.view-toggle-btn.active { background: var(--ink); color: var(--brass); border-color: var(--ink); }

.product-grid.list-view { grid-template-columns: 1fr; }

.product-grid.list-view .tag-card { display: flex; gap: 20px; align-items: center; }

.product-grid.list-view .tag-card > a { display: flex; gap: 20px; flex: 1; align-items: center; }

.product-grid.list-view .tag-image { width: 100px; height: 100px; flex-shrink: 0; }

.product-grid.list-view .card-actions { flex-direction: column; width: 140px; }

@media (max-width: 800px) {
    .listing-layout { grid-template-columns: 1fr; }
    .listing-sidebar { position: static; }
}


/* ---------- Order Tracking ---------- */
.track-timeline { display: flex; justify-content: space-between; margin: 20px 0; position: relative; }

.track-timeline::before {
    content: "";
    position: absolute;
    top: 6px; left: 0; right: 0;
    height: 2px;
    background: var(--line);
}

.track-stage { position: relative; text-align: center; font-size: 0.72rem; color: var(--slate); flex: 1; }

.track-dot { display: block; width: 14px; height: 14px; border-radius: 50%; background: var(--line); margin: 0 auto 8px; position: relative; z-index: 1; }

.track-stage.done .track-dot { background: var(--cognac); }

.track-stage.done { color: var(--ink); font-weight: 500; }


/* ---------- Static Pages (FAQ / Material Care / Size Guide) ---------- */
.page-content h3 { font-size: 1.05rem; margin: 20px 0 8px; }

.page-content p { color: var(--slate); font-size: 0.9rem; margin-bottom: 6px; }


/* ---------- Newsletter Popup ---------- */
/* Dedicated overlay for the newsletter popup only — intentionally NOT the
   .drawer-overlay class used by #cart-drawer-overlay, so this widget can
   never be visually or structurally confused with the cart drawer. */
.newsletter-overlay {
    display: none;
    position: fixed; inset: 0;
    background: rgba(33,31,29,0.5);
    z-index: 95;
}

.newsletter-overlay.open { display: block; }

.newsletter-popup {
    display: none;
    position: fixed;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    background: #fffdf8;
    border-radius: 10px;
    padding: 32px;
    max-width: 380px; width: 90vw;
    z-index: 96;
    box-shadow: 0 20px 50px rgba(0,0,0,0.3);
    text-align: center;
}

.newsletter-popup.open { display: block; }

.newsletter-popup h3 { font-family: 'Fraunces', serif; }


/* ---------- AI Assistant Chat ---------- */
.ai-chat-shell {
    background: #fffdf8;
    border: 1px solid var(--line);
    border-radius: 8px;
    max-width: 700px;
    display: flex;
    flex-direction: column;
    height: 560px;
}

.ai-chat-log { flex: 1; overflow-y: auto; padding: 20px; display: flex; flex-direction: column; gap: 12px; }

.ai-msg { max-width: 85%; padding: 10px 14px; border-radius: 10px; font-size: 0.88rem; line-height: 1.5; }

.ai-msg-user { align-self: flex-end; background: var(--ink); color: var(--bone); }

.ai-msg-assistant { align-self: flex-start; background: var(--bone); color: var(--ink); }

.ai-chat-input-row { display: flex; gap: 8px; padding: 14px; border-top: 1px solid var(--line); }

.ai-chat-input-row .form-input { flex: 1; }

.ai-action-card {
    margin-top: 10px;
    background: #fffdf8;
    border: 1px solid var(--brass);
    border-radius: 6px;
    padding: 12px 14px;
    font-size: 0.85rem;
}


/* ---------- Compare Table ---------- */
.compare-table-wrap { overflow-x: auto; }

.compare-table { border-collapse: collapse; width: 100%; min-width: 600px; }

.compare-table td { padding: 14px 18px; border-bottom: 1px solid var(--line); text-align: center; vertical-align: top; }

.compare-label { text-align: left !important; color: var(--slate); font-size: 0.82rem; white-space: nowrap; }

.compare-remove-btn { background: none; border: none; color: var(--slate); font-size: 0.75rem; text-decoration: underline; cursor: pointer; margin-top: 6px; }


/* ---------- Instagram Gallery ---------- */
.instagram-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4px;
}

.instagram-tile { position: relative; aspect-ratio: 1/1; overflow: hidden; display: block; }

.instagram-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }

.instagram-tile:hover img { transform: scale(1.06); }

.instagram-tile-overlay {
    position: absolute; inset: 0;
    background: rgba(33,31,29,0.35);
    color: var(--bone);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.4rem;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.instagram-tile:hover .instagram-tile-overlay { opacity: 1; }

@media (max-width: 700px) { .instagram-grid { grid-template-columns: repeat(3, 1fr); } }


/* ---------- Video Slider ---------- */
.video-slider-section { padding-bottom: 60px; }

.video-slider-track {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    padding: 0 24px 10px;
    scroll-snap-type: x mandatory;
}

.video-slide-card {
    position: relative;
    flex: 0 0 220px;
    aspect-ratio: 9/16;
    border-radius: 10px;
    overflow: hidden;
    background: var(--ink);
    scroll-snap-align: start;
    display: block;
}

.video-slide-card video { width: 100%; height: 100%; object-fit: cover; cursor: pointer; }

.video-slide-caption {
    position: absolute; bottom: 12px; left: 12px; right: 12px;
    color: var(--bone);
    font-size: 0.82rem;
    text-shadow: 0 2px 6px rgba(0,0,0,0.6);
}

.video-slide-play {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
    width: 40px; height: 40px;
    background: rgba(255,255,255,0.85);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: var(--ink);
    font-size: 0.9rem;
    pointer-events: none;
}


/* ---------- Admin Panel ---------- */
.admin-body { background: #f4efe2; }

.admin-shell { display: flex; min-height: 100vh; }

.admin-sidebar {
    width: 230px;
    background: var(--ink);
    color: var(--bone);
    padding: 24px 18px;
    flex-shrink: 0;
}

.admin-logo { font-family: 'Fraunces', serif; font-weight: 700; font-size: 1.1rem; margin-bottom: 28px; }

.admin-logo span { color: var(--brass); }

.admin-logo small { display: block; font-family: 'IBM Plex Mono', monospace; font-size: 0.6rem; letter-spacing: 0.1em; opacity: 0.6; margin-top: 2px; }

.admin-nav { display: flex; flex-direction: column; gap: 4px; }

.admin-nav a {
    padding: 9px 10px;
    border-radius: 4px;
    font-size: 0.85rem;
    color: #cfc7b4;
}

.admin-nav a:hover { background: rgba(241,234,218,0.08); color: var(--bone); }

.admin-nav .admin-logout { margin-top: 20px; border-top: 1px solid rgba(241,234,218,0.15); padding-top: 14px; color: #c98f6f; }

.admin-main { flex: 1; padding: 40px 44px; max-width: 900px; }

.admin-login-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; }


.admin-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }

.admin-card {
    background: #fffdf8;
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 20px;
    display: block;
}

.admin-card:hover { border-color: var(--cognac); }

.admin-card h3 { font-size: 1rem; margin-bottom: 6px; }

.admin-card p { font-size: 0.82rem; color: var(--slate); }


.admin-list { display: flex; flex-direction: column; gap: 8px; }

.admin-list-row {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fffdf8;
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 10px 14px;
    font-size: 0.88rem;
}

.admin-list-row.row-inactive { opacity: 0.5; }

.admin-thumb { width: 44px; height: 44px; border-radius: 4px; overflow: hidden; flex-shrink: 0; background: var(--bone); }

.admin-thumb img { width: 100%; height: 100%; object-fit: cover; }

.admin-btn-icon {
    background: none;
    border: 1px solid var(--line);
    border-radius: 4px;
    width: 30px; height: 30px;
    cursor: pointer;
    font-size: 0.8rem;
    color: var(--ink);
    display: inline-flex; align-items: center; justify-content: center;
}

.admin-btn-icon:hover { border-color: var(--cognac); }

.admin-btn-toggle {
    border: none;
    border-radius: 4px;
    padding: 6px 12px;
    font-size: 0.72rem;
    font-family: 'IBM Plex Mono', monospace;
    text-transform: uppercase;
    cursor: pointer;
    background: #e2d9c4;
    color: var(--slate);
}

.admin-btn-toggle.is-on { background: var(--brass); color: var(--ink); }

@media (max-width: 800px) {
    .admin-shell { flex-direction: column; }
    .admin-sidebar { width: 100%; }
    .admin-main { padding: 24px; }
    .admin-grid { grid-template-columns: 1fr; }
}


/* ---------- 360° Product Spin Viewer ---------- */
.spin-viewer {
    position: relative;
    aspect-ratio: 1/1;
    border-radius: 8px;
    overflow: hidden;
    background: var(--bone);
    cursor: grab;
    touch-action: pan-y;
    box-shadow: 0 20px 40px -20px rgba(33,31,29,0.35), 0 2px 8px rgba(33,31,29,0.12);
}

.spin-viewer.dragging { cursor: grabbing; }

.spin-frame {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    opacity: 0;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
}

.spin-frame.active { opacity: 1; }

.spin-viewer-hint {
    position: absolute;
    bottom: 14px; left: 50%;
    transform: translateX(-50%);
    background: rgba(33,31,29,0.75);
    color: var(--bone);
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.72rem;
    display: flex; align-items: center; gap: 6px;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.spin-viewer.interacted .spin-viewer-hint { opacity: 0; }

.spin-icon { display: inline-block; animation: spin-hint-rotate 2s linear infinite; }

@keyframes spin-hint-rotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }


/* ============================================================
   Luxury Theme Studio — 12 full visual systems
   Each theme changes the actual storefront treatment: surfaces,
   gradients, borders, glow, controls and hero atmosphere.
   Festival palettes below can be layered on top.
   ============================================================ */
body[class*="site-theme-"] {
    --lux-shadow: 0 24px 70px rgba(0,0,0,.12);
    --lux-glow: 0 0 0 rgba(0,0,0,0);
}

body.site-theme-signature { --ink:#181513; --bone:#f4efe5; --cognac:#a9673b; --cognac-dark:#704027; --brass:#c4a267; --line:#ded3c0; }

body.site-theme-midnight_luxe { --ink:#080b10; --bone:#f1eee8; --cognac:#9c7650; --cognac-dark:#513b29; --brass:#d4b77b; --line:#2e343d; background:radial-gradient(circle at 70% -10%,rgba(212,183,123,.10),transparent 35%),#0d1015; color:#eeeae2; }

body.site-theme-aurora { --ink:#080b13; --bone:#f4f5f7; --cognac:#8a63df; --cognac-dark:#5234a0; --brass:#6fe7e0; --line:#30364a; background:#0a0d16; color:#f5f7fb; }

body.site-theme-obsidian_gold { --ink:#070707; --bone:#f4f0e7; --cognac:#9d7636; --cognac-dark:#4d3515; --brass:#e0b95d; --line:#34302a; background:#090909; color:#f3eee4; }

body.site-theme-titanium { --ink:#11161d; --bone:#edf1f4; --cognac:#5b728a; --cognac-dark:#334858; --brass:#9fc5e5; --line:#ccd5dd; }

body.site-theme-royal_noir { --ink:#100a13; --bone:#f5f0f4; --cognac:#9b5b83; --cognac-dark:#54273f; --brass:#d9b36c; --line:#3b2a39; background:#120b15; color:#f4edf3; }

body.site-theme-cyber_chrome { --ink:#05080b; --bone:#eef7fb; --cognac:#1689c7; --cognac-dark:#075078; --brass:#55d9ff; --line:#243b49; background:#060b10; color:#eaf7fb; }

body.site-theme-emerald_noir { --ink:#06100c; --bone:#eff5f1; --cognac:#1f8c67; --cognac-dark:#0e4b38; --brass:#b7d68c; --line:#294239; background:#07110d; color:#eef6f1; }

body.site-theme-desert_luxe { --ink:#1c1510; --bone:#f4eadb; --cognac:#a96d45; --cognac-dark:#68402b; --brass:#d7aa67; --line:#d9c2a7; }

body.site-theme-pearl_luxe { --ink:#20252b; --bone:#f7f7f4; --cognac:#73808c; --cognac-dark:#4b5661; --brass:#b8a37d; --line:#d9dce0; }

body.site-theme-violet_neon { --ink:#090410; --bone:#f7f1fb; --cognac:#9d39db; --cognac-dark:#58127f; --brass:#ff4ed8; --line:#392047; background:#0b0510; color:#f7f0fb; }

body.site-theme-monochrome { --ink:#080808; --bone:#f3f3f1; --cognac:#5b5b5b; --cognac-dark:#2c2c2c; --brass:#d2d2d2; --line:#303030; background:#0b0b0b; color:#f1f1ef; }


body[class*="site-theme-"] .site-header {
    border-bottom:1px solid color-mix(in srgb, var(--brass) 65%, transparent);
    box-shadow:0 14px 40px rgba(0,0,0,.16);
}

body[class*="site-theme-"] .hero { box-shadow:inset 0 -1px rgba(255,255,255,.06); }

body[class*="site-theme-"] .btn-primary,
body[class*="site-theme-"] button.btn-primary {
    border:1px solid color-mix(in srgb, var(--brass) 60%, transparent);
    box-shadow:0 10px 28px rgba(0,0,0,.16), inset 0 1px rgba(255,255,255,.12);
    transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;
}

body[class*="site-theme-"] .btn-primary:hover { transform:translateY(-2px); box-shadow:0 18px 40px rgba(0,0,0,.22),0 0 28px color-mix(in srgb,var(--brass) 18%,transparent); filter:brightness(1.04); }

body[class*="site-theme-"] .product-card,
body[class*="site-theme-"] .tag-card,
body[class*="site-theme-"] .admin-card { box-shadow:var(--lux-shadow); }

body[class*="site-theme-"] .product-card:hover,
body[class*="site-theme-"] .tag-card:hover { transform:translateY(-5px); box-shadow:0 28px 60px rgba(0,0,0,.20); }

body[class*="site-theme-"] .hero::before,
body[class*="site-theme-"] .hero::after { content:"";position:absolute;pointer-events:none;border-radius:50%;filter:blur(2px);opacity:.6; }

body.site-theme-aurora .hero::before { width:520px;height:520px;right:-180px;top:-180px;background:radial-gradient(circle,rgba(111,231,224,.28),transparent 68%); }

body.site-theme-aurora .hero::after { width:420px;height:420px;left:-170px;bottom:-180px;background:radial-gradient(circle,rgba(138,99,223,.25),transparent 68%); }

body.site-theme-cyber_chrome .hero::before { width:650px;height:2px;right:4%;top:28%;background:linear-gradient(90deg,transparent,var(--brass),transparent);box-shadow:0 0 24px var(--brass);transform:rotate(-18deg); }

body.site-theme-violet_neon .hero::before { width:500px;height:500px;right:-150px;top:-190px;background:radial-gradient(circle,rgba(255,78,216,.26),transparent 66%); }

body.site-theme-obsidian_gold .hero::after { width:450px;height:450px;right:-160px;bottom:-230px;background:radial-gradient(circle,rgba(224,185,93,.16),transparent 68%); }

body.site-theme-royal_noir .hero::after { width:500px;height:500px;right:-180px;top:-200px;background:radial-gradient(circle,rgba(155,91,131,.22),transparent 68%); }

body.site-theme-emerald_noir .hero::after { width:500px;height:500px;right:-190px;top:-220px;background:radial-gradient(circle,rgba(31,140,103,.20),transparent 70%); }

body.site-theme-titanium .hero::before { width:100%;height:1px;left:0;top:24%;background:linear-gradient(90deg,transparent,#9fc5e5,transparent);opacity:.45; }

body.site-theme-monochrome .hero::before { width:75%;height:1px;left:12%;top:25%;background:linear-gradient(90deg,transparent,#fff,transparent);opacity:.2; }

body.site-theme-midnight_luxe .hero::after { width:480px;height:480px;right:-180px;bottom:-230px;background:radial-gradient(circle,rgba(212,183,123,.14),transparent 70%); }

body.site-theme-pearl_luxe .hero { background:linear-gradient(135deg,#20262d,#59636d 58%,#252b31); }

body.site-theme-desert_luxe .hero { background:radial-gradient(circle at 80% 20%,rgba(215,170,103,.17),transparent 30%),#1c1510; }

body.site-theme-signature .hero { background:linear-gradient(120deg,#181513,#29211c 58%,#3c2a20); }


/* Festival skins are intentionally cinematic and can be layered over any core theme. */
body.palette-diwali .site-header, body.palette-diwali .hero { background:radial-gradient(circle at 78% 18%,rgba(255,196,75,.18),transparent 25%),linear-gradient(135deg,#170708,#3c0e18 58%,#1a1008); }

body.palette-holi .site-header, body.palette-holi .hero { background:radial-gradient(circle at 18% 30%,rgba(0,216,190,.22),transparent 25%),radial-gradient(circle at 82% 20%,rgba(255,58,160,.22),transparent 25%),#120a15; }

body.palette-wedding .site-header, body.palette-wedding .hero { background:linear-gradient(135deg,#1c1318,#4c2738,#1d1718); }

body.palette-rakhi .site-header, body.palette-rakhi .hero { background:radial-gradient(circle at 75% 25%,rgba(232,185,35,.20),transparent 26%),linear-gradient(135deg,#180506,#551018,#160b07); }

body.palette-navratri .site-header, body.palette-navratri .hero { background:radial-gradient(circle at 20% 20%,rgba(242,165,44,.20),transparent 25%),linear-gradient(135deg,#120512,#5b1235,#1a0b20); }

body.palette-eid .site-header, body.palette-eid .hero { background:radial-gradient(circle at 80% 20%,rgba(212,175,55,.18),transparent 25%),linear-gradient(135deg,#03100c,#0b3c2a,#07130f); }

body.palette-christmas .site-header, body.palette-christmas .hero { background:radial-gradient(circle at 75% 15%,rgba(201,162,39,.16),transparent 25%),linear-gradient(135deg,#06120e,#0e3d2d,#260a10); }

body.palette-patriotic .site-header, body.palette-patriotic .hero { background:linear-gradient(115deg,#19130b,#6e3a12 48%,#0b3922); }

body.palette-summer .site-header, body.palette-summer .hero { background:radial-gradient(circle at 78% 18%,rgba(242,183,5,.20),transparent 26%),linear-gradient(135deg,#06141d,#0c6178,#0a2734); }

body.palette-monsoon .site-header, body.palette-monsoon .hero { background:radial-gradient(circle at 78% 15%,rgba(109,191,174,.17),transparent 26%),linear-gradient(135deg,#061019,#173b55,#0b1e2a); }

body.palette-newyear .site-header, body.palette-newyear .hero { background:radial-gradient(circle at 70% 15%,rgba(220,230,240,.18),transparent 24%),linear-gradient(135deg,#020304,#202a33,#090b0d); }

body.palette-valentines .site-header, body.palette-valentines .hero { background:radial-gradient(circle at 78% 20%,rgba(255,78,134,.20),transparent 25%),linear-gradient(135deg,#100408,#5a0e27,#150a0d); }


/* ============================================================
   Festive Palettes — override the base color tokens (from :root)
   at the body level. Everything below already references these
   same variables (--cognac, --brass, etc), so a palette swap
   re-skins the whole site without touching layout or any other
   CSS rule. Combinable with either motion theme (Classic/3D).
   ============================================================ */

/* Diwali — deep maroon + bright gold, warm festive-lights mood */
body.palette-diwali {
    --cognac: #8c2f39;
    --cognac-dark: #6e1f28;
    --brass: #d4a437;
    --bone: #fbf3e6;
    --line: #e8d3a8;
}

body.palette-diwali .announcement-bar { background: #6e1f28; }

body.palette-diwali .hero, body.palette-diwali .site-header, body.palette-diwali .admin-sidebar { background: #241210; }


/* Holi — playful magenta + teal splash against a clean base, kept tasteful not garish */
body.palette-holi {
    --cognac: #c2185b;
    --cognac-dark: #97123f;
    --brass: #00897b;
    --bone: #fdf7f2;
    --line: #f0c9dd;
}

body.palette-holi .sale-badge, body.palette-holi .product-badge.badge-new { background: #00897b; color: #fff; }


/* Wedding Season — champagne gold + rose blush, soft and elegant */
body.palette-wedding {
    --cognac: #b4778a;
    --cognac-dark: #8f5a6a;
    --brass: #c9a96e;
    --bone: #fdf9f4;
    --line: #ecd9d0;
}

body.palette-wedding .hero, body.palette-wedding .site-header, body.palette-wedding .admin-sidebar { background: #2b2422; }


/* Raksha Bandhan — rakhi red + bright gold thread */
body.palette-rakhi {
    --cognac: #c0392b;
    --cognac-dark: #962c21;
    --brass: #e8b923;
    --bone: #fff8ec;
    --line: #f0d9a0;
}


/* Navratri / Durga Puja — deep magenta-red + marigold gold */
body.palette-navratri {
    --cognac: #a01942;
    --cognac-dark: #7a1332;
    --brass: #f2a52c;
    --bone: #fdf2f5;
    --line: #f0c3d4;
}


/* Eid — traditional emerald green + gold */
body.palette-eid {
    --cognac: #1f6f4a;
    --cognac-dark: #154d33;
    --brass: #d4af37;
    --bone: #f5f9f3;
    --line: #cfe3d3;
}


/* Christmas / New Year — festive red + gold, deep green hero */
body.palette-christmas {
    --cognac: #8b1e2b;
    --cognac-dark: #641621;
    --brass: #c9a227;
    --bone: #f7f3ea;
    --line: #dcd0a8;
}

body.palette-christmas .hero, body.palette-christmas .site-header, body.palette-christmas .admin-sidebar { background: #0f3d2e; }


/* Republic Day / Independence Day — patriotic saffron + green */
body.palette-patriotic {
    --cognac: #d97b1f;
    --cognac-dark: #b25f12;
    --brass: #0b6e35;
    --bone: #fefaf3;
    --line: #cfe8d7;
}


/* Summer Sale — ocean blue + sunny yellow, travel/vacation mood */
body.palette-summer {
    --cognac: #1f7a99;
    --cognac-dark: #145a72;
    --brass: #f2b705;
    --bone: #f4faf9;
    --line: #bfe3ea;
}


/* Monsoon Sale — cool blue-grey + misty teal */
body.palette-monsoon {
    --cognac: #355c7d;
    --cognac-dark: #24405a;
    --brass: #6dbfae;
    --bone: #f2f6f7;
    --line: #cddbe0;
}


/* Small festive marker in the announcement bar so it's obvious which mood is live */
.festive-marker { margin-right: 6px; }


/* ---------- Theme: 3D Premium hero parallax ---------- */
.hero-parallax-layer {
    position: absolute;
    z-index: 0;
    display: none; /* Classic theme: extra layers stay hidden, just the main tag shows */
    transition: transform 0.1s ease-out;
}

body.theme-3d .hero-parallax-layer { display: block; }

body.theme-3d .hero-tag-visual .tag-card:not(.hero-parallax-layer) {
    position: relative;
    z-index: 1;
}


/* ---------- Theme: 3D Premium (opt-in via body.theme-3d, chosen in Admin > Theme) ---------- */
body.theme-3d .tag-card {
    transform-style: preserve-3d;
    transition: transform 0.15s ease-out, box-shadow 0.15s ease-out;
}

body.theme-3d .tag-card.tilt-active {
    transform: perspective(800px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(-4px) translateZ(0);
    box-shadow: 0 24px 44px -18px rgba(33,31,29,0.4), 0 6px 14px -6px rgba(33,31,29,0.18);
}

@media (prefers-reduced-motion: reduce) {
    body.theme-3d .tag-card { transition: none !important; }
    body.theme-3d .tag-card.tilt-active { transform: none !important; }
}

@media (hover: none) {
    body.theme-3d .tag-card.tilt-active { transform: none; box-shadow: none; }
}


body.theme-3d .btn-primary {
    transform: translateY(0);
    box-shadow: 0 4px 10px -4px rgba(184,147,90,0.5);
    transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.15s ease;
}

body.theme-3d .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 10px 20px -8px rgba(184,147,90,0.55); }

body.theme-3d .btn-primary:active { transform: translateY(0); box-shadow: 0 2px 6px -2px rgba(184,147,90,0.4); }


/* ---------- Cart page ---------- */
.cart-line {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid var(--line);
}

.qty-control {
    display: flex;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 4px;
}

.qty-btn {
    background: none;
    border: none;
    width: 30px;
    height: 30px;
    cursor: pointer;
    font-size: 1rem;
    color: var(--ink);
}

.qty-value { width: 26px; text-align: center; font-family: 'IBM Plex Mono', monospace; font-size: 0.85rem; }

.cart-remove-btn {
    background: none;
    border: none;
    color: var(--slate);
    cursor: pointer;
    font-size: 0.9rem;
}

.cart-remove-btn:hover { color: var(--cognac); }


/* ---------- Checkout ---------- */
.checkout-narrow { max-width: 620px; padding-top: 50px; padding-bottom: 100px; }

.checkout-steps {
    display: flex;
    gap: 20px;
    margin-bottom: 34px;
    font-family: 'IBM Plex Mono', monospace;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--line);
}

.checkout-steps .step { color: var(--slate); }

.checkout-steps .step.active { color: var(--cognac-dark); font-weight: 600; }

.checkout-steps .step.done { color: var(--ink); }

.form-label {
    display: block;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--slate);
    margin: 16px 0 6px;
}

.form-input {
    width: 100%;
    padding: 13px 14px;
    border: 1px solid var(--line);
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-size: 0.95rem;
    background: #fffdf8;
    color: var(--ink);
}

.form-input:focus { outline: none; border-color: var(--cognac); }

.checkout-error { color: #a9673b; font-size: 0.85rem; margin-top: 10px; min-height: 1em; }


/* ---------- Sale Banner (reused .sale-badge above also applies standalone) ---------- */

/* ---------- Live Sale Banner ---------- */
.sale-banner {
    background: var(--cognac);
    color: var(--bone);
    border-top: 1px solid var(--cognac-dark);
    border-bottom: 1px solid var(--cognac-dark);
}

.sale-banner-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 26px 24px;
    flex-wrap: wrap;
}

.sale-badge {
    display: inline-block;
    font-family: 'IBM Plex Mono', monospace;
    font-size: 0.7rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    background: var(--ink);
    color: var(--brass);
    padding: 4px 10px;
    border-radius: 3px;
    margin-bottom: 10px;
}

.sale-banner h2 {
    color: var(--bone);
    font-size: 1.6rem;
    margin-bottom: 4px;
}

.sale-banner p {
    color: #f6ecdd;
    font-size: 0.92rem;
}

.sale-banner .btn-primary {
    background: var(--ink);
    color: var(--brass);
    flex-shrink: 0;
}

.sale-banner .btn-primary:hover { background: #3a3733; }


/* ---------- Homepage Banner Carousel ---------- */
.banner-carousel {
    position: relative;
    width: 100%;
    aspect-ratio: 21 / 7;
    max-height: 420px;
    overflow: hidden;
    background: var(--ink);
}

.carousel-track { position: relative; width: 100%; height: 100%; }

.carousel-slide {
    position: absolute; inset: 0;
    opacity: 0;
    transition: opacity 0.5s ease;
    display: block;
}

.carousel-slide.active { opacity: 1; }

.carousel-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }

.carousel-caption {
    position: absolute;
    left: 6%; bottom: 12%;
    color: var(--bone);
    max-width: 420px;
}

.carousel-caption h3 { color: var(--bone); font-size: 1.8rem; margin-bottom: 6px; text-shadow: 0 2px 10px rgba(0,0,0,0.4); }

.carousel-caption p { color: #f1ecdd; font-size: 0.95rem; margin-bottom: 14px; text-shadow: 0 2px 8px rgba(0,0,0,0.4); }

.carousel-dots {
    position: absolute;
    bottom: 16px; left: 50%; transform: translateX(-50%);
    display: flex; gap: 8px;
}

.carousel-dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: rgba(241,234,218,0.4);
    border: none; cursor: pointer;
    transition: background 0.2s ease, width 0.2s ease;
}

.carousel-dot.active { background: var(--brass); width: 22px; border-radius: 4px; }

@media (max-width: 700px) {
    .banner-carousel { aspect-ratio: 4/5; max-height: 460px; }
    .carousel-caption { left: 6%; right: 6%; max-width: none; }
}


/* ---------- Also Available On (marketplace trust band) ---------- */
.marketplace-band {
    background: #e9e0cc;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    padding: 22px 0;
    margin-top: 20px;
}

.marketplace-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
}

.marketplace-label {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--slate);
}

.marketplace-logos { display: flex; gap: 26px; align-items: center; flex-wrap: wrap; }

.marketplace-logo-link {
    font-family: 'Fraunces', serif;
    font-weight: 600;
    font-size: 1.05rem;
    color: var(--ink);
    opacity: 0.75;
    transition: opacity 0.15s ease;
}

.marketplace-logo-link:hover { opacity: 1; }

.marketplace-logo-link img { height: 22px; display: block; }


/* ---------- Announcement Bar (scrolling ticker, editable from admin) ---------- */
.announcement-bar {
    background: var(--cognac-dark);
    color: var(--bone);
    overflow: hidden;
    white-space: nowrap;
    padding: 7px 0;
}

.announcement-track {
    display: inline-flex;
    animation: scroll-marquee 26s linear infinite;
}

.announcement-item {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0 40px;
    position: relative;
}

.announcement-item::after {
    content: "·";
    position: absolute;
    right: -4px;
    color: var(--brass);
}

@keyframes scroll-marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}


.lang-switch-wrap { position: relative; }

.lang-switch-wrap:hover .mega-menu-dropdown, .lang-switch-wrap:focus-within .mega-menu-dropdown { display: block; right: 0; left: auto; }

.lang-switch-wrap .lang-active { font-weight: 700; color: var(--cognac); }


/* ---------- Header search + cart icon ---------- */
.search-wrap { position: relative; }

.search-input {
    background: rgba(241,234,218,0.1);
    border: 1px solid rgba(241,234,218,0.25);
    color: var(--bone);
    padding: 8px 12px;
    border-radius: 4px;
    font-size: 0.85rem;
    width: 180px;
}

.search-input::placeholder { color: rgba(241,234,218,0.5); }

.search-input:focus { outline: none; border-color: var(--brass); background: rgba(241,234,218,0.15); }

.search-results {
    display: none;
    position: absolute;
    top: 44px;
    right: 0;
    width: 280px;
    background: #fffdf8;
    border: 1px solid var(--line);
    border-radius: 6px;
    box-shadow: 0 14px 30px -10px rgba(0,0,0,0.3);
    z-index: 50;
    max-height: 320px;
    overflow-y: auto;
}

.search-results.open { display: block; }

.search-result-row { display: flex; align-items: center; gap: 10px; padding: 10px 12px; color: var(--ink); border-bottom: 1px solid var(--line); }

.search-result-row:last-child { border-bottom: none; }

.search-result-row:hover { background: var(--bone); }

.search-result-thumb { width: 40px; height: 40px; background: var(--bone); border-radius: 3px; overflow: hidden; flex-shrink: 0; }

.search-result-thumb img { width: 100%; height: 100%; object-fit: cover; }

.search-empty { padding: 14px; font-size: 0.85rem; color: var(--slate); }


.cart-icon-btn {
    background: none;
    border: none;
    color: var(--bone);
    font-size: 0.85rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
}

.cart-count-badge {
    background: var(--brass);
    color: var(--ink);
    font-family: 'IBM Plex Mono', monospace;
    font-size: 0.68rem;
    padding: 1px 6px;
    border-radius: 10px;
}


/* ---------- Cart Drawer ---------- */
.drawer-overlay {
    display: none;
    position: fixed; inset: 0;
    background: rgba(33,31,29,0.5);
    z-index: 90;
}

.drawer-overlay.open { display: block; }

.cart-drawer {
    position: fixed;
    top: 0; right: -400px;
    width: 380px; max-width: 90vw;
    height: 100vh;
    background: #fffdf8;
    z-index: 91;
    display: flex;
    flex-direction: column;
    transition: right 0.25s ease;
    box-shadow: -10px 0 30px rgba(0,0,0,0.2);
}

.cart-drawer.open { right: 0; }

.drawer-header {
    display: flex; justify-content: space-between; align-items: center;
    padding: 20px; border-bottom: 1px solid var(--line);
}

.drawer-header h3 { font-size: 1.1rem; }

.drawer-close { background: none; border: none; font-size: 1.1rem; cursor: pointer; color: var(--slate); }

.drawer-items { flex: 1; overflow-y: auto; padding: 10px 20px; }

.drawer-empty { color: var(--slate); font-size: 0.9rem; padding: 30px 0; text-align: center; }

.drawer-line { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }

.drawer-line-img { width: 56px; height: 56px; background: var(--bone); border-radius: 4px; overflow: hidden; flex-shrink: 0; display:flex; align-items:center; justify-content:center; font-size:0.65rem; color:var(--slate); }

.drawer-line-img img { width: 100%; height: 100%; object-fit: cover; }

.drawer-line-info { flex: 1; }

.drawer-line-name { font-size: 0.85rem; margin-bottom: 3px; }

.drawer-footer { padding: 18px 20px; border-top: 1px solid var(--line); }

.drawer-total-row { display: flex; justify-content: space-between; margin-bottom: 14px; font-weight: 600; }


/* ---------- Quick View Modal ---------- */
.qv-overlay {
    display: none;
    position: fixed; inset: 0;
    background: rgba(33,31,29,0.6);
    z-index: 95;
    align-items: center; justify-content: center;
}

.qv-overlay.open { display: flex; }

.qv-modal {
    background: #fffdf8;
    border-radius: 8px;
    padding: 30px;
    max-width: 420px; width: 90vw;
    position: relative;
    max-height: 85vh;
    overflow-y: auto;
}

.qv-modal .drawer-close { position: absolute; top: 14px; right: 14px; }


/* ---------- Product image hover-swap ---------- */
.tag-image { position: relative; }

.tag-image .hover-img {
    position: absolute; inset: 0;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.tag-card:hover .tag-image .hover-img { opacity: 1; }


/* ---------- Product Badges (Bestseller / Trending / New / Discount) ---------- */
.product-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    font-family: 'IBM Plex Mono', monospace;
    font-size: 0.62rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 4px 9px;
    border-radius: 3px;
    z-index: 1;
}

.badge-bestseller { background: var(--brass); color: var(--ink); }

.badge-trending    { background: var(--cognac); color: var(--bone); }

.badge-new         { background: var(--ink); color: var(--brass); }

.badge-discount    { background: #7a2e1f; color: var(--bone); }


.launch-stamp {
    background: var(--cognac);
    color: var(--bone);
    border-color: var(--cognac);
}


.tag-card > a { display: block; }

.compare-checkbox-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.75rem;
    color: var(--slate);
    margin-top: 10px;
    cursor: pointer;
}

.card-actions {
    display: flex;
    gap: 8px;
    margin-top: 12px;
}

.add-to-cart-btn {
    flex: 1;
    background: var(--ink);
    color: var(--brass);
    border: none;
    padding: 9px 0;
    border-radius: 4px;
    font-size: 0.78rem;
    font-family: 'IBM Plex Mono', monospace;
    letter-spacing: 0.03em;
    cursor: pointer;
    transition: background 0.15s ease;
}

.add-to-cart-btn:hover { background: var(--cognac-dark); }

.quick-view-btn {
    background: none;
    border: 1px solid var(--line);
    border-radius: 4px;
    width: 36px;
    cursor: pointer;
    font-size: 0.9rem;
}

.quick-view-btn:hover { border-color: var(--cognac); }


/* ---------- Footer ---------- */
.site-footer {
    background: var(--ink);
    color: #cfc7b4;
    padding: 50px 24px 24px;
    margin-top: 60px;
}

.footer-inner {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 30px;
}

.site-footer h4 {
    font-family: 'Fraunces', serif;
    font-size: 0.95rem;
    color: var(--bone);
    margin-bottom: 14px;
}

.site-footer a { display: block; font-size: 0.85rem; opacity: 0.8; margin-bottom: 8px; }

.footer-bottom {
    max-width: 1180px;
    margin: 40px auto 0;
    padding-top: 20px;
    border-top: 1px solid rgba(241,234,218,0.15);
    font-size: 0.75rem;
    font-family: 'IBM Plex Mono', monospace;
    opacity: 0.6;
}

@media (max-width: 700px) {
    .footer-inner { grid-template-columns: 1fr 1fr; }
}


/* ---------- Phase 3: Hotspots, Zoom, Scale Visualizer, Lookbook ---------- */
.product-image-stage { position: relative; overflow: hidden; }

.product-hotspot {
    position: absolute; transform: translate(-50%,-50%);
    width: 26px; height: 26px; border-radius: 50%;
    background: rgba(184,147,90,0.9); color: var(--ink);
    border: 2px solid #fff; font-weight: 700; cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
    animation: hotspot-pulse 2s ease-in-out infinite;
}

@keyframes hotspot-pulse { 0%,100% { box-shadow: 0 2px 8px rgba(0,0,0,0.3), 0 0 0 0 rgba(184,147,90,0.5); } 50% { box-shadow: 0 2px 8px rgba(0,0,0,0.3), 0 0 0 8px rgba(184,147,90,0); } }

.hotspot-popup {
    position: absolute; transform: translate(-50%, -110%);
    background: #fffdf8; border: 1px solid var(--line); border-radius: 6px;
    padding: 10px 12px; width: 180px; font-size: 0.8rem;
    box-shadow: 0 10px 24px -8px rgba(0,0,0,0.3); z-index: 5;
}

.hotspot-popup strong { display: block; margin-bottom: 4px; font-size: 0.82rem; }

.hotspot-popup p { color: var(--slate); font-size: 0.75rem; }

.zoom-lens {
    display: none; position: absolute; width: 120px; height: 120px;
    border: 2px solid var(--brass); border-radius: 50%;
    transform: translate(-50%, -50%); pointer-events: none;
    background-repeat: no-repeat; box-shadow: 0 6px 20px rgba(0,0,0,0.35); z-index: 4;
}

.zoom-hint { position: absolute; bottom: 10px; right: 10px; background: rgba(33,31,29,0.7); color: var(--bone); font-size: 0.7rem; padding: 4px 10px; border-radius: 12px; }

.scale-visualizer { display: none; align-items: flex-end; gap: 30px; margin-top: 14px; padding: 20px; background: var(--bone); border-radius: 8px; justify-content: center; }

.scale-figure { position: relative; width: 50px; display: flex; align-items: flex-end; justify-content: center; }

.scale-figure::before { content: ''; display: block; width: 100%; height: 100%; border-radius: 8px 8px 0 0; }

.scale-figure-human::before { background: linear-gradient(180deg, #d8cbb8, #b8a68c); border-radius: 20px 20px 0 0; }

.scale-figure-bag { width: 70px; }

.scale-figure-bag::before { background: var(--cognac); border-radius: 6px; }

.scale-label { position: absolute; top: -22px; left: 50%; transform: translateX(-50%); font-size: 0.68rem; color: var(--slate); white-space: nowrap; font-family: 'IBM Plex Mono', monospace; }


.lookbook-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }

.lookbook-photo { position: relative; border-radius: 10px; overflow: hidden; aspect-ratio: 4/5; }

.lookbook-photo img { width: 100%; height: 100%; object-fit: cover; }

.lookbook-caption { position: absolute; bottom: 14px; left: 14px; color: #fff; font-size: 0.85rem; text-shadow: 0 2px 6px rgba(0,0,0,0.6); }

.shop-pin { position: absolute; transform: translate(-50%,-50%); }

.shop-pin-dot { display: block; width: 18px; height: 18px; background: rgba(255,255,255,0.9); border: 2px solid var(--brass); border-radius: 50%; position: relative; }

.shop-pin-dot::after { content: '+'; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-weight: 700; color: var(--ink); font-size: 0.8rem; }

.shop-pin-card { display: none; position: absolute; bottom: 130%; left: 50%; transform: translateX(-50%); background: #fffdf8; border-radius: 6px; padding: 8px; width: 160px; box-shadow: 0 10px 24px -8px rgba(0,0,0,0.3); }

.shop-pin:hover .shop-pin-card { display: flex; gap: 8px; align-items: center; }

.shop-pin-card img { width: 40px; height: 40px; object-fit: cover; border-radius: 4px; }

.shop-pin-card strong { font-size: 0.78rem; }

@media (max-width: 700px) { .lookbook-grid { grid-template-columns: 1fr; } }



/* Smart shopping advisor */
.advisor-banner{margin:10px auto 54px;max-width:1180px;padding:0 20px;}

.advisor-banner-inner{border:1px solid var(--line);border-radius:16px;padding:34px 38px;display:flex;align-items:center;justify-content:space-between;gap:28px;background:linear-gradient(135deg,rgba(169,103,59,.08),rgba(255,255,255,.02));box-shadow:0 18px 50px rgba(0,0,0,.06);}

.advisor-banner h2{font-size:clamp(1.5rem,3vw,2.3rem);margin:10px 0 8px;}

.advisor-banner p{max-width:680px;color:var(--slate);line-height:1.65;margin:0;}

.advisor-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;}

.btn-secondary{border:1px solid var(--charcoal);color:var(--charcoal);background:transparent;border-radius:6px;padding:11px 16px;font-size:.82rem;cursor:pointer;}


@media(max-width:760px){.advisor-banner{padding:0 14px;margin-bottom:36px}.advisor-banner-inner{padding:24px;display:block}.advisor-actions{justify-content:flex-start;margin-top:18px}}


/* ==========================================================
   LUXURY COMMERCE LAYER
   Product pages get a quieter editorial layout: warm ivory paper,
   ink typography, champagne metal accents, generous whitespace.
   ========================================================== */
body.product-page {
    --ink: #151515;
    --bone: #f6f3ed;
    --paper: #fbfaf7;
    --champagne: #b89b63;
    --champagne-dark: #8d7446;
    --slate: #68655f;
    --line: #e3ded4;
    background: var(--paper);
}

body.product-page .announcement-bar {
    background: #111;
    color: #f5f1e9;
    border-bottom: 1px solid #292929;
    font-size: 10px;
    letter-spacing: .16em;
}

body.product-page .site-header {
    background: rgba(251,250,247,.97);
    color: var(--ink);
    border-bottom: 1px solid var(--line);
    position: relative;
    z-index: 50;
}

body.product-page .header-inner {
    max-width: 1320px;
    min-height: 78px;
    padding: 0 28px;
    gap: 28px;
}

body.product-page .logo {
    color: var(--ink);
    font-size: 1.55rem;
    letter-spacing: .11em;
    white-space: nowrap;
}

body.product-page .logo span { color: var(--champagne-dark); }

body.product-page .main-nav { gap: 24px; flex: 1; justify-content: center; }

body.product-page .main-nav a {
    color: #36342f;
    font-size: .72rem;
    letter-spacing: .13em;
    opacity: 1;
}

body.product-page .main-nav a:hover { border-bottom-color: var(--champagne); }

body.product-page .header-actions { gap: 8px; }

body.product-page .header-actions > a:first-of-type { display:none; }

body.product-page .cart-icon-btn,
body.product-page .lang-switch-wrap > button {
    background: transparent;
    border: 0;
    color: #282723;
    padding: 9px 10px;
    font-size: .72rem;
    letter-spacing: .06em;
}

body.product-page .search-wrap { width: min(290px, 24vw); }

body.product-page .search-input {
    width:100%; height:40px; border:1px solid #ded9cf; background:#fff;
    border-radius:2px; padding:0 14px; font-size:.76rem; outline:none;
}

body.product-page .search-input:focus { border-color: var(--champagne-dark); box-shadow: 0 0 0 2px rgba(184,155,99,.12); }

body.product-page .cart-count-badge { background:var(--ink); color:#fff; }


.luxury-product-page { background: var(--paper); }

.luxury-breadcrumb { max-width:1320px; padding-left:28px!important; padding-right:28px!important; }

.luxury-breadcrumb nav { font-size:.68rem!important; letter-spacing:.08em; text-transform:uppercase; color:#858078!important; }

.luxury-breadcrumb nav a { color:#858078!important; }

.luxury-breadcrumb nav span:last-child { color:#3d3a35!important; }

.luxury-product-hero {
    max-width:1320px!important;
    padding-left:28px!important;
    padding-right:28px!important;
    grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr)!important;
    gap:72px!important;
    align-items:start!important;
}

.luxury-product-hero > div:first-child { position:sticky; top:20px; }

.luxury-product-hero .product-image-stage,
.luxury-product-hero .spin-viewer {
    background:#f0eee9!important;
    border:1px solid #e4e0d8;
    border-radius:2px!important;
    box-shadow:none!important;
}

.luxury-product-hero .product-image-stage img,
.luxury-product-hero .spin-viewer img { object-fit:contain!important; mix-blend-mode:multiply; }

.luxury-product-hero .thumbnail-row { gap:8px!important; margin-top:14px!important; }

.luxury-product-hero .thumbnail-btn {
    width:78px!important; height:78px!important; border-radius:2px!important;
    border:1px solid #d8d2c8!important; background:#f4f2ed!important;
}

.luxury-product-hero .thumbnail-btn.active { border:1px solid #171717!important; }

.luxury-product-hero > div:nth-child(2) { padding-top:6px; }

.luxury-product-hero .hero-eyebrow {
    font-family:'Inter',sans-serif!important;
    font-size:.66rem!important; letter-spacing:.18em; text-transform:uppercase;
    color:#81775f!important; margin:0 0 12px!important;
}

.luxury-product-hero h1 {
    font-family:'Fraunces',serif!important;
    font-size:clamp(2.25rem,4vw,3.7rem)!important;
    line-height:1.03!important; font-weight:500!important; letter-spacing:-.035em!important;
    max-width:600px; margin-bottom:20px!important;
}

.luxury-product-hero .price {
    font-family:'Inter',sans-serif!important; font-size:1.55rem!important; font-weight:600;
    letter-spacing:-.02em; color:#171717!important; margin-bottom:24px!important;
}

.luxury-product-hero .price span { color:#8d8981!important; font-weight:400; }

.luxury-product-hero .color-swatch-row { gap:11px; }

.luxury-product-hero .color-swatch { width:30px; height:30px; border:2px solid #eee!important; box-shadow:0 0 0 1px #c9c4bb; }

.luxury-product-hero .color-swatch.active { box-shadow:0 0 0 1px #171717; border:3px solid #f8f6f1!important; }

.luxury-product-hero .form-label { font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; color:#66615a; margin-bottom:10px; }

.luxury-product-hero ul li { font-size:.86rem!important; color:#4c4943!important; margin-bottom:11px!important; }

.luxury-product-hero ul li > span:first-child { color:var(--champagne-dark)!important; }

.luxury-product-hero .form-input {
    border:1px solid #d8d3ca; background:#fff; border-radius:2px; min-height:46px;
}

.luxury-product-hero .add-to-cart-btn,
.luxury-product-hero .btn-primary {
    background:#151515!important; color:#fff!important; border:1px solid #151515!important;
    border-radius:1px!important; min-height:52px; font-size:.78rem; letter-spacing:.12em;
    text-transform:uppercase; padding:15px 24px!important; box-shadow:none!important;
}

.luxury-product-hero .add-to-cart-btn:hover,
.luxury-product-hero .btn-primary:hover { background:#302f2c!important; transform:none!important; }

.luxury-product-hero .tag-card { background:#fff!important; border:1px solid #e3ded4!important; border-radius:2px!important; box-shadow:none!important; }

.luxury-product-hero > div:nth-child(2) > div[style*="border-top"] {
    border-color:#ded9d0!important; margin-top:6px!important; padding:18px 0!important;
}

.luxury-product-hero .spin-viewer-hint {
    background:rgba(20,20,20,.82); border-radius:1px; letter-spacing:.08em; font-size:.65rem;
}

.luxury-product-hero .zoom-hint { background:rgba(20,20,20,.78)!important; border-radius:1px!important; }


/* Replace the old card-heavy lower page with editorial bands. */
.luxury-product-page > .container:not(.luxury-breadcrumb):not(.luxury-product-hero) {
    max-width:1320px!important;
    padding-left:28px!important; padding-right:28px!important;
}

.luxury-product-page > .container:not(.luxury-breadcrumb):not(.luxury-product-hero) > .tag-card {
    background:transparent!important; border:0!important; border-top:1px solid var(--line)!important;
    border-radius:0!important; padding:34px 0!important; margin-bottom:0!important; box-shadow:none!important;
}

.luxury-product-page > .container:not(.luxury-breadcrumb):not(.luxury-product-hero) > .tag-card h2,
.luxury-product-page .section-heading h2 {
    font-family:'Fraunces',serif; font-weight:500; font-size:1.75rem; letter-spacing:-.02em;
}

.luxury-product-page .spec-table { max-width:680px; }

.luxury-product-page .spec-table td { padding:13px 0; border-bottom:1px solid #e8e3da; }

.luxury-product-page .spec-table td:first-child { text-transform:uppercase; letter-spacing:.08em; font-size:.68rem; }

.luxury-product-page .section-heading { margin:50px 0 22px; }

.luxury-product-page .product-grid { gap:16px; }

.luxury-product-page .product-grid .tag-card { border-radius:2px; box-shadow:none; }

.luxury-product-page .product-grid .tag-card:hover { transform:translateY(-2px); box-shadow:0 12px 25px rgba(20,20,20,.08); }


@media (max-width:1050px) {
    body.product-page .main-nav { display:none; }
    body.product-page .header-inner { justify-content:space-between; }
    body.product-page .search-wrap { width:min(340px,42vw); }
    .luxury-product-hero { grid-template-columns:1fr!important; gap:42px!important; }
    .luxury-product-hero > div:first-child { position:static; }
    .luxury-product-hero > div:first-child .product-image-stage,
    .luxury-product-hero > div:first-child .spin-viewer { max-height:none; }
}

@media (max-width:700px) {
    body.product-page .header-inner { min-height:64px; padding:0 16px; }
    body.product-page .logo { font-size:1.2rem; }
    body.product-page .search-wrap { display:none; }
    body.product-page .header-actions { gap:0; }
    body.product-page .header-actions > div.lang-switch-wrap { display:none; }
    body.product-page .header-actions > a { display:inline-flex!important; }
    .luxury-breadcrumb, .luxury-product-hero,
    .luxury-product-page > .container:not(.luxury-breadcrumb):not(.luxury-product-hero) {
        padding-left:16px!important; padding-right:16px!important;
    }
    .luxury-product-hero h1 { font-size:2.35rem!important; }
    .luxury-product-hero .thumbnail-btn { width:62px!important; height:62px!important; }
    .luxury-product-hero { padding-bottom:50px!important; }
}



/* ============================================================
   PHASE 3 — LUXURY EXPERIENCE / CONVERSION SYSTEM
   ============================================================ */
:root{--lux-gold:#d6b36a;--lux-black:#090a0b;--lux-ink:#111315;--lux-muted:#7d8186;--lux-glass:rgba(255,255,255,.055)}

.site-header{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);position:sticky;top:0;z-index:80}

.logo{letter-spacing:.14em!important;font-weight:800!important}
.logo span{color:var(--brass)!important}

.header-luxe-cta{border:1px solid color-mix(in srgb,var(--brass) 55%,transparent);padding:9px 13px;border-radius:999px!important;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(214,179,106,.10));box-shadow:inset 0 1px rgba(255,255,255,.12),0 8px 24px rgba(0,0,0,.08)}

.luxury-product-page{background:radial-gradient(circle at 78% 6%,rgba(214,179,106,.08),transparent 26%),linear-gradient(180deg,rgba(255,255,255,.02),transparent 40%)}

.luxury-product-hero{align-items:start!important}
.luxury-product-hero>div:first-child{position:sticky;top:96px}
.luxury-product-info{padding:30px;border:1px solid color-mix(in srgb,var(--line) 75%,transparent);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));box-shadow:0 30px 90px rgba(0,0,0,.10);backdrop-filter:blur(18px)}

.luxury-product-info h1{font-family:'Fraunces',Georgia,serif!important;font-size:clamp(2rem,3.2vw,3.35rem)!important;line-height:1.02;letter-spacing:-.045em}
.luxury-product-info .price{font-size:2rem!important;font-weight:750!important;letter-spacing:-.04em}
.luxury-product-info .btn-primary{min-height:56px;border-radius:14px;font-size:.95rem;letter-spacing:.02em;box-shadow:0 18px 45px rgba(0,0,0,.18)}

.luxury-utility-row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 22px}
.luxury-utility-row a{font-size:.72rem;text-decoration:none;padding:8px 11px;border:1px solid var(--line);border-radius:999px;color:var(--slate);background:rgba(255,255,255,.035);transition:.2s}
.luxury-utility-row a:hover{border-color:var(--brass);color:var(--charcoal);transform:translateY(-1px)}

.luxury-trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 22px}
.luxury-trust-grid>div{padding:12px;border-top:1px solid var(--line);display:grid;gap:3px}
.luxury-trust-grid b{font:600 .65rem 'IBM Plex Mono',monospace;color:var(--brass)}
.luxury-trust-grid span{font-size:.72rem;color:var(--slate)}

.product-image-stage,.spin-viewer{background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.10),transparent 46%),linear-gradient(145deg,#111315,#292c2f)!important;border:1px solid rgba(255,255,255,.10);box-shadow:0 35px 90px rgba(0,0,0,.18)!important}
.thumbnail-btn{border-radius:12px!important;transition:.2s}
.thumbnail-btn:hover{transform:translateY(-2px);border-color:var(--brass)!important}

.tag-card{border-radius:20px!important;border:1px solid color-mix(in srgb,var(--line) 78%,transparent)!important;box-shadow:0 18px 55px rgba(0,0,0,.055)}
.section-heading h2{font-family:'Fraunces',Georgia,serif;letter-spacing:-.03em}

.sticky-add-bar{z-index:90!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:rgba(10,11,12,.90)!important;border-top:1px solid rgba(255,255,255,.12)!important;padding:12px max(18px,calc((100vw - 1200px)/2))!important}
.sticky-add-info{display:flex;align-items:center;gap:14px}
.sticky-add-info small{font:600 9px 'IBM Plex Mono';letter-spacing:.14em;color:var(--brass)}
.sticky-add-info strong{color:#fff;font-size:.85rem;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sticky-add-info .mono{color:#fff;font-weight:700}
.sticky-add-actions{display:flex;align-items:center;gap:10px}
.sticky-pack-link{color:#fff;text-decoration:none;font-size:.76rem;border:1px solid rgba(255,255,255,.18);padding:11px 13px;border-radius:10px}
.sticky-add-bar .btn-primary{min-width:170px}

.pack-trip-page{padding:70px 0 110px}
.pack-trip-hero{max-width:800px;margin-bottom:30px}
.lux-kicker{font:600 10px 'IBM Plex Mono';letter-spacing:.18em;color:var(--brass)}
.pack-trip-hero h1{font:600 clamp(3rem,7vw,6.4rem)/.92 'Fraunces',Georgia,serif;letter-spacing:-.06em;margin:10px 0 18px}
.pack-trip-hero p{max-width:680px;color:var(--slate);font-size:1.05rem;line-height:1.7}
.pack-trip-form{display:grid;grid-template-columns:1.4fr .7fr .8fr 1fr auto;gap:10px;padding:18px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));box-shadow:0 20px 60px rgba(0,0,0,.08)}
.pack-trip-form label{font-size:.72rem;color:var(--slate);display:grid;gap:6px}
.pack-trip-form .btn-primary{align-self:end;min-height:48px}
.pack-trip-result{margin-top:55px}
.pack-trip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:22px}
.pack-trip-card{text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:rgba(255,255,255,.04);transition:.25s;display:block}
.pack-trip-card:hover{transform:translateY(-6px);box-shadow:0 25px 65px rgba(0,0,0,.15);border-color:var(--brass)}
.pack-trip-card img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;background:#151617}
.pack-trip-card span,.pack-trip-card h3,.pack-trip-card b,.pack-trip-card small{display:block;margin-left:16px;margin-right:16px}
.pack-trip-card span{font:600 9px 'IBM Plex Mono';letter-spacing:.12em;color:var(--brass);margin-top:14px}
.pack-trip-card h3{font-size:1rem;margin-top:7px}
.pack-trip-card b{font-size:1.1rem;margin-top:10px}
.pack-trip-card small{color:var(--slate);font-size:.72rem;line-height:1.5;margin-top:8px;margin-bottom:17px}

body.palette-diwali .pack-trip-page:before,body.palette-newyear .pack-trip-page:before{content:'';position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(214,179,106,.45) 0 1px,transparent 1.5px);background-size:80px 80px;opacity:.08;z-index:-1}

@media(max-width:1000px){.luxury-product-hero{grid-template-columns:1fr!important}.luxury-product-hero>div:first-child{position:relative;top:auto}.pack-trip-form{grid-template-columns:1fr 1fr}.pack-trip-form .btn-primary{grid-column:1/-1}.pack-trip-grid{grid-template-columns:repeat(2,1fr)}}

@media(max-width:650px){.luxury-product-info{padding:20px;border-radius:18px}.luxury-product-info h1{font-size:2.1rem!important}.luxury-trust-grid{grid-template-columns:1fr}.pack-trip-page{padding:42px 0 90px}.pack-trip-form{grid-template-columns:1fr}.pack-trip-form .btn-primary{grid-column:auto}.pack-trip-grid{grid-template-columns:1fr}.sticky-add-bar{padding:10px 12px!important}.sticky-add-info small,.sticky-pack-link{display:none}.sticky-add-info strong{max-width:150px}.sticky-add-bar .btn-primary{min-width:120px}}


/* Luggage Lab — premium brand utility */
.luggage-lab-page{background:linear-gradient(180deg,#0b0b0b 0,#111 42%,#f4f0e8 42%,#f4f0e8 100%);min-height:100vh;color:#f5f1e9;padding-bottom:80px}
.lab-hero{padding:92px 24px 76px;max-width:1180px}
.lab-eyebrow{letter-spacing:.18em;font-size:.72rem;opacity:.62;margin-bottom:18px}
.lab-hero h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(2.5rem,6vw,5.6rem);line-height:.98;max-width:900px;margin:0 0 22px}
.lab-hero p{max-width:650px;color:#c8c1b6;font-size:1.05rem}
.lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1180px}
.lab-panel,.lab-benefits article{background:#171717;border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:30px;box-shadow:0 24px 70px rgba(0,0,0,.24)}
.lab-panel h2{font-family:Georgia,serif;font-size:2rem;font-weight:500;margin:0 0 22px}
.lab-panel label{display:block;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#aaa;margin-bottom:16px}
.lab-panel select{display:block;width:100%;margin-top:8px;background:#101010;color:#fff;border:1px solid #3b3b3b;border-radius:12px;padding:14px}
.lab-panel .btn-primary{width:100%;margin-top:8px}
.lab-note{font-size:.72rem;line-height:1.5;color:#858585;margin-top:16px}
.lab-benefits{display:grid;gap:14px}
.lab-benefits article{padding:22px}
.lab-benefits span{color:#c9a66b;font-size:.7rem;letter-spacing:.1em}
.lab-benefits h3{font-family:Georgia,serif;font-size:1.45rem;margin:8px 0}
.lab-benefits p{color:#aaa;font-size:.9rem;line-height:1.55;margin:0}
.lab-results{color:#171717;padding-top:80px}
.lab-results .section-heading span{font-size:.7rem;letter-spacing:.16em;color:#8c7656}
.lab-results .section-heading h2{font-family:Georgia,serif;font-weight:500;font-size:2.8rem;margin:8px 0 28px}
.lab-products{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lab-product{background:#fff;border-radius:20px;overflow:hidden;text-decoration:none;color:#171717;box-shadow:0 15px 45px rgba(30,20,10,.08);transition:transform .25s ease,box-shadow .25s ease}
.lab-product:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(30,20,10,.14)}
.lab-product-media{aspect-ratio:1/1;background:#ece7dd;overflow:hidden}
.lab-product-media img{width:100%;height:100%;object-fit:cover}
.lab-product>div:last-child{padding:20px}
.lab-product small{color:#8b806e;text-transform:uppercase;letter-spacing:.1em;font-size:.65rem}
.lab-product h3{font-family:Georgia,serif;font-weight:500;font-size:1.2rem;margin:7px 0 10px}
.lab-product strong{font-size:1rem}
.lab-score{display:block;margin-top:12px;font-size:.7rem;color:#7a6549}
.lab-links{color:#171717;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-top:50px}
.lab-links a{background:#fff;border-radius:18px;padding:20px;text-decoration:none;color:#171717;border:1px solid #e4ddd2}
.lab-links b{display:block;font-family:Georgia,serif;font-size:1.05rem}
.lab-links span{display:block;font-size:.76rem;color:#81786d;margin-top:5px}
.product-lab-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 22px}
.product-lab-strip a{border:1px solid var(--line);border-radius:12px;padding:12px;text-decoration:none;color:var(--charcoal);background:rgba(255,255,255,.5)}
.product-lab-strip span{font-size:1rem;color:var(--cognac-dark);display:block}
.product-lab-strip b{display:block;font-size:.78rem;margin-top:5px}
.product-lab-strip small{display:block;color:var(--slate);font-size:.68rem;margin-top:3px;line-height:1.3}
.nav-lab-link{margin-left:12px}

@media(max-width:800px){.luggage-lab-page{background:linear-gradient(180deg,#0b0b0b 0,#0b0b0b 34%,#f4f0e8 34%)}.lab-hero{padding:60px 18px 50px}.lab-grid,.lab-products{grid-template-columns:1fr}.lab-links{grid-template-columns:1fr 1fr;padding-left:18px;padding-right:18px}.lab-results{padding-left:18px;padding-right:18px}.product-lab-strip{grid-template-columns:1fr}.nav-lab-link{display:none}}


/* Phase 6 — luxury customer pages */
.luxury-page{max-width:1120px;padding:92px 24px 110px}
.luxury-eyebrow{font-size:.72rem;letter-spacing:.22em;font-weight:700;opacity:.62;margin-bottom:18px}
.luxury-page h1{font-size:clamp(2.5rem,6vw,5rem);line-height:.95;letter-spacing:-.055em;margin:0 0 24px}
.luxury-intro{max-width:720px;font-size:1.08rem;line-height:1.75;opacity:.76;margin-bottom:52px}
.luxury-sections{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(0,0,0,.12);border:1px solid rgba(0,0,0,.12)}
.luxury-sections article{background:var(--surface,#fff);padding:34px;min-height:220px}
.luxury-sections h2{font-size:1.1rem;margin:0 0 14px}
.luxury-sections p{line-height:1.7;opacity:.72}
.luxury-form{max-width:850px;display:grid;gap:22px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.luxury-form label{display:grid;gap:8px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.luxury-form input,.luxury-form textarea,.luxury-search input{width:100%;box-sizing:border-box;border:1px solid rgba(0,0,0,.16);background:rgba(255,255,255,.55);padding:15px 16px;border-radius:0;font:inherit;letter-spacing:0;text-transform:none;font-weight:400}
.luxury-form textarea{resize:vertical}
.luxury-search{display:flex;max-width:850px;margin-bottom:28px}
.luxury-search input{flex:1}
.form-success,.form-error,.status-card{padding:16px 18px;margin:0 0 24px;border:1px solid rgba(0,0,0,.12)}
.form-success{background:rgba(30,120,70,.08)}
.form-error{background:rgba(150,40,30,.08)}
.status-card{display:grid;gap:8px;max-width:520px}
.status-card strong{font-size:1.3rem}
.account-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:700px}
.account-grid a{padding:24px;border:1px solid rgba(0,0,0,.14);text-decoration:none;font-weight:700}
.btn-secondary{display:inline-block;padding:14px 20px;border:1px solid rgba(0,0,0,.2);text-decoration:none}
@media(max-width:760px){.luxury-page{padding-top:62px}.luxury-sections{grid-template-columns:1fr}.form-grid,.account-grid{grid-template-columns:1fr}.luxury-search{display:grid;grid-template-columns:1fr}.luxury-search .btn-primary{width:100%}}



/* Phase 7 — Futuristic Luxury Admin Command Center */
.admin-body{
  --admin-bg:#07090d; --admin-panel:#0d1118; --admin-panel-2:#111722; --admin-line:rgba(255,255,255,.09);
  --admin-text:#f4f7fb; --admin-muted:#8d99aa; --admin-cyan:#58e6ff; --admin-violet:#a88bff; --admin-gold:#d9b36c;
  background:
    radial-gradient(circle at 82% 8%,rgba(88,230,255,.09),transparent 28%),
    radial-gradient(circle at 52% 85%,rgba(168,139,255,.07),transparent 30%),
    #07090d!important; color:var(--admin-text);
  font-family:Inter,system-ui,sans-serif;
}

.admin-shell{min-height:100vh;background:linear-gradient(115deg,rgba(255,255,255,.015),transparent 45%)}

.admin-sidebar{
  width:258px!important; flex:0 0 258px; position:sticky; top:0; height:100vh; box-sizing:border-box; overflow-y:auto;
  padding:24px 14px!important; background:linear-gradient(180deg,#0a0e14,#080a0f 72%,#07090d)!important;
  border-right:1px solid var(--admin-line)!important; box-shadow:18px 0 60px rgba(0,0,0,.24); scrollbar-width:thin;
}

.admin-brand{display:flex;align-items:center;gap:11px;padding:4px 8px 12px}

.admin-logo-mark{width:38px;height:38px;border:1px solid rgba(88,230,255,.35);border-radius:11px;display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(145deg,rgba(88,230,255,.18),rgba(168,139,255,.14));box-shadow:0 0 25px rgba(88,230,255,.12)}

.admin-logo{font-family:Inter,sans-serif!important;font-size:.86rem!important;letter-spacing:.14em;color:#f5f7fa}

.admin-logo span{color:var(--admin-cyan)!important}
.admin-logo small{font-family:Inter,sans-serif!important;color:var(--admin-muted);font-size:.51rem;letter-spacing:.2em;margin-top:5px}

.admin-system{margin:4px 8px 18px;padding:8px 10px;border:1px solid var(--admin-line);border-radius:9px;background:rgba(255,255,255,.025);font:600 8px Inter,sans-serif;letter-spacing:.14em;color:#9ca7b7}

.pulse-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#57f0a1;box-shadow:0 0 12px #57f0a1;margin-right:7px}

.admin-nav{gap:5px!important}

.admin-nav a{position:relative;border:1px solid transparent!important;border-radius:10px!important;padding:10px 11px!important;color:#9aa5b5!important;font-size:.72rem!important;letter-spacing:.01em;transition:all .2s ease;overflow:hidden}

.admin-nav a:before{content:'';position:absolute;left:0;top:20%;bottom:20%;width:2px;background:linear-gradient(#58e6ff,#a88bff);opacity:0;box-shadow:0 0 12px #58e6ff}

.admin-nav a:hover{color:#fff!important;background:linear-gradient(90deg,rgba(88,230,255,.08),rgba(168,139,255,.045))!important;border-color:rgba(88,230,255,.13)!important;transform:translateX(2px)}

.admin-nav a:hover:before{opacity:1}

.admin-nav a[href$="/ai-assistant"],.admin-nav a[href$="/analytics"]{background:linear-gradient(90deg,rgba(88,230,255,.09),rgba(168,139,255,.07))!important;color:#dceeff!important;border-color:rgba(88,230,255,.16)!important}

.admin-nav .admin-logout{margin-top:18px!important;border-top:0!important;padding-top:10px!important;color:#ff8f9d!important;background:rgba(255,74,101,.04)!important}

.admin-main{max-width:none!important;flex:1;padding:28px 34px 70px!important;min-width:0;background:radial-gradient(circle at 50% 0,rgba(255,255,255,.025),transparent 35%)}

.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:30px;padding:14px 16px;border:1px solid var(--admin-line);border-radius:15px;background:rgba(13,17,24,.72);backdrop-filter:blur(18px);box-shadow:0 15px 45px rgba(0,0,0,.18)}

.admin-kicker{display:block;font:700 .58rem Inter,sans-serif;letter-spacing:.2em;color:var(--admin-cyan);text-transform:uppercase;margin-bottom:5px}
.admin-topbar strong{font-size:.84rem;font-weight:600;color:#e8edf4}

.admin-top-actions{display:flex;align-items:center;gap:9px}
.admin-site-btn,.admin-live-chip{font-size:.67rem;text-decoration:none;padding:9px 12px;border-radius:9px;border:1px solid var(--admin-line);color:#dce5f0;background:rgba(255,255,255,.025)}
.admin-site-btn:hover{border-color:rgba(88,230,255,.35);color:#fff}
.admin-live-chip{color:#78f0ae}
.admin-live-chip i{display:inline-block;width:5px;height:5px;background:#57f0a1;border-radius:50%;box-shadow:0 0 10px #57f0a1;margin-right:5px}

.admin-page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:10px 0 22px}
.admin-page-heading h1{font-size:clamp(2rem,4vw,3.2rem)!important;line-height:1!important;margin:0 0 9px!important;letter-spacing:-.045em;color:#fff}
.admin-page-heading p{color:var(--admin-muted);font-size:.84rem;margin:0;max-width:680px}
.admin-heading-orb{width:72px;height:72px;border-radius:24px;display:grid;place-items:center;color:var(--admin-cyan);font-size:1.6rem;background:radial-gradient(circle at 35% 30%,rgba(88,230,255,.2),rgba(168,139,255,.06) 50%,transparent 70%);border:1px solid rgba(88,230,255,.14);box-shadow:0 0 45px rgba(88,230,255,.08)}

.admin-quick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 24px}
.admin-quick-stats>div{padding:17px 18px;border:1px solid var(--admin-line);border-radius:15px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));box-shadow:inset 0 1px rgba(255,255,255,.03)}
.admin-quick-stats span{display:block;color:#6f7c8e;font-size:.56rem;font-weight:700;letter-spacing:.15em}
.admin-quick-stats strong{display:block;font-size:1.08rem;margin-top:7px;color:#fff}
.admin-quick-stats small{display:block;color:#7f8a9a;font-size:.66rem;margin-top:4px}

.admin-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:13px!important}
.admin-card{position:relative!important;min-height:145px;padding:20px!important;border:1px solid var(--admin-line)!important;border-radius:17px!important;background:linear-gradient(145deg,rgba(17,23,34,.92),rgba(10,13,19,.88))!important;box-shadow:0 18px 50px rgba(0,0,0,.18)!important;overflow:hidden;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease!important}
.admin-card:after{content:'';position:absolute;width:110px;height:110px;right:-50px;top:-55px;border-radius:50%;background:radial-gradient(circle,rgba(88,230,255,.11),transparent 65%);pointer-events:none}
.admin-card:hover{transform:translateY(-4px)!important;border-color:rgba(88,230,255,.3)!important;box-shadow:0 25px 65px rgba(0,0,0,.3),0 0 35px rgba(88,230,255,.045)!important}
.admin-card h3{font-size:.91rem!important;color:#edf2f8!important;margin:0 0 10px!important}
.admin-card p{font-size:.72rem!important;line-height:1.65;color:#8490a1!important;margin:0}
.admin-card[style]{border-color:rgba(88,230,255,.3)!important;background:linear-gradient(145deg,rgba(88,230,255,.08),rgba(168,139,255,.045))!important}

.admin-list-row{background:linear-gradient(145deg,#10151e,#0c1017)!important;border-color:var(--admin-line)!important;border-radius:12px!important;color:#e8edf4}
.admin-thumb{background:#151b25!important;border:1px solid var(--admin-line);border-radius:8px}
.admin-btn-icon,.admin-btn-toggle{border-color:var(--admin-line)!important;background:#10151e!important;color:#dbe5f1!important}
.admin-btn-icon:hover{border-color:rgba(88,230,255,.35)!important}
.admin-btn-toggle.is-on{background:linear-gradient(135deg,#58e6ff,#8c78ff)!important;color:#071018!important}

.admin-main .tag-card,.admin-main .card,.admin-main form,.admin-main table{border-color:var(--admin-line)!important}
.admin-main input,.admin-main select,.admin-main textarea{background:#0c1118!important;color:#edf2f8!important;border-color:var(--admin-line)!important}
.admin-main input:focus,.admin-main select:focus,.admin-main textarea:focus{border-color:rgba(88,230,255,.5)!important;box-shadow:0 0 0 3px rgba(88,230,255,.07)!important}
.admin-main .btn-primary{background:linear-gradient(135deg,#58e6ff,#8e7aff)!important;color:#071018!important;border:0!important;border-radius:10px!important;box-shadow:0 8px 28px rgba(88,230,255,.13)!important}
.admin-main .btn-primary:hover{transform:translateY(-1px)!important;filter:brightness(1.05)}

@media(max-width:1100px){.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-sidebar{width:230px!important;flex-basis:230px}.admin-main{padding:24px!important}}

@media(max-width:760px){.admin-shell{display:block}.admin-sidebar{position:relative;height:auto;width:100%!important;min-height:0;max-height:none;flex-basis:auto}.admin-nav{display:grid;grid-template-columns:repeat(2,1fr)}.admin-nav .admin-logout{grid-column:1/-1}.admin-main{padding:18px!important}.admin-topbar{align-items:flex-start}.admin-top-actions{display:none}.admin-grid,.admin-quick-stats{grid-template-columns:1fr!important}.admin-heading-orb{display:none}}


/* ==========================================================
   Customer Appearance System
   Every theme supports Light / Dark / Auto. Auto follows the
   per-theme admin schedule; explicit visitor choice wins.
   ========================================================== */
.appearance-toggle{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:inherit;border-radius:999px;padding:8px 12px;display:inline-flex;gap:6px;align-items:center;cursor:pointer;font:500 .74rem 'IBM Plex Mono',monospace;letter-spacing:.04em;transition:.2s ease;white-space:nowrap}
.appearance-toggle:hover{border-color:var(--brass);box-shadow:0 0 22px color-mix(in srgb,var(--brass) 16%,transparent);transform:translateY(-1px)}

body.appearance-light{background:var(--bone);color:var(--ink)}

body.appearance-light h1,body.appearance-light h2,body.appearance-light h3,body.appearance-light .display{color:var(--ink)}

body.appearance-light .site-header{background:linear-gradient(135deg,#171512,#29231c);color:#f8f2e7}

body.appearance-light .product-card,body.appearance-light .tag-card,body.appearance-light .admin-card,body.appearance-light .form-card{background:rgba(255,255,255,.78);border-color:var(--line)}

body.appearance-light .section-dark,body.appearance-light .footer{background:#171512;color:#f8f2e7}

body.appearance-light .appearance-toggle{color:#f8f2e7}

body.appearance-dark{--ink:#f4f1ea;--bone:#0a0c0f;--slate:#a9a6a0;--line:rgba(255,255,255,.12);background:#0a0c0f;color:#f4f1ea}

body.appearance-dark h1,body.appearance-dark h2,body.appearance-dark h3,body.appearance-dark .display{color:#f8f5ef}

body.appearance-dark .site-header{background:linear-gradient(135deg,#050608,#11151a);color:#f8f5ef}

body.appearance-dark .product-card,body.appearance-dark .tag-card,body.appearance-dark .admin-card,body.appearance-dark .form-card{background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));border-color:rgba(255,255,255,.12);color:#f4f1ea}

body.appearance-dark input,body.appearance-dark select,body.appearance-dark textarea{background:#11151a;color:#f4f1ea;border-color:rgba(255,255,255,.15)}

body.appearance-dark .footer{background:#050608;color:#f4f1ea}

body.appearance-dark .search-results,body.appearance-dark .mega-menu-dropdown{background:#11151a;color:#f4f1ea;border-color:rgba(255,255,255,.14)}

body.appearance-dark .appearance-toggle{color:#f8f5ef;background:rgba(255,255,255,.08)}

/* Theme-specific light-mode tuning so each of the 12 themes remains recognizable. */
body.appearance-light.site-theme-aurora{background:#f1f5f7}
 body.appearance-light.site-theme-cyber_chrome{background:#edf5f8}

body.appearance-light.site-theme-violet_neon{background:#f8f1fb}
 body.appearance-light.site-theme-emerald_noir{background:#eef5f1}

body.appearance-light.site-theme-royal_noir{background:#f7f1f5}
 body.appearance-light.site-theme-desert_luxe{background:#f6eadb}

body.appearance-light.site-theme-titanium{background:#edf1f4}
 body.appearance-light.site-theme-pearl_luxe{background:#f8f8f5}

@media(max-width:900px){.appearance-toggle span{display:none}.appearance-toggle{padding:8px 10px}.header-actions{gap:10px}}

.market-selector{display:flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.04);font-size:.78rem}

.market-selector select{border:0;background:transparent;color:inherit;font:inherit;outline:0;cursor:pointer;max-width:105px}

.market-selector option{color:#111;background:#fff}


/* ---------- Comfortrek AI customer layer ---------- */
.ai-concierge-page{max-width:980px}
.ai-concierge-hero{padding-bottom:38px}
.ai-concierge-hero h1{max-width:760px}
.ai-suggestions{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.ai-suggestions button{border:1px solid var(--line);background:var(--surface,#fff);padding:9px 13px;border-radius:999px;cursor:pointer;color:inherit;font:inherit;font-size:.78rem}
.ai-chat-shell{border:1px solid var(--line);background:var(--surface,#fff);box-shadow:0 18px 50px rgba(0,0,0,.08);padding:18px}
.ai-chat-messages{min-height:260px;max-height:520px;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:6px}
.ai-bubble{max-width:82%;padding:12px 14px;border-radius:12px;line-height:1.55;font-size:.9rem;white-space:pre-wrap}
.ai-bubble-assistant{align-self:flex-start;background:var(--bone);border:1px solid var(--line)}
.ai-bubble-user{align-self:flex-end;background:var(--charcoal);color:#fff}
.ai-thinking{opacity:.65}
.ai-chat-form{display:flex;gap:10px;border-top:1px solid var(--line);padding-top:14px;margin-top:12px}
.ai-chat-form input{flex:1;min-width:0;border:1px solid var(--line);background:transparent;padding:14px 15px;font:inherit}
.ai-chat-footer{display:flex;justify-content:space-between;gap:12px;margin-top:10px;font-size:.7rem;color:var(--slate)}
.ai-chat-footer button{background:none;border:0;text-decoration:underline;cursor:pointer;color:inherit}
.ai-product-results{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 6px}
.ai-result-label{grid-column:1/-1;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--slate)}
.ai-product-mini{display:flex;gap:12px;border:1px solid var(--line);padding:10px;text-decoration:none;color:inherit;align-items:center}
.ai-product-mini img{width:72px;height:72px;object-fit:cover;background:var(--bone)}
.ai-product-mini span{display:grid;gap:3px}
.ai-product-mini small{color:var(--slate)}
.ai-product-mini strong{color:var(--cognac-dark)}
.ai-review-card{background:linear-gradient(135deg,var(--surface,#fff),rgba(190,150,80,.08))}
.ai-review-result{padding:14px;border-top:1px solid var(--line);display:grid;gap:10px}
.ai-review-pills{display:flex;flex-wrap:wrap;gap:7px}
.ai-review-pill{font-size:.75rem;padding:6px 9px;border:1px solid var(--line);border-radius:999px}
.ai-review-pill.pro{background:rgba(50,140,80,.08)}
.ai-review-pill.con{background:rgba(170,70,50,.08)}
@media(max-width:650px){.ai-chat-form{display:grid}.ai-product-results{grid-template-columns:1fr}.ai-bubble{max-width:94%}}

/* Phase 19 Growth Control Tower */
.eos-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.eos-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.eos-card{padding:16px;border-radius:16px;border:1px solid rgba(125,232,255,.15);background:rgba(255,255,255,.035)}
.eos-num{font-size:1.4rem;font-weight:800}
.eos-muted{opacity:.72;font-size:.85rem}
.eos-table{width:100%;border-collapse:collapse}
.eos-table th,.eos-table td{padding:8px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;font-size:.85rem}
@media(max-width:900px){.eos-grid{grid-template-columns:repeat(3,1fr)}.eos-layout{grid-template-columns:1fr}}
@media(max-width:560px){.eos-grid{grid-template-columns:1fr 1fr}}



/* ================================================================
   COMFORTREK FESTIVAL STOREFRONT SYSTEM v2
   The 12 stable theme IDs are intentionally retained so existing
   database settings keep working. Each ID now represents a full
   festival design language rather than a colour palette.
   ================================================================ */
body[class*="site-theme-"] {
  --festival-bg:#111;
  --festival-surface:#181818;
  --festival-surface-2:#222;
  --festival-accent:#f2b84b;
  --festival-accent-2:#fff;
  --festival-text:#fff;
  --festival-muted:#c9c9c9;
  --festival-radius:18px;
  --festival-pattern:none;
  --festival-shadow:0 24px 70px rgba(0,0,0,.22);
  background-color:var(--festival-bg);
  background-image:var(--festival-pattern);
  color:var(--festival-text);
  transition:background .35s ease,color .35s ease;
}

body[class*="site-theme-"] .site-header,
body[class*="site-theme-"] .hero,
body[class*="site-theme-"] .site-footer,
body[class*="site-theme-"] .announcement-bar {
  position:relative;
  overflow:hidden;
}

body[class*="site-theme-"] .site-header { background:var(--festival-bg); border-bottom:1px solid color-mix(in srgb,var(--festival-accent) 55%,transparent); }

body[class*="site-theme-"] .announcement-bar { background:var(--festival-accent); color:var(--festival-bg); }

body[class*="site-theme-"] .main-nav a { color:var(--festival-text); }

body[class*="site-theme-"] .logo span { color:var(--festival-accent); }

body[class*="site-theme-"] .hero { background:var(--festival-bg); }

body[class*="site-theme-"] .hero h1,
body[class*="site-theme-"] .section-heading h2,
body[class*="site-theme-"] h1, body[class*="site-theme-"] h2,
body[class*="site-theme-"] h3 { color:var(--festival-text); }

body[class*="site-theme-"] .hero-eyebrow { color:var(--festival-accent); }

body[class*="site-theme-"] .hero p.sub { color:var(--festival-muted); }

body[class*="site-theme-"] .btn-primary {
  background:var(--festival-accent); color:var(--festival-bg);
  border:1px solid color-mix(in srgb,var(--festival-accent) 70%,white);
  border-radius:var(--festival-radius); box-shadow:var(--festival-shadow);
}

body[class*="site-theme-"] .btn-primary:hover { transform:translateY(-3px) scale(1.01); filter:saturate(1.12) brightness(1.05); }

body[class*="site-theme-"] .product-card,
body[class*="site-theme-"] .tag-card {
  background:linear-gradient(145deg,var(--festival-surface),var(--festival-surface-2));
  border:1px solid color-mix(in srgb,var(--festival-accent) 22%,transparent);
  border-radius:var(--festival-radius); box-shadow:var(--festival-shadow);
  overflow:hidden; transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}

body[class*="site-theme-"] .product-card:hover,
body[class*="site-theme-"] .tag-card:hover { transform:translateY(-7px) rotateX(.5deg); border-color:color-mix(in srgb,var(--festival-accent) 60%,transparent); box-shadow:0 30px 75px rgba(0,0,0,.28),0 0 30px color-mix(in srgb,var(--festival-accent) 12%,transparent); }

body[class*="site-theme-"] .product-card .price,
body[class*="site-theme-"] .price { color:var(--festival-accent); }

body[class*="site-theme-"] .section-heading .stamp { color:var(--festival-accent); border-color:color-mix(in srgb,var(--festival-accent) 35%,transparent); }

body[class*="site-theme-"] .site-footer { background:var(--festival-bg); border-top:1px solid color-mix(in srgb,var(--festival-accent) 28%,transparent); }

body[class*="site-theme-"] .site-footer h4 { color:var(--festival-accent); }


/* ---------- 01 Diwali Glow: diyas + rangoli ---------- */
body.site-theme-signature{
 --festival-bg:#130709;--festival-surface:#271012;--festival-surface-2:#351418;--festival-accent:#f4bd43;--festival-accent-2:#ffdf8a;--festival-text:#fff5df;--festival-muted:#d8bfa6;--festival-radius:14px;
 --festival-pattern:radial-gradient(circle at 15% 15%,rgba(244,189,67,.18) 0 3px,transparent 4px),radial-gradient(circle at 82% 22%,rgba(244,189,67,.14) 0 2px,transparent 3px),radial-gradient(circle at 50% 100%,rgba(181,42,57,.18),transparent 38%);
}

body.site-theme-signature .hero{background:radial-gradient(circle at 78% 28%,rgba(244,189,67,.20),transparent 22%),linear-gradient(135deg,#120507,#46121d 58%,#160b08);}

body.site-theme-signature .hero::before{content:'✦  ✧  ✦';position:absolute;right:6%;top:12%;font-size:4rem;letter-spacing:1.2rem;color:rgba(255,220,130,.45);text-shadow:0 0 35px #f4bd43;animation:festival-spark 3s ease-in-out infinite;}

body.site-theme-signature .hero::after{content:'🪔   🪔   🪔';position:absolute;left:4%;bottom:8%;font-size:2.2rem;letter-spacing:.8rem;opacity:.55;}

body.site-theme-signature .product-card{border-radius:14px 14px 28px 28px;}


/* ---------- 02 Holi Spectrum: powder splashes ---------- */
body.site-theme-midnight_luxe{
 --festival-bg:#100818;--festival-surface:#1e1028;--festival-surface-2:#29133b;--festival-accent:#ff5aa5;--festival-accent-2:#21d9c1;--festival-text:#fff4fb;--festival-muted:#d6c4d4;--festival-radius:24px;
 --festival-pattern:radial-gradient(circle at 8% 20%,rgba(255,70,150,.18) 0 40px,transparent 42px),radial-gradient(circle at 92% 70%,rgba(20,220,190,.16) 0 55px,transparent 57px),radial-gradient(circle at 50% 30%,rgba(255,196,45,.10) 0 20px,transparent 22px);
}

body.site-theme-midnight_luxe .hero{background:radial-gradient(circle at 18% 25%,rgba(255,63,157,.28),transparent 18%),radial-gradient(circle at 80% 20%,rgba(30,224,196,.25),transparent 20%),radial-gradient(circle at 65% 85%,rgba(255,198,43,.16),transparent 20%),#110918;}

body.site-theme-midnight_luxe .hero::before{content:'';position:absolute;width:280px;height:280px;left:-80px;top:10%;border-radius:52% 48% 62% 38%;background:radial-gradient(circle at 40% 40%,#ff4d9d,transparent 64%);filter:blur(5px);opacity:.35;transform:rotate(22deg);}

body.site-theme-midnight_luxe .hero::after{content:'';position:absolute;width:360px;height:360px;right:-110px;bottom:-150px;border-radius:45% 55% 35% 65%;background:radial-gradient(circle at 40% 40%,#18dbc3,transparent 65%);filter:blur(8px);opacity:.25;transform:rotate(-20deg);}

body.site-theme-midnight_luxe .product-card{border-radius:28px;transform:rotate(-.4deg);}

body.site-theme-midnight_luxe .product-card:nth-child(even){transform:rotate(.5deg);}


/* ---------- 03 Navratri Garba: mirror-work + rhythm ---------- */
body.site-theme-aurora{
 --festival-bg:#17071b;--festival-surface:#2a0d2d;--festival-surface-2:#421238;--festival-accent:#ffb52f;--festival-accent-2:#ec3c91;--festival-text:#fff6e8;--festival-muted:#decbd5;--festival-radius:20px;
 --festival-pattern:radial-gradient(circle,rgba(255,181,47,.13) 0 2px,transparent 3px) 0 0/22px 22px,linear-gradient(135deg,rgba(236,60,145,.08),transparent 40%);
}

body.site-theme-aurora .hero{background:radial-gradient(circle at 70% 15%,rgba(255,181,47,.22),transparent 22%),linear-gradient(135deg,#160719,#66122f 55%,#261052);}

body.site-theme-aurora .hero::before{content:'◆ ◇ ◆ ◇ ◆';position:absolute;right:4%;top:18%;font-size:2rem;letter-spacing:1rem;color:rgba(255,181,47,.35);transform:rotate(-12deg);}

body.site-theme-aurora .hero::after{content:'•  •  •  •  •  •';position:absolute;left:3%;bottom:12%;font-size:2rem;letter-spacing:1rem;color:#ec3c91;opacity:.3;}

body.site-theme-aurora .product-card{border-radius:20px 8px 20px 8px;}


/* ---------- 04 Eid Moonlight: crescent + lantern ---------- */
body.site-theme-obsidian_gold{
 --festival-bg:#04130f;--festival-surface:#09251b;--festival-surface-2:#0d3527;--festival-accent:#d9b34c;--festival-accent-2:#7fe0ba;--festival-text:#effff7;--festival-muted:#b7d2c5;--festival-radius:16px;
 --festival-pattern:radial-gradient(circle at 12% 18%,rgba(217,179,76,.13) 0 2px,transparent 3px),radial-gradient(circle at 88% 12%,rgba(217,179,76,.12) 0 1px,transparent 2px),linear-gradient(45deg,rgba(127,224,186,.035) 25%,transparent 25% 75%,rgba(127,224,186,.035) 75%) 0 0/42px 42px;
}

body.site-theme-obsidian_gold .hero{background:radial-gradient(circle at 78% 24%,rgba(217,179,76,.17),transparent 18%),linear-gradient(145deg,#03110d,#0b4630 55%,#061b14);}

body.site-theme-obsidian_gold .hero::before{content:'☾';position:absolute;right:8%;top:8%;font-size:9rem;line-height:1;color:#d9b34c;opacity:.16;filter:drop-shadow(0 0 20px #d9b34c);}

body.site-theme-obsidian_gold .hero::after{content:'✦   ✦   ✦   ✦';position:absolute;right:8%;top:27%;letter-spacing:1.5rem;color:#f4d783;opacity:.45;}

body.site-theme-obsidian_gold .product-card{border-radius:16px;border-top:2px solid color-mix(in srgb,var(--festival-accent) 60%,transparent);}


/* ---------- 05 Christmas Alpine: snow + evergreen ---------- */
body.site-theme-titanium{
 --festival-bg:#071a16;--festival-surface:#102821;--festival-surface-2:#17362c;--festival-accent:#e6c56a;--festival-accent-2:#c93a45;--festival-text:#f9fbf5;--festival-muted:#c8d5cf;--festival-radius:12px;
 --festival-pattern:radial-gradient(circle,rgba(255,255,255,.65) 0 1px,transparent 2px) 0 0/34px 34px,radial-gradient(circle,rgba(255,255,255,.28) 0 1px,transparent 2px) 17px 17px/48px 48px;
}

body.site-theme-titanium .hero{background:linear-gradient(150deg,#06140f,#0e4a35 55%,#102b45);}

body.site-theme-titanium .hero::before{content:'❄  ✦  ❄  ✦  ❄';position:absolute;right:5%;top:12%;font-size:2.8rem;letter-spacing:1.1rem;color:rgba(255,255,255,.36);animation:snow-drift 7s linear infinite;}

body.site-theme-titanium .hero::after{content:'🎄';position:absolute;right:9%;bottom:-15px;font-size:8rem;opacity:.12;filter:grayscale(1);}

body.site-theme-titanium .product-card{border-radius:12px 12px 26px 26px;}


/* ---------- 06 Rakhi Royale: silk + thread ---------- */
body.site-theme-royal_noir{
 --festival-bg:#18080c;--festival-surface:#2b0f18;--festival-surface-2:#411520;--festival-accent:#e8b34c;--festival-accent-2:#d84a5b;--festival-text:#fff2e9;--festival-muted:#d7bfc0;--festival-radius:10px;
 --festival-pattern:repeating-linear-gradient(90deg,rgba(232,179,76,.035) 0 2px,transparent 2px 12px),radial-gradient(circle at 80% 20%,rgba(216,74,91,.13),transparent 30%);
}

body.site-theme-royal_noir .hero{background:linear-gradient(135deg,#17070c,#641523 52%,#24100d);}

body.site-theme-royal_noir .hero::before{content:'';position:absolute;left:0;right:0;top:16%;height:2px;background:repeating-linear-gradient(90deg,#e8b34c 0 16px,#d84a5b 16px 32px,#f7d786 32px 48px);opacity:.35;transform:rotate(-2deg);}

body.site-theme-royal_noir .hero::after{content:'✺  ◉  ✺  ◉  ✺';position:absolute;right:5%;bottom:10%;color:#e8b34c;letter-spacing:1rem;opacity:.28;font-size:2rem;}

body.site-theme-royal_noir .product-card{border-radius:10px;border-left:3px solid var(--festival-accent);}


/* ---------- 07 Janmashtami Blue: peacock + flute ---------- */
body.site-theme-cyber_chrome{
 --festival-bg:#061127;--festival-surface:#0b1d3d;--festival-surface-2:#102a55;--festival-accent:#72d6ff;--festival-accent-2:#f3c74f;--festival-text:#eef8ff;--festival-muted:#b6cce1;--festival-radius:18px;
 --festival-pattern:radial-gradient(circle at 15% 25%,rgba(114,214,255,.15) 0 3px,transparent 4px),radial-gradient(circle at 85% 18%,rgba(243,199,79,.12) 0 2px,transparent 3px),linear-gradient(120deg,rgba(47,196,146,.04),transparent 40%);
}

body.site-theme-cyber_chrome .hero{background:radial-gradient(circle at 78% 18%,rgba(114,214,255,.2),transparent 22%),linear-gradient(135deg,#041026,#0b3260 52%,#0a172b);}

body.site-theme-cyber_chrome .hero::before{content:'🦚';position:absolute;right:5%;top:5%;font-size:8rem;opacity:.13;filter:saturate(.7);}

body.site-theme-cyber_chrome .hero::after{content:'──────────────';position:absolute;right:7%;bottom:17%;color:#f3c74f;letter-spacing:.3rem;transform:rotate(-8deg);opacity:.5;}

body.site-theme-cyber_chrome .product-card{border-radius:18px;clip-path:polygon(0 0,96% 0,100% 8%,100% 100%,4% 100%,0 92%);}


/* ---------- 08 Ganesh Utsav: mandap + marigold ---------- */
body.site-theme-emerald_noir{
 --festival-bg:#101006;--festival-surface:#24240c;--festival-surface-2:#353514;--festival-accent:#e9a92d;--festival-accent-2:#d84b32;--festival-text:#fff8e8;--festival-muted:#d7ceb0;--festival-radius:18px;
 --festival-pattern:radial-gradient(circle,rgba(233,169,45,.16) 0 3px,transparent 4px) 0 0/28px 28px,linear-gradient(90deg,rgba(44,125,74,.04),transparent 35%);
}

body.site-theme-emerald_noir .hero{background:radial-gradient(circle at 50% 0,rgba(233,169,45,.22),transparent 24%),linear-gradient(135deg,#111006,#39420c 52%,#171c08);}

body.site-theme-emerald_noir .hero::before{content:'❈  ❈  ❈';position:absolute;left:6%;top:9%;font-size:3rem;letter-spacing:1.5rem;color:#e9a92d;opacity:.32;}

body.site-theme-emerald_noir .hero::after{content:'⌁⌁⌁⌁⌁';position:absolute;right:5%;bottom:7%;font-size:3rem;color:#d84b32;opacity:.2;transform:rotate(-8deg);}

body.site-theme-emerald_noir .product-card{border-radius:18px 18px 36px 36px;border-top:4px solid var(--festival-accent);}


/* ---------- 09 Makar Sankranti: kites + sun ---------- */
body.site-theme-desert_luxe{
 --festival-bg:#201108;--festival-surface:#38200d;--festival-surface-2:#4c2a10;--festival-accent:#ffb52e;--festival-accent-2:#e65732;--festival-text:#fff6df;--festival-muted:#e0c7a0;--festival-radius:20px;
 --festival-pattern:linear-gradient(135deg,rgba(255,181,46,.06) 25%,transparent 25% 50%,rgba(230,87,50,.05) 50% 75%,transparent 75%) 0 0/46px 46px;
}

body.site-theme-desert_luxe .hero{background:radial-gradient(circle at 76% 16%,rgba(255,196,58,.3),transparent 20%),linear-gradient(160deg,#211006,#9a421c 55%,#30210b);}

body.site-theme-desert_luxe .hero::before{content:'◇   ◇   ◇';position:absolute;right:6%;top:8%;font-size:5rem;letter-spacing:1.2rem;color:#42a6d5;opacity:.24;transform:rotate(-15deg);}

body.site-theme-desert_luxe .hero::after{content:'☀';position:absolute;right:18%;top:12%;font-size:7rem;color:#ffc83d;opacity:.12;}

body.site-theme-desert_luxe .product-card{border-radius:20px 4px 20px 4px;}


/* ---------- 10 Onam Pookalam: floral rings + banana green ---------- */
body.site-theme-pearl_luxe{
 --festival-bg:#f6f1dc;--festival-surface:#fffdf4;--festival-surface-2:#f2ead0;--festival-accent:#b37a17;--festival-accent-2:#2f7043;--festival-text:#203125;--festival-muted:#667468;--festival-radius:18px;
 --festival-pattern:radial-gradient(circle,rgba(179,122,23,.18) 0 2px,transparent 3px) 0 0/18px 18px,radial-gradient(circle,rgba(47,112,67,.10) 0 4px,transparent 5px) 9px 9px/36px 36px;
}

body.site-theme-pearl_luxe .site-header{background:linear-gradient(90deg,#173a28,#2f7043);}

body.site-theme-pearl_luxe .hero{background:radial-gradient(circle at 50% 100%,rgba(179,122,23,.18),transparent 34%),linear-gradient(145deg,#214b31,#4d7d43 58%,#f0d27b);}

body.site-theme-pearl_luxe .hero::before{content:'❀  ❁  ❀';position:absolute;right:5%;top:10%;font-size:3rem;letter-spacing:1rem;color:#f6d56b;opacity:.45;}

body.site-theme-pearl_luxe .hero::after{content:'◉ ◉ ◉ ◉ ◉';position:absolute;left:4%;bottom:8%;letter-spacing:1rem;color:#c99a29;opacity:.25;}

body.site-theme-pearl_luxe .product-card{border-radius:50% 50% 16px 16px / 14px 14px 16px 16px;}


/* ---------- 11 Dussehra: theatre + victory ---------- */
body.site-theme-violet_neon{
 --festival-bg:#13080b;--festival-surface:#281014;--festival-surface-2:#3a151a;--festival-accent:#f0ad2f;--festival-accent-2:#d72e36;--festival-text:#fff3e6;--festival-muted:#d8b9b4;--festival-radius:8px;
 --festival-pattern:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 7px),radial-gradient(circle at 75% 20%,rgba(240,173,47,.12),transparent 30%);
}

body.site-theme-violet_neon .hero{background:radial-gradient(circle at 72% 18%,rgba(240,173,47,.22),transparent 20%),linear-gradient(120deg,#100608,#67131a 58%,#1a0c0e);}

body.site-theme-violet_neon .hero::before{content:'🏹';position:absolute;right:7%;top:8%;font-size:8rem;opacity:.12;transform:scaleX(-1) rotate(-8deg);}

body.site-theme-violet_neon .hero::after{content:'🔥  🔥  🔥';position:absolute;right:5%;bottom:8%;font-size:2.5rem;letter-spacing:1rem;opacity:.3;}

body.site-theme-violet_neon .product-card{border-radius:8px;border-bottom:3px solid var(--festival-accent);}


/* ---------- 12 New Year Fireworks: countdown + confetti ---------- */
body.site-theme-monochrome{
 --festival-bg:#05060a;--festival-surface:#10131b;--festival-surface-2:#181d28;--festival-accent:#d9e5f2;--festival-accent-2:#8ea9c8;--festival-text:#f7fbff;--festival-muted:#aeb9c8;--festival-radius:12px;
 --festival-pattern:radial-gradient(circle at 12% 20%,rgba(255,255,255,.65) 0 1px,transparent 2px) 0 0/30px 30px,radial-gradient(circle at 80% 70%,rgba(142,169,200,.5) 0 1px,transparent 2px) 10px 12px/42px 42px;
}

body.site-theme-monochrome .hero{background:radial-gradient(circle at 78% 18%,rgba(217,229,242,.20),transparent 18%),radial-gradient(circle at 28% 80%,rgba(142,169,200,.12),transparent 22%),linear-gradient(145deg,#020307,#17202d 56%,#07090e);}

body.site-theme-monochrome .hero::before{content:'✦  ✧  ✦';position:absolute;right:8%;top:9%;font-size:5rem;letter-spacing:1.5rem;color:#d9e5f2;opacity:.28;animation:festival-spark 2.4s ease-in-out infinite;}

body.site-theme-monochrome .hero::after{content:'2027';position:absolute;right:8%;bottom:5%;font:700 6rem 'IBM Plex Mono',monospace;color:#fff;opacity:.035;letter-spacing:-.1em;}

body.site-theme-monochrome .product-card{border-radius:12px;}


/* Shared festival motion + small-screen corrections. */
@keyframes festival-spark{0%,100%{transform:scale(.95) rotate(-2deg);opacity:.35}50%{transform:scale(1.05) rotate(2deg);opacity:.7}}

@keyframes snow-drift{0%{transform:translate3d(0,0,0)}50%{transform:translate3d(-18px,14px,0)}100%{transform:translate3d(0,28px,0)}}

@media (prefers-reduced-motion:reduce){body[class*="site-theme-"] *{animation-duration:.01ms!important;transition-duration:.01ms!important}}

@media(max-width:700px){body[class*="site-theme-"] .hero::before{font-size:2.8rem;right:2%;}.hero::after{max-width:35%;overflow:hidden}.product-card{transform:none!important}}


/* Festival themes also have deliberate light variants instead of falling back
   to one generic light palette. */
body.appearance-light.site-theme-signature{background:#fff7e9;color:#321316}

body.appearance-light.site-theme-signature .site-header{background:linear-gradient(90deg,#4a111b,#7a1c2b);}

body.appearance-light.site-theme-midnight_luxe{background:#fff7fb;color:#35102a}

body.appearance-light.site-theme-midnight_luxe .site-header{background:linear-gradient(90deg,#65144e,#c21868);}

body.appearance-light.site-theme-aurora{background:#fff7ed;color:#36101d}

body.appearance-light.site-theme-aurora .site-header{background:linear-gradient(90deg,#7d153b,#b91f68);}

body.appearance-light.site-theme-obsidian_gold{background:#f3faf5;color:#09281c}

body.appearance-light.site-theme-obsidian_gold .site-header{background:linear-gradient(90deg,#06442d,#14724d);}

body.appearance-light.site-theme-titanium{background:#f5fbf8;color:#17382d}

body.appearance-light.site-theme-titanium .site-header{background:linear-gradient(90deg,#0c4b37,#1c6c50);}

body.appearance-light.site-theme-royal_noir{background:#fff6f1;color:#42101b}

body.appearance-light.site-theme-royal_noir .site-header{background:linear-gradient(90deg,#6e1625,#9e2737);}

body.appearance-light.site-theme-cyber_chrome{background:#eef8ff;color:#082349}

body.appearance-light.site-theme-cyber_chrome .site-header{background:linear-gradient(90deg,#092d64,#0a5f91);}

body.appearance-light.site-theme-emerald_noir{background:#fff9e7;color:#2b300e}

body.appearance-light.site-theme-emerald_noir .site-header{background:linear-gradient(90deg,#4a520d,#6b7718);}

body.appearance-light.site-theme-desert_luxe{background:#fff6e8;color:#3b1b0b}

body.appearance-light.site-theme-desert_luxe .site-header{background:linear-gradient(90deg,#8b3517,#b85d1c);}

body.appearance-light.site-theme-pearl_luxe{background:#fffdf3;color:#203125}

body.appearance-light.site-theme-pearl_luxe .site-header{background:linear-gradient(90deg,#245e3a,#3d8050);}

body.appearance-light.site-theme-violet_neon{background:#fff7f0;color:#451016}

body.appearance-light.site-theme-violet_neon .site-header{background:linear-gradient(90deg,#7a111a,#a9242e);}

body.appearance-light.site-theme-monochrome{background:#f5f8fb;color:#101722}

body.appearance-light.site-theme-monochrome .site-header{background:linear-gradient(90deg,#0a0d14,#243244);}

body.appearance-light.site-theme-signature .product-card,body.appearance-light.site-theme-midnight_luxe .product-card,body.appearance-light.site-theme-aurora .product-card,body.appearance-light.site-theme-obsidian_gold .product-card,body.appearance-light.site-theme-titanium .product-card,body.appearance-light.site-theme-royal_noir .product-card,body.appearance-light.site-theme-cyber_chrome .product-card,body.appearance-light.site-theme-emerald_noir .product-card,body.appearance-light.site-theme-desert_luxe .product-card,body.appearance-light.site-theme-pearl_luxe .product-card,body.appearance-light.site-theme-violet_neon .product-card,body.appearance-light.site-theme-monochrome .product-card{background:rgba(255,255,255,.86);}


/* ==========================================================
   Admin Appearance Toggle — Light / Dark
   Scoped to the admin command center so storefront themes are
   never changed by this control.
   ========================================================== */
html.admin-theme-light .admin-body {
  --admin-bg:#f4f6f8; --admin-panel:#ffffff; --admin-panel-2:#f7f9fb;
  --admin-line:rgba(20,30,45,.13); --admin-text:#18202b; --admin-muted:#617084;
  --admin-cyan:#087f9e; --admin-violet:#6546c7; --admin-gold:#9a6a16;
  background:#f4f6f8!important; color:var(--admin-text)!important;
}

html.admin-theme-light .admin-shell { background:linear-gradient(115deg,rgba(10,30,50,.025),transparent 45%); }

html.admin-theme-light .admin-sidebar {
  background:linear-gradient(180deg,#ffffff,#f3f6f9 72%,#edf1f5)!important;
  border-right-color:rgba(20,30,45,.12)!important;
  box-shadow:18px 0 45px rgba(20,30,45,.08);
}

html.admin-theme-light .admin-logo,
html.admin-theme-light .admin-page-heading h1,
html.admin-theme-light .admin-card h3,
html.admin-theme-light .admin-quick-stats strong { color:#17212d!important; }

html.admin-theme-light .admin-logo-mark { color:#17212d; background:linear-gradient(145deg,rgba(8,127,158,.10),rgba(101,70,199,.08)); }

html.admin-theme-light .admin-nav a { color:#526174!important; }

html.admin-theme-light .admin-nav a:hover { color:#16202c!important; background:linear-gradient(90deg,rgba(8,127,158,.08),rgba(101,70,199,.045))!important; }

html.admin-theme-light .admin-system { color:#59687a; background:rgba(20,30,45,.035); }

html.admin-theme-light .admin-main { background:radial-gradient(circle at 50% 0,rgba(20,50,80,.035),transparent 35%); }

html.admin-theme-light .admin-topbar { background:rgba(255,255,255,.88); box-shadow:0 15px 45px rgba(20,30,45,.08); }

html.admin-theme-light .admin-topbar strong { color:#243244; }

html.admin-theme-light .admin-site-btn,
html.admin-theme-light .admin-live-chip { color:#344457; background:rgba(20,30,45,.035); }

html.admin-theme-light .admin-card {
  background:linear-gradient(145deg,#ffffff,#f7f9fb)!important;
  box-shadow:0 18px 50px rgba(20,30,45,.08)!important;
  color:#263445;
}

html.admin-theme-light .admin-card p,
html.admin-theme-light .admin-page-heading p,
html.admin-theme-light .admin-quick-stats span,
html.admin-theme-light .admin-quick-stats small { color:#637286!important; }

html.admin-theme-light .admin-quick-stats>div { background:linear-gradient(145deg,#fff,#f5f8fa); box-shadow:inset 0 1px rgba(255,255,255,.8); }

html.admin-theme-light .admin-list-row { background:linear-gradient(145deg,#fff,#f5f8fa)!important; color:#253346; }

html.admin-theme-light .admin-btn-icon,
html.admin-theme-light .admin-btn-toggle { background:#fff!important; color:#27374a!important; }

html.admin-theme-light .admin-main input,
html.admin-theme-light .admin-main select,
html.admin-theme-light .admin-main textarea { background:#fff!important; color:#1e2b3a!important; border-color:rgba(20,30,45,.16)!important; }

html.admin-theme-light .admin-main input::placeholder,
html.admin-theme-light .admin-main textarea::placeholder { color:#8290a0!important; }

html.admin-theme-light .admin-main table,
html.admin-theme-light .admin-main th,
html.admin-theme-light .admin-main td { color:#263548; }

html.admin-theme-light .admin-main a:not(.admin-nav a):not(.admin-site-btn) { color:#17647a; }

html.admin-theme-light .admin-theme-toggle { color:#263548; background:#fff; border-color:rgba(20,30,45,.14); }


.admin-theme-toggle {
  appearance:none; border:1px solid var(--admin-line); background:rgba(255,255,255,.045);
  color:#dce5f0; border-radius:999px; padding:8px 11px; cursor:pointer;
  display:inline-flex; align-items:center; gap:6px; font:600 .67rem Inter,system-ui,sans-serif;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}

.admin-theme-toggle:hover { transform:translateY(-1px); border-color:rgba(88,230,255,.38); }

.admin-theme-icon { font-size:.9rem; line-height:1; }

@media(max-width:760px){ .admin-theme-toggle .admin-theme-label{display:none}.admin-theme-toggle{padding:8px 10px} }



/* ---------- Premium Banner Carousel v39 ---------- */
.premium-banner-carousel{aspect-ratio:21/7;max-height:560px;min-height:300px;background:#111;isolation:isolate}

.premium-banner-carousel .carousel-track{height:100%;overflow:hidden}

.premium-banner-carousel .carousel-slide{inset:0;transform:translateX(7%);opacity:0;visibility:hidden;transition:transform .72s cubic-bezier(.22,.61,.36,1),opacity .55s ease,visibility 0s linear .72s}

.premium-banner-carousel .carousel-slide.active{transform:translateX(0);opacity:1;visibility:visible;z-index:2;transition:transform .72s cubic-bezier(.22,.61,.36,1),opacity .55s ease}

.premium-banner-carousel .carousel-media-link,.premium-banner-carousel .carousel-picture{position:absolute;inset:0;display:block}

.premium-banner-carousel .carousel-media{width:100%;height:100%;object-fit:cover;display:block}

.premium-banner-carousel .carousel-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,calc(var(--overlay)/100)) 0%,rgba(0,0,0,calc(var(--overlay)/2.2)) 42%,rgba(0,0,0,.04) 82%);z-index:1;pointer-events:none}

.premium-caption{z-index:3;top:50%;bottom:auto;transform:translateY(-50%);max-width:590px;left:7%;right:auto;padding:20px}
.premium-caption.align-center{left:50%;right:auto;transform:translate(-50%,-50%);text-align:center}
.premium-caption.align-right{left:auto;right:7%;text-align:right}
.premium-caption.theme-light h2,.premium-caption.theme-light p,.premium-caption.theme-light .carousel-eyebrow{color:#161616;text-shadow:0 2px 12px rgba(255,255,255,.22)}

.premium-caption h2{font-size:clamp(2rem,4.2vw,4.1rem);line-height:.98;margin:10px 0 14px;letter-spacing:-.035em;color:#fff;text-shadow:0 3px 22px rgba(0,0,0,.28)}
.premium-caption p{font-size:clamp(.95rem,1.4vw,1.16rem);line-height:1.55;color:#f7f4ed;max-width:520px;margin:0 0 22px}
.premium-caption.align-center p{margin-left:auto;margin-right:auto}
.premium-caption.align-right p{margin-left:auto}
.carousel-eyebrow{font-family:'IBM Plex Mono',monospace;letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;color:#fff}
.carousel-badge{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.16);backdrop-filter:blur(10px);font:600 .68rem 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:#fff;border:1px solid rgba(255,255,255,.22)}

.carousel-actions{display:flex;align-items:center;gap:18px}
.align-center .carousel-actions{justify-content:center}
.align-right .carousel-actions{justify-content:flex-end}
.carousel-cta{display:inline-flex;align-items:center;gap:12px;padding:13px 18px;border-radius:999px;background:#fff;color:#171717;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s}
.carousel-cta:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.18)}
.carousel-secondary{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.65);padding-bottom:3px}
.theme-light .carousel-secondary{color:#171717;border-color:#333}

.carousel-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.18);backdrop-filter:blur(10px);color:#fff;font-size:32px;line-height:1;cursor:pointer}
.carousel-prev{left:22px}
.carousel-next{right:22px}
.carousel-bottom{position:absolute;z-index:6;bottom:18px;left:7%;right:7%;display:flex;align-items:center;gap:14px}
.carousel-progress{height:2px;flex:1;background:rgba(255,255,255,.28);overflow:hidden}
.carousel-progress span{display:block;height:100%;width:0;background:#fff;transform-origin:left}
.carousel-progress span.running{animation:bannerProgress var(--duration,5s) linear forwards}
.carousel-dots{display:flex;gap:6px}
.carousel-dot{width:20px;height:3px;border:0;border-radius:3px;background:rgba(255,255,255,.35);cursor:pointer;padding:0}
.carousel-dot.active{background:#fff}
.carousel-pause{width:30px;height:30px;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.16);color:#fff;border-radius:50%;font-size:11px;cursor:pointer}
@keyframes bannerProgress{from{width:0}to{width:100%}}

@media(max-width:700px){.premium-banner-carousel{aspect-ratio:4/5;max-height:none;min-height:460px}.premium-banner-carousel .carousel-shade{background:linear-gradient(0deg,rgba(0,0,0,.62),rgba(0,0,0,.08) 70%)}.premium-caption{left:6%;right:6%;top:auto;bottom:58px;transform:none;padding:8px}.premium-caption.align-center,.premium-caption.align-right{left:6%;right:6%;transform:none;text-align:left}.premium-caption h2{font-size:2.05rem}.premium-caption p{font-size:.9rem}.carousel-actions{flex-wrap:wrap}.carousel-arrow{width:38px;height:38px;font-size:27px}.carousel-prev{left:12px}.carousel-next{right:12px}.carousel-bottom{left:6%;right:6%;bottom:18px}.carousel-dots{display:none}}

@media(prefers-reduced-motion:reduce){.premium-banner-carousel .carousel-slide{transition:none}.carousel-progress span.running{animation:none;width:100%}}



/* ---------- v40 Sale Campaign Experience ---------- */
.sale-promo-strip{position:relative;display:grid;grid-template-columns:1.25fr 1fr;min-height:230px;overflow:hidden;background:#171411;color:#fff;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}

.sale-promo-media{position:relative;min-height:230px}
.sale-promo-media img{width:100%;height:100%;object-fit:cover;display:block}
.sale-promo-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 45%,#171411 100%)}

.sale-promo-content{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:32px clamp(24px,5vw,72px) 32px 18px}
.sale-promo-badge,.sale-product-chip{display:inline-flex;align-items:center;gap:6px;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-family:'IBM Plex Mono',monospace;background:var(--sale-accent,#b46b3d);color:#fff;padding:6px 10px;border-radius:999px}
.sale-promo-content h2{font-size:clamp(1.55rem,3vw,2.4rem);margin:10px 0 6px;color:#fff}
.sale-promo-content p{color:#ddd0c2;max-width:520px;margin:0 0 14px}
.sale-mini-countdown{display:flex;gap:10px;margin:4px 0 16px}
.sale-mini-countdown span{border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:7px 9px;font-size:.68rem;color:#cfc4b8}
.sale-mini-countdown b{color:#fff;font-size:.9rem;margin-right:3px}
.sale-promo-content .btn-primary{background:#fff;color:#171411}
.sale-promo-content .btn-primary:hover{background:#f0e6da}

.sale-landing{background:#faf6ef;min-height:70vh}
.sale-hero{position:relative;min-height:420px;overflow:hidden;background:#161310}
.sale-hero img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.sale-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,8,6,.8),rgba(10,8,6,.25) 60%,rgba(10,8,6,.12))}
.sale-hero-overlay{position:relative;z-index:2;min-height:420px;display:flex;flex-direction:column;justify-content:center;max-width:760px;padding:60px max(24px,6vw);color:#fff}
.sale-hero-overlay h1{font-size:clamp(2.2rem,5vw,4.7rem);line-height:1.02;margin:12px 0}
.sale-hero-overlay p{font-size:1.05rem;color:#eee0d2;max-width:600px}
.sale-countdown{display:flex;gap:10px;margin-top:18px}
.sale-countdown div{min-width:68px;padding:10px 12px;border:1px solid rgba(255,255,255,.25);border-radius:12px;text-align:center;background:rgba(0,0,0,.22);backdrop-filter:blur(8px)}
.sale-countdown b{display:block;font-size:1.35rem}
.sale-countdown span{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:#d7c9bc}
.sale-landing-body{padding:48px 24px 72px}
.sale-copy{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:28px}
.sale-kicker{font:700 .7rem 'IBM Plex Mono',monospace;letter-spacing:.14em;color:var(--cognac)}
.sale-copy h2{margin:6px 0}
.sale-copy p{color:var(--slate);max-width:650px}
.sale-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.sale-product-card{background:#fff;border:1px solid #e9dfd2;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px rgba(39,29,20,.06);transition:transform .2s,box-shadow .2s}
.sale-product-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(39,29,20,.11)}
.sale-product-image{position:relative;aspect-ratio:1/1;background:#f4eee6}
.sale-product-image img{width:100%;height:100%;object-fit:cover}
.sale-product-tag{position:absolute;z-index:2;top:12px;left:12px;background:#191612;color:#fff;padding:6px 9px;border-radius:999px;font:700 .62rem 'IBM Plex Mono',monospace;letter-spacing:.06em}
.sale-product-info{padding:14px 15px 10px}
.sale-product-info h3{font-size:1rem;margin:0 0 10px;min-height:2.4em}
.sale-prices{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.sale-prices strong{font-size:1.1rem}
.sale-prices del{font-size:.8rem;color:#8d847b}
.sale-prices span,.sale-price-tag{font-size:.66rem;font-weight:800;color:#9c4b2c;background:#f8e7dc;padding:4px 6px;border-radius:5px}
.sale-product-card>.add-to-cart-btn{width:calc(100% - 30px);margin:0 15px 15px}
.sale-price-old{display:inline-block;text-decoration:line-through;color:var(--slate);font-size:.72rem;margin-left:7px}
.sale-price-tag{margin-left:6px}

.sale-studio-head,.sale-studio-grid{max-width:1400px;margin:0 auto}
.sale-studio-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}
.sale-studio-head p{color:var(--slate);max-width:760px}
.sale-template-strip{max-width:1400px;margin:0 auto 22px;padding:18px;border:1px solid var(--line,#e7ddd1);border-radius:18px;background:rgba(255,255,255,.55)}
.sale-template-strip>div:first-child{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}
.sale-template-strip small{color:var(--slate)}
.sale-template-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.sale-template-card{border:1px solid #e5dbcf;border-radius:13px;overflow:hidden;background:#fff;text-decoration:none;color:inherit}
.sale-template-card img{width:100%;aspect-ratio:2.2/1;object-fit:cover;display:block}
.sale-template-card span,.sale-template-card small{display:block;padding:8px 9px 0}
.sale-template-card small{padding-top:2px;padding-bottom:9px}
.sale-studio-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.7fr);gap:22px}
.sale-editor{padding:22px}
.sale-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sale-form-grid.three{grid-template-columns:repeat(3,1fr)}
.sale-options{display:flex;flex-wrap:wrap;gap:14px;margin:14px 0 20px}
.sale-options label{font-size:.82rem}
.sale-product-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;max-height:420px;overflow:auto;padding:8px;border:1px solid #e5dbcf;border-radius:12px;margin-bottom:18px}
.sale-product-option{display:flex;align-items:center;gap:9px;padding:8px;border-radius:10px;background:#faf7f2}
.sale-product-option img{width:44px;height:44px;object-fit:cover;border-radius:8px;background:#eee}
.sale-product-option span{display:flex;flex-direction:column;gap:2px}
.sale-product-option small{color:var(--slate)}
.product-picker-tools{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.product-picker-tools .form-input{flex:1}
.sale-preview{position:sticky;top:20px;height:max-content}
.sale-preview-card{background:#fff;border:1px solid #e5dbcf;border-radius:18px;overflow:hidden;box-shadow:0 14px 34px rgba(39,29,20,.08)}
.sale-preview-media{aspect-ratio:2.2/1;background:#211914 center/cover no-repeat;padding:12px}
.sale-preview-media span{background:var(--cognac);color:#fff;border-radius:999px;padding:6px 9px;font:700 .62rem 'IBM Plex Mono',monospace}
.sale-preview-body{padding:18px}
.sale-preview-body h2{margin:0 0 5px}
.sale-preview-body p{color:var(--slate)}
.sale-preview-stat{display:flex;justify-content:space-between;align-items:center;margin:14px 0;padding:12px;border-radius:12px;background:#f6eee5}
.sale-preview-stat strong{font-size:1.3rem}
.sale-preview-stat small{color:var(--slate)}
.sale-preview-note{font-size:.78rem;color:var(--slate);padding:12px}
.sale-library{max-width:1400px;margin:22px auto 0}
.sale-list-thumb{width:120px;height:60px;border-radius:9px;overflow:hidden;background:#eee;flex-shrink:0}
.sale-list-thumb img{width:100%;height:100%;object-fit:cover}

@media(max-width:1000px){.sale-product-grid{grid-template-columns:repeat(3,1fr)}.sale-template-grid{grid-template-columns:repeat(3,1fr)}.sale-studio-grid{grid-template-columns:1fr}.sale-preview{position:static}.sale-form-grid.three{grid-template-columns:1fr 1fr}}

@media(max-width:700px){.sale-promo-strip{grid-template-columns:1fr}.sale-promo-media{min-height:170px}.sale-promo-media:after{background:linear-gradient(0deg,#171411 0%,transparent 80%)}.sale-promo-content{margin-top:-40px;padding:20px 20px 26px}.sale-hero,.sale-hero-overlay{min-height:500px}.sale-product-grid{grid-template-columns:repeat(2,1fr);gap:10px}.sale-copy{align-items:start;flex-direction:column}.sale-template-grid{grid-template-columns:repeat(2,1fr)}.sale-product-picker{grid-template-columns:1fr}.sale-form-grid,.sale-form-grid.three{grid-template-columns:1fr}.sale-studio-head{align-items:flex-start;flex-direction:column}.sale-countdown div{min-width:58px}.sale-landing-body{padding:30px 14px 55px}}


/* ---------- Instagram Social Commerce Gallery v47 ---------- */
.instagram-showcase{padding:24px 0 72px;background:linear-gradient(180deg,transparent,rgba(184,147,90,.035))}
.instagram-showcase-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}
.instagram-eyebrow{font-size:.68rem;letter-spacing:.18em;font-weight:800;color:var(--brass);display:block;margin-bottom:7px}
.instagram-showcase-head h2{margin:0 0 7px;font-size:clamp(1.7rem,3vw,2.5rem)}
.instagram-showcase-head p{margin:0;color:var(--slate);max-width:620px}
.instagram-follow{padding:10px 15px;border:1px solid var(--line);border-radius:999px;color:var(--ink);text-decoration:none;white-space:nowrap;background:var(--bone)}
.instagram-showcase-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.instagram-social-card{background:var(--bone);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 35px rgba(33,31,29,.06);min-width:0}
.instagram-media-shell{background:#f3efe7;min-height:320px;display:flex;align-items:flex-start;justify-content:center;overflow:hidden}
.instagram-social-card.has-embed .instagram-media-shell{min-height:420px}
.instagram-media-shell .instagram-media{margin:0!important;width:100%!important}
.instagram-fallback{position:relative;display:block;width:100%;aspect-ratio:1/1;overflow:hidden}
.instagram-fallback img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.instagram-fallback:hover img{transform:scale(1.04)}
.instagram-fallback span{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,.72);color:#fff;padding:8px 10px;border-radius:999px;font-size:.7rem}
.instagram-social-copy{padding:13px 14px 15px}
.instagram-content-type{font-size:.58rem;letter-spacing:.12em;font-weight:800;color:var(--brass)}
.instagram-social-copy p{font-size:.78rem;line-height:1.5;min-height:36px;margin:6px 0 11px;color:var(--ink)}
.instagram-buy{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:10px;background:var(--ink);color:var(--bone);text-decoration:none;font-size:.75rem;font-weight:800}
.instagram-buy-outline{background:transparent;color:var(--ink);border:1px solid var(--line)}
@media(max-width:1050px){.instagram-showcase-track{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.instagram-showcase{padding-bottom:52px}.instagram-showcase-head{align-items:flex-start}.instagram-showcase-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;margin-right:-16px;padding-right:16px}.instagram-social-card{flex:0 0 min(84vw,360px);scroll-snap-align:start}.instagram-showcase-head h2{font-size:1.65rem}.instagram-follow{font-size:.72rem}}
@media(max-width:420px){.instagram-social-card{flex-basis:88vw}}


/* ================================================================
   COMFORTREK STOREFRONT THEMES v53 — FULL VISUAL FESTIVAL LAYER
   Theme IDs stay backward-compatible. This layer adds atmosphere,
   motifs, typography, surfaces, motion and mobile-safe layouts.
   ================================================================ */
body[class*="site-theme-"]{overflow-x:hidden;min-width:0;--fest-border:color-mix(in srgb,var(--festival-accent) 24%,transparent);--fest-glow:color-mix(in srgb,var(--festival-accent) 18%,transparent);background-image:var(--festival-pattern),radial-gradient(circle at 50% -20%,var(--fest-glow),transparent 38%)}

body[class*="site-theme-"]::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.42;background-image:var(--fest-overlay,none);mix-blend-mode:screen}

body[class*="site-theme-"] .site-header{border-bottom:1px solid var(--fest-border);box-shadow:0 8px 35px rgba(0,0,0,.10)}

body[class*="site-theme-"] .hero{isolation:isolate;min-width:0;border-bottom:1px solid var(--fest-border)}

body[class*="site-theme-"] .hero::after,body[class*="site-theme-"] .hero::before{pointer-events:none;z-index:0}

body[class*="site-theme-"] .product-grid,body[class*="site-theme-"] .section-heading,body[class*="site-theme-"] .container{min-width:0}

body[class*="site-theme-"] .tag-card,body[class*="site-theme-"] .product-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}

body[class*="site-theme-"] .section-heading::before{content:"";width:52px;height:3px;position:absolute;left:0;top:-15px;border-radius:99px;background:linear-gradient(90deg,var(--festival-accent),var(--festival-accent-2),transparent)}

body[class*="site-theme-"] .btn-primary{position:relative;overflow:hidden}

body[class*="site-theme-"] .btn-primary::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.32) 50%,transparent 65%);transform:translateX(-120%);transition:transform .7s ease}

body[class*="site-theme-"] .btn-primary:hover::after{transform:translateX(120%)}


/* Diwali — diyas, rangoli, string lights */
body.site-theme-signature{--festival-bg:#130709;--festival-surface:#251014;--festival-surface-2:#3b171c;--festival-accent:#ffc94f;--festival-accent-2:#ff8b38;--festival-text:#fff7e5;--festival-muted:#dfc5ac;--festival-pattern:radial-gradient(circle at 4% 8%,#ffd76a 0 2px,transparent 3px),radial-gradient(circle at 14% 8%,#ff9f45 0 2px,transparent 3px),radial-gradient(circle at 24% 8%,#ffd76a 0 2px,transparent 3px),radial-gradient(circle at 34% 8%,#ff9f45 0 2px,transparent 3px),radial-gradient(circle at 44% 8%,#ffd76a 0 2px,transparent 3px),radial-gradient(circle at 54% 8%,#ff9f45 0 2px,transparent 3px),radial-gradient(circle at 64% 8%,#ffd76a 0 2px,transparent 3px),radial-gradient(circle at 74% 8%,#ff9f45 0 2px,transparent 3px),radial-gradient(circle at 84% 8%,#ffd76a 0 2px,transparent 3px),radial-gradient(circle at 94% 8%,#ff9f45 0 2px,transparent 3px);--fest-overlay:radial-gradient(circle at 18% 88%,rgba(255,178,42,.35) 0 3px,transparent 4px),radial-gradient(circle at 23% 88%,rgba(255,122,38,.3) 0 2px,transparent 4px),radial-gradient(circle at 78% 18%,rgba(255,201,79,.3) 0 3px,transparent 5px)}

body.site-theme-signature .hero{background:radial-gradient(circle at 50% 95%,rgba(255,167,45,.30),transparent 18%),linear-gradient(135deg,#18070a 0%,#55151f 55%,#210b08 100%)}

body.site-theme-signature .hero::before{content:"✦  ✧  ✦  ✧  ✦";font-size:3rem;right:5%;top:10%;color:#ffd76a;text-shadow:0 0 30px #ffb72d;animation:festival-spark 2.6s ease-in-out infinite}

body.site-theme-signature .hero::after{content:"🪔   🪔   🪔   🪔";font-size:2.1rem;left:5%;bottom:7%;opacity:.72;filter:drop-shadow(0 0 12px #ffad32)}

body.site-theme-signature .tag-card{box-shadow:0 20px 55px rgba(255,157,40,.10),inset 0 1px rgba(255,221,137,.10)}


/* Holi — powder clouds and colour splashes */
body.site-theme-midnight_luxe{--festival-bg:#100817;--festival-surface:#21102d;--festival-surface-2:#321341;--festival-accent:#ff62b0;--festival-accent-2:#26e2c5;--festival-text:#fff5fc;--festival-muted:#dbc7da;--festival-pattern:radial-gradient(circle at 5% 18%,rgba(255,57,145,.30) 0 24px,transparent 27px),radial-gradient(circle at 11% 23%,rgba(255,197,45,.20) 0 13px,transparent 16px),radial-gradient(circle at 92% 18%,rgba(39,220,196,.28) 0 32px,transparent 35px),radial-gradient(circle at 84% 83%,rgba(90,97,255,.24) 0 45px,transparent 49px),radial-gradient(circle at 51% 52%,rgba(255,101,50,.10) 0 75px,transparent 80px);--fest-overlay:radial-gradient(ellipse at 7% 65%,rgba(255,75,160,.18),transparent 28%),radial-gradient(ellipse at 92% 45%,rgba(26,224,190,.18),transparent 30%)}

body.site-theme-midnight_luxe .hero{background:radial-gradient(circle at 16% 25%,rgba(255,52,153,.38),transparent 18%),radial-gradient(circle at 83% 22%,rgba(26,222,194,.34),transparent 20%),radial-gradient(circle at 56% 88%,rgba(255,193,37,.20),transparent 23%),#110919}

body.site-theme-midnight_luxe .hero::before{content:"";width:330px;height:230px;left:-90px;top:10%;background:radial-gradient(ellipse,#ff4da4,transparent 67%);filter:blur(9px);opacity:.45;transform:rotate(-18deg)}

body.site-theme-midnight_luxe .hero::after{content:"●  ●  ●  ●  ●";width:auto;height:auto;right:5%;bottom:9%;font-size:2.5rem;color:#2ce3c5;letter-spacing:1.2rem;opacity:.45}

body.site-theme-midnight_luxe .tag-card{box-shadow:0 20px 55px rgba(255,63,160,.09)}


/* Navratri — garba, mirror work, marigold */
body.site-theme-aurora{--festival-bg:#16081b;--festival-surface:#29102d;--festival-surface-2:#40163a;--festival-accent:#ffbd45;--festival-accent-2:#ec3d98;--festival-text:#fff7f1;--festival-muted:#ddc5d2;--festival-pattern:radial-gradient(circle at 50% 0,#ffbd45 0 2px,transparent 3px),repeating-conic-gradient(from 0deg at 50% 50%,rgba(236,61,152,.08) 0 10deg,transparent 10deg 20deg);--fest-overlay:repeating-conic-gradient(from 45deg at 15% 85%,rgba(255,189,69,.18) 0 8deg,transparent 8deg 18deg)}

body.site-theme-aurora .hero{background:radial-gradient(circle at 72% 15%,rgba(255,189,69,.28),transparent 20%),linear-gradient(135deg,#1b081d,#72153c 52%,#2b1057)}

body.site-theme-aurora .hero::before{content:"◆  ◇  ◆  ◇  ◆";font-size:2.5rem;right:5%;top:14%;letter-spacing:1rem;color:#ffd36e;transform:rotate(-10deg);text-shadow:0 0 18px rgba(255,189,69,.55)}

body.site-theme-aurora .hero::after{content:"◉  ◉  ◉  ◉  ◉";font-size:2rem;left:4%;bottom:10%;color:#ff5da7;letter-spacing:.9rem;opacity:.42}

body.site-theme-aurora .product-card{border-radius:22px 7px 22px 7px}


/* Eid — crescent, lanterns, stars */
body.site-theme-obsidian_gold{--festival-bg:#03110d;--festival-surface:#0b241a;--festival-surface-2:#103827;--festival-accent:#e6c568;--festival-accent-2:#9ee3c2;--festival-text:#f7f6e9;--festival-muted:#c7d8cc;--festival-pattern:radial-gradient(circle at 9% 16%,rgba(255,255,255,.8) 0 1px,transparent 2px),radial-gradient(circle at 83% 11%,rgba(230,197,104,.75) 0 1px,transparent 2px),radial-gradient(circle at 72% 35%,rgba(255,255,255,.55) 0 1px,transparent 2px);--fest-overlay:radial-gradient(circle at 50% 110%,rgba(230,197,104,.16),transparent 35%)}

body.site-theme-obsidian_gold .hero{background:radial-gradient(circle at 78% 18%,rgba(230,197,104,.25),transparent 18%),linear-gradient(145deg,#02100c,#0a4b31 56%,#041b13)}

body.site-theme-obsidian_gold .hero::before{content:"☾";font-size:9rem;right:7%;top:4%;color:#e6c568;opacity:.24;filter:drop-shadow(0 0 24px #e6c568)}

body.site-theme-obsidian_gold .hero::after{content:"✦   ✧   ✦   ✧   ✦";font-size:2rem;right:9%;top:32%;color:#fff0a5;letter-spacing:1rem;opacity:.48}

body.site-theme-obsidian_gold .site-header::after{content:"🏮   🏮   🏮";position:absolute;right:3%;top:10px;font-size:1rem;opacity:.22}


/* Christmas — snow, evergreen, warm lights */
body.site-theme-titanium{--festival-bg:#07130f;--festival-surface:#10251d;--festival-surface-2:#17372a;--festival-accent:#e8c66b;--festival-accent-2:#e65a54;--festival-text:#f8faf7;--festival-muted:#c6d3cd;--festival-pattern:radial-gradient(circle at 8% 12%,rgba(255,255,255,.75) 0 2px,transparent 3px),radial-gradient(circle at 23% 22%,rgba(255,255,255,.5) 0 1px,transparent 2px),radial-gradient(circle at 91% 28%,rgba(255,255,255,.65) 0 2px,transparent 3px),linear-gradient(180deg,transparent 0 94%,rgba(232,198,107,.08) 94%);--fest-overlay:radial-gradient(circle at 50% 0,rgba(255,255,255,.12),transparent 38%)}

body.site-theme-titanium .hero{background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.13),transparent 18%),linear-gradient(150deg,#05110d,#0d4c36 55%,#102d48)}

body.site-theme-titanium .hero::before{content:"❄  ✦  ❄  ✦  ❄  ✦";font-size:2.7rem;right:5%;top:10%;letter-spacing:1rem;color:#f3f7ff;opacity:.46;animation:snow-drift 8s linear infinite}

body.site-theme-titanium .hero::after{content:"🎄   🎄   🎄";font-size:4rem;right:6%;bottom:-8px;opacity:.18}

body.site-theme-titanium .tag-card{border-radius:12px 12px 28px 28px}


/* Rakhi — silk, sacred thread and gold */
body.site-theme-royal_noir{--festival-bg:#17070d;--festival-surface:#2b0d16;--festival-surface-2:#481321;--festival-accent:#efbf55;--festival-accent-2:#dc4e6b;--festival-text:#fff4ec;--festival-muted:#d8c0b9;--festival-pattern:repeating-linear-gradient(90deg,transparent 0 44px,rgba(239,191,85,.05) 44px 46px),radial-gradient(circle at 14% 30%,rgba(220,78,107,.18) 0 30px,transparent 33px);--fest-overlay:repeating-linear-gradient(135deg,transparent 0 34px,rgba(239,191,85,.07) 34px 36px)}

body.site-theme-royal_noir .hero{background:linear-gradient(135deg,#17070d,#651525 54%,#24100e)}

body.site-theme-royal_noir .hero::before{content:"──────────────";font-size:2rem;right:4%;top:18%;color:#efbf55;letter-spacing:.25rem;transform:rotate(-7deg);opacity:.45}

body.site-theme-royal_noir .hero::after{content:"✺   🧵   ✺";font-size:2rem;right:5%;bottom:9%;color:#efbf55;letter-spacing:1rem;opacity:.35}

body.site-theme-royal_noir .product-card{border-left:3px solid var(--festival-accent);border-radius:10px}


/* Janmashtami — peacock, blue night, flute */
body.site-theme-cyber_chrome{--festival-bg:#041022;--festival-surface:#0b1d38;--festival-surface-2:#12345b;--festival-accent:#6bd7ff;--festival-accent-2:#f4c64e;--festival-text:#f3fbff;--festival-muted:#c1d2df;--festival-pattern:radial-gradient(circle at 78% 18%,rgba(107,215,255,.18) 0 65px,transparent 68px),radial-gradient(circle at 15% 80%,rgba(50,104,220,.15) 0 90px,transparent 94px);--fest-overlay:repeating-linear-gradient(90deg,transparent 0 58px,rgba(244,198,78,.045) 58px 60px)}

body.site-theme-cyber_chrome .hero{background:radial-gradient(circle at 76% 16%,rgba(107,215,255,.25),transparent 22%),linear-gradient(135deg,#031025,#0a3260 52%,#08162a)}

body.site-theme-cyber_chrome .hero::before{content:"🦚";font-size:7rem;right:5%;top:3%;opacity:.15;filter:saturate(.9)}

body.site-theme-cyber_chrome .hero::after{content:"──────  𝄞  ──────";font-size:1.3rem;right:6%;bottom:17%;color:#f4c64e;letter-spacing:.2rem;opacity:.48;transform:rotate(-7deg)}

body.site-theme-cyber_chrome .product-card{border-radius:18px;box-shadow:0 22px 65px rgba(33,146,255,.12)}


/* Ganesh Utsav — marigold garlands, mandap geometry */
body.site-theme-emerald_noir{--festival-bg:#151506;--festival-surface:#27270d;--festival-surface-2:#3b3d12;--festival-accent:#f1b92f;--festival-accent-2:#d95638;--festival-text:#fff8df;--festival-muted:#d7cfaa;--festival-pattern:repeating-radial-gradient(circle at 50% -20%,transparent 0 25px,rgba(241,185,47,.06) 26px 28px),radial-gradient(circle at 20% 20%,rgba(217,86,56,.14) 0 35px,transparent 38px);--fest-overlay:radial-gradient(circle at 50% 0,rgba(241,185,47,.16),transparent 35%)}

body.site-theme-emerald_noir .hero{background:radial-gradient(circle at 50% 0,rgba(241,185,47,.27),transparent 25%),linear-gradient(135deg,#111006,#41470c 52%,#171c08)}

body.site-theme-emerald_noir .hero::before{content:"❈  ❈  ❈  ❈  ❈";font-size:2.5rem;left:4%;top:9%;letter-spacing:1.1rem;color:#f1b92f;opacity:.34}

body.site-theme-emerald_noir .hero::after{content:"🌼  🌼  🌼";font-size:2rem;right:5%;bottom:7%;opacity:.35}

body.site-theme-emerald_noir .product-card{border-top:4px solid var(--festival-accent);border-radius:18px 18px 36px 36px}


/* Makar Sankranti — kites, saffron sky, sun */
body.site-theme-desert_luxe{--festival-bg:#261007;--festival-surface:#421c0d;--festival-surface-2:#5a2b11;--festival-accent:#ffc83f;--festival-accent-2:#48a9d6;--festival-text:#fff5df;--festival-muted:#dfc5ac;--festival-pattern:linear-gradient(135deg,transparent 0 46%,rgba(72,169,214,.13) 47% 48%,transparent 49%),linear-gradient(45deg,transparent 0 46%,rgba(255,200,63,.11) 47% 48%,transparent 49%);--fest-overlay:radial-gradient(circle at 80% 10%,rgba(255,200,63,.22),transparent 20%)}

body.site-theme-desert_luxe .hero{background:radial-gradient(circle at 76% 15%,rgba(255,200,63,.36),transparent 21%),linear-gradient(160deg,#2a0e06,#a84b1c 55%,#39220a)}

body.site-theme-desert_luxe .hero::before{content:"◇     ◇     ◇";font-size:4.5rem;right:5%;top:6%;letter-spacing:1.2rem;color:#49b2df;opacity:.32;transform:rotate(-14deg)}

body.site-theme-desert_luxe .hero::after{content:"☀";font-size:7rem;right:17%;top:10%;color:#ffd45a;opacity:.14;text-shadow:0 0 40px #ffc83f}

body.site-theme-desert_luxe .product-card{border-radius:20px 5px 20px 5px}


/* Onam — pookalam rings, harvest green */
body.site-theme-pearl_luxe{--festival-bg:#f8f4df;--festival-surface:#fffdf2;--festival-surface-2:#edf4d8;--festival-accent:#c79a2d;--festival-accent-2:#2d7d4c;--festival-text:#183222;--festival-muted:#5c695e;--festival-pattern:repeating-radial-gradient(circle at 50% 50%,rgba(199,154,45,.07) 0 12px,transparent 13px 22px),radial-gradient(circle at 50% 50%,rgba(45,125,76,.08) 0 60px,transparent 62px);--fest-overlay:radial-gradient(circle at 50% 50%,rgba(199,154,45,.10),transparent 25%)}

body.site-theme-pearl_luxe .hero{background:radial-gradient(circle at 50% 100%,rgba(199,154,45,.20),transparent 35%),linear-gradient(145deg,#205437,#4c8247 58%,#e8cf76)}

body.site-theme-pearl_luxe .hero::before{content:"❀  ❁  ❀  ❁  ❀";font-size:2.5rem;right:4%;top:9%;letter-spacing:1rem;color:#ffe18a;opacity:.48}

body.site-theme-pearl_luxe .hero::after{content:"◉  ◉  ◉  ◉  ◉";font-size:1.8rem;left:4%;bottom:8%;letter-spacing:.8rem;color:#fff0a0;opacity:.32}

body.site-theme-pearl_luxe .tag-card{box-shadow:0 18px 50px rgba(45,125,76,.10)}


/* Dussehra — victory, bow and fire */
body.site-theme-violet_neon{--festival-bg:#160609;--festival-surface:#2c0d12;--festival-surface-2:#47141a;--festival-accent:#ffb52f;--festival-accent-2:#e34d4d;--festival-text:#fff5ea;--festival-muted:#d9bcb5;--festival-pattern:radial-gradient(circle at 50% 100%,rgba(255,83,37,.18),transparent 35%),linear-gradient(0deg,rgba(255,181,47,.04),transparent 30%);--fest-overlay:radial-gradient(circle at 88% 85%,rgba(255,83,37,.22),transparent 25%)}

body.site-theme-violet_neon .hero{background:radial-gradient(circle at 72% 18%,rgba(255,181,47,.25),transparent 20%),linear-gradient(120deg,#110506,#6b151b 58%,#1d0c0d)}

body.site-theme-violet_neon .hero::before{content:"🏹";font-size:7rem;right:6%;top:5%;opacity:.13;transform:scaleX(-1) rotate(-8deg)}

body.site-theme-violet_neon .hero::after{content:"🔥  🔥  🔥  🔥";font-size:2rem;right:5%;bottom:7%;letter-spacing:.8rem;opacity:.34;filter:drop-shadow(0 0 12px #ff6a2a)}

body.site-theme-violet_neon .product-card{border-bottom:3px solid var(--festival-accent);border-radius:8px}


/* New Year — fireworks and chrome confetti */
body.site-theme-monochrome{--festival-bg:#03050a;--festival-surface:#0c111a;--festival-surface-2:#151e2b;--festival-accent:#e4c67a;--festival-accent-2:#9bd5ff;--festival-text:#f5f8ff;--festival-muted:#c4ccd6;--festival-pattern:radial-gradient(circle at 15% 20%,rgba(155,213,255,.75) 0 1px,transparent 2px),radial-gradient(circle at 84% 17%,rgba(228,198,122,.85) 0 1px,transparent 2px),radial-gradient(circle at 50% 9%,rgba(255,255,255,.8) 0 1px,transparent 2px);--fest-overlay:radial-gradient(circle at 16% 22%,rgba(80,190,255,.22),transparent 13%),radial-gradient(circle at 84% 18%,rgba(255,190,70,.20),transparent 15%)}

body.site-theme-monochrome .hero{background:radial-gradient(circle at 18% 20%,rgba(84,185,255,.20),transparent 18%),radial-gradient(circle at 84% 16%,rgba(255,195,80,.20),transparent 20%),linear-gradient(145deg,#020307,#17202d 56%,#07090e)}

body.site-theme-monochrome .hero::before{content:"✦  ✧  ✦  ✧  ✦";font-size:4rem;right:7%;top:8%;letter-spacing:1.1rem;color:#dce9f7;opacity:.34;animation:festival-spark 2s ease-in-out infinite}

body.site-theme-monochrome .hero::after{content:"✦   •   ✧   •   ✦";font-size:2rem;right:8%;bottom:10%;color:#e4c67a;letter-spacing:.8rem;opacity:.32}


/* Light-mode festival treatments — retain motif, switch surfaces */
body.appearance-light.site-theme-signature{--festival-bg:#fff8e8;--festival-surface:#fffdf7;--festival-surface-2:#fff0cf;--festival-text:#3a1710;--festival-muted:#6f5145;--festival-pattern:radial-gradient(circle at 5% 8%,#e8a72d 0 2px,transparent 3px),radial-gradient(circle at 15% 8%,#d85b3e 0 2px,transparent 3px),radial-gradient(circle at 25% 8%,#e8a72d 0 2px,transparent 3px)}

body.appearance-light.site-theme-midnight_luxe{--festival-bg:#fff7fb;--festival-surface:#fff;--festival-surface-2:#ffe8f2;--festival-text:#3b1632;--festival-muted:#715668}

body.appearance-light.site-theme-aurora{--festival-bg:#fff8fb;--festival-surface:#fff;--festival-surface-2:#fff0d8;--festival-text:#3e1732;--festival-muted:#705666}

body.appearance-light.site-theme-obsidian_gold{--festival-bg:#f5fbf7;--festival-surface:#fff;--festival-surface-2:#e6f3eb;--festival-text:#103524;--festival-muted:#557065}

body.appearance-light.site-theme-titanium{--festival-bg:#f5fbf8;--festival-surface:#fff;--festival-surface-2:#e8f3ed;--festival-text:#17382d;--festival-muted:#5a7167}

body.appearance-light.site-theme-royal_noir{--festival-bg:#fff7f4;--festival-surface:#fff;--festival-surface-2:#fde8ec;--festival-text:#43131d;--festival-muted:#75565d}

body.appearance-light.site-theme-cyber_chrome{--festival-bg:#eef8ff;--festival-surface:#fff;--festival-surface-2:#e4f3ff;--festival-text:#092849;--festival-muted:#557087}

body.appearance-light.site-theme-emerald_noir{--festival-bg:#fffbed;--festival-surface:#fff;--festival-surface-2:#f2f4d7;--festival-text:#30340e;--festival-muted:#6a6e46}

body.appearance-light.site-theme-desert_luxe{--festival-bg:#fff7eb;--festival-surface:#fff;--festival-surface-2:#ffebd8;--festival-text:#4a2110;--festival-muted:#7a5c4d}

body.appearance-light.site-theme-pearl_luxe{--festival-bg:#fffdf2;--festival-surface:#fff;--festival-surface-2:#edf4dc;--festival-text:#173424;--festival-muted:#5c6c5f}

body.appearance-light.site-theme-violet_neon{--festival-bg:#fff8f5;--festival-surface:#fff;--festival-surface-2:#ffe9df;--festival-text:#4a1515;--festival-muted:#765858}

body.appearance-light.site-theme-monochrome{--festival-bg:#f5f8fb;--festival-surface:#fff;--festival-surface-2:#e9eff5;--festival-text:#101722;--festival-muted:#596572}

body.appearance-light.site-theme-signature .hero{background:radial-gradient(circle at 50% 100%,rgba(244,171,42,.20),transparent 30%),linear-gradient(135deg,#fff6e2,#ffe6d2 58%,#fffaf3)}

body.appearance-light.site-theme-midnight_luxe .hero{background:radial-gradient(circle at 12% 20%,rgba(255,77,157,.18),transparent 22%),radial-gradient(circle at 85% 25%,rgba(30,210,188,.16),transparent 24%),linear-gradient(135deg,#fff7fb,#f9e8f5)}

body.appearance-light.site-theme-aurora .hero{background:linear-gradient(135deg,#fff9f3,#ffe8ef 55%,#eee5ff)}

body.appearance-light.site-theme-obsidian_gold .hero{background:radial-gradient(circle at 78% 18%,rgba(199,164,66,.18),transparent 22%),linear-gradient(145deg,#f2faf5,#dff0e6)}

body.appearance-light.site-theme-titanium .hero{background:linear-gradient(150deg,#f3fbf7,#dff0e6 55%,#e9f2fb)}

body.appearance-light.site-theme-royal_noir .hero{background:linear-gradient(135deg,#fff6f2,#f7dfe4 54%,#fffaf5)}

body.appearance-light.site-theme-cyber_chrome .hero{background:radial-gradient(circle at 78% 18%,rgba(74,175,255,.18),transparent 22%),linear-gradient(135deg,#f1f9ff,#dceeff)}

body.appearance-light.site-theme-emerald_noir .hero{background:radial-gradient(circle at 50% 0,rgba(230,175,35,.18),transparent 25%),linear-gradient(135deg,#fffbed,#edf1c9)}

body.appearance-light.site-theme-desert_luxe .hero{background:radial-gradient(circle at 76% 16%,rgba(255,196,58,.24),transparent 22%),linear-gradient(160deg,#fff2df,#ffd9c2 55%,#fff7e9)}

body.appearance-light.site-theme-signature .product-card,body.appearance-light.site-theme-midnight_luxe .product-card,body.appearance-light.site-theme-aurora .product-card,body.appearance-light.site-theme-obsidian_gold .product-card,body.appearance-light.site-theme-titanium .product-card,body.appearance-light.site-theme-royal_noir .product-card,body.appearance-light.site-theme-cyber_chrome .product-card,body.appearance-light.site-theme-emerald_noir .product-card,body.appearance-light.site-theme-desert_luxe .product-card,body.appearance-light.site-theme-pearl_luxe .product-card,body.appearance-light.site-theme-violet_neon .product-card,body.appearance-light.site-theme-monochrome .product-card{background:linear-gradient(145deg,var(--festival-surface),var(--festival-surface-2));color:var(--festival-text);border-color:var(--fest-border)}


/* Storefront mobile reliability layer */
html,body{max-width:100%;overflow-x:hidden}

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

.container,.header-inner,.hero-inner,.section-heading{width:100%;box-sizing:border-box}

.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}

.product-grid>*{min-width:0}

@media(max-width:900px){
  .container{padding-left:18px;padding-right:18px}
  .header-inner{padding:14px 18px;gap:12px;flex-wrap:wrap}
  .header-actions{margin-left:auto;gap:10px;flex-wrap:wrap}
  .hero:not(.hero-featured-layout) .hero-inner{grid-template-columns:1fr;gap:28px;padding:52px 18px 62px}
  .hero-tag-visual{min-width:0;max-width:100%}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .section-heading{gap:14px;flex-wrap:wrap;margin-top:48px}
  body[class*="site-theme-"] .hero::before{font-size:2.5rem;right:2%;top:7%;max-width:45%;overflow:hidden}
  body[class*="site-theme-"] .hero::after{font-size:1.7rem;right:2%;left:auto;bottom:5%;max-width:42%;overflow:hidden}
}

@media(max-width:560px){
  .container{padding-left:14px;padding-right:14px}
  .header-inner{padding:12px 14px;min-width:0}
  .logo{font-size:1.18rem!important;max-width:48vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .header-actions{gap:7px;max-width:52vw}
  .header-actions>*{max-width:100%}
  .hero:not(.hero-featured-layout) .hero-inner{padding:42px 14px 50px}
  .hero h1{font-size:clamp(2.05rem,10vw,3rem);overflow-wrap:anywhere}
  .hero p.sub{font-size:.94rem;line-height:1.6}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding-bottom:55px}
  .tag-card{padding:11px 11px 13px;min-width:0}
  .tag-card h3,.product-card h3{overflow-wrap:anywhere}
  .section-heading{margin:42px 0 20px}
  .section-heading h2{font-size:1.55rem}
  .section-heading .stamp{font-size:.62rem}
  .market-selector{max-width:100%;min-width:0}
  .market-selector select{max-width:82px}
  .main-nav{display:none}
  body[class*="site-theme-"]::before{opacity:.25}
  body[class*="site-theme-"] .hero::before{font-size:2rem;top:5%;right:0;opacity:.25}
  body[class*="site-theme-"] .hero::after{font-size:1.25rem;right:0;bottom:4%;letter-spacing:.35rem;opacity:.22}
  body.site-theme-titanium .hero::after{font-size:2.8rem}
  body.site-theme-obsidian_gold .hero::before{font-size:6rem}
  body.site-theme-cyber_chrome .hero::before,body.site-theme-violet_neon .hero::before{font-size:5rem}
}

@media(max-width:380px){.product-grid{grid-template-columns:1fr}.header-actions{max-width:48vw}.hero:not(.hero-featured-layout) .hero-inner{padding-top:34px}.logo{max-width:42vw}}

@media(prefers-reduced-motion:reduce){body[class*="site-theme-"]::before,body[class*="site-theme-"] *{animation:none!important;transition:none!important}}



/* ================================================================
   COMFORTREK STOREFRONT THEMES v54 — FESTIVAL ART DIRECTION + MOBILE
   This layer intentionally changes composition, motifs, surfaces and
   atmosphere per theme. It is additive/backward-compatible with v53.
   ================================================================ */

/* Global mobile containment: no storefront section is allowed to create
   a wider layout than the viewport. */
html, body { width:100%; max-width:100%; overflow-x:hidden; }

body { min-width:0; }

main, header, footer, section, article, aside, nav, .container, .hero-inner, .header-inner { max-width:100%; min-width:0; }

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


/* Theme Studio / customer-facing theme indicator */
.theme-live-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;background:rgba(16,185,129,.10);border:1px solid rgba(16,185,129,.30);color:#087a57;font:700 .62rem/1 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}

.theme-live-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.10)}

.theme-card.is-active-live{border-color:var(--brass)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--brass) 25%,transparent),0 24px 55px rgba(0,0,0,.14)!important}


/* Shared storefront festival frame */
body[class*="site-theme-"] .site-header{position:relative;isolation:isolate;overflow:hidden}

body[class*="site-theme-"] .site-header::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.9;background-image:var(--theme-header-pattern,none)}

body[class*="site-theme-"] .hero{position:relative;isolation:isolate;overflow:hidden}

body[class*="site-theme-"] .hero::marker{display:none}

body[class*="site-theme-"] .hero-inner{position:relative;z-index:3}

body[class*="site-theme-"] .hero-tag-visual{z-index:3}

body[class*="site-theme-"] .tag-card,body[class*="site-theme-"] .product-card{border-color:color-mix(in srgb,var(--festival-accent) 20%,var(--line));background:linear-gradient(145deg,var(--festival-surface,#fff),var(--festival-surface-2,#f7f2e9));color:var(--festival-text,var(--ink));}

body[class*="site-theme-"] .tag-card h3,body[class*="site-theme-"] .product-card h3{color:var(--festival-text,var(--ink));}

body[class*="site-theme-"] .tag-card .price,body[class*="site-theme-"] .product-card .price{color:var(--festival-accent,var(--cognac-dark));}

body[class*="site-theme-"] .section-heading h2{color:var(--festival-text,var(--ink));}


/* 01 Diwali Glow — diyas + rangoli + string lights */
body.site-theme-signature{
 --festival-bg:#160708;--festival-surface:#271012;--festival-surface-2:#3d171b;--festival-accent:#ffd05a;--festival-accent-2:#ff8a3d;--festival-text:#fff6e3;
 --theme-header-pattern:repeating-linear-gradient(90deg,transparent 0 7.5%,rgba(255,208,90,.85) 7.5% 7.65%,transparent 7.65% 15%);
}

body.site-theme-signature .site-header::after{content:"✦  🪔  ✦  🪔  ✦  🪔  ✦";position:absolute;right:18px;bottom:7px;font-size:13px;letter-spacing:7px;color:#ffd05a;opacity:.55;white-space:nowrap;animation:festival-spark 2.6s ease-in-out infinite}

body.site-theme-signature .hero::before{content:"";position:absolute;left:50%;bottom:-130px;transform:translateX(-50%);width:380px;height:190px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(255,208,90,.25) 0 8deg,transparent 8deg 16deg);filter:blur(.2px);opacity:.75;z-index:1}

body.site-theme-signature .hero::after{content:"🪔   🪔   🪔   🪔   🪔";position:absolute;left:5%;bottom:8%;font-size:27px;letter-spacing:10px;filter:drop-shadow(0 0 13px #ffad32);opacity:.8;z-index:2}


/* 02 Holi Spectrum — powder clouds + splashes */
body.site-theme-midnight_luxe{
 --festival-bg:#100816;--festival-surface:#20102c;--festival-surface-2:#351342;--festival-accent:#ff62ae;--festival-accent-2:#20dec3;--festival-text:#fff5fc;
 --theme-header-pattern:radial-gradient(circle at 8% 50%,rgba(255,65,150,.55) 0 4px,transparent 5px),radial-gradient(circle at 18% 35%,rgba(255,196,46,.7) 0 3px,transparent 4px),radial-gradient(circle at 28% 62%,rgba(30,220,190,.6) 0 4px,transparent 5px),radial-gradient(circle at 78% 30%,rgba(113,91,255,.6) 0 4px,transparent 5px),radial-gradient(circle at 92% 62%,rgba(255,91,55,.55) 0 5px,transparent 6px);
}

body.site-theme-midnight_luxe .hero::before{content:"";position:absolute;width:430px;height:230px;left:-120px;top:16%;background:radial-gradient(ellipse,rgba(255,45,148,.38),transparent 66%);filter:blur(8px);transform:rotate(-18deg);z-index:1}

body.site-theme-midnight_luxe .hero::after{content:"●  ●   ●    ●  ●   ●";position:absolute;right:5%;bottom:8%;font-size:29px;letter-spacing:12px;color:#32e2c7;opacity:.5;transform:rotate(-8deg);z-index:2}

body.site-theme-midnight_luxe .tag-card,body.site-theme-midnight_luxe .product-card{border-radius:22px;}


/* 03 Navratri Garba — mandala + mirror-work geometry */
body.site-theme-aurora{--festival-bg:#18091e;--festival-surface:#2a102f;--festival-surface-2:#43163d;--festival-accent:#ffbf45;--festival-accent-2:#ee3c9a;--festival-text:#fff6f1;--theme-header-pattern:repeating-conic-gradient(from 45deg at 12% 50%,rgba(255,191,69,.15) 0 9deg,transparent 9deg 18deg)}

body.site-theme-aurora .hero::before{content:"✦  ◇  ✦  ◇  ✦";position:absolute;right:5%;top:10%;font-size:43px;letter-spacing:16px;color:#ffd16d;text-shadow:0 0 20px rgba(255,191,69,.55);transform:rotate(-8deg);z-index:2}

body.site-theme-aurora .hero::after{content:"◉  ◉  ◉  ◉  ◉";position:absolute;left:5%;bottom:8%;font-size:26px;letter-spacing:12px;color:#ff5da7;opacity:.5;z-index:2}


/* 04 Eid Moonlight — crescent + lantern silhouettes + stars */
body.site-theme-obsidian_gold{--festival-bg:#03120d;--festival-surface:#0b251a;--festival-surface-2:#103a28;--festival-accent:#e8ca69;--festival-accent-2:#94dfbd;--festival-text:#f7f6e9;--theme-header-pattern:radial-gradient(circle at 12% 35%,#fff 0 1px,transparent 2px),radial-gradient(circle at 33% 65%,#e8ca69 0 1px,transparent 2px),radial-gradient(circle at 72% 25%,#fff 0 1px,transparent 2px),radial-gradient(circle at 90% 70%,#e8ca69 0 1px,transparent 2px)}

body.site-theme-obsidian_gold .hero::before{content:"☾";position:absolute;right:8%;top:4%;font-size:145px;color:#e8ca69;opacity:.18;filter:drop-shadow(0 0 25px #e8ca69);z-index:1}

body.site-theme-obsidian_gold .hero::after{content:"✦    🏮    ✦    🏮    ✦";position:absolute;right:6%;bottom:7%;font-size:22px;letter-spacing:8px;color:#e8ca69;opacity:.48;z-index:2}


/* 05 Christmas Alpine — snow, evergreen and warm lights */
body.site-theme-titanium{--festival-bg:#07130f;--festival-surface:#10261e;--festival-surface-2:#183a2d;--festival-accent:#e9c86d;--festival-accent-2:#d95757;--festival-text:#f6fbf7;--theme-header-pattern:repeating-linear-gradient(125deg,transparent 0 18px,rgba(255,255,255,.08) 18px 19px)}

body.site-theme-titanium .hero::before{content:"❄  ✦  ❄  ✦  ❄";position:absolute;right:5%;top:9%;font-size:38px;letter-spacing:15px;color:#f4fbff;opacity:.5;animation:snow-drift 9s linear infinite;z-index:2}

body.site-theme-titanium .hero::after{content:"🎄     🎄     🎄";position:absolute;left:5%;bottom:5%;font-size:42px;opacity:.28;z-index:2}


/* 06 Rakhi Royale — silk ribbons + thread geometry */
body.site-theme-royal_noir{--festival-bg:#17070d;--festival-surface:#2b0d16;--festival-surface-2:#481321;--festival-accent:#efc05a;--festival-accent-2:#dc4e6b;--festival-text:#fff4ec;--theme-header-pattern:repeating-linear-gradient(90deg,transparent 0 46px,rgba(239,192,90,.10) 46px 48px)}

body.site-theme-royal_noir .hero::before{content:"────────  ✺  ────────  ✺  ────────";position:absolute;right:3%;top:14%;font-size:23px;letter-spacing:4px;color:#efc05a;opacity:.5;transform:rotate(-7deg);z-index:2}

body.site-theme-royal_noir .hero::after{content:"🧵   ✦   🧵   ✦   🧵";position:absolute;right:6%;bottom:7%;font-size:23px;letter-spacing:9px;color:#efc05a;opacity:.42;z-index:2}


/* 07 Janmashtami Blue — peacock feather + flute */
body.site-theme-cyber_chrome{--festival-bg:#041022;--festival-surface:#0b1d38;--festival-surface-2:#12345b;--festival-accent:#70d9ff;--festival-accent-2:#f4c64e;--festival-text:#f2fbff;--theme-header-pattern:radial-gradient(circle at 10% 30%,rgba(112,217,255,.18),transparent 18%),radial-gradient(circle at 88% 60%,rgba(38,85,210,.20),transparent 22%)}

body.site-theme-cyber_chrome .hero::before{content:"🦚";position:absolute;right:5%;top:2%;font-size:110px;opacity:.14;filter:saturate(.9);z-index:1}

body.site-theme-cyber_chrome .hero::after{content:"──────  𝄞  ──────";position:absolute;right:7%;bottom:14%;font-size:20px;letter-spacing:5px;color:#f4c64e;opacity:.55;transform:rotate(-7deg);z-index:2}


/* 08 Ganesh Utsav — mandap arch + marigold garland */
body.site-theme-emerald_noir{--festival-bg:#151506;--festival-surface:#27270d;--festival-surface-2:#3b3d12;--festival-accent:#f2bb31;--festival-accent-2:#df5b39;--festival-text:#fff8df;--theme-header-pattern:repeating-radial-gradient(circle at 50% -50%,transparent 0 20px,rgba(242,187,49,.08) 21px 23px)}

body.site-theme-emerald_noir .hero::before{content:"❈  ❈  ❈  ❈  ❈  ❈";position:absolute;left:3%;top:8%;font-size:29px;letter-spacing:13px;color:#f2bb31;opacity:.4;z-index:2}

body.site-theme-emerald_noir .hero::after{content:"🌼  🌼  🌼  🌼  🌼";position:absolute;right:4%;bottom:6%;font-size:25px;letter-spacing:7px;opacity:.38;z-index:2}


/* 09 Makar Sankranti — kites + sunrise */
body.site-theme-desert_luxe{--festival-bg:#251006;--festival-surface:#421c0d;--festival-surface-2:#5b2d12;--festival-accent:#ffca45;--festival-accent-2:#45a9d7;--festival-text:#fff5df;--theme-header-pattern:linear-gradient(135deg,transparent 0 47%,rgba(69,169,215,.13) 48% 49%,transparent 50%),linear-gradient(45deg,transparent 0 47%,rgba(255,202,69,.13) 48% 49%,transparent 50%)}

body.site-theme-desert_luxe .hero::before{content:"◇     ◇     ◇";position:absolute;right:6%;top:5%;font-size:55px;letter-spacing:20px;color:#50b6e2;opacity:.32;transform:rotate(-13deg);z-index:2}

body.site-theme-desert_luxe .hero::after{content:"☀";position:absolute;right:17%;top:9%;font-size:125px;color:#ffd45a;opacity:.12;text-shadow:0 0 40px #ffc83f;z-index:1}


/* 10 Onam Pookalam — floral rings + harvest green */
body.site-theme-pearl_luxe{--festival-bg:#f8f4df;--festival-surface:#fffdf2;--festival-surface-2:#edf4d8;--festival-accent:#c79a2d;--festival-accent-2:#2d7d4c;--festival-text:#183222;--festival-muted:#5c695e;--theme-header-pattern:repeating-radial-gradient(circle at 50% 50%,rgba(199,154,45,.12) 0 7px,transparent 8px 16px)}

body.site-theme-pearl_luxe .hero::before{content:"❀  ❁  ❀  ❁  ❀";position:absolute;right:4%;top:8%;font-size:39px;letter-spacing:13px;color:#d1a331;opacity:.48;z-index:2}

body.site-theme-pearl_luxe .hero::after{content:"◉  ◉  ◉  ◉  ◉";position:absolute;left:4%;bottom:8%;font-size:22px;letter-spacing:13px;color:#2d7d4c;opacity:.35;z-index:2}


/* 11 Dussehra — bow, victory red and fire */
body.site-theme-violet_neon{--festival-bg:#160609;--festival-surface:#2c0d12;--festival-surface-2:#47141a;--festival-accent:#ffb52f;--festival-accent-2:#e34d4d;--festival-text:#fff5ea;--theme-header-pattern:linear-gradient(90deg,transparent,rgba(255,181,47,.10),transparent)}

body.site-theme-violet_neon .hero::before{content:"🏹";position:absolute;right:6%;top:3%;font-size:110px;opacity:.14;transform:scaleX(-1) rotate(-8deg);z-index:1}

body.site-theme-violet_neon .hero::after{content:"🔥  🔥  🔥  🔥";position:absolute;right:5%;bottom:6%;font-size:25px;letter-spacing:13px;opacity:.38;filter:drop-shadow(0 0 12px #ff6a2a);z-index:2}


/* 12 New Year Afterdark — fireworks + chrome confetti */
body.site-theme-monochrome{--festival-bg:#03050a;--festival-surface:#0c111a;--festival-surface-2:#151e2b;--festival-accent:#e5c879;--festival-accent-2:#9bd5ff;--festival-text:#f5f8ff;--theme-header-pattern:radial-gradient(circle at 12% 30%,#9bd5ff 0 1px,transparent 2px),radial-gradient(circle at 30% 15%,#e5c879 0 1px,transparent 2px),radial-gradient(circle at 52% 28%,#fff 0 1px,transparent 2px),radial-gradient(circle at 78% 20%,#9bd5ff 0 1px,transparent 2px),radial-gradient(circle at 92% 62%,#e5c879 0 1px,transparent 2px)}

body.site-theme-monochrome .hero::before{content:"✦  ✧  ✦  ✧  ✦";position:absolute;right:6%;top:8%;font-size:50px;letter-spacing:16px;color:#dce9f7;opacity:.38;animation:festival-spark 2s ease-in-out infinite;z-index:2}

body.site-theme-monochrome .hero::after{content:"✦   •   ✧   •   ✦";position:absolute;right:8%;bottom:9%;font-size:25px;letter-spacing:14px;color:#e5c879;opacity:.35;z-index:2}


/* Explicit light-mode readability. Motifs remain visible but surfaces become
   bright; text always uses dark ink rather than inheriting a dark festival tone. */
body.appearance-light[class*="site-theme-"]{background-color:var(--festival-bg,#fafafa);color:#1c2421}

body.appearance-light[class*="site-theme-"] .tag-card,
body.appearance-light[class*="site-theme-"] .product-card{color:#1d2723;background:linear-gradient(145deg,#fff,#f7f3eb);border-color:color-mix(in srgb,var(--festival-accent) 28%,#ddd)}

body.appearance-light[class*="site-theme-"] .tag-card h3,
body.appearance-light[class*="site-theme-"] .product-card h3,
body.appearance-light[class*="site-theme-"] .section-heading h2{color:#18231f}

body.appearance-light[class*="site-theme-"] .tag-card .spec-line{color:#59665f}

body.appearance-light.site-theme-signature .hero{background:radial-gradient(circle at 50% 100%,rgba(255,169,38,.22),transparent 26%),linear-gradient(135deg,#fff7e4,#ffe6d4 58%,#fffaf1)}

body.appearance-light.site-theme-midnight_luxe .hero{background:radial-gradient(circle at 12% 22%,rgba(255,55,151,.18),transparent 22%),radial-gradient(circle at 85% 20%,rgba(22,205,181,.17),transparent 22%),linear-gradient(135deg,#fff8fc,#f5e8f7)}

body.appearance-light.site-theme-aurora .hero{background:radial-gradient(circle at 75% 20%,rgba(255,185,55,.20),transparent 22%),linear-gradient(135deg,#fff9f4,#f7e5f0 58%,#eee7ff)}

body.appearance-light.site-theme-obsidian_gold .hero{background:radial-gradient(circle at 78% 18%,rgba(198,165,67,.18),transparent 22%),linear-gradient(145deg,#f2faf5,#deefe5)}

body.appearance-light.site-theme-titanium .hero{background:linear-gradient(150deg,#f4fbf7,#e0f0e8 55%,#eaf2fa)}

body.appearance-light.site-theme-royal_noir .hero{background:linear-gradient(135deg,#fff6f3,#f7dfe5 54%,#fffaf6)}

body.appearance-light.site-theme-cyber_chrome .hero{background:radial-gradient(circle at 78% 18%,rgba(66,169,255,.18),transparent 22%),linear-gradient(135deg,#f2faff,#dceeff)}

body.appearance-light.site-theme-emerald_noir .hero{background:radial-gradient(circle at 50% 0,rgba(230,175,35,.18),transparent 25%),linear-gradient(135deg,#fffbed,#edf1cb)}

body.appearance-light.site-theme-desert_luxe .hero{background:radial-gradient(circle at 76% 16%,rgba(255,196,58,.25),transparent 22%),linear-gradient(160deg,#fff3e2,#ffd9c4 55%,#fff8ea)}

body.appearance-light.site-theme-pearl_luxe .hero{background:radial-gradient(circle at 50% 100%,rgba(199,154,45,.16),transparent 34%),linear-gradient(145deg,#eaf5df,#f7f0c8)}

body.appearance-light.site-theme-violet_neon .hero{background:radial-gradient(circle at 72% 18%,rgba(240,110,47,.18),transparent 20%),linear-gradient(120deg,#fff5f1,#f6dce2 58%,#fff5ee)}

body.appearance-light.site-theme-monochrome .hero{background:radial-gradient(circle at 18% 20%,rgba(82,173,240,.16),transparent 18%),radial-gradient(circle at 84% 16%,rgba(230,190,95,.16),transparent 20%),linear-gradient(145deg,#f8fafc,#e9eef4)}


/* Better mobile composition — not just a shrunken desktop. */
@media(max-width:760px){
  .container{padding-left:16px;padding-right:16px}
  .header-inner{padding:12px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
  .logo{min-width:0;max-width:58vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .header-actions{min-width:0;max-width:42vw;display:flex;justify-content:flex-end;gap:7px;flex-wrap:nowrap}
  .header-actions .search-wrap{min-width:0;max-width:36vw}
  .header-actions .search-input{width:100%;min-width:0}
  .hero:not(.hero-featured-layout) .hero-inner{display:flex;flex-direction:column;align-items:stretch;gap:22px;padding:38px 16px 44px}
  .hero:not(.hero-featured-layout) .hero-inner>div{min-width:0;max-width:100%}
  .hero-tag-visual{order:2;width:100%;overflow:hidden}
  .hero h1{font-size:clamp(2rem,9vw,3rem);line-height:1.04;max-width:100%;overflow-wrap:anywhere}
  .hero p.sub{max-width:100%;font-size:.92rem}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .product-grid>*{width:auto;min-width:0}
  .tag-card,.product-card{min-width:0}
  .tag-card .tag-image,.product-card img{max-width:100%}
  .section-heading{align-items:flex-start;gap:10px}
  body[class*="site-theme-"] .hero::before{max-width:46vw;right:0;font-size:32px}
  body[class*="site-theme-"] .hero::after{max-width:52vw;right:0;font-size:20px;letter-spacing:5px}
}

@media(max-width:430px){
  .container{padding-left:12px;padding-right:12px}
  .header-inner{padding:10px 12px}
  .logo{font-size:1.08rem!important;max-width:54vw}
  .header-actions{max-width:44vw}
  .header-actions .search-wrap{display:none}
  .hero:not(.hero-featured-layout) .hero-inner{padding:32px 12px 38px}
  .product-grid{gap:8px}
  .tag-card{padding:10px}
  .section-heading{margin:36px 0 18px}
  body.site-theme-obsidian_gold .hero::before{font-size:82px}
  body.site-theme-cyber_chrome .hero::before,body.site-theme-violet_neon .hero::before{font-size:78px}
  body.site-theme-titanium .hero::after{font-size:26px}
}

@media(max-width:360px){
  .product-grid{grid-template-columns:1fr}
  .header-actions{max-width:40vw}
  .hero h1{font-size:2rem}
}


/* ================================================================
   v55 MOBILE VIEWPORT HARD FIX
   The storefront must occupy the complete browser viewport.  This
   deliberately overrides any inherited/flex shrink width that can
   leave a blank column on the right side of mobile screens.
   ================================================================ */
html {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body {
  width: 100vw !important;
  min-width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  overflow-x: hidden !important;
}

body > .announcement-bar,
body > .site-header,
body > .premium-hero,
body > .hero,
body > main,
body > section,
body > .site-footer {
  width: 100vw !important;
  max-width: 100vw !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body > main,
body > section {
  box-sizing: border-box !important;
}

.site-header .header-inner,
.hero-inner,
.container,
.section-heading {
  width: 100% !important;
  max-width: 1180px;
  box-sizing: border-box !important;
}


@media (max-width: 760px) {
  body > .site-header,
  body > .premium-hero,
  body > .hero,
  body > main,
  body > section,
  body > .site-footer {
    width: 100vw !important;
    max-width: 100vw !important;
  }

  .site-header .header-inner {
    width: 100% !important;
    max-width: none !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .hero-inner,
  .container,
  .section-heading {
    width: 100% !important;
    max-width: none !important;
  }

  /* Never let the desktop header's many controls determine the page width. */
  .header-inner { grid-template-columns: minmax(0,1fr) auto !important; }
  .header-actions {
    min-width: 0 !important;
    max-width: 48vw !important;
    overflow: hidden !important;
  }
  .header-actions > * { min-width: 0 !important; }
  .market-selector { min-width: 0 !important; max-width: 82px !important; }
  .header-luxe-cta { max-width: 62px !important; overflow: hidden; }

  /* The classic hero now fills the phone and stacks cleanly. */
  .hero-inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    padding: 38px 14px 44px !important;
    gap: 24px !important;
  }
  .hero-inner > div { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
  .hero-tag-visual { overflow: visible !important; }

  .product-grid {
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}


@media (max-width: 430px) {
  .site-header .header-inner { padding-left: 12px !important; padding-right: 12px !important; }
  .header-actions { max-width: 45vw !important; }
  .hero:not(.hero-featured-layout) .hero-inner { padding-left: 12px !important; padding-right: 12px !important; }
  .product-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 9px !important; }
}


/* ==========================================================
   Comfortrek Customer Account v62 — complete visual system
   Scoped to #comfortrek-account so legacy account CSS cannot
   distort this page.
   ========================================================== */
#comfortrek-account{--cr-ink:#111214;--cr-paper:#f7f4ed;--cr-muted:#686860;--cr-gold:#c99b36;--cr-line:rgba(17,18,20,.13);--cr-card:#fbfaf6;max-width:1320px;margin:0 auto;padding:64px 28px 120px;box-sizing:border-box;color:var(--cr-ink)}

.cr-kicker{display:block;font:700 10px/1.2 system-ui,sans-serif;letter-spacing:.24em;color:var(--cr-muted)}

.cr-account-guest{min-height:620px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;overflow:hidden;border-radius:28px;background:#171719;color:#f8f4ea;padding:clamp(34px,6vw,82px);position:relative}

.cr-guest-copy{position:relative;z-index:2;max-width:650px}
.cr-guest-copy h1{font:500 clamp(48px,7vw,92px)/.92 Georgia,serif;letter-spacing:-.055em;margin:18px 0 28px}
.cr-guest-copy h1 em{font-style:italic;color:#d4ad51}
.cr-guest-copy p{max-width:590px;color:#c8c6bf;font:400 17px/1.65 system-ui,sans-serif;margin:0 0 34px}
.cr-guest-actions{display:flex;gap:12px;flex-wrap:wrap}
.cr-btn{min-height:48px;border-radius:13px;padding:13px 19px;display:inline-flex;align-items:center;justify-content:center;gap:14px;text-decoration:none;border:1px solid transparent;font:700 13px/1 system-ui,sans-serif;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.cr-btn-primary{background:var(--cr-gold);color:#171719!important;border-color:var(--cr-gold);box-shadow:0 10px 25px rgba(201,155,54,.18)}
.cr-btn-ghost{background:transparent;color:inherit!important;border-color:rgba(255,255,255,.28)}
.cr-guest-visual{height:100%;min-height:420px;position:relative;display:grid;place-items:center}
.cr-monogram{width:190px;height:190px;border:1px solid rgba(214,180,95,.65);border-radius:50%;display:grid;place-items:center;font:400 145px/.8 Georgia,serif;color:#d6b45f;box-shadow:0 0 0 35px rgba(214,180,95,.025),0 0 0 70px rgba(214,180,95,.018)}
.cr-orbit{position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%;width:370px;height:370px}
.cr-orbit-two{width:500px;height:500px}
.cr-guest-note{position:absolute;right:0;bottom:18px;padding:15px 18px;border-left:2px solid var(--cr-gold);font:12px/1.5 system-ui,sans-serif;color:#c8c6bf}
.cr-guest-note strong{color:#fff}

.cr-account-top{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:12px 0 34px;border-bottom:1px solid var(--cr-line)}
.cr-account-welcome h1{font:500 clamp(42px,5vw,70px)/1 Georgia,serif;letter-spacing:-.045em;margin:12px 0 12px}
.cr-account-welcome p{max-width:650px;margin:0;color:var(--cr-muted);font:15px/1.6 system-ui,sans-serif}
.cr-member-chip{display:flex;align-items:center;gap:12px;min-width:245px;padding:10px 12px;border:1px solid var(--cr-line);border-radius:18px;background:rgba(255,255,255,.42)}
.cr-avatar{width:46px;height:46px;flex:0 0 46px;border-radius:50%;background:#171719;color:#e4bf63;display:grid;place-items:center;font:500 19px Georgia,serif}
.cr-member-chip span:nth-child(2){min-width:0;display:grid;gap:3px}
.cr-member-chip strong{font:700 13px/1.2 system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cr-member-chip small{font:12px/1.2 system-ui,sans-serif;color:var(--cr-muted)}
.cr-member-chip>a{margin-left:auto;text-decoration:none;font-size:18px}
.cr-alert{margin:18px 0;padding:13px 16px;border-radius:12px;font:13px/1.4 system-ui,sans-serif}
.cr-alert-success{background:rgba(39,126,71,.08);border:1px solid rgba(39,126,71,.18)}
.cr-alert-error{background:rgba(170,45,45,.08);border:1px solid rgba(170,45,45,.18)}

.cr-profile-complete{margin:28px 0 50px;padding:30px;border:1px solid var(--cr-line);border-radius:22px;background:#ece8dd;display:grid;grid-template-columns:1fr 1.25fr;gap:38px;align-items:start}
.cr-profile-complete h2,.cr-profile-panel h2{font:500 31px/1.05 Georgia,serif;margin:10px 0}
.cr-profile-complete p,.cr-profile-heading p{margin:0;color:var(--cr-muted);font:14px/1.6 system-ui,sans-serif;max-width:520px}
.cr-form{display:grid;gap:13px}
.cr-form label{display:grid;gap:7px;font:700 10px/1.2 system-ui,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.cr-form input{width:100%;min-height:47px;border:1px solid rgba(17,18,20,.18);border-radius:11px;background:#fffdfa;color:var(--cr-ink);padding:12px 13px;font:400 14px/1.2 system-ui,sans-serif;letter-spacing:0;text-transform:none;outline:none}
.cr-form input:focus{border-color:var(--cr-gold);box-shadow:0 0 0 3px rgba(201,155,54,.12)}
.cr-form input:disabled{background:#e2ded4;color:#77736b}
.cr-complete-form{grid-template-columns:1fr 1fr auto;align-items:end}
.cr-complete-form .cr-btn{height:47px;white-space:nowrap}

.cr-section-heading{display:flex;align-items:end;gap:24px;margin:0 0 20px}
.cr-section-heading h2{font:500 28px/1.05 Georgia,serif;margin:8px 0 0}
.cr-section-rule{height:1px;background:var(--cr-line);flex:1;margin-bottom:7px}
.cr-account-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cr-account-card{position:relative;min-height:205px;padding:23px;border:1px solid var(--cr-line);border-radius:19px;background:var(--cr-card);text-decoration:none;display:flex;flex-direction:column;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.cr-account-card:after{content:'→';position:absolute;right:20px;bottom:18px;font-size:18px;opacity:.4;transition:transform .2s ease,opacity .2s ease}
.cr-account-card:hover{transform:translateY(-4px);border-color:rgba(201,155,54,.7);box-shadow:0 16px 36px rgba(20,18,14,.08)}
.cr-account-card:hover:after{transform:translateX(5px);opacity:1}
.cr-card-icon{font:28px/1 Georgia,serif;color:var(--cr-gold)}
.cr-card-index{position:absolute;right:20px;top:22px;color:#aaa79e;font:10px/1 system-ui,sans-serif;letter-spacing:.12em}
.cr-account-card strong{margin-top:auto;padding-right:30px;font:700 17px/1.2 system-ui,sans-serif}
.cr-account-card small{margin-top:7px;max-width:190px;color:var(--cr-muted);font:12px/1.45 system-ui,sans-serif}
.cr-card-dark{background:#171719;color:#f7f4ed;border-color:#171719}
.cr-card-dark small{color:#bcb9b1}
.cr-card-dark .cr-card-index{color:#817f78}

.cr-profile-panel{margin-top:54px;padding:30px;border:1px solid var(--cr-line);border-radius:22px;background:#efebe2;display:grid;grid-template-columns:.8fr 1.7fr;gap:45px}
.cr-profile-heading{padding-top:5px}
.cr-profile-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}
.cr-profile-form .cr-btn{height:47px}

@media(max-width:1000px){#comfortrek-account{padding:45px 20px 105px}.cr-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cr-profile-complete{grid-template-columns:1fr}.cr-complete-form{grid-template-columns:1fr 1fr}.cr-complete-form .cr-btn{grid-column:1/-1}.cr-profile-panel{grid-template-columns:1fr}.cr-profile-form{grid-template-columns:1fr 1fr}.cr-profile-form .cr-btn{grid-column:1/-1}.cr-account-guest{grid-template-columns:1fr;min-height:auto}.cr-guest-visual{min-height:320px}.cr-guest-note{right:10%;bottom:0}}

@media(max-width:620px){#comfortrek-account{padding:30px 14px 100px}.cr-account-top{display:grid;gap:20px;align-items:start;padding-top:4px}.cr-account-welcome h1{font-size:43px}.cr-member-chip{width:100%}.cr-profile-complete{padding:22px;margin-bottom:38px;border-radius:18px}.cr-complete-form,.cr-profile-form{grid-template-columns:1fr}.cr-complete-form .cr-btn,.cr-profile-form .cr-btn{grid-column:auto;width:100%}.cr-section-heading{display:block;margin-bottom:16px}.cr-section-rule{display:block;margin-top:14px}.cr-account-grid{grid-template-columns:1fr 1fr;gap:9px}.cr-account-card{min-height:165px;padding:17px;border-radius:15px}.cr-card-icon{font-size:24px}.cr-card-index{right:15px;top:17px}.cr-account-card strong{font-size:14px;padding-right:15px}.cr-account-card small{font-size:11px;line-height:1.4}.cr-account-card:after{right:14px;bottom:14px}.cr-profile-panel{padding:22px;margin-top:38px;border-radius:18px}.cr-profile-complete h2,.cr-profile-panel h2{font-size:26px}.cr-account-guest{padding:30px 23px;border-radius:20px}.cr-guest-copy h1{font-size:52px}.cr-guest-copy p{font-size:15px}.cr-guest-visual{min-height:250px}.cr-monogram{width:135px;height:135px;font-size:102px}.cr-orbit{width:260px;height:260px}.cr-orbit-two{width:340px;height:340px}.cr-guest-note{font-size:11px;right:0}}

@media(max-width:370px){.cr-account-grid{grid-template-columns:1fr}.cr-account-card{min-height:145px}}

/* ---- from storefront-v56.css ---- */
/* ============================================================
   COMFORTREK STOREFRONT V56 — BRAND-GRADE RESPONSIVE SYSTEM
   Inspired by the information architecture of modern luggage D2C
   stores (Nasher Miles, Safari, Assembly), without copying their UI.
   Goals: full-bleed hero, centered content rail, compact mobile
   navigation, 2-up product discovery, zero horizontal overflow.
   ============================================================ */

:root{
  --store-max: 1320px;
  --store-gutter: clamp(16px,3vw,42px);
  --store-radius: 18px;
  --store-shadow: 0 18px 55px rgba(0,0,0,.08);
}


html,html body{width:100%;max-width:none!important;min-width:0!important;overflow-x:hidden!important}

body{position:relative;display:block!important;margin:0!important;padding:0!important}

body>*{max-width:none!important;min-width:0!important}

body>header.site-header,
body>.announcement-bar,
body>main,
body>section,
body>footer.site-footer,
body>.premium-hero,
body>.hero{display:block!important;position:relative;left:auto!important;right:auto!important;transform:none!important;float:none!important;width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}


/* The site is full bleed; only inner content is constrained. */
.site-header,.announcement-bar{width:100%!important}

.header-inner,.container,.hero-inner,.section-heading,
.premium-banner-carousel>.carousel-track,
.premium-hero .hero-track{
  width:min(100% - (var(--store-gutter) * 2),var(--store-max))!important;
  max-width:var(--store-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}


/* Desktop header: clean D2C hierarchy. */
.site-header{background:color-mix(in srgb,var(--ink) 96%,transparent)!important;border-bottom:1px solid color-mix(in srgb,var(--brass) 35%,transparent)!important}

.header-inner{min-height:72px;padding:12px 0!important;display:flex!important;align-items:center!important;gap:24px!important}

.logo{flex:0 0 auto!important;max-width:210px!important;white-space:nowrap!important}

.main-nav{display:flex!important;align-items:center!important;gap:18px!important;flex:1 1 auto!important;min-width:0!important;justify-content:center!important}

.main-nav a{white-space:nowrap!important}

.header-actions{display:flex!important;align-items:center!important;gap:8px!important;flex:0 0 auto!important;min-width:0!important}

.header-actions>*{min-width:0!important}

.header-actions .search-wrap{width:min(220px,18vw)!important;min-width:150px!important}

.header-actions .search-input{width:100%!important}


/* Desktop home sections: full-width visual bands with a centered content rail. */
main>section,
main>.section,
.home-section,
.banner-carousel,
.premium-banner-carousel,
.premium-hero,
.sale-promo-strip,
.instagram-showcase,
.lifestyle-showcase,
.marketplace-band{width:100%!important;max-width:none!important}

main .container,
main .lifestyle-showcase .container,
main .instagram-showcase .container{max-width:var(--store-max)!important;margin-left:auto!important;margin-right:auto!important}


/* Product discovery: generous desktop cards, no cramped columns. */
.product-grid{width:100%!important;max-width:var(--store-max)!important;margin-left:auto!important;margin-right:auto!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important}

.tag-card{min-width:0!important;overflow:hidden!important}

.tag-card .tag-image{overflow:hidden!important}

.tag-card .tag-image img{max-width:100%!important;height:auto!important}


/* Hero: premium full-bleed composition. */
.premium-hero,.hero{width:100%!important;max-width:none!important}

.premium-hero .hero-content{width:min(100% - 48px,var(--store-max))!important;margin:0 auto!important}

.hero-inner{padding-left:0!important;padding-right:0!important}


/* Mobile-first navigation similar in information density to modern D2C luggage stores. */
.mobile-store-nav{display:none}

.mobile-search-row{display:none}


@media(max-width:900px){
  :root{--store-gutter:18px}
  .header-inner{gap:12px!important}
  .main-nav{display:none!important}
  .header-actions{margin-left:auto!important}
  .header-actions .search-wrap{width:170px!important;min-width:0!important}
  .header-actions .header-luxe-cta,
  .header-actions .nav-lab-link{display:none!important}
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}


@media(max-width:700px){
  :root{--store-gutter:14px}

  /* Hard reset against the half-width rendering bug. */
  body,body>*{width:100%!important;max-width:none!important;min-width:0!important}
  .site-header,.announcement-bar,.premium-hero,.hero,main,main>*,.site-footer{width:100%!important;max-width:none!important;min-width:0!important}
  .header-inner,.container,.hero-inner,.section-heading,
  main .container,main .lifestyle-showcase .container,main .instagram-showcase .container{
    width:calc(100% - 28px)!important;
    max-width:none!important;
    min-width:0!important;
  }

  .announcement-bar{font-size:.62rem!important}
  .announcement-item{padding:0 22px!important}

  .site-header{position:sticky!important;top:0!important;z-index:80!important}
  .header-inner{min-height:62px!important;padding:9px 0!important;display:flex!important;align-items:center!important;gap:8px!important}
  .logo{font-size:1.05rem!important;letter-spacing:.08em!important;max-width:42vw!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .logo img{max-width:150px!important;max-height:34px!important}
  .header-actions{display:flex!important;gap:6px!important;max-width:none!important;overflow:visible!important;margin-left:auto!important}
  .header-actions .search-wrap{display:none!important}
  .header-actions .lang-switch-wrap,
  .header-actions .market-selector,
  .header-actions .appearance-toggle,
  .header-actions>a[href="/track"]{display:none!important}
  .header-actions .cart-icon-btn{width:36px!important;height:36px!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important}
  .cart-count-badge{min-width:15px!important;height:15px!important;font-size:8px!important}

  .mobile-search-row{display:block!important;width:100%!important;background:var(--ink)!important;padding:0 14px 10px!important}
  .mobile-search-row form{display:flex!important;width:100%!important;gap:8px!important}
  .mobile-search-row input{flex:1!important;width:100%!important;min-width:0!important;height:42px!important;border-radius:12px!important;border:1px solid rgba(255,255,255,.16)!important;background:rgba(255,255,255,.06)!important;color:var(--bone)!important;padding:0 13px!important;font:500 .82rem Inter,sans-serif!important}
  .mobile-search-row button{width:42px!important;height:42px!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:12px!important;background:var(--brass)!important;color:var(--ink)!important;font-weight:800!important}

  /* Premium hero: image-led and vertically composed. */
  .premium-hero,.hero{width:100%!important;min-width:0!important}
  .premium-hero .hero-track,.premium-hero .hero-slide{width:100%!important;min-width:100%!important}
  .premium-hero .hero-content{width:calc(100% - 28px)!important;max-width:none!important;padding:44px 0 86px!important;margin:0 auto!important}
  .premium-hero .hero-arrow{width:36px!important;height:36px!important}
  .hero:not(.hero-featured-layout) .hero-inner{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:24px!important;padding:36px 0 46px!important}
  .hero:not(.hero-featured-layout) .hero-inner>div{width:100%!important;max-width:100%!important;min-width:0!important}
  .hero h1{font-size:clamp(2.15rem,11vw,3.6rem)!important;max-width:100%!important}
  .hero p.sub{max-width:100%!important;font-size:.93rem!important}
  .hero-tag-visual{width:100%!important;overflow:hidden!important}

  /* Brand-like product browsing: two strong cards on phones. */
  .section-heading{margin:38px auto 18px!important;display:flex!important;gap:10px!important;align-items:flex-end!important}
  .section-heading h2{font-size:1.55rem!important}
  .section-heading .stamp{font-size:.58rem!important}
  .product-grid{width:calc(100% - 28px)!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;padding-bottom:44px!important}
  .tag-card{padding:9px!important;border-radius:14px!important}
  .tag-card .tag-image{aspect-ratio:1/1.05!important;margin-bottom:9px!important}
  .tag-card h3{font-size:.83rem!important;line-height:1.25!important}
  .tag-card .price{font-size:.78rem!important}

  .premium-banner-carousel{aspect-ratio:4/5!important;min-height:440px!important;width:100%!important}
  .premium-banner-carousel .carousel-caption{left:7%!important;right:7%!important;max-width:none!important}
  .premium-caption h2{font-size:2rem!important}

  .sale-promo-strip{grid-template-columns:1fr!important}
  .sale-promo-media{min-height:210px!important}
  .sale-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .sale-product-card{min-width:0!important}

  .lifestyle-showcase .container,.instagram-showcase .container{width:calc(100% - 28px)!important}
  .instagram-showcase-track,.lifestyle-review-rail{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important}
  .instagram-social-card{flex:0 0 min(82vw,350px)!important;scroll-snap-align:start!important}
  .lifestyle-review-card{flex:0 0 min(84vw,360px)!important;scroll-snap-align:start!important}

  .site-footer{padding-left:14px!important;padding-right:14px!important}
  .footer-inner{grid-template-columns:1fr 1fr!important;gap:20px!important}

  .mobile-store-nav{position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:120!important;display:grid!important;grid-template-columns:repeat(5,1fr)!important;height:62px!important;background:color-mix(in srgb,var(--ink) 96%,transparent)!important;border-top:1px solid rgba(255,255,255,.12)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;padding-bottom:env(safe-area-inset-bottom)!important}
  .mobile-store-nav a{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;color:var(--bone)!important;font-size:.58rem!important;opacity:.78!important}
  .mobile-store-nav a strong{font-size:1rem!important;line-height:1!important}
  .mobile-store-nav a.active{opacity:1!important;color:var(--brass)!important}
  body{padding-bottom:62px!important}
}


@media(max-width:380px){
  :root{--store-gutter:12px}
  .header-inner,.container,.hero-inner,.section-heading,main .container,main .lifestyle-showcase .container,main .instagram-showcase .container{width:calc(100% - 24px)!important}
  .logo{max-width:38vw!important}
  .header-actions .cart-icon-btn{width:33px!important;height:33px!important}
  .product-grid{width:calc(100% - 24px)!important;gap:8px!important}
  .tag-card{padding:8px!important}
}


/* Desktop polish: sections breathe, like premium luggage D2C storefronts. */
@media(min-width:901px){
  main{display:block!important;width:100%!important}
  .section-heading{padding-top:4px}
  .product-grid{padding-bottom:76px!important}
  .premium-hero .hero-content{padding-top:90px!important;padding-bottom:90px!important}
  .sale-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}

/* ---- from storefront-v57.css ---- */
/* ============================================================
   COMFORTREK V57 — PALO ALTO-INSPIRED LUXE
   A custom editorial luggage storefront inspired by the feature
   architecture of premium Shopify luggage themes. Not a copy.
   ============================================================ */
body.site-theme-palo_alto{
  --pa-ink:#101010; --pa-paper:#f7f5f0; --pa-muted:#6e6a62;
  --pa-accent:#111; --pa-line:#dedbd3; --pa-soft:#eeece6;
  --pa-radius:2px; --pa-max:1440px;
  background:var(--pa-paper)!important;color:var(--pa-ink)!important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

body.site-theme-palo_alto.appearance-dark{--pa-paper:#0d0d0d;--pa-ink:#f4f1ea;--pa-muted:#aaa49a;--pa-line:#292929;--pa-soft:#181818;background:#0d0d0d!important;color:var(--pa-ink)!important}

body.site-theme-palo_alto .announcement-bar{background:var(--pa-ink)!important;color:var(--pa-paper)!important;letter-spacing:.13em;font-size:.67rem}

body.site-theme-palo_alto .site-header{background:var(--pa-paper)!important;color:var(--pa-ink)!important;border-bottom:1px solid var(--pa-line)!important}

body.site-theme-palo_alto .main-nav a,body.site-theme-palo_alto .header-actions a{color:var(--pa-ink)!important}

body.site-theme-palo_alto .logo{font-family:Georgia,"Times New Roman",serif;letter-spacing:.08em;color:var(--pa-ink)!important}

body.site-theme-palo_alto .header-inner{min-height:78px!important;max-width:var(--pa-max)!important}

body.site-theme-palo_alto .main-nav{gap:24px!important;font-size:.76rem!important;text-transform:uppercase;letter-spacing:.07em}

body.site-theme-palo_alto .mega-menu-item>a:after{content:'⌄';font-size:.65em;margin-left:5px;opacity:.55}

body.site-theme-palo_alto .header-actions{gap:10px!important}

body.site-theme-palo_alto .search-wrap{border:1px solid var(--pa-line)!important;background:transparent!important;border-radius:999px!important}

body.site-theme-palo_alto .search-input{background:transparent!important;color:var(--pa-ink)!important}

body.site-theme-palo_alto .cart-icon-btn,body.site-theme-palo_alto .appearance-toggle{background:transparent!important;border:1px solid var(--pa-line)!important;color:var(--pa-ink)!important}

body.site-theme-palo_alto .header-luxe-cta{background:var(--pa-ink)!important;color:var(--pa-paper)!important;border-radius:999px!important;padding:10px 15px!important}


/* Hero: editorial, image-first, restrained typography. */
body.site-theme-palo_alto .premium-hero{min-height:min(76vh,780px)!important;background:#ddd!important}

body.site-theme-palo_alto .premium-hero .hero-slide{min-height:min(76vh,780px)!important}

body.site-theme-palo_alto .premium-hero .hero-content{max-width:var(--pa-max)!important;width:min(100% - 72px,var(--pa-max))!important;padding:90px 0!important}

body.site-theme-palo_alto .premium-hero .hero-content h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.04em;font-size:clamp(3rem,6.4vw,6.7rem);max-width:760px}

body.site-theme-palo_alto .premium-hero .hero-content p{max-width:530px}

body.site-theme-palo_alto .premium-hero .hero-eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.66rem}

body.site-theme-palo_alto .premium-hero .hero-actions .btn-primary{border-radius:999px!important;background:#fff!important;color:#111!important;padding:13px 22px!important}

body.site-theme-palo_alto .premium-hero .hero-secondary{border-radius:999px!important}


/* Palo Alto-style section rhythm. */
body.site-theme-palo_alto .section-heading{max-width:var(--pa-max)!important;padding-top:64px!important;margin-bottom:20px!important}

body.site-theme-palo_alto .section-heading h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.9rem,3vw,3.15rem);font-weight:500;letter-spacing:-.03em;color:var(--pa-ink)!important}

body.site-theme-palo_alto .section-heading .stamp{border-color:var(--pa-line)!important;color:var(--pa-muted)!important}

body.site-theme-palo_alto .product-grid{max-width:var(--pa-max)!important;gap:2px!important}

body.site-theme-palo_alto .tag-card{background:var(--pa-paper)!important;border:1px solid var(--pa-line)!important;border-radius:0!important;box-shadow:none!important;padding:0!important;transition:transform .35s ease,box-shadow .35s ease}

body.site-theme-palo_alto .tag-card:hover{transform:none!important;box-shadow:0 18px 45px rgba(0,0,0,.10)!important;z-index:2}

body.site-theme-palo_alto .tag-card .tag-image{border-radius:0!important;background:var(--pa-soft)!important;aspect-ratio:1/1.08!important}

body.site-theme-palo_alto .tag-card h3,body.site-theme-palo_alto .tag-card .price,body.site-theme-palo_alto .tag-card .spec-line{padding-left:16px;padding-right:16px}

body.site-theme-palo_alto .tag-card h3{font-size:.92rem!important;font-weight:600;margin-top:13px!important}

body.site-theme-palo_alto .tag-card .price{font-size:.85rem!important;color:var(--pa-ink)!important}

body.site-theme-palo_alto .tag-card .sale-price-tag{background:var(--pa-ink)!important;color:var(--pa-paper)!important}

body.site-theme-palo_alto .compare-checkbox-label{margin:8px 16px!important;color:var(--pa-muted)!important}

body.site-theme-palo_alto .card-actions{padding:0 16px 16px!important}

body.site-theme-palo_alto .card-actions .add-to-cart-btn{border-radius:999px!important;background:var(--pa-ink)!important;color:var(--pa-paper)!important}

body.site-theme-palo_alto .quick-view-btn{border:1px solid var(--pa-line)!important;background:var(--pa-paper)!important;color:var(--pa-ink)!important}


/* Promotional strip / campaign banner */
body.site-theme-palo_alto .premium-banner-carousel{margin-top:52px!important;border-radius:0!important}

body.site-theme-palo_alto .premium-banner-carousel .carousel-caption h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,5vw,5rem);font-weight:500}

body.site-theme-palo_alto .carousel-cta{border-radius:999px!important}


/* Custom merchandising modules. */
.pa-feature-shell{max-width:1440px;margin:0 auto;padding:0 22px 30px}

.pa-feature-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:2px;background:var(--pa-line)}

.pa-feature-card{position:relative;min-height:500px;background:var(--pa-soft);overflow:hidden}

.pa-feature-card.tall{min-height:640px}

.pa-feature-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}

.pa-feature-card:hover img{transform:scale(1.035)}

.pa-feature-overlay{position:absolute;inset:auto 0 0;padding:34px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff}

.pa-feature-overlay .kicker{text-transform:uppercase;letter-spacing:.17em;font-size:.63rem;opacity:.78}

.pa-feature-overlay h3{font:500 clamp(1.7rem,3vw,3rem)/1 Georgia,"Times New Roman",serif;margin:7px 0}

.pa-feature-overlay p{max-width:510px;font-size:.85rem;line-height:1.6;opacity:.88}

.pa-feature-overlay a{display:inline-flex;margin-top:12px;border:1px solid rgba(255,255,255,.65);border-radius:999px;padding:10px 16px;color:#fff;text-decoration:none;font-size:.74rem}

.pa-service-rail{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--pa-line);border-bottom:1px solid var(--pa-line);margin:55px auto 15px;max-width:1440px}

.pa-service-rail article{padding:23px 22px;border-right:1px solid var(--pa-line)}

.pa-service-rail article:last-child{border-right:0}

.pa-service-rail strong{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.09em}

.pa-service-rail span{display:block;margin-top:7px;color:var(--pa-muted);font-size:.74rem;line-height:1.5}


/* Product-page conversion layer: image gallery, tabs, sticky cart, recommendations. */
body.site-theme-palo_alto .luxury-product-page .luxury-product-hero{max-width:1440px!important;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr)!important;gap:56px!important}

body.site-theme-palo_alto .luxury-product-info{position:sticky;top:100px;align-self:start}

body.site-theme-palo_alto .luxury-product-info h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,4rem)!important;font-weight:500;line-height:1.02}

body.site-theme-palo_alto .product-image-stage,body.site-theme-palo_alto .spin-viewer{border-radius:0!important;background:var(--pa-soft)!important}

body.site-theme-palo_alto .sticky-add-bar{border-top:1px solid var(--pa-line)!important;background:color-mix(in srgb,var(--pa-paper) 94%,transparent)!important;backdrop-filter:blur(18px)!important}


/* Light/dark festival palettes remain compatible. */
body.site-theme-palo_alto.palette-diwali{--pa-accent:#9a6725}

body.site-theme-palo_alto.palette-holi{--pa-accent:#b21c69}

body.site-theme-palo_alto.palette-eid{--pa-accent:#146b4b}

body.site-theme-palo_alto.palette-christmas{--pa-accent:#8e1e31}

body.site-theme-palo_alto.palette-newyear{--pa-accent:#65717d}


@media(max-width:900px){
  body.site-theme-palo_alto .main-nav{display:none!important}
  body.site-theme-palo_alto .header-inner{min-height:64px!important}
  body.site-theme-palo_alto .premium-hero,body.site-theme-palo_alto .premium-hero .hero-slide{min-height:72svh!important}
  body.site-theme-palo_alto .premium-hero .hero-content{width:calc(100% - 28px)!important;padding:52px 0 76px!important}
  body.site-theme-palo_alto .premium-hero .hero-content h1{font-size:clamp(2.4rem,12vw,4.4rem)!important}
  body.site-theme-palo_alto .section-heading{padding-top:44px!important}
  .pa-feature-shell{padding:0 14px 15px}
  .pa-feature-grid{grid-template-columns:1fr}
  .pa-feature-card,.pa-feature-card.tall{min-height:420px}
  .pa-service-rail{grid-template-columns:repeat(2,1fr);margin-top:38px}
  .pa-service-rail article:nth-child(2){border-right:0}
  .pa-service-rail article:nth-child(-n+2){border-bottom:1px solid var(--pa-line)}
  body.site-theme-palo_alto .luxury-product-page .luxury-product-hero{grid-template-columns:1fr!important;gap:22px!important}
  body.site-theme-palo_alto .luxury-product-info{position:static}
}

@media(max-width:560px){
  .pa-feature-card,.pa-feature-card.tall{min-height:360px}
  .pa-feature-overlay{padding:22px}
  .pa-service-rail article{padding:17px 14px}
  body.site-theme-palo_alto .product-grid{gap:1px!important}
}


/* ============================================================
   V58 RESPONSIVE SHELL + MOBILE NAVIGATION
   ============================================================ */
html{width:100%!important;max-width:100%!important;overflow-x:hidden!important}

body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}

.site-header{width:100%!important;overflow:visible!important}

.header-inner{width:min(calc(100% - 32px),1440px)!important;max-width:1440px!important;margin-inline:auto!important;box-sizing:border-box!important}

.mobile-menu-toggle,.mobile-header-actions,.mobile-menu-drawer,.mobile-menu-backdrop{display:none}

@media(max-width:900px){
  .site-header{z-index:200!important}
  .header-inner{width:100%!important;min-height:68px!important;padding:10px 14px!important;display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important}
  .mobile-menu-toggle{display:flex!important;width:42px;height:42px;border:1px solid currentColor;background:transparent;color:inherit;border-radius:50%;padding:10px;flex-direction:column;justify-content:center;gap:4px;cursor:pointer;opacity:.92}
  .mobile-menu-toggle span{display:block;width:100%;height:1.5px;background:currentColor;border-radius:2px}
  .logo{justify-self:start!important;max-width:100%!important;font-size:clamp(1.25rem,5.5vw,1.75rem)!important;overflow:hidden;text-overflow:ellipsis}
  .main-nav{display:none!important}
  .header-actions{display:none!important}
  .mobile-header-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:7px;min-width:0}
  .mobile-header-actions a,.mobile-header-actions button{position:relative;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;text-decoration:none;font-size:18px;line-height:1;cursor:pointer}
  .mobile-header-actions span{position:absolute;right:-2px;top:-3px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--pa-accent,#b8935a);color:#111;font:700 9px/16px system-ui;text-align:center}
  .mobile-search-row{display:block!important;width:100%!important;padding:10px 14px 12px!important;background:inherit!important;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent)!important;box-sizing:border-box!important}
  .mobile-search-row form{display:flex!important;width:100%!important;max-width:none!important;box-sizing:border-box!important}
  .mobile-search-row input{flex:1 1 auto!important;min-width:0!important;width:auto!important;height:46px!important;border-radius:14px 0 0 14px!important;padding:0 15px!important;font-size:15px!important;background:color-mix(in srgb,currentColor 6%,transparent)!important;color:inherit!important;border:1px solid color-mix(in srgb,currentColor 18%,transparent)!important;border-right:0!important}
  .mobile-search-row button{width:54px!important;height:46px!important;border-radius:0 14px 14px 0!important;border:1px solid var(--pa-accent,#b8935a)!important;background:var(--pa-accent,#b8935a)!important;color:#111!important;font-size:22px!important}
  .mobile-menu-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.52);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:.25s;z-index:500}
  .mobile-menu-backdrop.open{opacity:1;visibility:visible}
  .mobile-menu-drawer{display:flex;position:fixed;z-index:501;left:0;top:0;bottom:0;width:min(88vw,390px);max-width:100%;background:var(--pa-paper,#f7f5f0);color:var(--pa-ink,#111);transform:translateX(-102%);transition:transform .3s cubic-bezier(.2,.8,.2,1);flex-direction:column;box-shadow:20px 0 70px rgba(0,0,0,.25);overflow:hidden}
  .mobile-menu-drawer.open{transform:translateX(0)}
  .mobile-menu-head{height:72px;padding:0 18px;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent);display:flex;align-items:center;justify-content:space-between;flex:0 0 auto}
  .mobile-menu-head strong{font:600 1.25rem Georgia,serif;letter-spacing:.05em}
  .mobile-menu-head button{border:0;background:transparent;color:inherit;font-size:32px;line-height:1;cursor:pointer}
  .mobile-menu-body{padding:12px 18px 30px;overflow:auto}
  .mobile-menu-feature{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid color-mix(in srgb,currentColor 10%,transparent);font-weight:700;color:inherit;text-decoration:none}
  .mobile-menu-label{margin:22px 0 8px;font:600 10px/1.2 ui-monospace,monospace;letter-spacing:.18em;opacity:.55}
  .mobile-menu-body>details{border-bottom:1px solid color-mix(in srgb,currentColor 10%,transparent)}
  .mobile-menu-body summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:15px 0;font-size:15px;font-weight:650}
  .mobile-menu-body summary::-webkit-details-marker{display:none}
  .mobile-menu-sub{padding:0 0 10px 12px;display:grid}
  .mobile-menu-sub a,.mobile-menu-body>a:not(.mobile-menu-feature){padding:10px 0;color:inherit;text-decoration:none;opacity:.78}
  html.menu-open,html.menu-open body{overflow:hidden!important}
}

@media(max-width:480px){
  .header-inner{grid-template-columns:40px minmax(0,1fr) auto!important;padding-inline:12px!important}
  .mobile-menu-toggle,.mobile-header-actions a,.mobile-header-actions button{width:40px;height:40px}
  .mobile-header-actions{gap:5px}
  .mobile-header-actions a{font-size:17px}
  .mobile-search-row{padding-inline:12px!important}
}


/* V58 Palo Alto Luxe: richer editorial composition, patterns and depth. */
body.site-theme-palo_alto{--pa-accent:#c79a32;--pa-radius:14px;background:var(--pa-paper)!important}

body.site-theme-palo_alto.appearance-dark{--pa-paper:#0a0b0c;--pa-ink:#f4efe5;--pa-muted:#aaa398;--pa-line:#292a2c;--pa-soft:#141516;--pa-accent:#d7ad4b}

body.site-theme-palo_alto:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.34;background-image:radial-gradient(circle at 15% 15%,color-mix(in srgb,var(--pa-accent) 12%,transparent) 0 1px,transparent 1.5px),radial-gradient(circle at 85% 65%,color-mix(in srgb,var(--pa-accent) 9%,transparent) 0 1px,transparent 1.5px);background-size:34px 34px,47px 47px}

body.site-theme-palo_alto .site-header{box-shadow:0 10px 35px rgba(0,0,0,.06)!important}

body.site-theme-palo_alto .premium-hero{isolation:isolate;overflow:hidden;background:linear-gradient(120deg,#15100b,#352717 48%,#0e0e0e)!important}

body.site-theme-palo_alto .premium-hero:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.18) 62%,rgba(0,0,0,.05)),radial-gradient(circle at 82% 18%,rgba(215,173,75,.23),transparent 25%)}

body.site-theme-palo_alto .premium-hero .hero-content{position:relative;z-index:3}

body.site-theme-palo_alto .premium-hero .hero-content h1{text-shadow:0 12px 40px rgba(0,0,0,.35)}

body.site-theme-palo_alto .premium-hero .hero-actions .btn-primary{background:var(--pa-accent)!important;color:#111!important;box-shadow:0 12px 28px rgba(199,154,50,.25)}

body.site-theme-palo_alto .section-heading{position:relative}

body.site-theme-palo_alto .section-heading:after{content:"";display:block;position:absolute;right:0;bottom:-1px;width:80px;height:1px;background:var(--pa-accent)}

body.site-theme-palo_alto .tag-card{position:relative}

body.site-theme-palo_alto .tag-card:after{content:"";position:absolute;inset:0;border:1px solid color-mix(in srgb,var(--pa-accent) 18%,transparent);pointer-events:none}

body.site-theme-palo_alto .tag-card .tag-image{background:linear-gradient(145deg,var(--pa-soft),color-mix(in srgb,var(--pa-accent) 6%,var(--pa-soft)))!important}

body.site-theme-palo_alto .card-actions .add-to-cart-btn{background:var(--pa-accent)!important;color:#111!important}

body.site-theme-palo_alto .pa-feature-card{border-radius:var(--pa-radius)!important}

body.site-theme-palo_alto .pa-feature-grid{background:transparent!important;gap:14px!important}

body.site-theme-palo_alto .pa-feature-card:before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.22);z-index:2;pointer-events:none}

body.site-theme-palo_alto .pa-service-rail article{position:relative}

body.site-theme-palo_alto .pa-service-rail article:before{content:"✦";display:block;color:var(--pa-accent);font-size:12px;margin-bottom:7px}

@media(max-width:700px){
  body.site-theme-palo_alto .premium-hero,body.site-theme-palo_alto .premium-hero .hero-slide{min-height:calc(100svh - 126px)!important}
  body.site-theme-palo_alto .premium-hero .hero-content{width:100%!important;padding:48px 18px 64px!important}
  body.site-theme-palo_alto .premium-hero .hero-content h1{font-size:clamp(2.5rem,13vw,4rem)!important;max-width:8ch!important}
  body.site-theme-palo_alto .premium-hero .hero-content p{font-size:.95rem!important;line-height:1.65!important}
  body.site-theme-palo_alto .pa-feature-card:before{inset:10px}
  body.site-theme-palo_alto .pa-feature-card,.body.site-theme-palo_alto .pa-feature-card.tall{min-height:390px}
}


/* V58 theme-editor settings are applied globally to every storefront theme. */
body[data-theme-announcement="0"]>.announcement-bar{display:none!important}

body[data-theme-patterns="0"]:before,body[data-theme-patterns="0"] .site-header:before{display:none!important}



body .btn-primary,body .add-to-cart-btn,body .carousel-cta{--theme-button-radius:var(--theme-radius);}

body.site-theme-palo_alto .btn-primary,body.site-theme-palo_alto .add-to-cart-btn{background:var(--theme-accent)!important}

@media(max-width:700px){body[data-theme-mobile-two-col="0"] .product-grid{grid-template-columns:1fr!important}body[data-theme-mobile-two-col="1"] .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* ---- from storefront-v60.css ---- */
/* ============================================================
   COMFORTREK V59 — RESPONSIVE COMMERCE SHELL
   Fixes: desktop header collisions, mobile overflow/half-width,
   hero contrast, product-grid sizing, sticky mobile nav and
   per-theme editor variables. No fixed-width child may control
   the viewport.
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}

html{width:100%!important;min-width:0!important;max-width:100%!important;overflow-x:hidden!important}

body{width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;overflow-x:hidden!important}

body>*{min-width:0!important;max-width:100%!important}


/* Desktop: two clean header levels. This prevents the large number of
   commerce controls from squeezing/overlapping the navigation. */
.site-header{position:relative!important;z-index:200!important;overflow:visible!important;width:100%!important}

.site-header .header-inner{width:min(calc(100% - 48px),var(--theme-editor-content-width,1320px))!important;max-width:var(--theme-editor-content-width,1320px)!important;margin:0 auto!important;min-height:76px!important;padding:13px 0 0!important;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;grid-template-rows:52px 42px!important;column-gap:26px!important;row-gap:0!important;align-items:center!important}

.site-header .mobile-menu-toggle{grid-column:1;grid-row:1;display:none}

.site-header .logo{grid-column:1;grid-row:1;max-width:240px!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:clamp(1.35rem,2.1vw,2rem)!important}

.site-header .main-nav{grid-column:1 / -1;grid-row:2;display:flex!important;align-items:center!important;justify-content:center!important;gap:clamp(12px,1.7vw,25px)!important;min-width:0!important;overflow:visible!important;white-space:nowrap!important;border-top:1px solid color-mix(in srgb,currentColor 10%,transparent)!important}

.site-header .main-nav>a,.site-header .main-nav .mega-menu-item>a{font-size:.69rem!important;letter-spacing:.075em!important;text-transform:uppercase!important;white-space:nowrap!important;padding:12px 2px!important}

.site-header .header-actions{grid-column:3;grid-row:1;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;min-width:0!important;max-width:none!important;overflow:visible!important;flex-wrap:nowrap!important}

.site-header .header-actions .search-wrap{width:min(240px,18vw)!important;min-width:150px!important}

.site-header .header-actions .market-selector{max-width:125px!important;min-width:0!important}

.site-header .header-actions>a[href="/track"]{white-space:nowrap!important}


/* Full-bleed visual bands; inner content remains constrained. */
main,main>section,main>.section,.premium-hero,.hero,.premium-banner-carousel,.sale-promo-strip,.instagram-showcase,.lifestyle-showcase,.marketplace-band,.site-footer{width:100%!important;max-width:none!important;min-width:0!important}

.premium-hero{overflow:hidden!important}

.premium-hero .hero-track{width:100%!important;max-width:none!important;margin:0!important;display:flex!important}

.premium-hero .hero-slide{width:100%!important;min-width:100%!important;flex:0 0 100%!important}

.premium-hero .hero-content{width:min(calc(100% - 48px),var(--theme-editor-content-width,1320px))!important;max-width:var(--theme-editor-content-width,1320px)!important;margin:0 auto!important}


/* Store rails */
.section-heading,.product-grid,.lifestyle-showcase .container,.instagram-showcase .container{width:min(calc(100% - 48px),var(--theme-editor-content-width,1320px))!important;max-width:var(--theme-editor-content-width,1320px)!important;margin-left:auto!important;margin-right:auto!important}

.product-grid{grid-template-columns:repeat(var(--theme-editor-product-columns,4),minmax(0,1fr))!important;gap:14px!important}

.tag-card,.product-card{min-width:0!important;max-width:100%!important;overflow:hidden!important}

.tag-card img,.product-card img{max-width:100%!important;height:auto!important;object-fit:cover}


/* Theme editor controls become real storefront variables. */
body{--theme-accent:var(--theme-editor-accent,#b8935a);--theme-radius:var(--theme-editor-radius,14px)}

body .tag-card,body .product-card,body .btn-primary,body .add-to-cart-btn,body .carousel-cta{border-radius:var(--theme-radius)}

body[data-theme-patterns="0"]:before{display:none!important}

body[data-theme-announcement="0"]>.announcement-bar{display:none!important}


/* Palo Alto: readable editorial hero in both modes, with the image/text
   layer never allowed to collapse into a narrow column. */
body.site-theme-palo_alto .premium-hero{min-height:min(78vh,820px)!important;background:#17120f!important}

body.site-theme-palo_alto .premium-hero .hero-slide{min-height:min(78vh,820px)!important}

body.site-theme-palo_alto .premium-hero .hero-media img,body.site-theme-palo_alto .premium-hero .hero-media video{width:100%!important;height:100%!important;object-fit:cover!important}

body.site-theme-palo_alto .premium-hero .hero-content{position:relative!important;z-index:4!important;padding-top:clamp(70px,10vw,130px)!important;padding-bottom:clamp(70px,10vw,130px)!important}

body.site-theme-palo_alto .premium-hero .hero-content h1{color:#fff!important;text-shadow:0 3px 22px rgba(0,0,0,.55)!important}

body.site-theme-palo_alto .premium-hero .hero-content p{color:rgba(255,255,255,.88)!important}

body.site-theme-palo_alto .premium-hero .hero-eyebrow{color:var(--theme-accent)!important}

body.site-theme-palo_alto .premium-hero .hero-actions .btn-primary{background:var(--theme-accent)!important;color:#111!important}

body.site-theme-palo_alto.appearance-light .premium-hero .hero-content h1{color:#fff!important}

body.site-theme-palo_alto.appearance-light .premium-hero .hero-content p{color:#fff!important}


/* Festival layer: visible motifs instead of colour-only changes. */
body.palette-diwali{--festival-symbols:"✦  🪔  ✦  🪔  ✦"}

body.palette-holi{--festival-symbols:"●  ●  ●  ●  ●"}

body.palette-wedding{--festival-symbols:"◇  ✦  ◇  ✦  ◇"}

body.palette-rakhi{--festival-symbols:"✦  🧵  ✦  🧵  ✦"}

body.palette-navratri{--festival-symbols:"✦  ◆  ✦  ◆  ✦"}

body.palette-eid{--festival-symbols:"☾  ✦  ☾  ✦  ☾"}

body.palette-christmas{--festival-symbols:"✦  🎄  ✦  🎄  ✦"}

body.palette-patriotic{--festival-symbols:"◌  🇮🇳  ◌  🇮🇳  ◌"}

body.palette-summer{--festival-symbols:"☀  ·  ☀  ·  ☀"}

body.palette-monsoon{--festival-symbols:"•  💧  •  💧  •"}

body.palette-newyear{--festival-symbols:"✦  🎆  ✦  🎆  ✦"}

body.palette-valentines{--festival-symbols:"♥  ✦  ♥  ✦  ♥"}

body[class*="palette-"] .premium-hero{isolation:isolate}

body[class*="palette-"] .premium-hero::after{content:var(--festival-symbols);position:absolute;right:5%;top:9%;z-index:3;pointer-events:none;font-size:clamp(18px,2.5vw,34px);letter-spacing:.35em;color:var(--theme-accent);opacity:.65;white-space:nowrap;text-shadow:0 0 28px color-mix(in srgb,var(--theme-accent) 45%,transparent)}

body[class*="palette-"] .site-header::after{content:var(--festival-symbols);position:absolute;right:24px;bottom:5px;pointer-events:none;font-size:10px;letter-spacing:.25em;color:var(--theme-accent);opacity:.5}


/* Mobile: the header becomes a genuine three-part commerce header:
   menu | brand | actions, then search. Nothing is squeezed off-screen. */
.mobile-header-actions{display:none!important}

.mobile-search-row{display:none!important}

@media(max-width:900px){
  body{padding-bottom:0!important}
  .site-header .header-inner{width:100%!important;max-width:none!important;min-height:66px!important;padding:10px 14px!important;display:grid!important;grid-template-columns:44px minmax(0,1fr) auto!important;grid-template-rows:46px!important;column-gap:10px!important;row-gap:0!important}
  .site-header .mobile-menu-toggle{grid-column:1!important;grid-row:1!important;display:flex!important;width:42px!important;height:42px!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:5px!important;border:1px solid currentColor!important;border-radius:50%!important;background:transparent!important;color:inherit!important;padding:10px!important;cursor:pointer!important}
  .site-header .mobile-menu-toggle span{display:block!important;width:100%!important;height:2px!important;background:currentColor!important;border-radius:2px!important}
  .site-header .logo{grid-column:2!important;grid-row:1!important;justify-self:start!important;max-width:100%!important;font-size:clamp(1.3rem,6vw,1.8rem)!important}
  .site-header .main-nav,.site-header .header-actions{display:none!important}
  .mobile-header-actions{grid-column:3!important;grid-row:1!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;min-width:0!important}
  .mobile-header-actions a,.mobile-header-actions button{position:relative!important;width:42px!important;height:42px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid currentColor!important;border-radius:50%!important;background:transparent!important;color:inherit!important;text-decoration:none!important;font-size:19px!important;line-height:1!important;padding:0!important}
  .mobile-header-actions span{position:absolute!important;right:-2px!important;top:-3px!important;min-width:16px!important;height:16px!important;padding:0 4px!important;border-radius:999px!important;background:var(--theme-accent,#b8935a)!important;color:#111!important;font:700 9px/16px system-ui!important;text-align:center!important}
  .mobile-search-row{display:block!important;width:100%!important;padding:10px 14px 12px!important;background:inherit!important;border-top:1px solid color-mix(in srgb,currentColor 7%,transparent)!important;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent)!important}
  .mobile-search-row form{display:flex!important;gap:8px!important;width:100%!important;margin:0!important}
  .mobile-search-row input{flex:1 1 auto!important;width:auto!important;min-width:0!important;height:48px!important;border:1px solid color-mix(in srgb,currentColor 18%,transparent)!important;border-radius:14px!important;background:color-mix(in srgb,currentColor 6%,transparent)!important;color:inherit!important;padding:0 15px!important;font-size:15px!important;outline:none!important}
  .mobile-search-row button{flex:0 0 52px!important;width:52px!important;height:48px!important;border:1px solid var(--theme-accent,#b8935a)!important;border-radius:14px!important;background:var(--theme-accent,#b8935a)!important;color:#111!important;font-size:21px!important;cursor:pointer!important}
  .mobile-menu-backdrop{z-index:900!important}
  .mobile-menu-drawer{z-index:901!important}
  .premium-hero .hero-track{width:100%!important;max-width:none!important}
  .premium-hero .hero-slide{width:100%!important;min-width:100%!important;flex:0 0 100%!important}
  .premium-hero .hero-content{width:100%!important;max-width:none!important;padding:54px 18px 88px!important}
  .section-heading,.product-grid,.lifestyle-showcase .container,.instagram-showcase .container{width:calc(100% - 28px)!important;max-width:none!important}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .tag-card,.product-card{width:100%!important;min-width:0!important}
  .tag-card .tag-image{width:100%!important;aspect-ratio:1/1.05!important}
  .mobile-store-nav{position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:850!important;width:100%!important;max-width:none!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;height:64px!important;padding:0 0 env(safe-area-inset-bottom)!important;background:color-mix(in srgb,var(--ink,#111) 94%,transparent)!important;border-top:1px solid rgba(255,255,255,.13)!important;backdrop-filter:blur(18px)!important}
  body[data-theme-mobile-two-col="0"] .product-grid{grid-template-columns:1fr!important}
  body[data-theme-mobile-two-col="1"] .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body[data-theme-mobile-two-col="1"] .product-grid>*{min-width:0!important}
  body[data-theme-patterns="0"] .site-header::after,body[data-theme-patterns="0"] .premium-hero::after{display:none!important}
  body[data-theme-reduced-motion="1"] *,body[data-theme-reduced-motion="1"] *::before,body[data-theme-reduced-motion="1"] *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

@media(max-width:480px){
  .site-header .header-inner{grid-template-columns:40px minmax(0,1fr) auto!important;padding-inline:12px!important}
  .site-header .mobile-menu-toggle,.mobile-header-actions a,.mobile-header-actions button{width:40px!important;height:40px!important}
  .mobile-header-actions{gap:5px!important}
  .mobile-search-row{padding-inline:12px!important}
  .mobile-search-row button{flex-basis:50px!important;width:50px!important}
  .section-heading,.product-grid,.lifestyle-showcase .container,.instagram-showcase .container{width:calc(100% - 24px)!important}
  .product-grid{gap:8px!important}
}

@media(max-width:360px){
  .mobile-header-actions a,.mobile-header-actions button{width:36px!important;height:36px!important;font-size:17px!important}
  .site-header .mobile-menu-toggle{width:38px!important;height:38px!important}
  .site-header .logo{font-size:1.2rem!important}
  .product-grid{grid-template-columns:1fr!important}
}


/* Sticky mobile nav is configurable from Theme Editor. */
body[data-theme-sticky-mobile-nav="0"] .mobile-store-nav{display:none!important}

body[data-theme-sticky-mobile-nav="1"]{padding-bottom:64px!important}

@media(min-width:901px){body .mobile-store-nav{display:none!important}}


/* Theme-editor density */
body[data-theme-density="compact"] .section-heading{margin-top:28px!important}

body[data-theme-density="airy"] .section-heading{margin-top:70px!important}


/* Accessibility: never rely on colour alone for active theme/menu state. */
.mobile-menu-toggle:focus-visible,.mobile-header-actions a:focus-visible,.mobile-header-actions button:focus-visible,.mobile-search-row input:focus-visible,.mobile-search-row button:focus-visible{outline:2px solid var(--theme-accent,#b8935a)!important;outline-offset:3px!important}

/* Editor-selected header and pattern variants affect the real storefront. */
body[data-theme-header-style="minimal"] .site-header .main-nav{border-top:0!important}

body[data-theme-header-style="minimal"] .site-header .header-inner{grid-template-rows:64px 0!important;min-height:64px!important;padding-top:0!important}

body[data-theme-header-style="minimal"] .site-header .main-nav{display:none!important}

body[data-theme-header-style="classic"] .site-header .header-inner{grid-template-rows:58px 44px!important}

body[data-theme-header-style="classic"] .site-header .main-nav{border-top:2px solid color-mix(in srgb,var(--theme-accent) 35%,transparent)!important}

body[data-theme-pattern-style="none"]::before{display:none!important}

body[data-theme-pattern-style="grid"]::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(color-mix(in srgb,var(--theme-accent) 7%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--theme-accent) 7%,transparent) 1px,transparent 1px);background-size:36px 36px;opacity:.45}

body[data-theme-pattern-style="rings"]::before{content:"";position:fixed;inset:-20%;z-index:-1;pointer-events:none;background:radial-gradient(circle at 18% 22%,transparent 0 70px,color-mix(in srgb,var(--theme-accent) 10%,transparent) 71px 72px,transparent 73px 145px,color-mix(in srgb,var(--theme-accent) 7%,transparent) 146px 147px,transparent 148px),radial-gradient(circle at 84% 72%,transparent 0 90px,color-mix(in srgb,var(--theme-accent) 8%,transparent) 91px 92px,transparent 93px 180px);opacity:.5}

body[data-theme-pattern-style="sparkles"]::before{content:"✦     ·     ✦     ·     ✦";position:fixed;inset:0;z-index:-1;pointer-events:none;font-size:clamp(24px,4vw,54px);letter-spacing:1.2em;color:var(--theme-accent);opacity:.07;display:grid;place-items:center}


/* ============================================================
   V60 — HEADER/OVERFLOW HARDENING
   The previous implementation placed .mobile-header-actions outside
   .header-inner while styling it as a grid child. That made it escape
   the header grid and caused the exact overlap/stacking shown in the
   screenshots. V60 owns the final responsive header contract.
   ============================================================ */

/* Never allow decorative/header layers to create a second horizontal canvas. */
html,body{overflow-x:hidden!important;overscroll-behavior-x:none!important}

.site-header,.site-header *{box-sizing:border-box!important}

.site-header{width:100%!important;max-width:100%!important;overflow:visible!important}

.site-header .header-inner{width:min(100% - 32px,1440px)!important;max-width:1440px!important;margin:0 auto!important;padding:14px 0 0!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;column-gap:24px!important;row-gap:0!important;align-items:center!important}

.site-header .mobile-menu-toggle{display:none!important}

.site-header .mobile-header-actions{display:none!important}

.site-header .logo{grid-column:1;grid-row:1;min-width:0!important;max-width:min(34vw,280px)!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;justify-self:start!important}

.site-header .header-actions{grid-column:2;grid-row:1;min-width:0!important;max-width:min(72vw,900px)!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;flex-wrap:wrap!important;row-gap:6px!important}

.site-header .header-actions>*{min-width:0!important;flex:0 0 auto!important}

.site-header .header-actions .search-wrap{width:clamp(170px,18vw,260px)!important;min-width:0!important}

.site-header .header-actions .search-input{width:100%!important;min-width:0!important}

.site-header .header-actions .market-selector{max-width:125px!important}

.site-header .header-actions .header-luxe-cta{white-space:nowrap!important}

.site-header .main-nav{grid-column:1/-1;grid-row:2;min-width:0!important;width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:clamp(10px,1.5vw,24px)!important;padding:10px 0 11px!important;border-top:1px solid color-mix(in srgb,currentColor 10%,transparent)!important;overflow-x:auto!important;overflow-y:visible!important;scrollbar-width:none!important;white-space:nowrap!important}

.site-header .main-nav::-webkit-scrollbar{display:none!important}

.site-header .main-nav>a,.site-header .main-nav .mega-menu-item>a{flex:0 0 auto!important;white-space:nowrap!important}

.mega-menu-item{position:relative!important;min-width:0!important}

.mega-menu-dropdown{max-width:min(92vw,360px)!important;z-index:1200!important}


/* Tablet / narrow desktop: preserve a real desktop header, but don't squeeze controls. */
@media(min-width:901px) and (max-width:1180px){
  .site-header .header-inner{width:calc(100% - 24px)!important;padding-top:10px!important;grid-template-columns:minmax(150px,.8fr) minmax(0,1.8fr)!important;column-gap:12px!important}
  .site-header .logo{max-width:230px!important}
  .site-header .header-actions{max-width:100%!important;gap:5px!important}
  .site-header .header-actions .search-wrap{width:180px!important}
  .site-header .header-actions .header-luxe-cta,.site-header .header-actions>a[href="/track"]{display:none!important}
  .site-header .main-nav{justify-content:flex-start!important;gap:15px!important;overflow-x:auto!important}
}


/* Mobile: one deterministic row: hamburger | logo | wishlist/cart. Search is its own row. */
@media(max-width:900px){
  .site-header{position:relative!important;z-index:1000!important}
  .site-header .header-inner{width:100%!important;max-width:none!important;min-height:68px!important;margin:0!important;padding:10px 14px!important;display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;grid-template-rows:46px!important;column-gap:10px!important;row-gap:0!important;align-items:center!important}
  .site-header .mobile-menu-toggle{grid-column:1!important;grid-row:1!important;display:flex!important;width:42px!important;height:42px!important;min-width:42px!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:5px!important;border:1px solid currentColor!important;border-radius:50%!important;background:transparent!important;color:inherit!important;padding:10px!important;margin:0!important;cursor:pointer!important}
  .site-header .mobile-menu-toggle span{display:block!important;width:100%!important;height:2px!important;flex:0 0 2px!important;background:currentColor!important;border-radius:2px!important}
  .site-header .logo{grid-column:2!important;grid-row:1!important;max-width:100%!important;min-width:0!important;justify-self:start!important;font-size:clamp(1.25rem,6vw,1.75rem)!important;line-height:1!important}
  .site-header .main-nav,.site-header .header-actions{display:none!important}
  .site-header .mobile-header-actions{grid-column:3!important;grid-row:1!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;min-width:0!important;max-width:100%!important;flex-wrap:nowrap!important}
  .site-header .mobile-header-actions a,.site-header .mobile-header-actions button{position:relative!important;width:42px!important;height:42px!important;min-width:42px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid currentColor!important;border-radius:50%!important;background:transparent!important;color:inherit!important;text-decoration:none!important;font-size:19px!important;line-height:1!important;padding:0!important;margin:0!important;cursor:pointer!important}
  .site-header .mobile-header-actions span{position:absolute!important;right:-2px!important;top:-3px!important;min-width:16px!important;height:16px!important;padding:0 4px!important;border-radius:999px!important;background:var(--theme-accent,#b8935a)!important;color:#111!important;font:700 9px/16px system-ui!important;text-align:center!important}
  .mobile-search-row{display:block!important;width:100%!important;max-width:100%!important;padding:10px 14px 12px!important;margin:0!important;background:inherit!important;border-top:1px solid color-mix(in srgb,currentColor 7%,transparent)!important;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent)!important}
  .mobile-search-row form{display:flex!important;width:100%!important;max-width:100%!important;margin:0!important;gap:8px!important}
  .mobile-search-row input{flex:1 1 auto!important;width:0!important;min-width:0!important;max-width:none!important;height:48px!important}
  .mobile-search-row button{flex:0 0 52px!important;width:52px!important;min-width:52px!important;height:48px!important}
  .mobile-menu-backdrop{display:block!important;position:fixed!important;inset:0!important;z-index:1900!important;opacity:0!important;visibility:hidden!important}
  .mobile-menu-backdrop.open{opacity:1!important;visibility:visible!important}
  .mobile-menu-drawer{display:flex!important;position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:min(88vw,390px)!important;max-width:100vw!important;z-index:1901!important;transform:translateX(-102%)!important;overflow:hidden!important}
  .mobile-menu-drawer.open{transform:translateX(0)!important}
  .premium-hero,.premium-hero .hero-track,.premium-hero .hero-slide{width:100%!important;max-width:100%!important;min-width:100%!important}
  .premium-hero .hero-content{width:100%!important;max-width:none!important;margin:0!important;padding:54px 18px 88px!important}
  .section-heading,.product-grid,.lifestyle-showcase .container,.instagram-showcase .container{width:calc(100% - 28px)!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .product-grid>*{min-width:0!important;width:100%!important;max-width:100%!important}
  .product-card img,.tag-card img{width:100%!important;max-width:100%!important;height:auto!important}
  body[data-theme-mobile-two-col="0"] .product-grid{grid-template-columns:1fr!important}
  body[data-theme-mobile-two-col="1"] .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .mobile-store-nav{position:fixed!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;max-width:none!important;z-index:1800!important;grid-template-columns:repeat(5,minmax(0,1fr))!important}
  body[data-theme-sticky-mobile-nav="1"]{padding-bottom:calc(64px + env(safe-area-inset-bottom))!important}
}


@media(max-width:480px){
  .site-header .header-inner{padding-inline:12px!important;grid-template-columns:40px minmax(0,1fr) auto!important;column-gap:8px!important}
  .site-header .mobile-menu-toggle{width:40px!important;height:40px!important;min-width:40px!important}
  .site-header .mobile-header-actions{gap:5px!important}
  .site-header .mobile-header-actions a,.site-header .mobile-header-actions button{width:40px!important;height:40px!important;min-width:40px!important}
  .mobile-search-row{padding-inline:12px!important}
  .mobile-search-row button{flex-basis:50px!important;width:50px!important;min-width:50px!important}
  .section-heading,.product-grid,.lifestyle-showcase .container,.instagram-showcase .container{width:calc(100% - 24px)!important}
  .product-grid{gap:8px!important}
}

@media(max-width:360px){
  .site-header .header-inner{grid-template-columns:38px minmax(0,1fr) auto!important;column-gap:6px!important}
  .site-header .mobile-menu-toggle{width:38px!important;height:38px!important;min-width:38px!important;padding:9px!important}
  .site-header .mobile-header-actions{gap:4px!important}
  .site-header .mobile-header-actions a,.site-header .mobile-header-actions button{width:36px!important;height:36px!important;min-width:36px!important;font-size:16px!important}
  .site-header .logo{font-size:1.15rem!important;letter-spacing:.08em!important}
  .product-grid{grid-template-columns:1fr!important}
}


/* Defensive: hidden mobile-only controls must never consume layout space on desktop. */
@media(min-width:901px){
  .mobile-header-actions,.mobile-search-row,.mobile-menu-drawer,.mobile-menu-backdrop,.mobile-store-nav{display:none!important}
}


/* ============================================================
   V61 — MOBILE MENU VISIBILITY / READABILITY HOTFIX
   The drawer must be an opaque, isolated surface. It must never
   expose page text through it or allow menu content to paint over
   the header/search/hero as if it were normal document flow.
   ============================================================ */
@media(max-width:900px){
  html.menu-open,html.menu-open body{overflow:hidden!important}
  .mobile-menu-backdrop{
    position:fixed!important;
    inset:0!important;
    display:block!important;
    background:rgba(0,0,0,.58)!important;
    backdrop-filter:blur(4px)!important;
    -webkit-backdrop-filter:blur(4px)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .22s ease,visibility .22s ease!important;
    z-index:2147483000!important;
  }
  .mobile-menu-backdrop.open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .mobile-menu-drawer{
    position:fixed!important;
    inset:0 auto 0 0!important;
    width:min(88vw,390px)!important;
    max-width:calc(100vw - 20px)!important;
    height:100dvh!important;
    min-height:100vh!important;
    display:flex!important;
    flex-direction:column!important;
    background:#f7f5ef!important;
    background-color:#f7f5ef!important;
    color:#171614!important;
    opacity:1!important;
    visibility:visible!important;
    isolation:isolate!important;
    box-shadow:18px 0 60px rgba(0,0,0,.34)!important;
    border-right:1px solid rgba(0,0,0,.12)!important;
    transform:translate3d(-105%,0,0)!important;
    transition:transform .28s cubic-bezier(.2,.8,.2,1)!important;
    overflow:hidden!important;
    z-index:2147483001!important;
    pointer-events:none!important;
  }
  .mobile-menu-drawer.open{
    transform:translate3d(0,0,0)!important;
    pointer-events:auto!important;
  }
  .mobile-menu-head{
    flex:0 0 70px!important;
    min-height:70px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:0 18px!important;
    background:#f7f5ef!important;
    color:#171614!important;
    border-bottom:1px solid rgba(0,0,0,.12)!important;
  }
  .mobile-menu-head strong{
    display:block!important;
    max-width:calc(100% - 54px)!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    color:#171614!important;
    font:700 21px/1.1 Georgia,serif!important;
    letter-spacing:.04em!important;
  }
  .mobile-menu-head button{
    flex:0 0 40px!important;
    width:40px!important;
    height:40px!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    border:1px solid rgba(0,0,0,.18)!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#171614!important;
    font:400 27px/1 system-ui!important;
    cursor:pointer!important;
  }
  .mobile-menu-body{
    flex:1 1 auto!important;
    min-height:0!important;
    width:100%!important;
    padding:10px 18px calc(28px + env(safe-area-inset-bottom))!important;
    background:#f7f5ef!important;
    color:#171614!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .mobile-menu-body a{color:#171614!important}
  .mobile-menu-feature{
    min-height:50px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:14px 0!important;
    border-bottom:1px solid rgba(0,0,0,.10)!important;
    text-decoration:none!important;
    font:650 15px/1.3 system-ui,sans-serif!important;
  }
  .mobile-menu-label{
    margin:22px 0 5px!important;
    color:#8b6b2f!important;
    font:700 10px/1.2 ui-monospace,SFMono-Regular,monospace!important;
    letter-spacing:.16em!important;
  }
  .mobile-menu-body>details{
    width:100%!important;
    margin:0!important;
    border-bottom:1px solid rgba(0,0,0,.10)!important;
  }
  .mobile-menu-body summary{
    min-height:52px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    padding:15px 0!important;
    color:#171614!important;
    background:transparent!important;
    font:650 16px/1.2 system-ui,sans-serif!important;
    cursor:pointer!important;
    list-style:none!important;
  }
  .mobile-menu-body summary::-webkit-details-marker{display:none!important}
  .mobile-menu-body summary span{font-size:20px!important;line-height:1!important;color:#8b6b2f!important}
  .mobile-menu-sub{
    display:grid!important;
    gap:0!important;
    padding:0 0 9px 12px!important;
  }
  .mobile-menu-sub a{
    display:block!important;
    padding:10px 0!important;
    text-decoration:none!important;
    font:400 14px/1.35 system-ui,sans-serif!important;
    color:#5e5a53!important;
  }
  .mobile-menu-body>a:not(.mobile-menu-feature){
    display:block!important;
    padding:12px 0!important;
    border-bottom:1px solid rgba(0,0,0,.08)!important;
    text-decoration:none!important;
    font:550 15px/1.3 system-ui,sans-serif!important;
  }
}


@media(max-width:390px){
  .mobile-menu-drawer{width:calc(100vw - 16px)!important}
  .mobile-menu-body{padding-inline:16px!important}
  .mobile-menu-head{padding-inline:16px!important}
}


/* ============================================================
   V61.1 — CUSTOMER ACCOUNT SYSTEM
   Responsive account/auth surfaces and mobile navigation.
   ============================================================ */
.header-account-link{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:38px!important;padding:0 11px!important;border:1px solid color-mix(in srgb,currentColor 18%,transparent)!important;
  border-radius:999px!important;text-decoration:none!important;white-space:nowrap!important;
  font:600 12px/1 system-ui,sans-serif!important;
}

.mobile-menu-account{font-weight:700!important;background:color-mix(in srgb,var(--theme-editor-accent,#b8935a) 10%,transparent)!important;border-radius:10px!important;padding-inline:12px!important}

.mobile-account-nav{font-weight:600!important}

.mobile-account-nav strong{font-size:19px!important;line-height:1!important}


.account-page,.account-auth-page{padding-top:clamp(34px,5vw,72px);padding-bottom:80px}

.account-hero{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent)}

.account-hero h1,.account-auth-shell h1{margin:6px 0 10px;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.6rem);line-height:1.02}

.account-hero p,.account-auth-lead{max-width:680px;color:var(--slate);font-size:1rem;line-height:1.65;margin:0}

.account-logout,.account-back-link{color:inherit;text-decoration:none;border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:999px;padding:10px 15px;font-size:.82rem}

.account-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px}

.account-grid>a{display:flex;flex-direction:column;gap:8px;min-width:0;min-height:150px;padding:20px;border:1px solid color-mix(in srgb,currentColor 13%,transparent);border-radius:var(--theme-editor-radius,14px);background:color-mix(in srgb,currentColor 3%,transparent);text-decoration:none;color:inherit;transition:transform .18s ease,border-color .18s ease,background .18s ease}

.account-grid>a:hover{transform:translateY(-2px);border-color:var(--theme-editor-accent,#b8935a);background:color-mix(in srgb,var(--theme-editor-accent,#b8935a) 6%,transparent)}

.account-grid>a span{font-size:22px;color:var(--theme-editor-accent,#b8935a)}

.account-grid>a strong{font:700 15px/1.2 system-ui,sans-serif}

.account-grid>a small{color:var(--slate);font:400 12px/1.45 system-ui,sans-serif}

.account-auth-card,.account-complete-card,.account-profile-card{margin-top:22px;padding:clamp(20px,4vw,34px);border:1px solid color-mix(in srgb,currentColor 13%,transparent);border-radius:var(--theme-editor-radius,14px);background:color-mix(in srgb,currentColor 4%,transparent)}

.account-auth-card{max-width:620px;text-align:center;margin-inline:auto}

.account-auth-icon{font-size:38px;color:var(--theme-editor-accent,#b8935a);margin-bottom:6px}

.account-auth-card h2,.account-complete-card h2,.account-profile-card h2{margin:0 0 8px;font-family:Georgia,serif;font-size:1.7rem}

.account-auth-card p,.account-auth-card small,.account-complete-card p{color:var(--slate);line-height:1.55}

.account-auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0 12px}

.account-primary-btn,.account-secondary-btn{min-height:46px;padding:12px 18px;border-radius:10px;border:1px solid var(--theme-editor-accent,#b8935a);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font:700 14px/1 system-ui,sans-serif;cursor:pointer}

.account-primary-btn{background:var(--theme-editor-accent,#b8935a);color:#111}

.account-secondary-btn{background:transparent;color:inherit}

.account-alert{margin:14px 0;padding:12px 14px;border-radius:10px;font-size:.88rem}

.account-alert.success{background:rgba(30,120,70,.10)}
 .account-alert.error{background:rgba(170,40,40,.10)}

.account-complete-card{display:grid;grid-template-columns:1fr 1.1fr;gap:30px;align-items:start}

.account-profile-form{display:grid;gap:14px;margin-top:10px}

.account-profile-form label{display:grid;gap:7px;font:600 12px/1.2 system-ui,sans-serif}

.account-profile-form input{width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:10px;background:transparent;color:inherit;font:400 14px/1.2 system-ui,sans-serif}

.account-profile-form input:disabled{opacity:.6}

.account-profile-card{margin-top:28px;display:grid;grid-template-columns:.7fr 1.3fr;gap:30px}

.account-auth-shell{width:min(100%,680px);margin:0 auto;padding:clamp(26px,5vw,54px);border:1px solid color-mix(in srgb,currentColor 14%,transparent);border-radius:18px;background:color-mix(in srgb,currentColor 4%,transparent)}

.account-otp-box{margin-top:28px}

.account-otp-box label{display:block;margin-bottom:8px;font:700 13px/1.2 system-ui,sans-serif}

.account-otp-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}

.account-otp-row input{min-height:48px;padding:10px 14px;border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:11px;background:transparent;color:inherit;font-size:16px;box-sizing:border-box}

.account-otp-row .account-primary-btn{min-width:150px}

.account-demo-note,.account-text-btn{font-size:.78rem;color:var(--slate);margin-top:10px}

.account-text-btn{border:0;background:none;padding:0;text-decoration:underline;cursor:pointer;color:inherit}

.account-auth-error{min-height:22px;color:#a22;margin:14px 0}

.account-back-link{display:inline-block;margin-top:18px}


@media(max-width:900px){
  .header-account-link{display:none!important}
  .account-page,.account-auth-page{padding-top:28px;padding-bottom:92px}
  .account-hero{align-items:flex-start;flex-direction:column;gap:14px}
  .account-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
  .account-grid>a{min-height:128px;padding:15px}
  .account-complete-card,.account-profile-card{grid-template-columns:1fr;gap:12px}
}

@media(max-width:520px){
  .account-auth-actions{grid-template-columns:1fr}
  .account-otp-row{grid-template-columns:1fr}
  .account-otp-row .account-primary-btn{width:100%}
  .account-auth-shell{padding:22px 18px}
}

@media(max-width:360px){
  .account-grid{grid-template-columns:1fr!important}
}

/* ---- from storefront-v65.css ---- */
/* Comfortrek v63 — premium customer account UI.  Scoped to avoid legacy storefront collisions. */
#comfortrek-account{--cr-ink:#141414;--cr-paper:#f7f5ef;--cr-muted:#6c6a64;--cr-gold:var(--theme-editor-accent,#c99b36);--cr-line:rgba(20,20,20,.12);--cr-dark:#111214;max-width:1480px;margin:0 auto;padding:clamp(34px,5vw,72px) clamp(16px,3vw,36px) 120px;box-sizing:border-box;color:var(--cr-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}

#comfortrek-account *{box-sizing:border-box}
#comfortrek-account a{color:inherit}
#comfortrek-account h1,#comfortrek-account h2,#comfortrek-account p{margin-top:0}
.cr-kicker{display:block;color:var(--cr-muted);font:700 10px/1.2 ui-monospace,SFMono-Regular,monospace;letter-spacing:.22em}
.cr-btn{min-height:50px;padding:14px 20px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:14px;text-decoration:none!important;border:1px solid transparent;font:800 13px/1 system-ui,sans-serif;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.cr-btn:hover{transform:translateY(-2px)}
.cr-btn-primary{background:var(--cr-gold);color:#121212!important;border-color:var(--cr-gold);box-shadow:0 12px 28px color-mix(in srgb,var(--cr-gold) 22%,transparent)}
.cr-btn-ghost{background:transparent;color:inherit!important;border-color:rgba(255,255,255,.26)}

/* Guest */
.cr-guest-shell{min-height:min(690px,calc(100svh - 160px));border-radius:30px;overflow:hidden;background:radial-gradient(circle at 78% 28%,rgba(207,164,67,.20),transparent 26%),linear-gradient(125deg,#101113,#17191b 55%,#0d0e10);color:#f8f5ed;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;padding:clamp(34px,6vw,86px);position:relative}
.cr-guest-shell:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.16),transparent 65%)}
.cr-guest-copy{position:relative;z-index:2;max-width:660px}
.cr-guest-copy .cr-kicker{color:#d6b45f}
.cr-guest-copy h1{font:500 clamp(50px,7vw,94px)/.91 Georgia,serif;letter-spacing:-.055em;margin:18px 0 28px}
.cr-guest-copy h1 em{font-style:italic;color:#d7ad4b}
.cr-guest-copy p{max-width:590px;color:#c8c5bd;font-size:17px;line-height:1.65;margin-bottom:32px}
.cr-guest-actions{display:flex;gap:11px;flex-wrap:wrap}
.cr-trust-row{display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;color:#a9a69e;font-size:11px;letter-spacing:.03em}
.cr-guest-visual{height:100%;min-height:470px;position:relative;display:grid;place-items:center}
.cr-guest-ring{position:absolute;border:1px solid rgba(214,180,95,.25);border-radius:50%;aspect-ratio:1}
.cr-ring-a{width:min(440px,75vw)}
.cr-ring-b{width:min(620px,105vw);border-color:rgba(255,255,255,.09)}
.cr-guest-card{width:260px;height:330px;padding:25px;position:relative;z-index:2;border:1px solid rgba(255,255,255,.18);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.035));backdrop-filter:blur(12px);box-shadow:0 40px 90px rgba(0,0,0,.42);transform:rotate(5deg);display:flex;flex-direction:column}
.cr-guest-card-kicker{font:700 9px ui-monospace,monospace;letter-spacing:.17em;color:#d8b75f}
.cr-guest-card strong{font:400 190px/.8 Georgia,serif;color:#d8b75f;margin-top:auto}
.cr-guest-card small{font:600 12px/1.4 system-ui;color:#ddd9d0;margin-top:auto}
.cr-floating-tag{position:absolute;right:0;bottom:12%;padding:12px 15px;border-left:2px solid var(--cr-gold);font:700 9px/1.45 ui-monospace,monospace;letter-spacing:.15em;color:#aaa79e}
.cr-floating-tag b{color:#fff}

/* Dashboard */
.cr-account-shell{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:720px;border:1px solid var(--cr-line);border-radius:28px;background:rgba(255,255,255,.28);box-shadow:0 25px 80px rgba(15,15,15,.07);overflow:hidden}
.cr-account-sidebar{padding:28px 18px;display:flex;flex-direction:column;border-right:1px solid var(--cr-line);background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(239,235,226,.55))}
.cr-side-brand{display:flex;gap:10px;align-items:center;padding:4px 7px 24px}
.cr-side-mark{width:40px;height:40px;border-radius:12px;background:var(--cr-dark);color:var(--cr-gold);display:grid;place-items:center;font:500 18px Georgia,serif}
.cr-side-brand div{min-width:0;display:grid;gap:3px}
.cr-side-brand strong{font:800 12px/1.2 system-ui;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cr-side-brand small{font-size:10px;color:var(--cr-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cr-side-status{display:flex;gap:9px;padding:12px 10px;margin-bottom:20px;border:1px solid var(--cr-line);border-radius:13px;background:rgba(255,255,255,.45)}
.cr-side-status>span{width:7px;height:7px;margin-top:4px;border-radius:50%;background:#2e9b67;box-shadow:0 0 0 4px rgba(46,155,103,.1)}
.cr-side-status div{display:grid;gap:3px}
.cr-side-status b{font-size:10px}
.cr-side-status small{font-size:9px;color:var(--cr-muted)}
.cr-account-sidebar nav{display:grid;gap:4px}
.cr-account-sidebar nav a,.cr-side-logout{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border-radius:10px;text-decoration:none;font:650 12px/1 system-ui;color:#65635d!important}
.cr-account-sidebar nav a span,.cr-side-logout span{width:18px;text-align:center;font-size:16px}
.cr-account-sidebar nav a.active{background:var(--cr-dark);color:#f7f4ed!important;box-shadow:0 10px 22px rgba(0,0,0,.12)}
.cr-account-sidebar nav a:hover{background:rgba(0,0,0,.05);color:var(--cr-ink)!important}
.cr-side-logout{margin-top:auto;border-top:1px solid var(--cr-line);border-radius:0;padding:18px 12px 2px;color:#7a7770!important}
.cr-account-main{min-width:0;padding:clamp(28px,4vw,54px)}
.cr-dashboard-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;padding-bottom:30px;border-bottom:1px solid var(--cr-line)}
.cr-dashboard-head h1{font:500 clamp(42px,5vw,67px)/.98 Georgia,serif;letter-spacing:-.045em;margin:11px 0 12px}
.cr-dashboard-head p{max-width:650px;color:var(--cr-muted);font-size:14px;line-height:1.65;margin-bottom:0}
.cr-member-badge{min-width:230px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--cr-line);border-radius:16px;background:rgba(255,255,255,.5)}
.cr-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:grid;place-items:center;background:var(--cr-dark);color:var(--cr-gold);font:500 17px Georgia,serif}
.cr-member-badge div{display:grid;gap:3px;min-width:0}
.cr-member-badge b{font:800 11px system-ui}
.cr-member-badge small{font-size:10px;color:var(--cr-muted)}
.cr-member-dot{margin-left:auto;color:#2e9b67;font-size:9px}
.cr-alert{display:flex;align-items:center;gap:9px;padding:12px 14px;margin:18px 0;border-radius:12px;font-size:12px}
.cr-alert-success{background:rgba(46,155,103,.08);border:1px solid rgba(46,155,103,.16)}
.cr-alert-error{background:rgba(170,45,45,.08);border:1px solid rgba(170,45,45,.16)}
.cr-alert span{font-weight:900}
.cr-complete-card{display:grid;grid-template-columns:.9fr 1.35fr;gap:30px;margin:26px 0 42px;padding:26px;border:1px solid color-mix(in srgb,var(--cr-gold) 30%,var(--cr-line));border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--cr-gold) 8%,#fff),rgba(255,255,255,.4))}
.cr-step{font:700 9px ui-monospace,monospace;letter-spacing:.18em;color:#8d6a27}
.cr-complete-card h2,.cr-profile-panel h2{font:500 29px/1.05 Georgia,serif;margin:9px 0 8px}
.cr-complete-card p,.cr-profile-heading p{font-size:13px;line-height:1.6;color:var(--cr-muted);margin-bottom:0}
.cr-complete-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}
.cr-form label,.cr-complete-form label{display:grid;gap:7px;font:800 9px/1.2 system-ui;letter-spacing:.12em;text-transform:uppercase;color:#6f6c65}
.cr-form input,.cr-complete-form input{width:100%;min-height:46px;padding:11px 12px;border:1px solid rgba(20,20,20,.15);border-radius:10px;background:#fffdfa;color:#161616;font:400 13px/1.2 system-ui;letter-spacing:0;text-transform:none;outline:none}
.cr-form input:focus,.cr-complete-form input:focus{border-color:var(--cr-gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--cr-gold) 13%,transparent)}
.cr-form input:disabled{background:#e7e3da;color:#77736b}
.cr-complete-form .cr-btn{min-height:46px;white-space:nowrap}

.cr-section-heading{display:flex;align-items:flex-end;gap:20px;margin-bottom:17px}
.cr-section-heading h2{font:500 27px/1.05 Georgia,serif;margin:8px 0 0}
.cr-section-rule{height:1px;flex:1;background:var(--cr-line);margin-bottom:5px}
.cr-account-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.cr-account-card{min-width:0;min-height:190px;position:relative;padding:19px;border:1px solid var(--cr-line);border-radius:17px;background:rgba(255,255,255,.55);text-decoration:none!important;display:flex;flex-direction:column;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}
.cr-account-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--cr-gold) 60%,var(--cr-line));box-shadow:0 18px 38px rgba(20,18,14,.09);background:#fffdf8}
.cr-card-top{display:flex;align-items:center;justify-content:space-between}
.cr-card-icon{width:38px;height:38px;border-radius:11px;background:#efebe2;position:relative;color:#8f6b28}
.cr-card-icon:before{position:absolute;inset:0;display:grid;place-items:center;font:20px/1 Georgia,serif}
.cr-icon-box:before{content:'□'}
.cr-icon-heart:before{content:'♡'}
.cr-icon-compare:before{content:'⇄'}
.cr-icon-truck:before{content:'↗'}
.cr-icon-shield:before{content:'◇'}
.cr-icon-check:before{content:'✓'}
.cr-icon-spark:before{content:'✦'}
.cr-icon-user:before{content:'◎'}
.cr-card-meta{font:700 8px ui-monospace,monospace;letter-spacing:.11em;color:#9a968e;text-transform:uppercase}
.cr-card-copy{margin-top:auto;padding-right:18px}
.cr-card-copy strong{display:block;font:800 14px/1.25 system-ui}
.cr-card-copy small{display:block;max-width:205px;margin-top:6px;color:var(--cr-muted);font-size:11px;line-height:1.45}
.cr-card-arrow{position:absolute;right:18px;bottom:18px;font-size:16px;color:#aaa69d;transition:transform .2s,color .2s}
.cr-account-card:hover .cr-card-arrow{transform:translate(3px,-3px);color:var(--cr-gold)}
.cr-card-featured{background:var(--cr-dark);color:#f8f5ed;border-color:var(--cr-dark)}
.cr-card-featured .cr-card-icon{background:rgba(255,255,255,.09);color:var(--cr-gold)}
.cr-card-featured .cr-card-meta{color:#898780}
.cr-card-featured .cr-card-copy small{color:#aaa79e}
.cr-card-featured .cr-card-arrow{color:#c7c3b8}
.cr-profile-panel{display:grid;grid-template-columns:.8fr 1.6fr;gap:40px;margin-top:52px;padding:27px;border:1px solid var(--cr-line);border-radius:20px;background:rgba(238,234,225,.72)}
.cr-profile-security{display:inline-flex;align-items:center;gap:7px;margin-top:18px;padding:8px 10px;border-radius:9px;background:rgba(46,155,103,.07);color:#47745c;font-size:10px}
.cr-profile-security span{font-weight:900}
.cr-profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}
.cr-profile-form label:first-of-type{grid-column:1/-1}
.cr-profile-form .cr-btn{grid-column:1/-1;justify-self:start;min-width:150px}

@media(max-width:1100px){.cr-account-shell{grid-template-columns:190px minmax(0,1fr)}.cr-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cr-complete-card{grid-template-columns:1fr}.cr-complete-form{grid-template-columns:1fr 1fr}.cr-complete-form .cr-btn{grid-column:1/-1;justify-self:start}.cr-profile-panel{grid-template-columns:1fr}.cr-profile-form{grid-template-columns:1fr 1fr}}

@media(max-width:760px){#comfortrek-account{padding:18px 12px 96px}.cr-account-shell{display:block;border-radius:20px}.cr-account-sidebar{display:none}.cr-account-main{padding:22px 16px 30px}.cr-dashboard-head{display:block;padding-bottom:24px}.cr-dashboard-head h1{font-size:45px}.cr-dashboard-head p{font-size:13px}.cr-member-badge{margin-top:20px;width:100%}.cr-account-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cr-account-card{min-height:164px;padding:15px;border-radius:14px}.cr-card-copy strong{font-size:13px}.cr-card-copy small{font-size:10.5px}.cr-section-heading{display:block}.cr-section-rule{display:block;margin-top:13px}.cr-profile-panel{padding:20px;margin-top:38px}.cr-profile-form{grid-template-columns:1fr}.cr-profile-form label:first-of-type{grid-column:auto}.cr-profile-form .cr-btn{grid-column:auto;width:100%}.cr-complete-form{grid-template-columns:1fr}.cr-complete-form .cr-btn{grid-column:auto;width:100%}.cr-guest-shell{display:block;min-height:auto;border-radius:22px;padding:34px 23px}.cr-guest-copy h1{font-size:54px}.cr-guest-copy p{font-size:15px}.cr-trust-row{gap:12px}.cr-guest-visual{min-height:350px;margin-top:18px}.cr-guest-card{width:205px;height:265px}.cr-guest-card strong{font-size:145px}.cr-floating-tag{right:2px;bottom:4%}}

@media(max-width:380px){.cr-account-grid{grid-template-columns:1fr}.cr-account-card{min-height:145px}.cr-dashboard-head h1{font-size:40px}.cr-member-badge{min-width:0}}

@media(prefers-reduced-motion:reduce){#comfortrek-account *{transition:none!important}}


/* v63 Theme Editor tokens are also consumed by the live storefront. */
body{--theme-editor-shadow-value:0 12px 32px rgba(20,18,14,.08)}

body[style*="--theme-editor-shadow:strong"]{--theme-editor-shadow-value:0 22px 55px rgba(20,18,14,.14)}

body[style*="--theme-editor-shadow:none"]{--theme-editor-shadow-value:none}

body{font-size:var(--theme-editor-body-scale,100%)}

.theme-section{margin-bottom:var(--theme-editor-section-spacing,64px)}

.product-grid{gap:var(--theme-editor-card-gap,12px)!important}

.product-card,.tag-card{box-shadow:var(--theme-editor-shadow-value)}


/* ===== v63.1 Customer Account polish ===== */
#comfortrek-account{--cr-gold:#c49a55;--cr-gold-dark:#9f7637;--cr-cream:#f7f5ef;--cr-ink:#121315;--cr-muted:#6d6c68;--cr-line:rgba(18,19,21,.11);--cr-panel:#fbfaf7;--cr-dark:#111214}

#comfortrek-account .cr-account-shell{grid-template-columns:250px minmax(0,1fr);border-radius:30px;background:rgba(255,255,255,.58);box-shadow:0 28px 90px rgba(17,18,20,.09)}

#comfortrek-account .cr-account-sidebar{padding:26px 16px;position:sticky;top:20px;align-self:start;height:calc(100vh - 40px);max-height:760px;background:linear-gradient(180deg,#faf9f5,#f0ede5);border-right:1px solid var(--cr-line)}

#comfortrek-account .cr-side-brand{padding:3px 7px 22px}
.cr-side-mark{box-shadow:0 8px 18px rgba(0,0,0,.12)}

#comfortrek-account .cr-account-sidebar nav a{min-height:46px;border-radius:12px;font-size:12px;transition:.2s ease}

#comfortrek-account .cr-account-sidebar nav a.active{background:#121315;color:#fff!important}

#comfortrek-account .cr-account-sidebar nav a:hover:not(.active){background:#e7e3da}

#comfortrek-account .cr-account-main{padding:46px clamp(24px,4vw,58px) 80px}

#comfortrek-account .cr-dashboard-head{align-items:center;padding-bottom:28px}

#comfortrek-account .cr-head-copy{min-width:0}
.cr-head-copy p{max-width:700px}

#comfortrek-account .cr-dashboard-head h1{font-size:clamp(48px,5.4vw,76px);letter-spacing:-.055em}

#comfortrek-account .cr-member-badge{min-width:265px;padding:12px 14px;border-radius:18px;background:#fff;border-color:#dedbd3;box-shadow:0 10px 30px rgba(20,20,20,.04)}

#comfortrek-account .cr-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0 38px}

#comfortrek-account .cr-summary-item{display:flex;align-items:center;gap:12px;min-width:0;padding:16px;border:1px solid var(--cr-line);border-radius:17px;background:#fff;text-decoration:none!important;transition:.2s ease}

#comfortrek-account .cr-summary-item:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(20,20,20,.07);border-color:rgba(196,154,85,.4)}

#comfortrek-account .cr-summary-icon{width:42px;height:42px;flex:0 0 42px;border-radius:13px;display:grid;place-items:center;background:#f0ebe1;color:var(--cr-gold-dark);font:20px Georgia,serif}

#comfortrek-account .cr-summary-item div{min-width:0;display:grid;gap:2px}
.cr-summary-item small{font:800 8px/1.2 ui-monospace,monospace;letter-spacing:.13em;color:#92908a}
.cr-summary-item strong{font:800 17px/1.1 system-ui;color:#17181a}
.cr-summary-item em{font:400 9px/1.2 system-ui;color:#88857e;font-style:normal}

#comfortrek-account .cr-section-heading{margin-bottom:20px}
.cr-section-heading h2{font-size:32px}

#comfortrek-account .cr-account-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}

#comfortrek-account .cr-account-card{min-height:205px;padding:20px;border-radius:18px;background:rgba(255,255,255,.82)}

#comfortrek-account .cr-account-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(20,20,20,.09)}

#comfortrek-account .cr-card-icon{width:42px;height:42px;border-radius:13px}
.cr-card-icon:before{font-size:21px}

#comfortrek-account .cr-icon-pin:before{content:'⌖'}
.cr-icon-tag:before{content:'%'}
.cr-icon-ticket:before{content:'▱'}
.cr-icon-coin:before{content:'◉'}
.cr-icon-crown:before{content:'♛'}
.cr-icon-gift:before{content:'◇'}

#comfortrek-account .cr-card-copy strong{font-size:15px}
.cr-card-copy small{font-size:11.5px;max-width:220px}

#comfortrek-account .cr-feature-panel,#comfortrek-account .cr-mini-panel{margin-top:54px;padding:26px;border:1px solid var(--cr-line);border-radius:24px;background:rgba(255,255,255,.55)}

#comfortrek-account .cr-feature-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:20px}
.cr-feature-head h2{font:500 32px/1.05 Georgia,serif;margin:8px 0}
.cr-feature-head p{margin:0;color:var(--cr-muted);font-size:13px;line-height:1.6}
.cr-count-pill,.cr-tier-chip{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border:1px solid var(--cr-line);border-radius:999px;background:#fff;font:800 9px ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.cr-inline-link,.cr-reward-link{font:800 11px system-ui;color:var(--cr-gold-dark)!important;text-decoration:none}

#comfortrek-account .cr-address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cr-address-card{min-width:0;padding:20px;border:1px solid var(--cr-line);border-radius:18px;background:#fff}
.cr-address-top{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:13px}
.cr-address-label{font:800 9px ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:#7d7971}
.cr-default-pill{font:800 8px ui-monospace,monospace;color:#3f785d;background:#e9f3ec;border-radius:999px;padding:5px 8px}
.cr-address-card strong{font:800 14px system-ui}
.cr-address-card p{font-size:12px;line-height:1.65;color:#686760;margin:8px 0}
.cr-address-card>small{color:#8b887f;font-size:10px}
.cr-address-add{background:#f6f2e9;border-style:dashed}
.cr-address-add-title{display:flex;gap:10px;align-items:center;margin-bottom:15px}
.cr-address-add-title>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#fff;color:var(--cr-gold-dark);font-size:22px}
.cr-address-add-title div{display:grid;gap:2px}
.cr-address-add-title strong{font-size:13px}
.cr-address-add-title small{font-size:10px;color:#8a877f}
.cr-address-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cr-address-form-grid input{width:100%;min-height:42px;padding:10px;border:1px solid rgba(20,20,20,.13);border-radius:10px;background:#fff;color:#171717;outline:none;font:400 12px system-ui}
.cr-address-form-grid input:nth-child(3){grid-column:1/-1}
.cr-address-form-grid input:focus{border-color:var(--cr-gold);box-shadow:0 0 0 3px rgba(196,154,85,.12)}
.cr-check-row{display:flex!important;align-items:center!important;gap:8px!important;margin:11px 0!important;font:600 10px system-ui!important;letter-spacing:0!important;text-transform:none!important;color:#77736b!important}
.cr-check-row input{width:15px;height:15px}
.cr-address-add .cr-btn{width:100%;min-height:42px}

#comfortrek-account .cr-offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cr-offer-card{min-width:0;display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--cr-line);border-radius:17px;background:#fff}
.cr-offer-card>div:nth-child(2){min-width:0;flex:1}
.cr-offer-badge{font:800 8px ui-monospace,monospace;letter-spacing:.1em;color:#96702d}
.cr-offer-card strong{font:900 14px ui-monospace,monospace;letter-spacing:.04em}
.cr-offer-card p{margin:5px 0 0!important;font-size:10px!important;line-height:1.45!important}
.cr-save-btn{border:1px solid #d8c49e;background:#f7f0e1;border-radius:9px;padding:8px 10px;color:#7e5e29;font:800 10px system-ui;cursor:pointer}
.cr-empty-state{grid-column:1/-1;padding:20px;border:1px dashed var(--cr-line);border-radius:14px;color:#77736b;font-size:12px;background:#fff}

#comfortrek-account .cr-saved-coupon-list{display:grid;gap:9px}
.cr-saved-coupon{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--cr-line);border-radius:13px;background:#fff}
.cr-ticket{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#f1eadc;color:#946d2a;font-weight:900}
.cr-saved-coupon div{display:grid;gap:3px;flex:1}
.cr-saved-coupon strong{font:800 12px ui-monospace,monospace}
.cr-saved-coupon small{font-size:10px;color:#77736b}
.cr-coupon-status{font:800 8px ui-monospace,monospace;color:#3d7b5d}

#comfortrek-account .cr-reward-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.cr-reward-card{padding:25px;border:1px solid var(--cr-line);border-radius:22px;background:#fff;min-width:0}
.cr-reward-dark{background:#121315;color:#f6f2e8;border-color:#121315}
.cr-reward-top{display:flex;align-items:center;justify-content:space-between}
.cr-reward-dark .cr-kicker{color:#bda166}
.cr-reward-card>strong{display:block;font:500 48px/1 Georgia,serif;margin:28px 0 10px}
.cr-reward-card h3{font:500 28px/1.05 Georgia,serif;margin:28px 0 8px}
.cr-reward-card p{font-size:12px;line-height:1.6;color:#77736b}
.cr-reward-dark p{color:#aaa79e}
.cr-progress{height:7px;border-radius:999px;background:#ece8df;overflow:hidden;margin:18px 0 8px}
.cr-progress span{display:block;height:100%;background:var(--cr-gold);border-radius:999px}
.cr-reward-card>small{font-size:10px;color:#89867f}
.cr-tier-chip{background:#f5eddd;color:#876225;border-color:#ead9b7}

#comfortrek-account .cr-referral-panel{display:grid;grid-template-columns:1fr 280px;gap:25px;align-items:center;margin-top:54px;padding:28px;border:1px solid rgba(196,154,85,.28);border-radius:24px;background:linear-gradient(135deg,#f8f1e4,#fff)}
.cr-referral-panel h2{font:500 32px/1.05 Georgia,serif;margin:8px 0}
.cr-referral-panel p{font-size:13px;line-height:1.65;color:#6f6b64;margin:0;max-width:650px}
.cr-referral-code{padding:18px;border-radius:16px;background:#fff;border:1px solid var(--cr-line);text-align:center}
.cr-referral-code small{display:block;font:800 8px ui-monospace,monospace;letter-spacing:.14em;color:#99948a}
.cr-referral-code strong{display:block;font:800 24px ui-monospace,monospace;letter-spacing:.15em;margin:8px 0 12px}
.cr-referral-code a{font:800 10px system-ui;color:var(--cr-gold-dark)!important;text-decoration:none}

#comfortrek-account .cr-profile-panel{margin-top:54px;padding:28px;border-radius:24px;background:#f1eee7}
.cr-profile-heading h2{font-size:32px}
.cr-profile-form{gap:14px}
.cr-profile-form label{font-size:9px}
.cr-profile-form input{min-height:48px;border-radius:11px}

@media(max-width:1150px){#comfortrek-account .cr-account-shell{grid-template-columns:210px minmax(0,1fr)}#comfortrek-account .cr-account-grid{grid-template-columns:repeat(3,minmax(0,1fr))}#comfortrek-account .cr-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:850px){#comfortrek-account .cr-account-sidebar{display:none}#comfortrek-account .cr-account-shell{display:block;border-radius:24px}#comfortrek-account .cr-account-main{padding:24px 18px 110px}#comfortrek-account .cr-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}#comfortrek-account .cr-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#comfortrek-account .cr-address-grid,#comfortrek-account .cr-reward-grid{grid-template-columns:1fr}#comfortrek-account .cr-referral-panel{grid-template-columns:1fr}}

@media(max-width:560px){#comfortrek-account{padding:10px 8px 110px}#comfortrek-account .cr-account-main{padding:20px 12px 110px}#comfortrek-account .cr-dashboard-head h1{font-size:43px}#comfortrek-account .cr-dashboard-head p{font-size:12.5px}.cr-member-badge{min-width:0!important;width:100%}#comfortrek-account .cr-summary-strip{gap:8px;margin:18px 0 30px}#comfortrek-account .cr-summary-item{padding:12px;gap:9px}.cr-summary-icon{width:37px;height:37px;flex-basis:37px}.cr-summary-item strong{font-size:15px}.cr-summary-item em{font-size:8px}#comfortrek-account .cr-account-grid{gap:8px}#comfortrek-account .cr-account-card{min-height:158px;padding:15px;border-radius:15px}.cr-card-copy strong{font-size:13px}.cr-card-copy small{font-size:10px}.cr-card-meta{font-size:7px}#comfortrek-account .cr-feature-panel,#comfortrek-account .cr-mini-panel{padding:18px;margin-top:38px;border-radius:20px}.cr-feature-head{align-items:flex-start!important;display:block!important}.cr-feature-head h2{font-size:27px}.cr-count-pill,.cr-inline-link{margin-top:10px}.cr-address-grid,.cr-offer-grid{grid-template-columns:1fr!important}.cr-address-form-grid{grid-template-columns:1fr}.cr-address-form-grid input:nth-child(3){grid-column:auto}.cr-reward-card{padding:20px}.cr-reward-card>strong{font-size:40px}.cr-referral-panel{padding:20px!important}.cr-referral-panel h2{font-size:28px}.cr-profile-panel{padding:20px!important}.cr-profile-heading h2{font-size:28px}}


/* =========================================================
   v65 — Customer Account Experience
   Deliberately self-contained and mobile-first.  This layer
   replaces the old text-heavy presentation without touching
   the rest of the storefront.
   ========================================================= */
#comfortrek-account{--cr-gold:#c49a55;--cr-gold-2:#a87932;--cr-ink:#151618;--cr-muted:#6f706f;--cr-line:#dfe1df;--cr-surface:#f8faf9;--cr-white:#fff;--cr-dark:#111315;--cr-green:#32815f}

#comfortrek-account .cr-account-shell{display:grid;grid-template-columns:250px minmax(0,1fr);background:linear-gradient(145deg,#f9fbfa,#edf2f1);border:1px solid #d9dddc;border-radius:30px;box-shadow:0 30px 90px rgba(19,23,23,.10);overflow:hidden}

#comfortrek-account .cr-account-sidebar{background:#111315;color:#f5f2e9;border-right:0;position:sticky;top:16px;height:calc(100vh - 32px);max-height:860px;padding:22px 14px;z-index:2}

#comfortrek-account .cr-side-brand{padding:4px 8px 20px;border-bottom:1px solid rgba(255,255,255,.09)}

#comfortrek-account .cr-side-mark{width:42px;height:42px;border-radius:14px;background:#f1eee5;color:#9b7335;box-shadow:none}

#comfortrek-account .cr-side-brand strong{color:#f5f2e9;font-size:12px}
.cr-side-brand small{color:#969995}

#comfortrek-account .cr-side-status{margin:18px 4px;padding:12px;border-color:rgba(255,255,255,.10);background:rgba(255,255,255,.045)}

#comfortrek-account .cr-side-status b{color:#f4f1e8}
.cr-side-status small{color:#929692}

#comfortrek-account .cr-account-sidebar nav{gap:5px;margin-top:6px}

#comfortrek-account .cr-account-sidebar nav a{min-height:44px;color:#aeb2ae!important;border-radius:12px;font-size:12px}

#comfortrek-account .cr-account-sidebar nav a.active{background:#f1eee5;color:#111315!important;box-shadow:none}

#comfortrek-account .cr-account-sidebar nav a:hover:not(.active){background:rgba(255,255,255,.07);color:#fff!important}

#comfortrek-account .cr-side-logout{color:#aeb2ae!important;border-color:rgba(255,255,255,.09)}

#comfortrek-account .cr-account-main{padding:42px 48px 100px;min-width:0}

#comfortrek-account .cr-dashboard-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:28px;align-items:end;padding:0 0 28px;border-bottom:1px solid var(--cr-line)}

#comfortrek-account .cr-dashboard-head h1{font-size:clamp(50px,5vw,76px);margin:12px 0 10px;color:#101112}

#comfortrek-account .cr-dashboard-head p{max-width:650px;font-size:14px;line-height:1.7;color:#6f706f}

#comfortrek-account .cr-member-badge{min-width:0;width:100%;padding:15px;border:1px solid #d8dcda;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(25,30,29,.05)}

#comfortrek-account .cr-avatar{width:46px;height:46px;flex-basis:46px;background:#111315;color:#c8a05d}

#comfortrek-account .cr-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0 42px}

#comfortrek-account .cr-summary-item{min-width:0;padding:17px;border:1px solid #dfe2e0;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(18,22,21,.035);transition:.2s ease}

#comfortrek-account .cr-summary-item:hover{transform:translateY(-2px);border-color:#d2b47e;box-shadow:0 16px 34px rgba(18,22,21,.07)}

#comfortrek-account .cr-summary-icon{width:44px;height:44px;flex-basis:44px;border-radius:14px;background:#f2eee5;color:#a37837}

#comfortrek-account .cr-summary-item small{font-size:8px;color:#929692}
.cr-summary-item strong{font-size:18px}
.cr-summary-item em{font-size:9px;color:#777b78}

#comfortrek-account .cr-quick-section{margin-top:4px}

#comfortrek-account .cr-section-heading{margin-bottom:16px}
.cr-section-heading h2{font-size:34px;letter-spacing:-.03em}

#comfortrek-account .cr-account-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}

#comfortrek-account .cr-account-card{min-height:190px;padding:20px;border:1px solid #dfe2e0;border-radius:20px;background:#fff;box-shadow:0 8px 25px rgba(18,22,21,.025);transition:.22s ease}

#comfortrek-account .cr-account-card:hover{transform:translateY(-4px);border-color:#cda866;box-shadow:0 20px 40px rgba(18,22,21,.08)}

#comfortrek-account .cr-card-icon{width:44px;height:44px;border-radius:14px;background:#f4efe5;color:#9c7335}
.cr-card-meta{color:#969995}

#comfortrek-account .cr-card-copy strong{font-size:15px;line-height:1.3}
.cr-card-copy small{font-size:11px;line-height:1.55;color:#70736f}

#comfortrek-account .cr-card-arrow{color:#999d99}

#comfortrek-account .cr-card-featured{background:#111315;color:#f5f2e9;border-color:#111315}
.cr-card-featured .cr-card-icon{background:rgba(255,255,255,.08)}
.cr-card-featured .cr-card-copy small{color:#aeb1ad}

#comfortrek-account .cr-feature-panel,#comfortrek-account .cr-mini-panel{margin-top:48px;padding:28px;border:1px solid #dce0de;border-radius:24px;background:rgba(255,255,255,.72);box-shadow:0 12px 36px rgba(18,22,21,.035)}

#comfortrek-account .cr-feature-head{margin-bottom:22px}
.cr-feature-head h2{font-size:34px}
.cr-feature-head p{font-size:13px;line-height:1.6;color:#737773}

#comfortrek-account .cr-address-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}

#comfortrek-account .cr-address-card{padding:20px;border-radius:18px;background:#fff;border-color:#dfe2e0;box-shadow:0 8px 24px rgba(18,22,21,.025)}

#comfortrek-account .cr-address-add{background:#f5f1e8;border-color:#d4c29f}

#comfortrek-account .cr-address-form-grid{gap:9px}
.cr-address-form-grid input{min-height:44px;border-radius:11px;font-size:12px}

#comfortrek-account .cr-offer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}

#comfortrek-account .cr-offer-card{position:relative;min-height:132px;align-items:flex-start;padding:18px;border-radius:18px;border-color:#dedfdb;background:#fff;box-shadow:0 8px 25px rgba(18,22,21,.025)}

#comfortrek-account .cr-offer-card:after{content:"";position:absolute;right:-14px;top:50%;width:28px;height:28px;border-radius:50%;background:#f0f3f1;border-left:1px dashed #d5d8d5}

#comfortrek-account .cr-offer-badge{padding:5px 7px;border-radius:7px;background:#f4efe4;color:#8f692f}

#comfortrek-account .cr-offer-card strong{font-size:15px}
.cr-offer-card p{color:#727570!important}

#comfortrek-account .cr-save-btn{padding:9px 12px;background:#111315;color:#fff;border:0;border-radius:10px}

#comfortrek-account .cr-saved-coupon{padding:14px 16px;border-radius:15px;background:#fff;border-color:#dfe2e0}
.cr-ticket{background:#f3eee3}

#comfortrek-account .cr-reward-grid{gap:12px;margin-top:12px}
.cr-reward-card{padding:28px;border-radius:24px;min-height:235px}
.cr-reward-dark{background:#111315}
.cr-reward-card>strong{font-size:52px}
.cr-reward-card h3{font-size:31px}

#comfortrek-account .cr-referral-panel{position:relative;overflow:hidden;grid-template-columns:minmax(0,1fr) 310px;margin-top:48px;padding:30px;border-radius:25px;background:linear-gradient(135deg,#f4ead8,#fff 70%);border-color:#dcc7a1}

#comfortrek-account .cr-referral-panel:before{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(171,128,56,.18);border-radius:50%;right:160px;top:-120px}

#comfortrek-account .cr-referral-panel h2{font-size:35px}
.cr-referral-code{position:relative;z-index:1;padding:20px;border-radius:18px;box-shadow:0 15px 35px rgba(90,66,29,.10)}
.cr-referral-code strong{font-size:26px}

#comfortrek-account .cr-profile-panel{margin-top:48px;padding:30px;border-radius:25px;background:#f3f0e9;border-color:#ded9cd}
.cr-profile-heading h2{font-size:35px}

/* profile completion: keep it elegant and compact */
#comfortrek-account .cr-complete-card{margin:26px 0 42px;padding:28px;border-radius:23px;background:linear-gradient(135deg,#f5eee2,#fff);border-color:#dfcfaf}

#comfortrek-account .cr-complete-card h2{font-size:34px}

/* Account section navigation becomes a horizontal tab rail on mobile. */
@media(max-width:1100px){#comfortrek-account .cr-account-main{padding:34px 28px 100px}#comfortrek-account .cr-dashboard-head{grid-template-columns:1fr}#comfortrek-account .cr-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}#comfortrek-account .cr-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#comfortrek-account .cr-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:850px){#comfortrek-account{padding:10px 8px 100px}#comfortrek-account .cr-account-shell{display:block;border-radius:23px}#comfortrek-account .cr-account-main{padding:22px 15px 105px}#comfortrek-account .cr-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:34px}#comfortrek-account .cr-summary-item{padding:13px;border-radius:15px}.cr-summary-icon{width:39px;height:39px;flex-basis:39px}#comfortrek-account .cr-account-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}#comfortrek-account .cr-account-card{min-height:165px;padding:16px;border-radius:16px}#comfortrek-account .cr-feature-panel,#comfortrek-account .cr-mini-panel{padding:19px;border-radius:20px;margin-top:36px}#comfortrek-account .cr-address-grid,#comfortrek-account .cr-reward-grid,#comfortrek-account .cr-referral-panel{grid-template-columns:1fr}#comfortrek-account .cr-offer-grid{grid-template-columns:1fr}#comfortrek-account .cr-referral-code{margin-top:4px}#comfortrek-account .cr-profile-panel{padding:21px;border-radius:20px}.cr-profile-form{grid-template-columns:1fr}.cr-profile-form label:first-of-type{grid-column:auto}}

@media(max-width:560px){#comfortrek-account .cr-dashboard-head h1{font-size:45px}#comfortrek-account .cr-dashboard-head p{font-size:13px}#comfortrek-account .cr-summary-item{gap:8px}.cr-summary-item strong{font-size:15px}.cr-summary-item em{font-size:8px}#comfortrek-account .cr-account-grid{grid-template-columns:1fr 1fr}#comfortrek-account .cr-card-copy strong{font-size:13px}#comfortrek-account .cr-card-copy small{font-size:10px}#comfortrek-account .cr-card-icon{width:39px;height:39px}#comfortrek-account .cr-card-meta{font-size:7px}#comfortrek-account .cr-feature-head h2,#comfortrek-account .cr-section-heading h2,#comfortrek-account .cr-referral-panel h2,#comfortrek-account .cr-profile-heading h2{font-size:28px}#comfortrek-account .cr-address-form-grid{grid-template-columns:1fr}#comfortrek-account .cr-address-form-grid input:nth-child(3){grid-column:auto}#comfortrek-account .cr-complete-card{grid-template-columns:1fr;padding:20px}#comfortrek-account .cr-complete-form{grid-template-columns:1fr}#comfortrek-account .cr-complete-form .cr-btn{grid-column:auto;width:100%}}

@media(max-width:380px){#comfortrek-account .cr-account-grid{grid-template-columns:1fr}#comfortrek-account .cr-summary-strip{grid-template-columns:1fr}}

#comfortrek-account .cr-address-actions{display:flex;gap:8px;margin-top:14px}
.cr-address-actions form{margin:0}
.cr-address-actions button{border:0;background:transparent;padding:0;color:#92703a;font:800 10px system-ui;cursor:pointer}
.cr-address-actions button:hover{text-decoration:underline}

#comfortrek-account details.cr-address-add>summary{list-style:none;cursor:pointer}
.cr-address-add>summary::-webkit-details-marker{display:none}
.cr-address-add[open]>summary{margin-bottom:16px}
.cr-address-add[open] .cr-address-add-title>span:first-child{transform:rotate(45deg)}

#comfortrek-account .cr-referral-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:20px}
.cr-referral-stats span{padding:10px 11px;border:1px solid rgba(151,113,53,.18);border-radius:12px;background:rgba(255,255,255,.55);font-size:9px;color:#756f65}
.cr-referral-stats b{display:block;color:#161718;font-size:14px;margin-bottom:3px}
.cr-referral-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:4px 0 12px}
.cr-referral-copy{border:1px solid #d7c39e;background:#f5eddf;border-radius:9px;padding:9px;color:#765829;font:800 10px system-ui;cursor:pointer}
.cr-referral-share{background:#111315;color:#fff;border-color:#111315}

@media(max-width:700px){#comfortrek-account .cr-referral-stats{grid-template-columns:repeat(2,1fr)}}

/* ---- from storefront-v68.css ---- */
/* Comfortrek v68 — desktop header readability + premium theme-safe storefront chrome.
 * Loaded last so it provides a deterministic header contract over legacy styles.
 */

/* ---------- global header contract ---------- */
.site-header,
.site-header * { box-sizing:border-box; }

.site-header {
  position:sticky !important;
  top:0 !important;
  z-index:1200 !important;
  width:100% !important;
  max-width:none !important;
  overflow:visible !important;
  color:var(--festival-text,#f8f5ef) !important;
  background:
    radial-gradient(circle at 88% -30%, color-mix(in srgb,var(--festival-accent,#d6b36a) 18%,transparent), transparent 34%),
    linear-gradient(135deg, color-mix(in srgb,var(--festival-bg,#101214) 96%,#000), var(--festival-bg,#101214)) !important;
  border-bottom:1px solid color-mix(in srgb,var(--festival-accent,#d6b36a) 45%,transparent) !important;
  box-shadow:0 10px 35px rgba(0,0,0,.10);
  isolation:isolate;
}

.site-header::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.025),transparent 35%,rgba(255,255,255,.018));
  z-index:-1;
}

.site-header .header-inner {
  width:min(100% - 48px,1440px) !important;
  max-width:1440px !important;
  margin:0 auto !important;
  padding:13px 0 0 !important;
  display:grid !important;
  grid-template-columns:minmax(190px,240px) minmax(0,1fr) !important;
  grid-template-rows:58px 46px !important;
  column-gap:22px !important;
  row-gap:0 !important;
  align-items:center !important;
}

.site-header .logo {
  grid-column:1 !important;
  grid-row:1 !important;
  min-width:0 !important;
  max-width:240px !important;
  color:#f8f4ea !important;
  font-family:'Fraunces',Georgia,serif !important;
  font-size:clamp(1.55rem,2.2vw,2rem) !important;
  line-height:1 !important;
  letter-spacing:.055em !important;
  text-transform:none !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  text-shadow:0 2px 18px rgba(0,0,0,.18);
}

.site-header .logo img {
  max-height:46px !important;
  max-width:210px !important;
}

.site-header .header-actions {
  grid-column:2 !important;
  grid-row:1 !important;
  min-width:0 !important;
  max-width:none !important;
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex-wrap:nowrap !important;
  gap:7px !important;
  white-space:nowrap !important;
  font-size:12px !important;
}

.site-header .header-actions > * { flex:0 0 auto !important; min-width:0 !important; }

.site-header .search-wrap {
  width:clamp(210px,22vw,310px) !important;
  flex:1 1 280px !important;
  min-width:190px !important;
}

.site-header .search-input {
  display:block !important;
  width:100% !important;
  height:44px !important;
  padding:0 15px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:13px !important;
  background:rgba(255,255,255,.075) !important;
  color:#fff !important;
  font:500 13px/44px system-ui,-apple-system,'Segoe UI',sans-serif !important;
  box-shadow:inset 0 1px rgba(255,255,255,.06),0 8px 24px rgba(0,0,0,.08);
}

.site-header .search-input::placeholder { color:rgba(255,255,255,.62) !important; }

.site-header .search-input:hover { border-color:color-mix(in srgb,var(--festival-accent,#d6b36a) 45%,rgba(255,255,255,.18)) !important; }

.site-header .search-input:focus {
  border-color:var(--festival-accent,#d6b36a) !important;
  background:rgba(255,255,255,.105) !important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--festival-accent,#d6b36a) 16%,transparent),0 10px 28px rgba(0,0,0,.13) !important;
}

.site-header .lang-switch-wrap { position:relative !important; }

.site-header .cart-icon-btn,
.site-header .appearance-toggle,
.site-header .market-selector,
.site-header .header-account-link,
.site-header .header-actions > a[href="/track"] {
  min-height:38px !important;
  border:1px solid rgba(255,255,255,.15) !important;
  border-radius:11px !important;
  background:rgba(255,255,255,.055) !important;
  color:#f7f4ed !important;
  padding:8px 10px !important;
  text-decoration:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  transition:background .18s ease,border-color .18s ease,transform .18s ease !important;
}

.site-header .cart-icon-btn:hover,
.site-header .appearance-toggle:hover,
.site-header .market-selector:hover,
.site-header .header-account-link:hover,
.site-header .header-actions > a[href="/track"]:hover {
  background:rgba(255,255,255,.10) !important;
  border-color:color-mix(in srgb,var(--festival-accent,#d6b36a) 55%,rgba(255,255,255,.15)) !important;
  transform:translateY(-1px);
}

.site-header .market-selector { max-width:110px !important; }

.site-header .market-selector select { color:#f7f4ed !important; max-width:78px !important; }

.site-header .market-selector option { color:#111 !important; background:#fff !important; }

.site-header .header-luxe-cta {
  min-height:38px !important;
  padding:8px 12px !important;
  border:1px solid color-mix(in srgb,var(--festival-accent,#d6b36a) 65%,transparent) !important;
  border-radius:11px !important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--festival-accent,#d6b36a) 22%,transparent),rgba(255,255,255,.055)) !important;
  color:#fff8e8 !important;
  font-weight:750 !important;
}

.site-header .cart-count-badge {
  min-width:17px !important;
  height:17px !important;
  padding:0 5px !important;
  display:inline-grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:var(--festival-accent,#d6b36a) !important;
  color:#101010 !important;
  font-size:9px !important;
  line-height:17px !important;
}

.site-header .main-nav {
  grid-column:1/-1 !important;
  grid-row:2 !important;
  width:100% !important;
  min-width:0 !important;
  min-height:46px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:clamp(9px,1.35vw,21px) !important;
  padding:0 4px !important;
  border-top:1px solid rgba(255,255,255,.085) !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  scrollbar-width:none !important;
  white-space:nowrap !important;
}

.site-header .main-nav::-webkit-scrollbar { display:none; }

.site-header .main-nav > a,
.site-header .main-nav .mega-menu-item > a {
  position:relative !important;
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center !important;
  min-height:45px !important;
  padding:0 2px !important;
  color:rgba(255,255,255,.82) !important;
  opacity:1 !important;
  font:700 10px/1 system-ui,-apple-system,'Segoe UI',sans-serif !important;
  letter-spacing:.075em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
}

.site-header .main-nav > a:hover,
.site-header .main-nav .mega-menu-item > a:hover { color:#fff !important; border-bottom:0 !important; }

.site-header .main-nav > a::after,
.site-header .main-nav .mega-menu-item > a::after {
  content:"";
  position:absolute;
  left:0;right:100%;bottom:4px;
  height:2px;
  border-radius:2px;
  background:var(--festival-accent,#d6b36a);
  transition:right .2s ease;
}

.site-header .main-nav > a:hover::after,
.site-header .main-nav .mega-menu-item > a:hover::after { right:0; }

.site-header .mega-menu-dropdown {
  z-index:1500 !important;
  background:#111316 !important;
  color:#f7f4ed !important;
  border:1px solid rgba(255,255,255,.13) !important;
  border-radius:14px !important;
  box-shadow:0 22px 55px rgba(0,0,0,.30) !important;
  overflow:hidden !important;
}

.site-header .mega-menu-dropdown a { color:#eeeae2 !important; }

.site-header .mega-menu-dropdown a:hover { background:rgba(255,255,255,.07) !important; color:#fff !important; }

.site-header .search-results {
  top:50px !important;
  left:0 !important;
  right:auto !important;
  width:min(440px,42vw) !important;
  max-height:480px !important;
  border-radius:16px !important;
  background:#fff !important;
  border:1px solid rgba(15,20,24,.12) !important;
  box-shadow:0 24px 65px rgba(0,0,0,.24) !important;
  color:#111 !important;
  overflow:auto !important;
}


/* Theme-specific identity: same readable structure, different accent language. */
body.site-theme-signature{--header-accent:#d8ad58}

body.site-theme-midnight_luxe{--header-accent:#d4b77b}

body.site-theme-aurora{--header-accent:#6fe7e0}

body.site-theme-obsidian_gold{--header-accent:#e0b95d}

body.site-theme-titanium{--header-accent:#9fc5e5}

body.site-theme-royal_noir{--header-accent:#d9b36c}

body.site-theme-cyber_chrome{--header-accent:#55d9ff}

body.site-theme-emerald_noir{--header-accent:#b7d68c}

body.site-theme-desert_luxe{--header-accent:#d7aa67}

body.site-theme-pearl_luxe{--header-accent:#d0c3a4}

body.site-theme-violet_neon{--header-accent:#ff4ed8}

body.site-theme-monochrome{--header-accent:#d2d2d2}

body.site-theme-palo_alto{--header-accent:#c8a05d}

.site-header .main-nav > a::after,
.site-header .main-nav .mega-menu-item > a::after { background:var(--header-accent,var(--festival-accent,#d6b36a)) !important; }

.site-header .header-luxe-cta { border-color:color-mix(in srgb,var(--header-accent,var(--festival-accent,#d6b36a)) 65%,transparent) !important; }

.site-header .cart-count-badge { background:var(--header-accent,var(--festival-accent,#d6b36a)) !important; }


/* Light appearance keeps the premium dark header; the page content changes independently. */
body.appearance-light .site-header,
body.appearance-auto .site-header {
  color:#f8f5ef !important;
}


/* Narrow desktop/tablet: remove secondary controls before they collide. */
@media (max-width:1280px) and (min-width:901px) {
  .site-header .header-inner { width:calc(100% - 32px) !important; grid-template-columns:205px minmax(0,1fr) !important; column-gap:14px !important; }
  .site-header .header-actions { gap:5px !important; }
  .site-header .search-wrap { min-width:175px !important; }
  .site-header .header-luxe-cta,
  .site-header .header-actions > a[href="/track"] { display:none !important; }
  .site-header .main-nav { justify-content:flex-start !important; }
}

@media (max-width:1050px) and (min-width:901px) {
  .site-header .header-actions .market-selector,
  .site-header .appearance-toggle { display:none !important; }
  .site-header .search-wrap { flex-basis:240px !important; }
}


/* Mobile keeps the existing hamburger contract, but uses the same premium tokens. */
@media (max-width:900px) {
  .site-header { position:relative !important; }
  .site-header .header-inner {
    width:100% !important;
    max-width:none !important;
    min-height:68px !important;
    padding:10px 14px !important;
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) auto !important;
    grid-template-rows:46px !important;
    column-gap:10px !important;
  }
  .site-header .mobile-menu-toggle { display:flex !important; }
  .site-header .logo { grid-column:2 !important; grid-row:1 !important; max-width:100% !important; font-size:clamp(1.3rem,6vw,1.75rem) !important; }
  .site-header .header-actions,.site-header .main-nav { display:none !important; }
  .site-header .mobile-header-actions { grid-column:3 !important; grid-row:1 !important; display:flex !important; gap:7px !important; }
  .site-header .mobile-header-actions a,
  .site-header .mobile-header-actions button { border-color:rgba(255,255,255,.22) !important; background:rgba(255,255,255,.045) !important; }
}


@media (prefers-reduced-motion:reduce) {
  .site-header * { transition:none !important; animation:none !important; }
}


/* ================================================================
   COMFORTREK v68 — Premium visual cleanup
   - removes decorative line/pattern overlays that can look like a
     damaged/cracked display
   - gives Light mode a complete, readable design system
   - improves desktop/mobile hierarchy without changing behaviour
   ================================================================ */

/* --- 1. Never use thin repeating header graphics. They read as
       screen cracks on photographic captures and add visual noise. --- */
body[class*="site-theme-"] .site-header::before,
body[class*="site-theme-"] .site-header::after {
  content:none !important;
  display:none !important;
  background:none !important;
  box-shadow:none !important;
}

body[class*="site-theme-"] .site-header {
  border-bottom:1px solid rgba(255,255,255,.10) !important;
  background:
    radial-gradient(circle at 84% -40%, color-mix(in srgb,var(--header-accent,var(--festival-accent,#d6b36a)) 14%,transparent), transparent 36%),
    linear-gradient(135deg,#0b0d10 0%,#12161b 58%,#0b0d10 100%) !important;
}

body[class*="site-theme-"] .main-nav { border-top-color:rgba(255,255,255,.075) !important; }


/* Announcement strip: premium, restrained, never a full-width yellow bar. */
body[class*="site-theme-"] .announcement-bar {
  background:#111418 !important;
  color:rgba(255,255,255,.76) !important;
  border-bottom:1px solid rgba(255,255,255,.06) !important;
}

body[class*="site-theme-"] .announcement-item { color:inherit !important; }

body[class*="site-theme-"] .announcement-item .festive-marker { color:var(--header-accent,var(--festival-accent,#d6b36a)) !important; }


/* --- 2. Shared premium surface system --- */
body[class*="site-theme-"] .container,
body[class*="site-theme-"] .hero-inner { max-width:1320px; }

body[class*="site-theme-"] .section-heading { margin-top:72px; margin-bottom:30px; }

body[class*="site-theme-"] .section-heading::before { height:2px !important; opacity:.72; }

body[class*="site-theme-"] .product-card,
body[class*="site-theme-"] .tag-card,
body[class*="site-theme-"] .instagram-social-card,
body[class*="site-theme-"] .form-card,
body[class*="site-theme-"] .admin-card {
  border:1px solid color-mix(in srgb,var(--festival-accent,#d6b36a) 18%,rgba(127,135,145,.22)) !important;
  box-shadow:0 14px 38px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.05) !important;
}

body[class*="site-theme-"] .product-card:hover,
body[class*="site-theme-"] .tag-card:hover {
  box-shadow:0 22px 50px rgba(0,0,0,.18) !important;
}

body[class*="site-theme-"] .btn-primary {
  min-height:46px;
  padding:12px 22px;
  border-radius:999px !important;
  letter-spacing:.01em;
}


/* --- 3. Light mode: explicit high-contrast surfaces/text for the
       whole storefront, not just the first screen. --- */
body.appearance-light[class*="site-theme-"] {
  --light-bg:#f5f6f4;
  --light-surface:#ffffff;
  --light-surface-2:#f8f8f6;
  --light-ink:#18201d;
  --light-muted:#59635f;
  --light-line:#d9dedb;
  background:var(--light-bg) !important;
  color:var(--light-ink) !important;
  background-image:radial-gradient(circle at 50% -10%,rgba(255,255,255,.95),transparent 42%) !important;
}

body.appearance-light[class*="site-theme-"] h1,
body.appearance-light[class*="site-theme-"] h2,
body.appearance-light[class*="site-theme-"] h3,
body.appearance-light[class*="site-theme-"] h4,
body.appearance-light[class*="site-theme-"] .display,
body.appearance-light[class*="site-theme-"] .section-heading h2,
body.appearance-light[class*="site-theme-"] .hero h1 {
  color:var(--light-ink) !important;
  text-shadow:none !important;
}

body.appearance-light[class*="site-theme-"] p,
body.appearance-light[class*="site-theme-"] li,
body.appearance-light[class*="site-theme-"] label,
body.appearance-light[class*="site-theme-"] small,
body.appearance-light[class*="site-theme-"] .hero p.sub,
body.appearance-light[class*="site-theme-"] .section-heading .stamp,
body.appearance-light[class*="site-theme-"] .instagram-showcase-head p {
  color:var(--light-muted) !important;
}

/* v116: the old blanket a/button darkening rule that lived here has been
   removed. It repainted every link and button dark in Light mode -
   including ones deliberately kept light-on-dark by their own component
   styles (badges, hero CTAs on photo overlays, dark pill buttons like
   .home-custom-cta / .instagram-buy). Plain links already inherit the
   correct readable colour from their container via `a{color:inherit}`
   plus the container-level Light mode text rules below, so no separate
   rule is needed - and removing it stops those components going
   text-on-same-colour invisible. See the V116 contrast fix block at the
   end of this file for the full explanation. */

body.appearance-light[class*="site-theme-"] .product-card,
body.appearance-light[class*="site-theme-"] .tag-card,
body.appearance-light[class*="site-theme-"] .instagram-social-card,
body.appearance-light[class*="site-theme-"] .form-card,
body.appearance-light[class*="site-theme-"] .admin-card {
  color:var(--light-ink) !important;
  background:linear-gradient(145deg,#ffffff 0%,#f7f8f6 100%) !important;
  border-color:var(--light-line) !important;
  box-shadow:0 12px 34px rgba(27,35,31,.07) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

body.appearance-light[class*="site-theme-"] .product-card h3,
body.appearance-light[class*="site-theme-"] .tag-card h3,
body.appearance-light[class*="site-theme-"] .product-card .price,
body.appearance-light[class*="site-theme-"] .tag-card .price {
  color:var(--light-ink) !important;
}

body.appearance-light[class*="site-theme-"] .product-card .price,
body.appearance-light[class*="site-theme-"] .tag-card .price,
body.appearance-light[class*="site-theme-"] .hero-eyebrow,
body.appearance-light[class*="site-theme-"] .section-heading .stamp,
body.appearance-light[class*="site-theme-"] .instagram-eyebrow,
body.appearance-light[class*="site-theme-"] .instagram-content-type {
  color:color-mix(in srgb,var(--festival-accent,#9b6d22) 78%,#4a4f4b) !important;
}

body.appearance-light[class*="site-theme-"] .section-heading .stamp {
  border-color:var(--light-line) !important;
  background:#fff !important;
}

body.appearance-light[class*="site-theme-"] input,
body.appearance-light[class*="site-theme-"] select,
body.appearance-light[class*="site-theme-"] textarea {
  background:#fff !important;
  color:var(--light-ink) !important;
  border-color:var(--light-line) !important;
}

body.appearance-light[class*="site-theme-"] input::placeholder,
body.appearance-light[class*="site-theme-"] textarea::placeholder { color:#7b8580 !important; }

body.appearance-light[class*="site-theme-"] .instagram-follow,
body.appearance-light[class*="site-theme-"] .instagram-social-card,
body.appearance-light[class*="site-theme-"] .instagram-media-shell {
  background:#fff !important;
}

body.appearance-light[class*="site-theme-"] .instagram-buy-outline {
  color:var(--light-ink) !important;
  border-color:var(--light-line) !important;
  background:#fff !important;
}


/* --- 4. Light-mode hero: readable editorial panel in every theme. --- */
body.appearance-light[class*="site-theme-"] .hero {
  color:var(--light-ink) !important;
  border-bottom:1px solid var(--light-line) !important;
  box-shadow:0 16px 40px rgba(26,34,30,.06) !important;
}

body.appearance-light.site-theme-signature .hero { background:linear-gradient(135deg,#fffaf0,#f9eee5 58%,#fff 100%) !important; }

body.appearance-light.site-theme-midnight_luxe .hero { background:linear-gradient(135deg,#fffafd,#f6eef8 58%,#fff 100%) !important; }

body.appearance-light.site-theme-aurora .hero { background:linear-gradient(135deg,#fffaf6,#f3edf9 58%,#fff 100%) !important; }

body.appearance-light.site-theme-obsidian_gold .hero { background:linear-gradient(135deg,#f9fcf9,#eaf4ee 58%,#fff 100%) !important; }

body.appearance-light.site-theme-titanium .hero { background:linear-gradient(135deg,#f8fbfd,#edf3f6 58%,#fff 100%) !important; }

body.appearance-light.site-theme-royal_noir .hero { background:linear-gradient(135deg,#fff9f7,#f8edf1 58%,#fff 100%) !important; }

body.appearance-light.site-theme-cyber_chrome .hero { background:linear-gradient(135deg,#f7fcff,#eaf5fb 58%,#fff 100%) !important; }

body.appearance-light.site-theme-emerald_noir .hero { background:linear-gradient(135deg,#fbfcf3,#eff3df 58%,#fff 100%) !important; }

body.appearance-light.site-theme-desert_luxe .hero { background:linear-gradient(135deg,#fffaf2,#f9eee3 58%,#fff 100%) !important; }

body.appearance-light.site-theme-pearl_luxe .hero { background:linear-gradient(135deg,#fbfcf8,#f2f5ea 58%,#fff 100%) !important; }

body.appearance-light.site-theme-violet_neon .hero { background:linear-gradient(135deg,#fffafd,#f8eef6 58%,#fff 100%) !important; }

body.appearance-light.site-theme-monochrome .hero { background:linear-gradient(135deg,#fbfcfd,#eef2f6 58%,#fff 100%) !important; }

body.appearance-light.site-theme-palo_alto .hero { background:linear-gradient(135deg,#fffaf4,#f4eee5 58%,#fff 100%) !important; }

body.appearance-light[class*="site-theme-"] .hero::before,
body.appearance-light[class*="site-theme-"] .hero::after { opacity:.10 !important; filter:none !important; }


/* --- 5. Desktop hero composition --- */
@media (min-width:901px) {
  body[class*="site-theme-"] .hero-inner { padding-top:78px; padding-bottom:86px; gap:56px; }
  body[class*="site-theme-"] .hero h1 { max-width:680px; font-size:clamp(3rem,5.1vw,5rem); }
  body[class*="site-theme-"] .hero p.sub { max-width:540px; line-height:1.75; }
  body[class*="site-theme-"] .hero-tag-visual { min-height:300px; }
}


/* --- 6. Mobile: compact but still premium; prevent overflow and
       make two-column product grids breathe. --- */
@media (max-width:900px) {
  body[class*="site-theme-"] .hero:not(.hero-featured-layout) .hero-inner { padding:42px 16px 48px !important; gap:28px !important; }
  body[class*="site-theme-"] .hero h1 { font-size:clamp(2.35rem,11vw,3.35rem) !important; line-height:1.02 !important; }
  body[class*="site-theme-"] .hero p.sub { font-size:.94rem !important; line-height:1.65 !important; }
  body[class*="site-theme-"] .btn-primary { min-height:44px; padding:11px 18px; }
  body[class*="site-theme-"] .section-heading { margin-top:48px !important; margin-bottom:22px !important; }
  body[class*="site-theme-"] .product-grid { gap:12px !important; padding-bottom:54px !important; }
  body[class*="site-theme-"] .product-card,
  body[class*="site-theme-"] .tag-card { border-radius:16px !important; }
}

@media (max-width:430px) {
  body[class*="site-theme-"] .hero:not(.hero-featured-layout) .hero-inner { padding:34px 13px 40px !important; }
  body[class*="site-theme-"] .hero h1 { font-size:clamp(2.05rem,12vw,2.75rem) !important; }
  body[class*="site-theme-"] .product-grid { gap:9px !important; }
  body[class*="site-theme-"] .section-heading h2 { font-size:1.55rem !important; }
}


/* --- 7. Keep dark mode premium too: less glow, cleaner hierarchy. --- */
body.appearance-dark[class*="site-theme-"] .product-card,
body.appearance-dark[class*="site-theme-"] .tag-card {
  background:linear-gradient(145deg,#15191e,#101419) !important;
  border-color:rgba(255,255,255,.10) !important;
}

body.appearance-dark[class*="site-theme-"] .product-card h3,
body.appearance-dark[class*="site-theme-"] .tag-card h3 { color:#f4f6f4 !important; }

body.appearance-dark[class*="site-theme-"] .product-card .spec-line,
body.appearance-dark[class*="site-theme-"] .tag-card .spec-line { color:#aeb7b2 !important; }


/* No decorative full-width line overlays in any appearance. */
body[class*="site-theme-"] .hero::marker,
body[class*="site-theme-"] .site-header::marker { display:none !important; }

/* ---- from storefront-v69.css ---- */
/* Comfortrek v69 — Universal Contrast + Premium Theme System
 * Goal: no low-contrast text on any surface, especially Light mode/footer.
 * Theme editor tokens are consumed here so every theme can be tuned safely.
 */

:root{color-scheme:light dark}


/* ---------- Theme-editor design tokens ---------- */
body[class*="site-theme-"]{
  --cr-ui-radius:var(--theme-editor-radius,14px);
  --cr-ui-gap:var(--theme-editor-card-gap,12px);
  --cr-ui-section:var(--theme-editor-section-spacing,64px);
  --cr-ui-scale:var(--theme-editor-body-scale,100%);
  --cr-ui-border:rgba(120,126,132,.20);
  --cr-ui-muted:#5c6562;
  --cr-ui-text:#18201d;
  --cr-ui-surface:#fff;
  --cr-ui-surface-2:#f5f6f4;
  font-size:var(--cr-ui-scale);
}


/* ---------- Kill accidental visual-noise overlays ---------- */
body[class*="site-theme-"] .site-header::before,
body[class*="site-theme-"] .site-header::after{display:none!important;content:none!important}

body[class*="site-theme-"] .announcement-bar::before,
body[class*="site-theme-"] .announcement-bar::after{display:none!important;content:none!important}


/* ---------- Global readable typography in Light mode ---------- */
body.appearance-light[class*="site-theme-"]{
  --ink:var(--cr-ui-text)!important;
  --bone:#f5f6f4!important;
  --slate:var(--cr-ui-muted)!important;
  --line:var(--cr-ui-border)!important;
  color:var(--cr-ui-text)!important;
  background:#f3f5f3!important;
}

body.appearance-light[class*="site-theme-"] :where(p,li,dd,dt,label,small,.sub,.spec-line,.compare-label,.page-content p,.home-feature-card p,.home-quote p,.home-split-copy p){
  color:var(--cr-ui-muted)!important;
  opacity:1!important;
}

body.appearance-light[class*="site-theme-"] :where(h1,h2,h3,h4,h5,h6,strong,b,dt,.product-card h3,.tag-card h3,.section-heading h2,.page-content h3){
  color:var(--cr-ui-text)!important;
  opacity:1!important;
}

/* v116: removed - see note near the top V67 rule of the same kind. */

body.appearance-light[class*="site-theme-"] :where(input,select,textarea){background:#fff!important;color:var(--cr-ui-text)!important;border-color:#cfd6d2!important}

body.appearance-light[class*="site-theme-"] :where(input::placeholder,textarea::placeholder){color:#707a76!important;opacity:1!important}


/* ---------- Premium surfaces in Light mode ---------- */
body.appearance-light[class*="site-theme-"] :where(
  .product-card,.tag-card,.form-card,.ai-chat-shell,.ai-action-card,.compare-table-wrap,
  .home-feature-card,.home-quote,.home-tile,.home-product-tile,.home-trust-item,
  .home-split,.home-newsletter,.home-faq-item,.instagram-social-card,.video-slide-card,
  .listing-sidebar,.filter-group,.sticky-add-bar,.newsletter-popup,.cart-drawer,
  .page-content,.checkout-card,.track-card,.cr-profile-panel,.cr-feature-panel,.cr-mini-panel
){
  color:var(--cr-ui-text)!important;
  background:#fff!important;
  border-color:#d7ddd9!important;
  box-shadow:0 12px 34px rgba(22,31,27,.07)!important;
}

body.appearance-light[class*="site-theme-"] :where(.home-custom,.home-faq,.lab-results){color:var(--cr-ui-text)}


/* ---------- Footer: explicit contrast contract ---------- */
body[class*="site-theme-"] .site-footer{
  position:relative!important;
  isolation:isolate;
  overflow:hidden!important;
  margin-top:72px!important;
  padding:68px 24px 30px!important;
  background:#101316!important;
  color:#e8ece9!important;
  border-top:1px solid color-mix(in srgb,var(--header-accent,var(--festival-accent,#d6b36a)) 30%,rgba(255,255,255,.12))!important;
}

body[class*="site-theme-"] .site-footer::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;
  background:radial-gradient(circle at 88% 0,color-mix(in srgb,var(--header-accent,var(--festival-accent,#d6b36a)) 12%,transparent),transparent 32%);
}

.site-footer .footer-inner{width:min(1180px,100%);box-sizing:border-box}

body[class*="site-theme-"] .site-footer h4{
  color:#fff!important;opacity:1!important;margin:0 0 15px!important;font-size:1rem!important;letter-spacing:-.01em;
}

body[class*="site-theme-"] .site-footer p,
body[class*="site-theme-"] .site-footer .footer-contact,
body[class*="site-theme-"] .site-footer small{
  color:#b9c1bd!important;opacity:1!important;line-height:1.7;
}

body[class*="site-theme-"] .site-footer a{
  display:block;color:#d9dfdc!important;opacity:1!important;text-decoration:none!important;font-size:.86rem!important;line-height:1.45;margin:0 0 10px!important;
  transition:color .18s ease,transform .18s ease;
}

body[class*="site-theme-"] .site-footer a:hover{color:#fff!important;transform:translateX(2px)}

body[class*="site-theme-"] .site-footer .footer-socials a{
  display:inline-flex!important;align-items:center;justify-content:center;margin:0!important;min-height:34px;padding:7px 10px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.045);color:#e9eeeb!important;font-size:.72rem!important
}

body[class*="site-theme-"] .site-footer .footer-socials a:hover{border-color:color-mix(in srgb,var(--header-accent,var(--festival-accent,#d6b36a)) 55%,rgba(255,255,255,.13));background:rgba(255,255,255,.08);transform:none}

body[class*="site-theme-"] .footer-bottom{color:#9ea8a3!important;opacity:1!important;border-top-color:rgba(255,255,255,.13)!important;padding-top:22px;margin-top:48px}


/* v116: this block used to force the footer to a dark surface with white
   text even in Light mode ("deliberately dark"), which is exactly the
   bug this fix removes - the footer must be a real light surface in
   Light mode. The V116 contrast block at the end of this file now owns
   footer surface + text colour for every appearance/theme combination. */

body.appearance-light[class*="site-theme-"] .site-footer p,
body.appearance-light[class*="site-theme-"] .site-footer a,
body.appearance-light[class*="site-theme-"] .site-footer small{opacity:1!important}


/* Footer mobile: reserve room for fixed bottom navigation and keep columns readable. */
@media(max-width:760px){
  body[class*="site-theme-"] .site-footer{padding:48px 18px calc(104px + env(safe-area-inset-bottom))!important;margin-top:52px!important}
  body[class*="site-theme-"] .site-footer .footer-inner{grid-template-columns:1fr 1fr!important;gap:34px 24px!important}
  body[class*="site-theme-"] .site-footer h4{font-size:.98rem!important}
  body[class*="site-theme-"] .site-footer a{font-size:.82rem!important;margin-bottom:11px!important}
}

@media(max-width:460px){
  body[class*="site-theme-"] .site-footer .footer-inner{grid-template-columns:1fr 1fr!important;gap:30px 18px!important}
  body[class*="site-theme-"] .site-footer>div:first-child>div:first-child{grid-column:1/-1}
}


/* ---------- Mobile bottom navigation: premium surface + safe-area ---------- */
body[class*="site-theme-"] .mobile-store-nav{
  background:rgba(17,20,23,.96)!important;
  color:#eef2ef!important;
  border-top:1px solid rgba(255,255,255,.13)!important;
  box-shadow:0 -12px 35px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(22px)!important;-webkit-backdrop-filter:blur(22px)!important;
}

body[class*="site-theme-"] .mobile-store-nav a{color:#b7bfbb!important;opacity:1!important}

body[class*="site-theme-"] .mobile-store-nav a.active{color:var(--header-accent,var(--festival-accent,#d6b36a))!important}

body[class*="site-theme-"] .mobile-store-nav strong{color:inherit!important}


/* ---------- Section text contrast, regardless of theme ---------- */
body.appearance-light[class*="site-theme-"] :where(.section-heading .stamp,.hero-eyebrow,.home-custom-eyebrow,.home-faq-kicker,.instagram-eyebrow,.marketplace-label){opacity:1!important}

body.appearance-light[class*="site-theme-"] :where(.section-heading,.home-custom,.home-faq,.marketplace-band,.sale-banner,.banner-carousel){border-color:#d7ddd9!important}


/* ---------- Theme-specific Light identity ---------- */
body.appearance-light.site-theme-signature{--light-accent:#9a6b10}

body.appearance-light.site-theme-midnight_luxe{--light-accent:#a33472}

body.appearance-light.site-theme-aurora{--light-accent:#087e78}

body.appearance-light.site-theme-obsidian_gold{--light-accent:#7c5b12}

body.appearance-light.site-theme-titanium{--light-accent:#38617e}

body.appearance-light.site-theme-royal_noir{--light-accent:#8a3d68}

body.appearance-light.site-theme-cyber_chrome{--light-accent:#056b95}

body.appearance-light.site-theme-emerald_noir{--light-accent:#347348}

body.appearance-light.site-theme-desert_luxe{--light-accent:#8c572e}

body.appearance-light.site-theme-pearl_luxe{--light-accent:#6b5421}

body.appearance-light.site-theme-violet_neon{--light-accent:#8b239e}

body.appearance-light.site-theme-monochrome{--light-accent:#222}

body.appearance-light.site-theme-palo_alto{--light-accent:#765529}

body.appearance-light[class*="site-theme-"] :where(.price,.product-card .price,.tag-card .price,.hero-eyebrow,.section-heading .stamp){color:var(--light-accent)!important}


/* ---------- Premium component polish ---------- */
body[class*="site-theme-"] :where(.product-card,.tag-card,.home-feature-card,.home-tile,.home-product-tile){
  border-radius:var(--cr-ui-radius)!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;
}

body[class*="site-theme-"] :where(.product-card,.tag-card,.home-feature-card,.home-tile,.home-product-tile):hover{transform:translateY(-4px)}

body.appearance-light[class*="site-theme-"] :where(.product-card,.tag-card,.home-feature-card,.home-tile,.home-product-tile):hover{box-shadow:0 20px 48px rgba(22,31,27,.11)!important}


/* Theme editor preview can explicitly switch appearance. */
.preview-browser.preview-light{background:#f4f6f4!important;color:#18201d!important}

.preview-browser.preview-light .mock-top{background:#fff;color:#18201d;border-color:#d8dedb}

.preview-browser.preview-light .mock-heading h3{color:#18201d}

.preview-browser.preview-light .mock-heading small{color:#5e6864}

.preview-browser.preview-light .mock-grid article{background:#fff;color:#18201d;border-color:#d9dedb}

.preview-browser.preview-light .mock-grid b{color:#18201d}

.preview-browser.preview-light .mock-grid span{color:#7a5a18}

.preview-browser.preview-light .mock-hero{background:linear-gradient(135deg,#fffaf3,#f0f5f1)!important;color:#18201d}

.preview-browser.preview-light .mock-hero p{color:#58635e;opacity:1}

.preview-browser.preview-dark{background:#0c0f12!important;color:#f2f5f3!important}

.preview-browser.preview-dark .mock-top{background:#101418;color:#f2f5f3;border-color:#2a3135}

.preview-browser.preview-dark .mock-heading h3{color:#f2f5f3}

.preview-browser.preview-dark .mock-heading small{color:#aeb8b3}

.preview-browser.preview-dark .mock-grid article{background:#151a1e;color:#f2f5f3;border-color:#2a3135}

.preview-browser.preview-dark .mock-grid b{color:#f2f5f3}


/* ---------- High contrast mode ---------- */
body.theme-contrast-high[class*="site-theme-"]{--cr-ui-muted:#48524e}

body.appearance-dark.theme-contrast-high[class*="site-theme-"]{--festival-muted:#e0e6e2}

body.appearance-light.theme-contrast-high[class*="site-theme-"] :where(p,li,small,label,.spec-line){color:#3f4945!important}

body.appearance-light.theme-contrast-high[class*="site-theme-"] :where(a,button){text-decoration-thickness:1px;text-underline-offset:3px}



/* ---------- Editor-controlled footer variants ---------- */
body[class*="site-theme-"].theme-footer-light .site-footer{background:#f4f6f3!important;color:#18201d!important;border-top-color:#d7ddd9!important}

body[class*="site-theme-"].theme-footer-light .site-footer::before{background:radial-gradient(circle at 88% 0,color-mix(in srgb,var(--header-accent,var(--festival-accent,#9b6d22)) 10%,transparent),transparent 32%)}

body[class*="site-theme-"].theme-footer-light .site-footer h4{color:#18201d!important}

body[class*="site-theme-"].theme-footer-light .site-footer p,body[class*="site-theme-"].theme-footer-light .site-footer .footer-contact,body[class*="site-theme-"].theme-footer-light .site-footer small{color:#5a6460!important}

body[class*="site-theme-"].theme-footer-light .site-footer a{color:#35403b!important}

body[class*="site-theme-"].theme-footer-light .site-footer a:hover{color:#111!important}

body[class*="site-theme-"].theme-footer-light .site-footer .footer-socials a{background:#fff;border-color:#d7ddd9;color:#35403b!important}

body[class*="site-theme-"].theme-footer-light .footer-bottom{color:#69736f!important;border-top-color:#d7ddd9!important}

body[class*="site-theme-"].theme-footer-split .site-footer{background:linear-gradient(180deg,#121619 0 52%,#eef1ee 52% 100%)!important}

body[class*="site-theme-"].theme-footer-split .site-footer h4,body[class*="site-theme-"].theme-footer-split .site-footer a,body[class*="site-theme-"].theme-footer-split .site-footer p,body[class*="site-theme-"].theme-footer-split .site-footer small{color:#eef2ef!important}

body[class*="site-theme-"].theme-footer-split .site-footer .footer-inner>div:nth-child(n+2){padding-top:28px}

body[class*="site-theme-"].theme-footer-split .site-footer .footer-inner>div:nth-child(n+2) h4{color:#18201d!important}

body[class*="site-theme-"].theme-footer-split .site-footer .footer-inner>div:nth-child(n+2) a{color:#35403b!important}

body[class*="site-theme-"].theme-footer-split .site-footer .footer-inner>div:nth-child(n+2) p,body[class*="site-theme-"].theme-footer-split .site-footer .footer-inner>div:nth-child(n+2) small{color:#5a6460!important}

body[class*="site-theme-"].theme-footer-split .footer-bottom{color:#69736f!important;border-top-color:#cfd6d2!important}


/* ---------- Editor-controlled surface language ---------- */
body.appearance-light[class*="site-theme-"].theme-surface-warm :where(.product-card,.tag-card,.home-feature-card,.home-tile,.home-product-tile,.home-faq-item,.form-card){background:linear-gradient(145deg,#fffdf8,#f8f0e3)!important}

body.appearance-light[class*="site-theme-"].theme-surface-cool :where(.product-card,.tag-card,.home-feature-card,.home-tile,.home-product-tile,.home-faq-item,.form-card){background:linear-gradient(145deg,#fff,#f1f5f7)!important}

body.appearance-light[class*="site-theme-"].theme-surface-glass :where(.product-card,.tag-card,.home-feature-card,.home-tile,.home-product-tile,.home-faq-item,.form-card){background:rgba(255,255,255,.72)!important;backdrop-filter:blur(var(--theme-editor-glass-strength,12px))!important;-webkit-backdrop-filter:blur(var(--theme-editor-glass-strength,12px))!important}

body[class*="site-theme-"].theme-intensity-subtle .hero::before,body[class*="site-theme-"].theme-intensity-subtle .hero::after{opacity:.10!important}

body[class*="site-theme-"].theme-intensity-balanced .hero::before,body[class*="site-theme-"].theme-intensity-balanced .hero::after{opacity:.22}

body[class*="site-theme-"].theme-intensity-expressive .hero::before,body[class*="site-theme-"].theme-intensity-expressive .hero::after{opacity:.36}

body[class*="site-theme-"].theme-intensity-subtle .product-card:hover,body[class*="site-theme-"].theme-intensity-subtle .tag-card:hover{transform:translateY(-2px)!important;box-shadow:0 15px 36px rgba(0,0,0,.10)!important}

body[class*="site-theme-"].theme-intensity-expressive .product-card:hover,body[class*="site-theme-"].theme-intensity-expressive .tag-card:hover{box-shadow:0 26px 60px rgba(0,0,0,.20),0 0 26px color-mix(in srgb,var(--festival-accent,#d6b36a) 10%,transparent)!important}


/* Mobile footer columns and content padding are controlled per theme. */
@media(max-width:760px){
 body[class*="site-theme-"] .site-footer .footer-inner{padding-left:var(--theme-editor-mobile-padding,16px);padding-right:var(--theme-editor-mobile-padding,16px)}
 body[class*="site-theme-"].theme-footer-columns-1 .site-footer .footer-inner{grid-template-columns:1fr!important}
}


/* ---------- Respect reduced motion ---------- */
body.theme-reduced-motion-on[class*="site-theme-"] *,body.theme-reduced-motion-on[class*="site-theme-"] *::before,body.theme-reduced-motion-on[class*="site-theme-"] *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}

/* ---- from storefront-v80.css ---- */
/* Comfortrek v70 — runtime safety + final contrast guard.
   This layer intentionally uses semantic fallbacks instead of relying on theme
   foreground variables being present. It prevents text disappearing on pale or
   translucent surfaces while preserving each theme's accent identity. */
:root {
  --ct-text-strong: #171717;
  --ct-text: #2b2927;
  --ct-text-muted: #5f5a53;
  --ct-surface: #fffdf8;
  --ct-surface-soft: #f5f1e8;
  --ct-border: rgba(30, 27, 23, .14);
}


html[data-theme-mode="light"],
body.light-mode,
.theme-light {
  --ct-text-strong: #171717;
  --ct-text: #2b2927;
  --ct-text-muted: #5f5a53;
  --ct-surface: #fffdf8;
  --ct-surface-soft: #f5f1e8;
  --ct-border: rgba(30, 27, 23, .14);
}


html[data-theme-mode="dark"],
body.dark-mode,
.theme-dark {
  --ct-text-strong: #f7f4ed;
  --ct-text: #e7e2d8;
  --ct-text-muted: #b8b1a5;
  --ct-surface: #171717;
  --ct-surface-soft: #211f1c;
  --ct-border: rgba(255, 255, 255, .14);
}


/* Generic semantic text protection. More specific theme rules can still override
   these values, but transparent/near-transparent text values are no longer accepted. */
body { color: var(--ct-text); }

h1, h2, h3, h4, h5, h6,
.hero-title, .section-title, .product-title, .card-title { color: var(--ct-text-strong); }

p, .muted, .subtitle, .description, .eyebrow, small { color: var(--ct-text-muted); }


/* v116: this used to force every <a> not classed .btn/.button/.nav-item to
   var(--ct-text) here. That variable was only ever swapped by the legacy
   html[data-theme-mode]/.light-mode/.dark-mode selectors above, which the
   real appearance toggle (body.appearance-light / body.appearance-dark)
   never sets - so this rule silently applied the same dark-ink colour to
   every plain link in BOTH Light and Dark mode, regardless of what surface
   the link sat on. That is the actual root cause of buttons like
   .home-custom-cta, .instagram-buy, .hero-secondary and .pa-feature-overlay
   a going text-on-same-colour invisible: they set their own light text
   colour, but this much more specific rule (element + 3 :not() classes)
   always outranked it. Plain links do not need a separate rule at all -
   `a{color:inherit}` at the top of this file plus each surface's own
   Light/Dark text-colour rule already gives them the right colour by
   inheritance; components that intentionally use a different link colour
   (nav, footer, mega menu, badges, dark CTAs) already have their own more
   specific rules elsewhere in this file. See the V116 block at the end of
   this file for the consolidated summary of this fix. */


/* Footer: never allow theme inheritance to produce pale-on-pale copy. */
.site-footer, footer {
  color: var(--ct-text);
  border-top: 1px solid var(--ct-border);
}

.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4,
.site-footer strong, .site-footer .footer-heading,
footer h1, footer h2, footer h3, footer h4, footer strong {
  color: var(--ct-text-strong) !important;
}

.site-footer p, .site-footer li, .site-footer small,
footer p, footer li, footer small {
  color: var(--ct-text-muted) !important;
}

.site-footer a, footer a {
  color: var(--ct-text) !important;
  opacity: 1 !important;
}

.site-footer a:hover, footer a:hover { color: var(--ct-text-strong) !important; }


/* Form controls stay readable regardless of inherited theme styles. */
input, select, textarea {
  color: var(--ct-text-strong);
  background: var(--ct-surface);
  border-color: var(--ct-border);
}

input::placeholder, textarea::placeholder { color: var(--ct-text-muted); opacity: .8; }


/* Prevent translucent overlays and pseudo-elements from creating the old diagonal
   yellow/cracked-screen appearance. */
.announcement-bar::before, .announcement-bar::after,
.site-header::before, .site-header::after,
header::before, header::after { background-image: none !important; }


@media (max-width: 767px) {
  body { overflow-x: hidden; }
  .site-footer, footer { padding-bottom: max(88px, env(safe-area-inset-bottom) + 76px); }
}


/* Comfortrek v72 — delivery promise / premium commerce polish */
.ct-delivery-promise{margin:18px 0 24px;border:1px solid var(--line);border-radius:18px;padding:16px 18px;background:var(--surface,#fff);box-shadow:0 10px 30px rgba(0,0,0,.05)}

.ct-delivery-promise .ct-dp-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}

.ct-delivery-promise .ct-dp-kicker{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cognac-dark);font-weight:700}

.ct-delivery-promise .ct-dp-date{font-size:1.02rem;font-weight:750;margin-top:4px;color:var(--charcoal)}

.ct-delivery-promise .ct-dp-sub{font-size:.78rem;color:var(--slate);margin-top:5px;line-height:1.45}

.ct-dp-timer{white-space:nowrap;border-radius:999px;padding:8px 11px;background:color-mix(in srgb,var(--cognac) 10%,transparent);color:var(--cognac-dark);font-size:.72rem;font-weight:750}

.ct-dp-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ct-dp-chip{font-size:.7rem;border:1px solid var(--line);border-radius:999px;padding:6px 9px;color:var(--slate);background:var(--surface-2,#faf8f5)}

.ct-pincode-row{display:flex;gap:8px;margin-top:12px}
.ct-pincode-row input{min-width:0;flex:1}
.ct-dp-error{color:#a23d32;font-size:.76rem;margin-top:8px}
.ct-dp-ok{color:#28734a;font-size:.76rem;margin-top:8px}

@media(max-width:700px){.ct-delivery-promise{border-radius:16px;padding:14px}.ct-delivery-promise .ct-dp-top{gap:10px}.ct-dp-timer{font-size:.67rem;padding:7px 9px}.ct-pincode-row button{padding-inline:12px}.ct-delivery-promise .ct-dp-date{font-size:.94rem}}


/* v73 delivery intelligence: premium, compact and readable on every theme */
.ct-delivery-promise{margin:18px 0 22px;padding:18px;border:1px solid color-mix(in srgb,currentColor 12%,transparent);border-radius:20px;background:color-mix(in srgb,var(--surface,#fff) 94%,transparent);box-shadow:0 12px 32px rgba(0,0,0,.06)}

.ct-dp-top{display:flex;gap:18px;align-items:flex-start;justify-content:space-between}
.ct-dp-kicker{font-size:.68rem;letter-spacing:.16em;font-weight:800;opacity:.62;margin-bottom:7px}
.ct-dp-date{font-size:1.02rem;font-weight:750;line-height:1.35}
.ct-dp-sub{font-size:.78rem;line-height:1.45;opacity:.66;margin-top:5px}
.ct-dp-countdown-wrap{min-width:100px;text-align:right}
.ct-dp-countdown-label{display:block;font-size:.6rem;letter-spacing:.13em;font-weight:800;opacity:.55}
.ct-dp-timer{font-variant-numeric:tabular-nums;font-weight:800;font-size:1rem;margin-top:4px}
.ct-dp-timer.is-urgent{animation:ctPulse 1s ease-in-out infinite}
.ct-pincode-row{display:flex;gap:8px;margin-top:14px}
.ct-pincode-row .form-input{min-width:0;flex:1}
.ct-pincode-row button{white-space:nowrap}
.ct-dp-location{font-size:.76rem;font-weight:650;margin-top:11px;opacity:.75}
.ct-dp-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.ct-dp-chip{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:color-mix(in srgb,currentColor 7%,transparent);font-size:.68rem;font-weight:700}
.ct-dp-transit{margin-top:10px;font-size:.8rem;font-weight:700}
.ct-dp-ok{color:#177245}
.ct-dp-error{color:#a53b2e}
.ct-dp-countdown-wrap + *{box-sizing:border-box}
@keyframes ctPulse{50%{opacity:.48}}
@media(max-width:640px){.ct-dp-top{gap:10px}.ct-dp-date{font-size:.94rem}.ct-dp-countdown-wrap{min-width:86px}.ct-dp-timer{font-size:.88rem}.ct-pincode-row{flex-direction:column}.ct-pincode-row button{width:100%}}



/* v74 — delivery card contrast hardening. The previous v73 layer relied on
   theme variables that are not present in every legacy skin, causing white-on-white
   or dark-on-dark text. These selectors intentionally win without changing the theme. */
body.appearance-dark .ct-delivery-promise,
body.site-theme-obsidian.appearance-dark .ct-delivery-promise,
body.appearance-dark .ct-delivery-promise * {
  --ct-dp-bg: #151515;
  --ct-dp-fg: #f7f3ea;
  --ct-dp-muted: #c6beb2;
  --ct-dp-border: rgba(255,255,255,.16);
}

body.appearance-dark .ct-delivery-promise {
  background: var(--ct-dp-bg) !important;
  color: var(--ct-dp-fg) !important;
  border-color: var(--ct-dp-border) !important;
  box-shadow: 0 16px 36px rgba(0,0,0,.28) !important;
}

body.appearance-dark .ct-delivery-promise .ct-dp-kicker,
body.appearance-dark .ct-delivery-promise .ct-dp-date,
body.appearance-dark .ct-delivery-promise .ct-dp-countdown-label,
body.appearance-dark .ct-delivery-promise .ct-dp-timer,
body.appearance-dark .ct-delivery-promise .ct-dp-location,
body.appearance-dark .ct-delivery-promise .ct-dp-transit { color: var(--ct-dp-fg) !important; opacity: 1 !important; }

body.appearance-dark .ct-delivery-promise .ct-dp-sub { color: var(--ct-dp-muted) !important; opacity: 1 !important; }

body.appearance-dark .ct-delivery-promise .ct-dp-chip { color: #eee8de !important; background: rgba(255,255,255,.07) !important; border-color: rgba(255,255,255,.14) !important; }

body.appearance-dark .ct-delivery-promise input.form-input { color:#f7f3ea !important; background:#202020 !important; border-color:rgba(255,255,255,.2) !important; }

body.appearance-dark .ct-delivery-promise input::placeholder { color:#aaa296 !important; opacity:1 !important; }

body.appearance-dark .ct-delivery-promise .btn-secondary { color:#fff !important; background:#b46b3d !important; border-color:#b46b3d !important; }

body.appearance-dark .ct-delivery-promise .ct-dp-timer { background:rgba(180,107,61,.22) !important; color:#ffd9bd !important; }

body.appearance-dark .ct-delivery-promise .ct-dp-ok { color:#8ee0b0 !important; }


body.appearance-light .ct-delivery-promise,
body.appearance-auto:not(.appearance-dark) .ct-delivery-promise {
  background:#fffdf9 !important; color:#211f1d !important; border-color:rgba(35,31,27,.14) !important;
}

body.appearance-light .ct-delivery-promise .ct-dp-date,
body.appearance-light .ct-delivery-promise .ct-dp-kicker,
body.appearance-light .ct-delivery-promise .ct-dp-countdown-label,
body.appearance-light .ct-delivery-promise .ct-dp-timer,
body.appearance-light .ct-delivery-promise .ct-dp-location,
body.appearance-light .ct-delivery-promise .ct-dp-transit { color:#211f1d !important; opacity:1 !important; }

body.appearance-light .ct-delivery-promise .ct-dp-sub { color:#615a52 !important; opacity:1 !important; }

body.appearance-light .ct-delivery-promise .ct-dp-chip { color:#413c36 !important; background:#f4efe7 !important; border-color:rgba(35,31,27,.12) !important; }

body.appearance-auto.appearance-dark .ct-delivery-promise { background:#151515 !important; color:#f7f3ea !important; border-color:rgba(255,255,255,.16) !important; }

body.appearance-auto.appearance-dark .ct-delivery-promise .ct-dp-date,
body.appearance-auto.appearance-dark .ct-delivery-promise .ct-dp-kicker,
body.appearance-auto.appearance-dark .ct-delivery-promise .ct-dp-countdown-label,
body.appearance-auto.appearance-dark .ct-delivery-promise .ct-dp-timer,
body.appearance-auto.appearance-dark .ct-delivery-promise .ct-dp-location,
body.appearance-auto.appearance-dark .ct-delivery-promise .ct-dp-transit { color:#f7f3ea !important; opacity:1 !important; }

body.appearance-auto.appearance-dark .ct-delivery-promise .ct-dp-sub { color:#c6beb2 !important; opacity:1 !important; }

body.appearance-auto.appearance-light .ct-delivery-promise { background:#fffdf9 !important; color:#211f1d !important; }

body.appearance-auto.appearance-light .ct-delivery-promise .ct-dp-date,
body.appearance-auto.appearance-light .ct-delivery-promise .ct-dp-kicker,
body.appearance-auto.appearance-light .ct-delivery-promise .ct-dp-countdown-label,
body.appearance-auto.appearance-light .ct-delivery-promise .ct-dp-timer,
body.appearance-auto.appearance-light .ct-delivery-promise .ct-dp-location,
body.appearance-auto.appearance-light .ct-delivery-promise .ct-dp-transit { color:#211f1d !important; opacity:1 !important; }

body.appearance-auto.appearance-light .ct-delivery-promise .ct-dp-sub { color:#615a52 !important; opacity:1 !important; }



/* v75 hardening: never allow the delivery card to inherit invisible theme text. */
.ct-delivery-promise,
.ct-delivery-promise * { box-sizing:border-box; }

.ct-delivery-promise { color:#211f1d !important; background:#fffdf9 !important; border-color:rgba(35,31,27,.14) !important; }

.ct-delivery-promise .ct-dp-date,
.ct-delivery-promise .ct-dp-kicker,
.ct-delivery-promise .ct-dp-countdown-label,
.ct-delivery-promise .ct-dp-timer,
.ct-delivery-promise .ct-dp-location,
.ct-delivery-promise .ct-dp-transit { color:#211f1d !important; opacity:1 !important; }

.ct-delivery-promise .ct-dp-sub { color:#615a52 !important; opacity:1 !important; }

.ct-delivery-promise .ct-dp-chip { color:#413c36 !important; background:#f3eee6 !important; border:1px solid rgba(35,31,27,.12) !important; }

.ct-delivery-promise .ct-dp-timer { background:#f0e4d7 !important; color:#7a4729 !important; }

.ct-delivery-promise .ct-pincode-row input.form-input { color:#211f1d !important; background:#ffffff !important; border:1px solid rgba(35,31,27,.20) !important; }

.ct-delivery-promise .ct-pincode-row input::placeholder { color:#756d64 !important; opacity:1 !important; }

.ct-delivery-promise .ct-pincode-row .btn-secondary { color:#fff !important; background:#9c5d38 !important; border-color:#9c5d38 !important; }

.ct-delivery-promise .ct-dp-ok { color:#176b42 !important; }

.ct-delivery-promise .ct-dp-error { color:#a33d32 !important; }

body.appearance-dark .ct-delivery-promise,
body.site-theme-midnight_luxe.appearance-dark .ct-delivery-promise,
body.site-theme-obsidian_gold.appearance-dark .ct-delivery-promise,
body.site-theme-titanium.appearance-dark .ct-delivery-promise,
body.site-theme-royal_noir.appearance-dark .ct-delivery-promise,
body.site-theme-cyber_chrome.appearance-dark .ct-delivery-promise,
body.site-theme-emerald_noir.appearance-dark .ct-delivery-promise,
body.site-theme-violet_neon.appearance-dark .ct-delivery-promise,
body.site-theme-aurora.appearance-dark .ct-delivery-promise,
body.site-theme-desert_luxe.appearance-dark .ct-delivery-promise,
body.site-theme-pearl_luxe.appearance-dark .ct-delivery-promise,
body.site-theme-palo_alto.appearance-dark .ct-delivery-promise,
body.site-theme-monochrome.appearance-dark .ct-delivery-promise,
body.site-theme-signature.appearance-dark .ct-delivery-promise { color:#f8f3ea !important; background:#15171a !important; border-color:rgba(255,255,255,.18) !important; }

body.appearance-dark .ct-delivery-promise .ct-dp-date,
body.appearance-dark .ct-delivery-promise .ct-dp-kicker,
body.appearance-dark .ct-delivery-promise .ct-dp-countdown-label,
body.appearance-dark .ct-delivery-promise .ct-dp-timer,
body.appearance-dark .ct-delivery-promise .ct-dp-location,
body.appearance-dark .ct-delivery-promise .ct-dp-transit { color:#f8f3ea !important; opacity:1 !important; }

body.appearance-dark .ct-delivery-promise .ct-dp-sub { color:#c9c1b7 !important; opacity:1 !important; }

body.appearance-dark .ct-delivery-promise .ct-dp-chip { color:#f1ebe1 !important; background:#23262b !important; border-color:rgba(255,255,255,.14) !important; }

body.appearance-dark .ct-delivery-promise .ct-dp-timer { background:#3b291f !important; color:#ffd6b8 !important; }

body.appearance-dark .ct-delivery-promise .ct-pincode-row input.form-input { color:#f8f3ea !important; background:#202328 !important; border-color:rgba(255,255,255,.22) !important; }

body.appearance-dark .ct-delivery-promise .ct-pincode-row input::placeholder { color:#a9a097 !important; }

body.appearance-dark .ct-delivery-promise .ct-pincode-row .btn-secondary { color:#fff !important; background:#b66c3e !important; border-color:#b66c3e !important; }

body.appearance-dark .ct-delivery-promise .ct-dp-ok { color:#91e0b2 !important; }

body.appearance-dark .ct-delivery-promise .ct-dp-error { color:#ffaaa0 !important; }

@media(max-width:640px){.ct-delivery-promise{padding:15px}.ct-dp-top{gap:12px}.ct-dp-countdown-wrap{min-width:92px}.ct-dp-timer{font-size:.9rem}.ct-dp-date{font-size:.95rem}}



/* v76 — isolated delivery contrast guard */
#ct-delivery-promise,#ct-delivery-promise *{text-shadow:none;box-sizing:border-box}

#ct-delivery-promise{--ctdp-bg:#fffdf9;--ctdp-fg:#211f1d;--ctdp-muted:#615a52;--ctdp-border:rgba(35,31,27,.16);background:var(--ctdp-bg)!important;color:var(--ctdp-fg)!important;border-color:var(--ctdp-border)!important;opacity:1!important;filter:none!important;mix-blend-mode:normal!important}

#ct-delivery-promise[data-ct-mode="dark"]{--ctdp-bg:#17191d;--ctdp-fg:#f7f3ea;--ctdp-muted:#c8c0b5;--ctdp-border:rgba(255,255,255,.18)}

#ct-delivery-promise .ct-dp-kicker,#ct-delivery-promise .ct-dp-date,#ct-delivery-promise .ct-dp-countdown-label,#ct-delivery-promise .ct-dp-timer,#ct-delivery-promise .ct-dp-location,#ct-delivery-promise .ct-dp-transit{color:var(--ctdp-fg)!important;opacity:1!important}

#ct-delivery-promise .ct-dp-sub{color:var(--ctdp-muted)!important;opacity:1!important}

#ct-delivery-promise .ct-dp-chip{color:var(--ctdp-fg)!important;background:rgba(127,127,127,.10)!important;border:1px solid var(--ctdp-border)!important;opacity:1!important}

#ct-delivery-promise .ct-dp-timer{background:rgba(180,107,61,.16)!important;color:#8a4e2c!important}

#ct-delivery-promise[data-ct-mode="dark"] .ct-dp-timer{background:rgba(180,107,61,.28)!important;color:#ffd7bc!important}

#ct-delivery-promise .ct-pincode-row .form-input{color:var(--ctdp-fg)!important;background:var(--ctdp-bg)!important;border:1px solid var(--ctdp-border)!important;opacity:1!important;-webkit-text-fill-color:var(--ctdp-fg)!important}

#ct-delivery-promise .ct-pincode-row .form-input::placeholder{color:var(--ctdp-muted)!important;opacity:1!important;-webkit-text-fill-color:var(--ctdp-muted)!important}

#ct-delivery-promise .ct-pincode-row .btn-secondary{color:#fff!important;background:#9c5d38!important;border:1px solid #9c5d38!important;opacity:1!important;-webkit-text-fill-color:#fff!important}

#ct-delivery-promise[data-ct-mode="dark"] .ct-pincode-row .form-input{background:#202328!important}

#ct-delivery-promise[data-ct-mode="dark"] .ct-pincode-row .btn-secondary{background:#b66c3e!important;border-color:#b66c3e!important}



/* v77 — final theme-agnostic contrast layer.
   The previous layers depended on the appearance class. Some premium themes can
   remain visually dark while the appearance scheduler reports light, so we also
   expose a runtime page-contrast class from the product page. */
.ct-page-contrast-dark .luxury-product-hero .price,
.ct-page-contrast-dark .luxury-product-hero .price > * { color:#f8f3ea !important; -webkit-text-fill-color:#f8f3ea !important; }

.ct-page-contrast-dark .luxury-product-hero .price span { color:#c8c0b5 !important; -webkit-text-fill-color:#c8c0b5 !important; }

.ct-page-contrast-dark .luxury-product-hero .hero-eyebrow { color:#d5b27b !important; }

.ct-page-contrast-dark .luxury-product-hero .form-label { color:#d0c8bd !important; }

.ct-page-contrast-dark .luxury-product-hero ul li { color:#e3ddd4 !important; }

.ct-page-contrast-dark .luxury-product-hero .form-input { color:#f8f3ea !important; background:#202328 !important; border-color:rgba(255,255,255,.22) !important; -webkit-text-fill-color:#f8f3ea !important; }

.ct-page-contrast-dark .luxury-product-hero .tag-card { background:#202328 !important; color:#f8f3ea !important; border-color:rgba(255,255,255,.16) !important; }

.ct-page-contrast-dark .luxury-product-hero > div:nth-child(2) > div[style*="border-top"] { border-color:rgba(255,255,255,.16) !important; }

.ct-page-contrast-dark .luxury-breadcrumb nav,
.ct-page-contrast-dark .luxury-breadcrumb nav a,
.ct-page-contrast-dark .luxury-breadcrumb nav span:last-child { color:#c9c1b7 !important; }


#ct-delivery-promise[data-ct-mode="dark"],
#ct-delivery-promise[data-ct-mode="dark"] * { text-shadow:none !important; }

#ct-delivery-promise[data-ct-mode="dark"] { background:#17191d !important; color:#f8f3ea !important; border-color:rgba(255,255,255,.18) !important; }

#ct-delivery-promise[data-ct-mode="dark"] .ct-dp-kicker,
#ct-delivery-promise[data-ct-mode="dark"] .ct-dp-date,
#ct-delivery-promise[data-ct-mode="dark"] .ct-dp-countdown-label,
#ct-delivery-promise[data-ct-mode="dark"] .ct-dp-timer,
#ct-delivery-promise[data-ct-mode="dark"] .ct-dp-location,
#ct-delivery-promise[data-ct-mode="dark"] .ct-dp-transit { color:#f8f3ea !important; opacity:1 !important; }

#ct-delivery-promise[data-ct-mode="dark"] .ct-dp-sub { color:#c9c1b7 !important; opacity:1 !important; }

#ct-delivery-promise[data-ct-mode="dark"] .ct-pincode-row .form-input { color:#f8f3ea !important; background:#202328 !important; border:1px solid rgba(255,255,255,.22) !important; -webkit-text-fill-color:#f8f3ea !important; }

#ct-delivery-promise[data-ct-mode="dark"] .ct-pincode-row .form-input::placeholder { color:#aaa296 !important; opacity:1 !important; -webkit-text-fill-color:#aaa296 !important; }

#ct-delivery-promise[data-ct-mode="dark"] .ct-pincode-row .btn-secondary { color:#fff !important; background:#b66c3e !important; border-color:#b66c3e !important; -webkit-text-fill-color:#fff !important; }

#ct-delivery-promise[data-ct-mode="dark"] .ct-dp-chip { color:#f1ebe1 !important; background:#25282d !important; border-color:rgba(255,255,255,.15) !important; }

#ct-delivery-promise[data-ct-mode="dark"] .ct-dp-timer { background:#3b291f !important; color:#ffd6b8 !important; }


/* Explicit light mode always wins over runtime dark-theme detection. */
body.appearance-light .ct-page-contrast-dark .luxury-product-hero .price { color:#171717 !important; -webkit-text-fill-color:#171717 !important; }


/* v79 — delivery surface: inherit storefront background; no standalone panel. */
#ct-delivery-promise,
#ct-delivery-promise * { box-sizing:border-box; text-shadow:none !important; }

#ct-delivery-promise {
  background:transparent !important;
  color:#171717 !important;
  border-color:currentColor !important;
  opacity:1 !important;
  filter:none !important;
  mix-blend-mode:normal !important;
}

#ct-delivery-promise[data-ct-mode="dark"] {
  background:transparent !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.22) !important;
}

#ct-delivery-promise .ct-dp-kicker,
#ct-delivery-promise .ct-dp-date,
#ct-delivery-promise .ct-dp-countdown-label,
#ct-delivery-promise .ct-dp-timer,
#ct-delivery-promise .ct-dp-location,
#ct-delivery-promise .ct-dp-transit {
  color:inherit !important;
  opacity:1 !important;
}

#ct-delivery-promise .ct-dp-sub { color:inherit !important; opacity:.68 !important; }

#ct-delivery-promise .ct-pincode-row .form-input {
  color:inherit !important;
  background:transparent !important;
  border:1px solid currentColor !important;
  -webkit-text-fill-color:currentColor !important;
  opacity:1 !important;
}

#ct-delivery-promise .ct-pincode-row .form-input::placeholder {
  color:inherit !important;
  opacity:.62 !important;
  -webkit-text-fill-color:currentColor !important;
}

#ct-delivery-promise .ct-pincode-row .btn-secondary {
  color:inherit !important;
  background:transparent !important;
  border:1px solid currentColor !important;
  -webkit-text-fill-color:currentColor !important;
  opacity:1 !important;
}

#ct-delivery-promise .ct-dp-chip {
  color:inherit !important;
  background:color-mix(in srgb,currentColor 9%,transparent) !important;
  border:1px solid color-mix(in srgb,currentColor 18%,transparent) !important;
}

#ct-delivery-promise .ct-dp-timer {
  background:color-mix(in srgb,currentColor 10%,transparent) !important;
  color:inherit !important;
}

body.appearance-light #ct-delivery-promise { color:#171717 !important; }

body.appearance-dark #ct-delivery-promise { color:#fff !important; }

body.appearance-light #ct-delivery-promise .ct-pincode-row .btn-secondary { color:#171717 !important; }

body.appearance-dark #ct-delivery-promise .ct-pincode-row .btn-secondary { color:#fff !important; }



/* v79 FINAL DELIVERY SURFACE CONTRACT
   The delivery feature must never paint its own white/dark panel. It lives directly
   on the active storefront surface. Only foreground contrast changes with appearance. */
#ct-delivery-promise,
#ct-delivery-promise[data-ct-mode="light"],
#ct-delivery-promise[data-ct-mode="dark"] {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-color: transparent !important;
  color: inherit !important;
  isolation: auto !important;
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

#ct-delivery-promise[data-ct-mode="light"],
body.appearance-light #ct-delivery-promise { color:#111 !important; }

#ct-delivery-promise[data-ct-mode="dark"],
body.appearance-dark #ct-delivery-promise { color:#fff !important; }

#ct-delivery-promise .ct-dp-kicker,
#ct-delivery-promise .ct-dp-date,
#ct-delivery-promise .ct-dp-countdown-label,
#ct-delivery-promise .ct-dp-timer,
#ct-delivery-promise .ct-dp-location,
#ct-delivery-promise .ct-dp-transit,
#ct-delivery-promise .ct-dp-sub,
#ct-delivery-promise .ct-dp-status,
#ct-delivery-promise .ct-dp-chip,
#ct-delivery-promise .ct-pincode-row .form-input,
#ct-delivery-promise .ct-pincode-row .form-input::placeholder,
#ct-delivery-promise .ct-pincode-row .btn-secondary {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}

#ct-delivery-promise .ct-dp-sub { opacity:.72 !important; }

#ct-delivery-promise .ct-dp-chip,
#ct-delivery-promise .ct-dp-timer {
  background: transparent !important;
  border: 1px solid currentColor !important;
  color: inherit !important;
}

#ct-delivery-promise .ct-pincode-row .form-input,
#ct-delivery-promise .ct-pincode-row .btn-secondary {
  background: transparent !important;
  border: 1px solid currentColor !important;
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}

#ct-delivery-promise .ct-pincode-row .form-input::placeholder {
  color: inherit !important;
  opacity:.58 !important;
  -webkit-text-fill-color: currentColor !important;
}

#ct-delivery-promise .ct-pincode-row .btn-secondary:disabled { opacity:.55 !important; }


/* v80 FINAL DELIVERY CONTRACT
   Delivery UI never owns the page surface. It inherits the active storefront surface.
   Light = black text. Dark = white text. No opaque panel, no forced theme surface. */
#ct-delivery-promise,
#ct-delivery-promise * { box-sizing:border-box; text-shadow:none !important; }

#ct-delivery-promise {
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  color:#111 !important;
  opacity:1 !important;
  filter:none !important;
  mix-blend-mode:normal !important;
}

#ct-delivery-promise .ct-dp-kicker,
#ct-delivery-promise .ct-dp-date,
#ct-delivery-promise .ct-dp-countdown-label,
#ct-delivery-promise .ct-dp-timer,
#ct-delivery-promise .ct-dp-location,
#ct-delivery-promise .ct-dp-transit,
#ct-delivery-promise .ct-dp-sub { color:#111 !important; opacity:1 !important; }

#ct-delivery-promise .ct-pincode-row .form-input {
  color:#111 !important; background:transparent !important; border:1px solid currentColor !important;
  -webkit-text-fill-color:#111 !important; opacity:1 !important;
}

#ct-delivery-promise .ct-pincode-row .form-input::placeholder { color:#111 !important; opacity:.58 !important; -webkit-text-fill-color:#111 !important; }

#ct-delivery-promise .ct-pincode-row .btn-secondary {
  color:#111 !important; background:transparent !important; border:1px solid currentColor !important;
  -webkit-text-fill-color:#111 !important; opacity:1 !important;
}

#ct-delivery-promise .ct-dp-chip { color:#111 !important; background:transparent !important; border:1px solid currentColor !important; opacity:.8 !important; }

#ct-delivery-promise .ct-dp-timer { background:transparent !important; color:#111 !important; padding:0 !important; }

#ct-delivery-promise .ct-dp-ok { color:#166534 !important; }

#ct-delivery-promise .ct-dp-error { color:#991b1b !important; }

body.appearance-dark #ct-delivery-promise,
body.appearance-dark #ct-delivery-promise .ct-dp-kicker,
body.appearance-dark #ct-delivery-promise .ct-dp-date,
body.appearance-dark #ct-delivery-promise .ct-dp-countdown-label,
body.appearance-dark #ct-delivery-promise .ct-dp-timer,
body.appearance-dark #ct-delivery-promise .ct-dp-location,
body.appearance-dark #ct-delivery-promise .ct-dp-transit,
body.appearance-dark #ct-delivery-promise .ct-dp-sub { color:#fff !important; }

body.appearance-dark #ct-delivery-promise .ct-pincode-row .form-input { color:#fff !important; background:transparent !important; -webkit-text-fill-color:#fff !important; }

body.appearance-dark #ct-delivery-promise .ct-pincode-row .form-input::placeholder { color:#fff !important; -webkit-text-fill-color:#fff !important; }

body.appearance-dark #ct-delivery-promise .ct-pincode-row .btn-secondary { color:#fff !important; background:transparent !important; -webkit-text-fill-color:#fff !important; }

body.appearance-dark #ct-delivery-promise .ct-dp-chip { color:#fff !important; background:transparent !important; }

body.appearance-dark #ct-delivery-promise .ct-dp-ok { color:#86efac !important; }

body.appearance-dark #ct-delivery-promise .ct-dp-error { color:#fca5a5 !important; }

body.appearance-auto #ct-delivery-promise { color:#111 !important; }

@media (prefers-color-scheme:dark) {
  body.appearance-auto #ct-delivery-promise,
  body.appearance-auto #ct-delivery-promise .ct-dp-kicker,
  body.appearance-auto #ct-delivery-promise .ct-dp-date,
  body.appearance-auto #ct-delivery-promise .ct-dp-countdown-label,
  body.appearance-auto #ct-delivery-promise .ct-dp-timer,
  body.appearance-auto #ct-delivery-promise .ct-dp-location,
  body.appearance-auto #ct-delivery-promise .ct-dp-transit,
  body.appearance-auto #ct-delivery-promise .ct-dp-sub { color:#fff !important; }
  body.appearance-auto #ct-delivery-promise .ct-pincode-row .form-input,
  body.appearance-auto #ct-delivery-promise .ct-pincode-row .btn-secondary,
  body.appearance-auto #ct-delivery-promise .ct-dp-chip { color:#fff !important; -webkit-text-fill-color:#fff !important; background:transparent !important; }
}

@media (max-width:640px){#ct-delivery-promise{margin:18px 0 22px}.ct-pincode-row{flex-direction:column}.ct-pincode-row .btn-secondary{width:100%}}

/* ---- from storefront-v83.css ---- */
/* Comfortrek v83 — true premium theme identities
   Each storefront theme now changes composition, typography, navigation rhythm,
   card geometry, hero treatment, product-page framing and mobile behaviour —
   not merely the colour palette. Visual language is original and capability-led.
*/

/* Shared theme foundation */
body[class*="site-theme-"]{--ct-theme-accent:var(--theme-editor-accent,var(--brass));--ct-theme-radius:var(--theme-editor-radius,14px);--ct-theme-width:var(--theme-editor-content-width,1320px);--ct-theme-gap:var(--theme-editor-card-gap,18px);--ct-theme-section:var(--theme-editor-section-spacing,72px);--ct-theme-motion:transform .38s cubic-bezier(.2,.75,.2,1),box-shadow .38s ease,border-color .25s ease,background .35s ease;}

body[class*="site-theme-"] .container{max-width:var(--ct-theme-width)}

body[class*="site-theme-"] .section{padding-block:var(--ct-theme-section)}

body[class*="site-theme-"] .site-header{position:sticky;top:0;z-index:90;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);transition:background .35s ease,border .35s ease,box-shadow .35s ease}

body[class*="site-theme-"] .logo{white-space:nowrap}

body[class*="site-theme-"] .main-nav{align-items:center}

body[class*="site-theme-"] .main-nav a{transition:opacity .2s,border-color .2s,color .2s,transform .2s}

body[class*="site-theme-"] .product-grid{gap:var(--ct-theme-gap)}

body[class*="site-theme-"] .tag-card{transition:var(--ct-theme-motion)}

body[class*="site-theme-"] .tag-card .tag-image{transition:background .35s ease,transform .5s cubic-bezier(.2,.75,.2,1)}

body[class*="site-theme-"] .tag-card:hover .tag-image{transform:scale(.985)}

body[class*="site-theme-"] .btn-primary,body[class*="site-theme-"] .add-to-cart-btn{transition:var(--ct-theme-motion)}

body[class*="site-theme-"] .section-heading{position:relative}

body[class*="site-theme-"] .section-heading h2{margin-bottom:0}

body[class*="site-theme-"] .site-footer{position:relative;overflow:hidden}


/* 01 APEX ATELIER — luxury fashion house: oversized type, split hero, fine rules */
body.site-theme-apex_atelier{--ink:#14110d;--bone:#f5efe4;--cognac:#9f6938;--cognac-dark:#56371f;--brass:#d2aa69;--line:#d9c9b1;background:#f5efe4;color:#17130f;font-family:Inter,Arial,sans-serif}

body.site-theme-apex_atelier .site-header{background:rgba(20,17,13,.96);border-bottom:1px solid rgba(210,170,105,.5)}

body.site-theme-apex_atelier .header-inner{max-width:1420px;padding:16px 30px}

body.site-theme-apex_atelier .main-nav{gap:22px}

body.site-theme-apex_atelier .main-nav a{font-size:.68rem;letter-spacing:.16em}

body.site-theme-apex_atelier .hero{background:linear-gradient(90deg,#16120e 0 51%,#ded1bb 51%);min-height:690px}

body.site-theme-apex_atelier .hero-inner{max-width:1420px;grid-template-columns:1fr 1fr;gap:80px;padding:96px 30px 110px}

body.site-theme-apex_atelier .hero-inner>div:first-child{padding-right:10%;align-self:center}

body.site-theme-apex_atelier .hero h1{font-family:Fraunces,Georgia,serif;font-size:clamp(3.5rem,7vw,7.5rem);font-weight:500;letter-spacing:-.055em;line-height:.9}

body.site-theme-apex_atelier .hero p.sub{font-size:.95rem;line-height:1.75;color:#cfc1ad}

body.site-theme-apex_atelier .hero-tag-visual{align-items:center;gap:12px}

body.site-theme-apex_atelier .hero-tag-visual .tag-card{border-radius:0;background:#f8f4ec;box-shadow:24px 30px 70px rgba(0,0,0,.18);padding:12px;transform:none!important}

body.site-theme-apex_atelier .hero-tag-visual .hero-product-main{width:54%;z-index:2;transform:translateY(22px)!important}

body.site-theme-apex_atelier .hero-tag-visual .hero-parallax-layer{width:30%;opacity:.78}

body.site-theme-apex_atelier .product-grid{grid-template-columns:repeat(4,1fr)}

body.site-theme-apex_atelier .tag-card{background:#fbf8f1;border-radius:0;border:0;border-top:1px solid #cfc1ad;padding:0 0 20px;box-shadow:none}

body.site-theme-apex_atelier .tag-card::before{display:none}

body.site-theme-apex_atelier .tag-card .tag-image{border-radius:0;background:#e9e0d1;aspect-ratio:1/1.22;margin-bottom:16px}

body.site-theme-apex_atelier .tag-card h3{font-family:Fraunces,Georgia,serif;font-size:1.35rem;font-weight:500}

body.site-theme-apex_atelier .section-heading{border-bottom:1px solid #cfc1ad;padding-bottom:14px;margin-top:90px}

body.site-theme-apex_atelier .section-heading h2{font-family:Fraunces,Georgia,serif;font-size:2.5rem;font-weight:500}

body.site-theme-apex_atelier .btn-primary{border-radius:0;background:#d2aa69;color:#14110d;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}

body.site-theme-apex_atelier .site-footer{background:#14110d;color:#d9cdbd;padding-top:80px}


/* 02 SYMMETRY STUDIO — modular art-directed grid, sharp geometry, catalog-first */
body.site-theme-symmetry_studio{--ink:#15191b;--bone:#f2f4f2;--cognac:#56686d;--cognac-dark:#334348;--brass:#a97e48;--line:#d4d9d6;background:#f2f4f2;color:#15191b}

body.site-theme-symmetry_studio .site-header{background:#f2f4f2;color:#15191b;border-bottom:1px solid #cbd1ce;box-shadow:0 5px 20px rgba(20,30,30,.04)}

body.site-theme-symmetry_studio .logo,body.site-theme-symmetry_studio .main-nav a{color:#15191b}

body.site-theme-symmetry_studio .header-inner{max-width:1440px;padding:13px 28px;display:grid;grid-template-columns:auto 1fr auto;gap:34px}

body.site-theme-symmetry_studio .main-nav{justify-content:center;gap:30px}

body.site-theme-symmetry_studio .hero{background:#e3e8e5;color:#15191b}

body.site-theme-symmetry_studio .hero-inner{max-width:1440px;grid-template-columns:.72fr 1.28fr;gap:30px;padding:52px 28px 62px;align-items:stretch}

body.site-theme-symmetry_studio .hero-inner>div:first-child{display:flex;flex-direction:column;justify-content:center;padding:30px}

body.site-theme-symmetry_studio .hero h1{font-family:Inter,Arial,sans-serif;font-size:clamp(3rem,6vw,6.6rem);font-weight:800;letter-spacing:-.075em;line-height:.88}

body.site-theme-symmetry_studio .hero p.sub{color:#526064}

body.site-theme-symmetry_studio .hero-tag-visual{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px}

body.site-theme-symmetry_studio .hero-tag-visual .tag-card{border-radius:0;box-shadow:none;padding:10px;background:#f9faf8;transform:none!important}

body.site-theme-symmetry_studio .hero-tag-visual .hero-product-main{grid-row:1/3;grid-column:1}

body.site-theme-symmetry_studio .product-grid{grid-template-columns:repeat(4,1fr);gap:12px}

body.site-theme-symmetry_studio .tag-card{border-radius:0;background:#f8faf8;border:1px solid #d7ddda;padding:10px;box-shadow:none}

body.site-theme-symmetry_studio .tag-card::before{display:none}

body.site-theme-symmetry_studio .tag-card .tag-image{border-radius:0;background:#e7ece9;margin-bottom:12px}

body.site-theme-symmetry_studio .tag-card h3{font-size:.95rem;font-weight:650}

body.site-theme-symmetry_studio .section-heading{margin-top:70px;padding-bottom:12px;border-bottom:2px solid #15191b}

body.site-theme-symmetry_studio .section-heading h2{font-size:2rem;font-weight:750;letter-spacing:-.04em}

body.site-theme-symmetry_studio .site-footer{background:#15191b;color:#dce3df}


/* 03 PRESTIGE MAISON — old-world editorial: serif, generous whitespace, no cards */
body.site-theme-prestige_maison{--ink:#1c1612;--bone:#f6f0e8;--cognac:#a16a45;--cognac-dark:#5b3b29;--brass:#cda15c;--line:#dfd1bf;background:#f6f0e8;color:#1c1612}

body.site-theme-prestige_maison .site-header{background:rgba(246,240,232,.94);color:#1c1612;border-bottom:1px solid #d8c8b5}

body.site-theme-prestige_maison .logo,body.site-theme-prestige_maison .main-nav a{color:#1c1612}

body.site-theme-prestige_maison .header-inner{max-width:1320px;flex-wrap:wrap;justify-content:center;gap:20px;padding:20px 24px 14px}

body.site-theme-prestige_maison .logo{width:100%;text-align:center;font-family:Fraunces,Georgia,serif;font-size:2rem;font-weight:500}

body.site-theme-prestige_maison .header-actions{position:absolute;right:24px;top:20px}

body.site-theme-prestige_maison .main-nav{order:3;width:100%;justify-content:center;gap:34px;border-top:1px solid #ddd0bf;padding-top:13px}

body.site-theme-prestige_maison .main-nav a{font-size:.65rem;letter-spacing:.18em}

body.site-theme-prestige_maison .hero{background:#e7dbcb;color:#1c1612;min-height:720px}

body.site-theme-prestige_maison .hero-inner{max-width:1320px;grid-template-columns:1fr 1fr;padding:100px 24px;gap:100px}

body.site-theme-prestige_maison .hero h1{font-family:Fraunces,Georgia,serif;font-size:clamp(3.8rem,7vw,7rem);font-weight:400;line-height:.9;letter-spacing:-.06em}

body.site-theme-prestige_maison .hero p.sub{color:#685b4f;font-family:Georgia,serif;font-size:1rem;line-height:1.8}

body.site-theme-prestige_maison .hero-tag-visual .tag-card{background:transparent;border:0;box-shadow:none;padding:0;transform:none!important}

body.site-theme-prestige_maison .hero-tag-visual .hero-product-main{width:62%;z-index:2}

body.site-theme-prestige_maison .hero-tag-visual .hero-parallax-layer{width:25%;opacity:.72}

body.site-theme-prestige_maison .hero-tag-visual .tag-card .tag-image{border-radius:0;background:#d8c7b2}

body.site-theme-prestige_maison .product-grid{grid-template-columns:repeat(3,1fr);gap:40px}

body.site-theme-prestige_maison .tag-card{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}

body.site-theme-prestige_maison .tag-card::before{display:none}

body.site-theme-prestige_maison .tag-card .tag-image{border-radius:0;background:#ebe2d6;aspect-ratio:1/1.18}

body.site-theme-prestige_maison .tag-card h3{font-family:Fraunces,Georgia,serif;font-size:1.35rem;font-weight:400;margin-top:15px}

body.site-theme-prestige_maison .section-heading{justify-content:center;text-align:center;margin:100px 0 38px}

body.site-theme-prestige_maison .section-heading h2{font-family:Fraunces,Georgia,serif;font-size:2.8rem;font-weight:400}

body.site-theme-prestige_maison .btn-primary{border-radius:0;background:#1c1612;color:#f6f0e8;padding:15px 34px;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem}

body.site-theme-prestige_maison .site-footer{background:#1c1612}


/* 04 MOTION GALLERY — immersive glass, oversized media, kinetic depth */
body.site-theme-motion_gallery{--ink:#071116;--bone:#edf7f6;--cognac:#2da49e;--cognac-dark:#17625f;--brass:#7de4dc;--line:#29474a;background:#071116;color:#edf7f6}

body.site-theme-motion_gallery .site-header{background:rgba(5,13,17,.68);border-bottom:1px solid rgba(125,228,220,.2);box-shadow:0 10px 50px rgba(0,0,0,.18)}

body.site-theme-motion_gallery .header-inner{max-width:1480px;padding:17px 28px}

body.site-theme-motion_gallery .hero{background:radial-gradient(circle at 15% 20%,rgba(125,228,220,.22),transparent 22%),radial-gradient(circle at 85% 70%,rgba(104,113,255,.22),transparent 26%),#071116;min-height:820px}

body.site-theme-motion_gallery .hero-inner{max-width:1480px;grid-template-columns:.82fr 1.18fr;gap:30px;padding:90px 28px 110px}

body.site-theme-motion_gallery .hero h1{font-size:clamp(3.6rem,7vw,8rem);font-weight:800;letter-spacing:-.07em;line-height:.86}

body.site-theme-motion_gallery .hero p.sub{color:#a9c1c2}

body.site-theme-motion_gallery .hero-tag-visual{perspective:1000px}

body.site-theme-motion_gallery .hero-tag-visual .tag-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(20px);box-shadow:0 35px 100px rgba(0,0,0,.45);border-radius:24px;padding:10px;transform:rotate(-4deg)!important}

body.site-theme-motion_gallery .hero-tag-visual .hero-product-main{width:55%;transform:translateY(25px) rotate(3deg)!important;z-index:3}

body.site-theme-motion_gallery .hero-tag-visual .hero-parallax-layer{width:31%;opacity:.72}

body.site-theme-motion_gallery .product-grid{grid-template-columns:repeat(3,1fr);gap:22px}

body.site-theme-motion_gallery .tag-card{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(18px);border-radius:24px;padding:10px;box-shadow:0 22px 70px rgba(0,0,0,.28);color:#edf7f6}

body.site-theme-motion_gallery .tag-card::before{display:none}

body.site-theme-motion_gallery .tag-card .tag-image{border-radius:18px;background:#10272c}

body.site-theme-motion_gallery .tag-card h3{font-size:1.05rem;padding:4px 6px}

body.site-theme-motion_gallery .tag-card .price{padding:0 6px 8px;color:#7de4dc}

body.site-theme-motion_gallery .section-heading{margin-top:90px}

body.site-theme-motion_gallery .section-heading h2{font-size:2.7rem;letter-spacing:-.05em}

body.site-theme-motion_gallery .btn-primary{border-radius:999px;background:#7de4dc;color:#061014;box-shadow:0 15px 45px rgba(125,228,220,.22)}

body.site-theme-motion_gallery .site-footer{background:#050b0e;border-top:1px solid rgba(125,228,220,.18)}


/* 05 BROADCAST EDITORIAL — campaign-led magazine layout */
body.site-theme-broadcast_editorial{--ink:#090b0d;--bone:#f2f0eb;--cognac:#b78242;--cognac-dark:#65441f;--brass:#eec778;--line:#303338;background:#090b0d;color:#f2f0eb}

body.site-theme-broadcast_editorial .site-header{background:#090b0d;border-bottom:1px solid #303338}

body.site-theme-broadcast_editorial .header-inner{max-width:1500px;padding:14px 30px}

body.site-theme-broadcast_editorial .main-nav{gap:17px}

body.site-theme-broadcast_editorial .main-nav a{font-size:.62rem;letter-spacing:.14em}

body.site-theme-broadcast_editorial .hero{background:#090b0d;min-height:760px}

body.site-theme-broadcast_editorial .hero-inner{max-width:1500px;grid-template-columns:1fr 1fr;padding:0 30px;gap:0;min-height:760px}

body.site-theme-broadcast_editorial .hero-inner>div:first-child{padding:80px 7% 80px 0;display:flex;flex-direction:column;justify-content:center;border-right:1px solid #303338}

body.site-theme-broadcast_editorial .hero h1{font-family:Fraunces,Georgia,serif;font-size:clamp(4rem,7vw,8rem);font-weight:400;line-height:.84;letter-spacing:-.065em;text-transform:none}

body.site-theme-broadcast_editorial .hero p.sub{color:#aaa59c;max-width:520px}

body.site-theme-broadcast_editorial .hero-tag-visual{padding:50px 6%;align-items:center}

body.site-theme-broadcast_editorial .hero-tag-visual .tag-card{background:#121417;border:1px solid #36383c;border-radius:0;box-shadow:none;padding:0;transform:none!important}

body.site-theme-broadcast_editorial .hero-tag-visual .hero-product-main{width:62%;z-index:2}

body.site-theme-broadcast_editorial .hero-tag-visual .hero-parallax-layer{width:24%;opacity:.65}

body.site-theme-broadcast_editorial .product-grid{grid-template-columns:repeat(4,1fr);gap:1px;background:#303338}

body.site-theme-broadcast_editorial .tag-card{background:#090b0d;border:0;border-radius:0;padding:0 0 22px;box-shadow:none;color:#f2f0eb}

body.site-theme-broadcast_editorial .tag-card::before{display:none}

body.site-theme-broadcast_editorial .tag-card .tag-image{border-radius:0;background:#15171a;margin-bottom:16px}

body.site-theme-broadcast_editorial .tag-card h3,body.site-theme-broadcast_editorial .tag-card .price{padding:0 14px}

body.site-theme-broadcast_editorial .section-heading{margin-top:90px;padding-bottom:18px;border-bottom:1px solid #303338}

body.site-theme-broadcast_editorial .section-heading h2{text-transform:uppercase;letter-spacing:.12em;font-size:1.1rem}

body.site-theme-broadcast_editorial .btn-primary{border-radius:0;background:#eec778;color:#090b0d;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem}

body.site-theme-broadcast_editorial .site-footer{background:#090b0d;border-top:1px solid #303338}


/* 06 ENTERPRISE GRID — information-dense, fast catalog, utility-first */
body.site-theme-enterprise_grid{--ink:#0e1821;--bone:#eef2f5;--cognac:#3f6f9f;--cognac-dark:#254a6b;--brass:#8fbbe2;--line:#cbd5de;background:#eef2f5;color:#121920;font-family:Inter,Arial,sans-serif}

body.site-theme-enterprise_grid .site-header{background:#fff;color:#121920;border-bottom:1px solid #ccd6df;box-shadow:0 2px 12px rgba(20,35,50,.06)}

body.site-theme-enterprise_grid .logo,body.site-theme-enterprise_grid .main-nav a{color:#121920}

body.site-theme-enterprise_grid .header-inner{max-width:1500px;padding:10px 24px;display:grid;grid-template-columns:auto minmax(260px,1fr) auto;gap:22px}

body.site-theme-enterprise_grid .header-actions{justify-content:flex-end}

body.site-theme-enterprise_grid .main-nav{order:4;grid-column:1/-1;border-top:1px solid #e1e6ea;padding-top:8px;gap:22px}

body.site-theme-enterprise_grid .main-nav a{font-size:.66rem;letter-spacing:.08em}

body.site-theme-enterprise_grid .hero{background:#dfe7ee;color:#101820}

body.site-theme-enterprise_grid .hero-inner{max-width:1500px;grid-template-columns:.65fr 1.35fr;padding:54px 24px;gap:28px}

body.site-theme-enterprise_grid .hero h1{font-size:clamp(2.8rem,5vw,5rem);font-weight:750;letter-spacing:-.055em;line-height:.95}

body.site-theme-enterprise_grid .hero p.sub{color:#53616c;font-size:.9rem}

body.site-theme-enterprise_grid .hero-tag-visual{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:stretch}

body.site-theme-enterprise_grid .hero-tag-visual .tag-card{border-radius:6px;background:#fff;border:1px solid #ccd6df;box-shadow:none;padding:8px;transform:none!important}

body.site-theme-enterprise_grid .hero-tag-visual .hero-product-main{width:auto;grid-column:2;grid-row:1/3}

body.site-theme-enterprise_grid .hero-tag-visual .hero-parallax-layer{width:auto;opacity:1}

body.site-theme-enterprise_grid .product-grid{grid-template-columns:repeat(5,1fr);gap:10px}

body.site-theme-enterprise_grid .tag-card{background:#fff;border:1px solid #d5dde4;border-radius:6px;padding:8px;box-shadow:0 2px 10px rgba(30,50,70,.04)}

body.site-theme-enterprise_grid .tag-card::before{display:none}

body.site-theme-enterprise_grid .tag-card .tag-image{border-radius:4px;background:#edf2f5;margin-bottom:9px}

body.site-theme-enterprise_grid .tag-card h3{font-size:.82rem;font-weight:650;line-height:1.25}

body.site-theme-enterprise_grid .tag-card .price{font-size:.82rem}

body.site-theme-enterprise_grid .section-heading{margin-top:54px;margin-bottom:18px}

body.site-theme-enterprise_grid .section-heading h2{font-size:1.45rem;font-weight:750}

body.site-theme-enterprise_grid .btn-primary{border-radius:6px;background:#254a6b;color:#fff;padding:11px 18px;font-size:.8rem}

body.site-theme-enterprise_grid .site-footer{background:#0e1821}


/* 07 HYPER COMMERCE — high-energy DTC: bold type, pills, stacked conversion blocks */
body.site-theme-hyper_commerce{--ink:#100911;--bone:#faf0f5;--cognac:#df426d;--cognac-dark:#77203d;--brass:#ff7897;--line:#482636;background:#100911;color:#fff4f7}

body.site-theme-hyper_commerce .site-header{background:rgba(16,9,17,.88);border-bottom:1px solid rgba(255,120,151,.24)}

body.site-theme-hyper_commerce .header-inner{max-width:1440px;padding:13px 24px}

body.site-theme-hyper_commerce .main-nav{gap:12px}

body.site-theme-hyper_commerce .main-nav a{background:rgba(255,255,255,.055);border:1px solid rgba(255,120,151,.18);padding:7px 12px;border-radius:999px;font-size:.62rem;letter-spacing:.06em}

body.site-theme-hyper_commerce .hero{background:radial-gradient(circle at 78% 18%,rgba(255,87,124,.35),transparent 23%),radial-gradient(circle at 12% 80%,rgba(255,191,62,.18),transparent 22%),linear-gradient(135deg,#100911,#431329 62%,#170b12);min-height:760px}

body.site-theme-hyper_commerce .hero-inner{max-width:1440px;grid-template-columns:1fr 1fr;padding:86px 24px 105px;gap:30px}

body.site-theme-hyper_commerce .hero h1{font-size:clamp(3.5rem,7vw,7rem);font-weight:900;letter-spacing:-.075em;line-height:.86}

body.site-theme-hyper_commerce .hero p.sub{color:#e0bcc8}

body.site-theme-hyper_commerce .hero-tag-visual{display:grid;grid-template-columns:1fr 1fr;gap:12px}

body.site-theme-hyper_commerce .hero-tag-visual .tag-card{background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.04));border:1px solid rgba(255,120,151,.28);border-radius:28px;backdrop-filter:blur(18px);padding:10px;transform:none!important}

body.site-theme-hyper_commerce .hero-tag-visual .hero-product-main{grid-column:1/3;width:60%;justify-self:center}

body.site-theme-hyper_commerce .product-grid{grid-template-columns:repeat(4,1fr);gap:16px}

body.site-theme-hyper_commerce .tag-card{background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.025));border:1px solid rgba(255,120,151,.18);border-radius:24px;padding:10px;box-shadow:0 18px 55px rgba(0,0,0,.25);color:#fff4f7}

body.site-theme-hyper_commerce .tag-card::before{display:none}

body.site-theme-hyper_commerce .tag-card h3{font-weight:750;padding:2px 4px}

body.site-theme-hyper_commerce .tag-card .price{color:#ff91aa;padding:0 4px 5px}

body.site-theme-hyper_commerce .section-heading h2{font-size:2.6rem;font-weight:900;letter-spacing:-.06em}

body.site-theme-hyper_commerce .btn-primary{border-radius:999px;background:#ff7897;color:#100911;font-weight:800;box-shadow:0 16px 50px rgba(255,88,125,.3)}

body.site-theme-hyper_commerce .site-footer{background:#080508}


/* 08 CONCEPT OBJECTS — gallery/museum: asymmetry, floating objects, minimal UI */
body.site-theme-concept_objects{--ink:#171b19;--bone:#f3f1e9;--cognac:#637a6f;--cognac-dark:#40534b;--brass:#8ea79a;--line:#d8dcd5;background:#f3f1e9;color:#171b19}

body.site-theme-concept_objects .site-header{background:rgba(243,241,233,.9);color:#171b19;border-bottom:0}

body.site-theme-concept_objects .logo,body.site-theme-concept_objects .main-nav a{color:#171b19}

body.site-theme-concept_objects .header-inner{max-width:1360px;padding:22px 28px}

body.site-theme-concept_objects .main-nav a{font-size:.63rem;letter-spacing:.16em}

body.site-theme-concept_objects .hero{background:#dfe5df;color:#171b19;min-height:740px}

body.site-theme-concept_objects .hero-inner{max-width:1360px;grid-template-columns:.75fr 1.25fr;padding:90px 28px;gap:70px}

body.site-theme-concept_objects .hero h1{font-family:Fraunces,Georgia,serif;font-size:clamp(3.4rem,6vw,6.7rem);font-weight:450;letter-spacing:-.065em;line-height:.9}

body.site-theme-concept_objects .hero p.sub{color:#59675f;line-height:1.75}

body.site-theme-concept_objects .hero-tag-visual{align-items:center;transform:rotate(-3deg)}

body.site-theme-concept_objects .hero-tag-visual .tag-card{background:#f8f7f2;border:0;border-radius:0;box-shadow:25px 35px 65px rgba(33,45,39,.13);padding:12px;transform:none!important}

body.site-theme-concept_objects .hero-tag-visual .hero-product-main{width:58%;z-index:3;transform:translateY(35px)!important}

body.site-theme-concept_objects .hero-tag-visual .hero-parallax-layer{width:25%;opacity:.7}

body.site-theme-concept_objects .tag-card::before{display:none}

body.site-theme-concept_objects .tag-card .tag-image{border-radius:0;background:#e3e5dd;aspect-ratio:1/1.15}

body.site-theme-concept_objects .tag-card:nth-child(3n+2){transform:translateY(38px)}

body.site-theme-concept_objects .tag-card h3{font-family:Fraunces,Georgia,serif;font-size:1.3rem;font-weight:450;margin-top:15px}

body.site-theme-concept_objects .section-heading{margin-top:110px}

body.site-theme-concept_objects .section-heading h2{font-family:Fraunces,Georgia,serif;font-size:2.8rem;font-weight:450}

body.site-theme-concept_objects .btn-primary{border-radius:0;background:#171b19;color:#f3f1e9}

body.site-theme-concept_objects .site-footer{background:#171b19}


/* 09 PALO ALTO TRAVEL — travel editorial + utility: trip modules, itinerary feel */
body.site-theme-paloalto_travel{--ink:#17130f;--bone:#f6f0e4;--cognac:#a46f3f;--cognac-dark:#5e3f25;--brass:#d3aa68;--line:#ded0bd;background:#f6f0e4;color:#18140f}

body.site-theme-paloalto_travel .site-header{background:#17130f;color:#f6f0e4;border-bottom:2px solid #d3aa68}

body.site-theme-paloalto_travel .header-inner{max-width:1420px;padding:14px 26px}

body.site-theme-paloalto_travel .main-nav{gap:24px}

body.site-theme-paloalto_travel .main-nav a{font-size:.63rem;letter-spacing:.13em}

body.site-theme-paloalto_travel .hero{background:linear-gradient(90deg,#1b1712 0 54%,#ded0bb 54%);min-height:720px}

body.site-theme-paloalto_travel .hero-inner{max-width:1420px;grid-template-columns:1fr 1fr;padding:85px 26px;gap:60px}

body.site-theme-paloalto_travel .hero h1{font-family:Fraunces,Georgia,serif;font-size:clamp(3.3rem,6vw,6.7rem);font-weight:500;line-height:.9;letter-spacing:-.06em}

body.site-theme-paloalto_travel .hero p.sub{color:#cfc0ac;line-height:1.7}

body.site-theme-paloalto_travel .hero-tag-visual{align-items:center}

body.site-theme-paloalto_travel .hero-tag-visual .tag-card{border-radius:10px;background:#f9f4ea;border:1px solid #cdbfa9;box-shadow:18px 28px 60px rgba(53,37,22,.16);padding:9px;transform:none!important}

body.site-theme-paloalto_travel .hero-tag-visual .hero-product-main{width:60%;z-index:3;transform:translateY(28px)!important}

body.site-theme-paloalto_travel .hero-tag-visual .hero-parallax-layer{width:25%;opacity:.75}

body.site-theme-paloalto_travel .product-grid{grid-template-columns:repeat(4,1fr);gap:18px}

body.site-theme-paloalto_travel .tag-card{background:#fbf7ef;border:1px solid #ded1bf;border-radius:12px;padding:10px;box-shadow:0 14px 36px rgba(45,32,18,.08)}

body.site-theme-paloalto_travel .tag-card::before{display:none}

body.site-theme-paloalto_travel .tag-card .tag-image{border-radius:7px;background:#ece1d0}

body.site-theme-paloalto_travel .tag-card h3{font-family:Fraunces,Georgia,serif;font-size:1.18rem;font-weight:500}

body.site-theme-paloalto_travel .section-heading{margin-top:78px}

body.site-theme-paloalto_travel .section-heading:after{content:"TRAVEL / PACK / GO";font-family:IBM Plex Mono,monospace;font-size:.58rem;letter-spacing:.16em;color:#8c765b}

body.site-theme-paloalto_travel .btn-primary{border-radius:6px;background:#d3aa68;color:#17130f;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}

body.site-theme-paloalto_travel .site-footer{background:#17130f}


/* 10 WONDER IMMERSIVE — futuristic art-commerce: gradients, floating panels, dramatic type */
body.site-theme-wonder_immersive{--ink:#0b0711;--bone:#f6f1fb;--cognac:#8263e3;--cognac-dark:#4d3194;--brass:#bea6ff;--line:#3c3052;background:#0b0711;color:#f8f2ff}

body.site-theme-wonder_immersive .site-header{background:rgba(11,7,17,.62);border-bottom:1px solid rgba(190,166,255,.18);box-shadow:0 15px 70px rgba(0,0,0,.24)}

body.site-theme-wonder_immersive .header-inner{max-width:1480px;padding:15px 26px}

body.site-theme-wonder_immersive .main-nav{gap:12px}

body.site-theme-wonder_immersive .main-nav a{border:1px solid rgba(190,166,255,.14);background:rgba(255,255,255,.035);padding:8px 12px;border-radius:999px;font-size:.6rem;letter-spacing:.1em}

body.site-theme-wonder_immersive .hero{background:radial-gradient(circle at 18% 18%,rgba(190,166,255,.28),transparent 22%),radial-gradient(circle at 84% 25%,rgba(255,83,202,.22),transparent 20%),radial-gradient(circle at 50% 90%,rgba(69,227,213,.12),transparent 24%),linear-gradient(135deg,#0b0711,#251638 58%,#0e0915);min-height:860px}

body.site-theme-wonder_immersive .hero-inner{max-width:1480px;grid-template-columns:.8fr 1.2fr;padding:110px 26px 125px;gap:35px}

body.site-theme-wonder_immersive .hero h1{font-size:clamp(4rem,8vw,9rem);font-weight:900;letter-spacing:-.09em;line-height:.8;background:linear-gradient(100deg,#fff,#bea6ff 45%,#ff79d6);-webkit-background-clip:text;background-clip:text;color:transparent}

body.site-theme-wonder_immersive .hero p.sub{color:#c6b8d8}

body.site-theme-wonder_immersive .hero-tag-visual{perspective:1200px}

body.site-theme-wonder_immersive .hero-tag-visual .tag-card{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(24px);border-radius:28px;box-shadow:0 35px 110px rgba(0,0,0,.46);padding:10px;transform:rotateY(-8deg) rotateZ(3deg)!important}

body.site-theme-wonder_immersive .hero-tag-visual .hero-product-main{width:58%;z-index:3;transform:translateY(35px) rotateY(8deg) rotateZ(-2deg)!important}

body.site-theme-wonder_immersive .hero-tag-visual .hero-parallax-layer{width:25%;opacity:.68}

body.site-theme-wonder_immersive .product-grid{grid-template-columns:repeat(4,1fr);gap:18px}

body.site-theme-wonder_immersive .tag-card{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:10px;backdrop-filter:blur(18px);box-shadow:0 24px 75px rgba(0,0,0,.32);color:#f8f2ff}

body.site-theme-wonder_immersive .tag-card::before{display:none}

body.site-theme-wonder_immersive .tag-card .tag-image{border-radius:17px;background:#181024}

body.site-theme-wonder_immersive .tag-card h3{font-size:1rem;font-weight:750;padding:3px 5px}

body.site-theme-wonder_immersive .tag-card .price{color:#bea6ff;padding:0 5px 5px}

body.site-theme-wonder_immersive .section-heading{margin-top:100px}

body.site-theme-wonder_immersive .section-heading h2{font-size:3rem;font-weight:850;letter-spacing:-.065em}

body.site-theme-wonder_immersive .btn-primary{border-radius:999px;background:linear-gradient(90deg,#bea6ff,#ff79d6);color:#100916;border:0;box-shadow:0 18px 60px rgba(190,166,255,.25)}

body.site-theme-wonder_immersive .site-footer{background:#07040b;border-top:1px solid rgba(190,166,255,.16)}


/* Product pages inherit the identity instead of reverting to the old generic luxury layout. */
body[class*="site-theme-"] .luxury-product-page{background:transparent;color:inherit}

body[class*="site-theme-"] .luxury-breadcrumb{max-width:var(--ct-theme-width)}

body[class*="site-theme-"] .luxury-product-hero{max-width:var(--ct-theme-width)!important;gap:clamp(28px,5vw,76px)!important}

body[class*="site-theme-"] .luxury-product-hero .product-image-stage,body[class*="site-theme-"] .luxury-product-hero .spin-viewer{border:1px solid color-mix(in srgb,currentColor 12%,transparent)!important;box-shadow:none!important;background:color-mix(in srgb,var(--bone) 82%,transparent)!important}

body[class*="site-theme-"] .luxury-product-hero .product-image-stage img,body[class*="site-theme-"] .luxury-product-hero .spin-viewer img{mix-blend-mode:normal!important}

body[class*="site-theme-"] .luxury-product-hero h1{color:inherit!important}

body[class*="site-theme-"] .luxury-product-hero .price{color:inherit!important}

body[class*="site-theme-"] .luxury-product-hero .form-input{background:color-mix(in srgb,var(--bone) 88%,transparent)!important;color:inherit!important;border-color:color-mix(in srgb,currentColor 18%,transparent)!important}

body[class*="site-theme-"] .luxury-product-hero .add-to-cart-btn,body[class*="site-theme-"] .luxury-product-hero .btn-primary{background:var(--cognac-dark)!important;color:#fff!important;border:0!important}

body.site-theme-motion_gallery .luxury-product-hero .product-image-stage,body.site-theme-motion_gallery .luxury-product-hero .spin-viewer,body.site-theme-wonder_immersive .luxury-product-hero .product-image-stage,body.site-theme-wonder_immersive .luxury-product-hero .spin-viewer{background:rgba(255,255,255,.055)!important;backdrop-filter:blur(18px);border-color:rgba(255,255,255,.13)!important}

body.site-theme-broadcast_editorial .luxury-product-hero .product-image-stage,body.site-theme-broadcast_editorial .luxury-product-hero .spin-viewer{background:#111315!important;border-color:#34373b!important}

body.site-theme-enterprise_grid .luxury-product-hero .product-image-stage,body.site-theme-enterprise_grid .luxury-product-hero .spin-viewer{background:#fff!important;border-radius:6px!important}

body.site-theme-hyper_commerce .luxury-product-hero .product-image-stage,body.site-theme-hyper_commerce .luxury-product-hero .spin-viewer{background:rgba(255,255,255,.05)!important;border-color:rgba(255,120,151,.18)!important;border-radius:24px!important}

body.site-theme-concept_objects .luxury-product-hero .product-image-stage,body.site-theme-concept_objects .luxury-product-hero .spin-viewer{background:#e5e7df!important;border:0!important}


/* Theme-specific delivery card surface so premium delivery UI never becomes a generic white box. */
body[class*="site-theme-"] .ct-delivery-promise{border-radius:var(--ct-theme-radius);background:color-mix(in srgb,var(--bone) 92%,transparent)!important;border-color:color-mix(in srgb,currentColor 13%,transparent)!important;color:inherit!important;box-shadow:0 16px 45px rgba(0,0,0,.08)!important}

body.appearance-dark[class*="site-theme-"] .ct-delivery-promise{background:color-mix(in srgb,var(--ink) 86%,white 5%)!important;color:#f6f2eb!important}

body.appearance-dark[class*="site-theme-"] .ct-delivery-promise .ct-dp-date,body.appearance-dark[class*="site-theme-"] .ct-delivery-promise .ct-dp-kicker,body.appearance-dark[class*="site-theme-"] .ct-delivery-promise .ct-dp-timer,body.appearance-dark[class*="site-theme-"] .ct-delivery-promise .ct-dp-countdown-label{color:#fff!important}

body.appearance-light[class*="site-theme-"] .ct-delivery-promise .ct-dp-date,body.appearance-light[class*="site-theme-"] .ct-delivery-promise .ct-dp-kicker,body.appearance-light[class*="site-theme-"] .ct-delivery-promise .ct-dp-timer,body.appearance-light[class*="site-theme-"] .ct-delivery-promise .ct-dp-countdown-label{color:var(--ink)!important}


/* Mobile: retain identity instead of collapsing every theme into one template. */
@media(max-width:900px){
  body[class*="site-theme-"] .header-inner{padding:12px 16px}
  body[class*="site-theme-"] .hero:not(.hero-featured-layout) .hero-inner{grid-template-columns:1fr!important;min-height:auto!important;padding:58px 18px 72px!important;gap:35px!important}
  body[class*="site-theme-"] .hero h1{font-size:clamp(3rem,14vw,5.3rem)}
  body[class*="site-theme-"] .product-grid{grid-template-columns:repeat(2,1fr)!important;gap:12px}
  body.site-theme-enterprise_grid .product-grid{grid-template-columns:repeat(3,1fr)!important}
  body.site-theme-prestige_maison .product-grid,body.site-theme-concept_objects .product-grid,body.site-theme-motion_gallery .product-grid{grid-template-columns:repeat(2,1fr)!important}
  body.site-theme-concept_objects .tag-card:nth-child(3n+2){transform:none}
  body.site-theme-prestige_maison .header-inner{display:flex;flex-wrap:wrap;justify-content:center}
  body.site-theme-prestige_maison .logo{width:auto}
  body.site-theme-prestige_maison .header-actions{position:static}
  body.site-theme-prestige_maison .main-nav{width:100%;overflow:auto;justify-content:flex-start}
  body.site-theme-broadcast_editorial .hero:not(.hero-featured-layout) .hero-inner{display:block!important}
  body.site-theme-broadcast_editorial .hero:not(.hero-featured-layout) .hero-inner>div:first-child{border-right:0;border-bottom:1px solid #303338;padding:60px 0 50px}
  body.site-theme-broadcast_editorial .hero-tag-visual{padding:35px 0}
  body.site-theme-symmetry_studio .header-inner{display:flex}
  body.site-theme-symmetry_studio .hero-tag-visual{grid-template-columns:1fr 1fr}
  body.site-theme-enterprise_grid .header-inner{display:flex;flex-wrap:wrap}
  body.site-theme-enterprise_grid .main-nav{width:100%;overflow:auto}
  body.site-theme-wonder_immersive .hero-tag-visual .hero-product-main{width:65%}
}

@media(max-width:560px){
  body[class*="site-theme-"] .product-grid,body.site-theme-enterprise_grid .product-grid{grid-template-columns:1fr 1fr!important}
  body.site-theme-apex_atelier .product-grid,body.site-theme-prestige_maison .product-grid,body.site-theme-concept_objects .product-grid{grid-template-columns:1fr!important}
  body.site-theme-apex_atelier .hero{background:#17130f}
  body.site-theme-paloalto_travel .hero{background:#17130f}
  body.site-theme-prestige_maison .logo{font-size:1.5rem}
  body.site-theme-motion_gallery .hero-tag-visual .hero-product-main,body.site-theme-wonder_immersive .hero-tag-visual .hero-product-main{width:72%}
}

/* ---- from storefront-v84.css ---- */
/* Comfortrek v84 — universal contrast + theme-surface hardening
   Product/delivery UI must follow the active light/dark appearance and the
   active premium theme. No white panel with white text, no dark panel with
   dark text, and no inherited opacity that makes content disappear. */

/* Appearance tokens. These intentionally sit at the end of the cascade. */
body.appearance-light,
body.appearance-auto.appearance-light {
  --ct-ui-strong: #171717;
  --ct-ui-text: #272522;
  --ct-ui-muted: #5f5a53;
  --ct-ui-surface: transparent;
  --ct-ui-border: rgba(23,23,23,.16);
}


body.appearance-dark,
body.appearance-auto.appearance-dark {
  --ct-ui-strong: #ffffff;
  --ct-ui-text: #f3f0ea;
  --ct-ui-muted: #c9c3b8;
  --ct-ui-surface: transparent;
  --ct-ui-border: rgba(255,255,255,.18);
}


/* Delivery promise: use the theme's surface, never a hard-coded white box. */
body[class*="site-theme-"] .ct-delivery-promise,
body.product-page .ct-delivery-promise {
  background: transparent !important;
  color: var(--ct-ui-text) !important;
  border-color: var(--ct-ui-border) !important;
  box-shadow: none !important;
  opacity: 1 !important;
  isolation: isolate;
}


/* Hard reset every delivery text node against inherited theme colours/opacity. */
body.appearance-light .ct-delivery-promise *,
body.appearance-auto.appearance-light .ct-delivery-promise * {
  opacity: 1 !important;
}

body.appearance-dark .ct-delivery-promise *,
body.appearance-auto.appearance-dark .ct-delivery-promise * {
  opacity: 1 !important;
}


body.appearance-light .ct-delivery-promise .ct-dp-kicker,
body.appearance-light .ct-delivery-promise .ct-dp-date,
body.appearance-light .ct-delivery-promise .ct-dp-countdown-label,
body.appearance-light .ct-delivery-promise .ct-dp-timer,
body.appearance-light .ct-delivery-promise .ct-dp-location,
body.appearance-light .ct-delivery-promise .ct-dp-meta,
body.appearance-light .ct-delivery-promise .ct-dp-chip,
body.appearance-light .ct-delivery-promise .ct-dp-transit,
body.appearance-light .ct-delivery-promise label,
body.appearance-light .ct-delivery-promise strong {
  color: #171717 !important;
}

body.appearance-light .ct-delivery-promise .ct-dp-sub {
  color: #5f5a53 !important;
}

body.appearance-light .ct-delivery-promise .ct-dp-chip {
  background: rgba(23,23,23,.055) !important;
  border-color: rgba(23,23,23,.14) !important;
}


body.appearance-dark .ct-delivery-promise .ct-dp-kicker,
body.appearance-dark .ct-delivery-promise .ct-dp-date,
body.appearance-dark .ct-delivery-promise .ct-dp-countdown-label,
body.appearance-dark .ct-delivery-promise .ct-dp-timer,
body.appearance-dark .ct-delivery-promise .ct-dp-location,
body.appearance-dark .ct-delivery-promise .ct-dp-meta,
body.appearance-dark .ct-delivery-promise .ct-dp-chip,
body.appearance-dark .ct-delivery-promise .ct-dp-transit,
body.appearance-dark .ct-delivery-promise label,
body.appearance-dark .ct-delivery-promise strong {
  color: #ffffff !important;
}

body.appearance-dark .ct-delivery-promise .ct-dp-sub {
  color: #c9c3b8 !important;
}

body.appearance-dark .ct-delivery-promise .ct-dp-chip {
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(255,255,255,.16) !important;
}


/* Auto mode after the server/browser appearance resolver. */
body.appearance-auto.appearance-light .ct-delivery-promise .ct-dp-kicker,
body.appearance-auto.appearance-light .ct-delivery-promise .ct-dp-date,
body.appearance-auto.appearance-light .ct-delivery-promise .ct-dp-countdown-label,
body.appearance-auto.appearance-light .ct-delivery-promise .ct-dp-timer,
body.appearance-auto.appearance-light .ct-delivery-promise .ct-dp-location,
body.appearance-auto.appearance-light .ct-delivery-promise .ct-dp-meta,
body.appearance-auto.appearance-light .ct-delivery-promise .ct-dp-chip,
body.appearance-auto.appearance-light .ct-delivery-promise .ct-dp-transit,
body.appearance-auto.appearance-light .ct-delivery-promise label,
body.appearance-auto.appearance-light .ct-delivery-promise strong { color:#171717 !important; }

body.appearance-auto.appearance-light .ct-delivery-promise .ct-dp-sub { color:#5f5a53 !important; }

body.appearance-auto.appearance-dark .ct-delivery-promise .ct-dp-kicker,
body.appearance-auto.appearance-dark .ct-delivery-promise .ct-dp-date,
body.appearance-auto.appearance-dark .ct-delivery-promise .ct-dp-countdown-label,
body.appearance-auto.appearance-dark .ct-delivery-promise .ct-dp-timer,
body.appearance-auto.appearance-dark .ct-delivery-promise .ct-dp-location,
body.appearance-auto.appearance-dark .ct-delivery-promise .ct-dp-meta,
body.appearance-auto.appearance-dark .ct-delivery-promise .ct-dp-chip,
body.appearance-auto.appearance-dark .ct-delivery-promise .ct-dp-transit,
body.appearance-auto.appearance-dark .ct-delivery-promise label,
body.appearance-auto.appearance-dark .ct-delivery-promise strong { color:#fff !important; }

body.appearance-auto.appearance-dark .ct-delivery-promise .ct-dp-sub { color:#c9c3b8 !important; }


/* The JS mode marker is authoritative during appearance changes. */
.ct-delivery-promise[data-ct-mode="light"],
.ct-delivery-promise[data-ct-mode="light"] * {
  --ct-dp-force-strong: #171717;
  --ct-dp-force-muted: #5f5a53;
}

.ct-delivery-promise[data-ct-mode="dark"],
.ct-delivery-promise[data-ct-mode="dark"] * {
  --ct-dp-force-strong: #ffffff;
  --ct-dp-force-muted: #c9c3b8;
}

.ct-delivery-promise[data-ct-mode="light"] .ct-dp-kicker,
.ct-delivery-promise[data-ct-mode="light"] .ct-dp-date,
.ct-delivery-promise[data-ct-mode="light"] .ct-dp-countdown-label,
.ct-delivery-promise[data-ct-mode="light"] .ct-dp-timer,
.ct-delivery-promise[data-ct-mode="light"] .ct-dp-location,
.ct-delivery-promise[data-ct-mode="light"] .ct-dp-meta,
.ct-delivery-promise[data-ct-mode="light"] .ct-dp-chip,
.ct-delivery-promise[data-ct-mode="light"] .ct-dp-transit,
.ct-delivery-promise[data-ct-mode="light"] strong { color:#171717 !important; opacity:1 !important; }

.ct-delivery-promise[data-ct-mode="light"] .ct-dp-sub { color:#5f5a53 !important; opacity:1 !important; }

.ct-delivery-promise[data-ct-mode="dark"] .ct-dp-kicker,
.ct-delivery-promise[data-ct-mode="dark"] .ct-dp-date,
.ct-delivery-promise[data-ct-mode="dark"] .ct-dp-countdown-label,
.ct-delivery-promise[data-ct-mode="dark"] .ct-dp-timer,
.ct-delivery-promise[data-ct-mode="dark"] .ct-dp-location,
.ct-delivery-promise[data-ct-mode="dark"] .ct-dp-meta,
.ct-delivery-promise[data-ct-mode="dark"] .ct-dp-chip,
.ct-delivery-promise[data-ct-mode="dark"] .ct-dp-transit,
.ct-delivery-promise[data-ct-mode="dark"] strong { color:#fff !important; opacity:1 !important; }

.ct-delivery-promise[data-ct-mode="dark"] .ct-dp-sub { color:#c9c3b8 !important; opacity:1 !important; }


/* Inputs/buttons remain readable on both modes without replacing the theme. */
body.appearance-light .ct-delivery-promise input.form-input,
body.appearance-auto.appearance-light .ct-delivery-promise input.form-input {
  color:#171717 !important; background:transparent !important; border-color:rgba(23,23,23,.22) !important;
}

body.appearance-light .ct-delivery-promise input::placeholder,
body.appearance-auto.appearance-light .ct-delivery-promise input::placeholder { color:#6a645c !important; opacity:1 !important; }

body.appearance-dark .ct-delivery-promise input.form-input,
body.appearance-auto.appearance-dark .ct-delivery-promise input.form-input {
  color:#fff !important; background:transparent !important; border-color:rgba(255,255,255,.25) !important;
}

body.appearance-dark .ct-delivery-promise input::placeholder,
body.appearance-auto.appearance-dark .ct-delivery-promise input::placeholder { color:#bdb6aa !important; opacity:1 !important; }


/* Product-page text: prevent premium theme rules from making secondary copy vanish. */
body.appearance-light.product-page .luxury-product-hero,
body.appearance-auto.appearance-light.product-page .luxury-product-hero { color:#272522; }

body.appearance-dark.product-page .luxury-product-hero,
body.appearance-auto.appearance-dark.product-page .luxury-product-hero { color:#f3f0ea; }

body.appearance-light.product-page .luxury-product-hero .hero-eyebrow,
body.appearance-light.product-page .luxury-product-hero .form-label,
body.appearance-light.product-page .luxury-product-hero .product-description,
body.appearance-light.product-page .luxury-product-hero .muted,
body.appearance-light.product-page .luxury-product-hero small,
body.appearance-auto.appearance-light.product-page .luxury-product-hero .hero-eyebrow,
body.appearance-auto.appearance-light.product-page .luxury-product-hero .form-label,
body.appearance-auto.appearance-light.product-page .luxury-product-hero .product-description,
body.appearance-auto.appearance-light.product-page .luxury-product-hero .muted,
body.appearance-auto.appearance-light.product-page .luxury-product-hero small { color:#5f5a53 !important; opacity:1 !important; }

body.appearance-dark.product-page .luxury-product-hero .hero-eyebrow,
body.appearance-dark.product-page .luxury-product-hero .form-label,
body.appearance-dark.product-page .luxury-product-hero .product-description,
body.appearance-dark.product-page .luxury-product-hero .muted,
body.appearance-dark.product-page .luxury-product-hero small,
body.appearance-auto.appearance-dark.product-page .luxury-product-hero .hero-eyebrow,
body.appearance-auto.appearance-dark.product-page .luxury-product-hero .form-label,
body.appearance-auto.appearance-dark.product-page .luxury-product-hero .product-description,
body.appearance-auto.appearance-dark.product-page .luxury-product-hero .muted,
body.appearance-auto.appearance-dark.product-page .luxury-product-hero small { color:#c9c3b8 !important; opacity:1 !important; }


/* Footer remains theme-specific, but its text must meet a basic contrast floor. */
body.appearance-light .site-footer a, body.appearance-light .site-footer p,
body.appearance-light .site-footer li, body.appearance-light footer a,
body.appearance-light footer p, body.appearance-light footer li { opacity:1 !important; }

body.appearance-dark .site-footer a, body.appearance-dark .site-footer p,
body.appearance-dark .site-footer li, body.appearance-dark footer a,
body.appearance-dark footer p, body.appearance-dark footer li { opacity:1 !important; }


@media(max-width:640px){
  .ct-delivery-promise{padding:16px !important;border-radius:18px !important}
  .ct-delivery-promise .ct-dp-top{gap:12px !important}
  .ct-delivery-promise .ct-dp-date{font-size:.98rem !important;line-height:1.4 !important}
  .ct-delivery-promise .ct-dp-sub{font-size:.78rem !important;line-height:1.5 !important}
}

/* ---- from storefront-v85.css ---- */
/* Comfortrek v85 — premium identity rework
   Goal: theme selection changes composition and visual grammar, not just palette.
   No theme-specific commerce logic is changed here.
*/

/* ---------- shared premium identity layer ---------- */
body[class*="site-theme-"]{--ct-v85-ease:cubic-bezier(.2,.75,.2,1);--ct-v85-fast:.22s;--ct-v85-slow:.6s;}

body[class*="site-theme-"]::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.055;background-image:radial-gradient(circle at 1px 1px,currentColor 1px,transparent 1.5px);background-size:24px 24px;mix-blend-mode:multiply}

body[class*="site-theme-"] > *{position:relative;z-index:1}

body[class*="site-theme-"] .site-header{transition:all .45s var(--ct-v85-ease);}

body[class*="site-theme-"] .main-nav a{position:relative;text-decoration:none}

body[class*="site-theme-"] .main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:currentColor;transition:right .35s var(--ct-v85-ease)}

body[class*="site-theme-"] .main-nav a:hover::after{right:0}

body[class*="site-theme-"] .hero{position:relative;overflow:hidden}

body[class*="site-theme-"] .hero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.35}

body[class*="site-theme-"] .hero-inner{position:relative;z-index:2}

body[class*="site-theme-"] .section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}

body[class*="site-theme-"] .tag-card{overflow:hidden;transition:transform .45s var(--ct-v85-ease),box-shadow .45s ease,border-color .3s ease,background .3s ease}

body[class*="site-theme-"] .tag-card .tag-image{overflow:hidden}

body[class*="site-theme-"] .tag-card .tag-image img{transition:transform .7s var(--ct-v85-ease);}

body[class*="site-theme-"] .tag-card:hover .tag-image img{transform:scale(1.045)}

body[class*="site-theme-"] .btn-primary{transition:transform .3s var(--ct-v85-ease),box-shadow .3s ease,background .3s ease}

body[class*="site-theme-"] .btn-primary:hover{transform:translateY(-2px)}

body[class*="site-theme-"] .luxury-product-info{transition:transform .4s var(--ct-v85-ease),box-shadow .4s ease,border-color .3s ease}

body[class*="site-theme-"] .luxury-product-info:hover{transform:translateY(-2px)}


/* ---------- 01 APEX ATELIER / editorial fashion house ---------- */
body.site-theme-apex_atelier{background:#f4eee5;color:#17130f}

body.site-theme-apex_atelier::before{opacity:.08;background-size:38px 38px;background-image:linear-gradient(90deg,transparent 49%,currentColor 50%,transparent 51%),linear-gradient(0deg,transparent 49%,currentColor 50%,transparent 51%)}

body.site-theme-apex_atelier .site-header{background:#14110e;border:0;box-shadow:0 14px 40px rgba(20,17,14,.18)}

body.site-theme-apex_atelier .header-inner{max-width:1480px;min-height:76px;padding:0 34px}

body.site-theme-apex_atelier .logo{font-family:Georgia,serif;font-size:1.45rem;letter-spacing:.02em;color:#f3e9d9}

body.site-theme-apex_atelier .main-nav{gap:28px;margin-left:auto}

body.site-theme-apex_atelier .main-nav a{font-size:.68rem;letter-spacing:.16em;color:#e6d7c1}

body.site-theme-apex_atelier .hero{min-height:780px;background:#17130f;color:#f7efe2}

body.site-theme-apex_atelier .hero::after{background:linear-gradient(90deg,rgba(0,0,0,.72) 0 46%,rgba(0,0,0,.05) 70%),linear-gradient(0deg,rgba(20,17,14,.3),transparent)}

body.site-theme-apex_atelier .hero-inner{max-width:1480px;grid-template-columns:.72fr 1.28fr;gap:50px;padding:110px 34px 120px}

body.site-theme-apex_atelier .hero-inner>div:first-child{align-self:end;padding-bottom:28px;max-width:600px}

body.site-theme-apex_atelier .hero h1{font-family:Georgia,serif;font-size:clamp(4rem,8.5vw,9.5rem);font-weight:400;line-height:.82;letter-spacing:-.065em}

body.site-theme-apex_atelier .hero p.sub{font-size:1rem;color:#d2c1ab;max-width:460px;line-height:1.8}

body.site-theme-apex_atelier .hero-tag-visual{align-items:center;justify-content:flex-end;gap:16px;transform:rotate(-2deg)}

body.site-theme-apex_atelier .hero-tag-visual .tag-card{background:#eee2cf;border:0;border-radius:0;padding:12px;box-shadow:25px 35px 70px rgba(0,0,0,.3)}

body.site-theme-apex_atelier .hero-tag-visual .hero-product-main{width:48%;transform:translateY(55px)!important}

body.site-theme-apex_atelier .hero-tag-visual .hero-parallax-layer{width:23%;opacity:.9}

body.site-theme-apex_atelier .product-grid{grid-template-columns:repeat(4,1fr);gap:24px}

body.site-theme-apex_atelier .tag-card{border:0;border-radius:0;background:transparent;padding:0;border-top:1px solid #bcae9a;box-shadow:none}

body.site-theme-apex_atelier .tag-card .tag-image{margin-top:0;border-radius:0;background:#e7dccd;aspect-ratio:1/1.3}

body.site-theme-apex_atelier .tag-card h3{font-family:Georgia,serif;font-size:1.25rem;font-weight:400}

body.site-theme-apex_atelier .section-heading{border-bottom:1px solid #bcae9a;padding-bottom:14px;margin-bottom:28px}

body.site-theme-apex_atelier .section-heading h2{font-family:Georgia,serif;font-weight:400;font-size:2.6rem}

body.site-theme-apex_atelier .btn-primary{border-radius:0;background:#d3ad70;color:#17130f;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;padding:15px 26px}

body.site-theme-apex_atelier .luxury-product-info{border-radius:0;background:#f7f0e6;border:0;border-top:2px solid #17130f;box-shadow:none}


/* ---------- 02 SYMMETRY STUDIO / modular bento ---------- */
body.site-theme-symmetry_studio{background:#f0f2f0;color:#171b1d}

body.site-theme-symmetry_studio::before{opacity:.04;background-size:72px 72px;background-image:linear-gradient(currentColor 1px,transparent 1px),linear-gradient(90deg,currentColor 1px,transparent 1px)}

body.site-theme-symmetry_studio .site-header{background:rgba(240,242,240,.92);border-bottom:1px solid #1b2225;box-shadow:none}

body.site-theme-symmetry_studio .header-inner{max-width:1500px;padding:12px 26px;grid-template-columns:auto 1fr auto}

body.site-theme-symmetry_studio .logo{font-weight:850;letter-spacing:-.055em;font-size:1.35rem}

body.site-theme-symmetry_studio .main-nav{justify-content:center;gap:25px}

body.site-theme-symmetry_studio .main-nav a{font-size:.62rem;font-weight:700;letter-spacing:.08em}

body.site-theme-symmetry_studio .hero{min-height:720px;background:#dce3df;color:#11171a}

body.site-theme-symmetry_studio .hero-inner{max-width:1500px;grid-template-columns:.48fr 1.52fr;gap:16px;padding:30px 26px}

body.site-theme-symmetry_studio .hero-inner>div:first-child{padding:34px 24px;justify-content:flex-end;border:1px solid #171d20;background:#e9eeeb}

body.site-theme-symmetry_studio .hero h1{font-size:clamp(3.2rem,6.8vw,7.2rem);font-weight:900;letter-spacing:-.09em;line-height:.83}

body.site-theme-symmetry_studio .hero-tag-visual{display:grid;grid-template-columns:1.3fr .7fr;grid-template-rows:1fr 1fr;gap:16px}

body.site-theme-symmetry_studio .hero-tag-visual .tag-card{border:1px solid #171d20;border-radius:0;background:#f5f7f5;padding:8px;box-shadow:none}

body.site-theme-symmetry_studio .hero-tag-visual .hero-product-main{grid-row:1/3;grid-column:1;width:auto}

body.site-theme-symmetry_studio .hero-tag-visual .hero-parallax-layer{width:auto;opacity:1}

body.site-theme-symmetry_studio .product-grid{grid-template-columns:repeat(4,1fr);gap:16px}

body.site-theme-symmetry_studio .tag-card{border:1px solid #c5cdca;border-radius:0;background:#f7f8f6;padding:8px;box-shadow:none}

body.site-theme-symmetry_studio .tag-card .tag-image{border-radius:0;background:#e5ebe7}

body.site-theme-symmetry_studio .tag-card:nth-child(2n){transform:translateY(28px)}

body.site-theme-symmetry_studio .section-heading{margin-bottom:18px;border-bottom:2px solid #171d20;padding-bottom:10px}

body.site-theme-symmetry_studio .section-heading h2{font-size:1.9rem;font-weight:850;letter-spacing:-.055em}

body.site-theme-symmetry_studio .btn-primary{border-radius:0;background:#171d20;color:#fff;padding:12px 20px}

body.site-theme-symmetry_studio .luxury-product-info{border-radius:0;background:#f8faf8;border:1px solid #bfc9c4;box-shadow:10px 10px 0 #d7dfdb}


/* ---------- 03 PRESTIGE MAISON / couture editorial ---------- */
body.site-theme-prestige_maison{background:#f7f1e9;color:#211914}

body.site-theme-prestige_maison::before{opacity:.045;background-size:90px 90px;background-image:radial-gradient(ellipse at center,currentColor 0 1px,transparent 1.5px)}

body.site-theme-prestige_maison .site-header{background:rgba(247,241,233,.96);border-bottom:1px solid #cdbca8;box-shadow:none}

body.site-theme-prestige_maison .header-inner{max-width:1340px;padding:20px 24px 10px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}

body.site-theme-prestige_maison .logo{grid-column:2;font-family:Georgia,serif;font-size:2.05rem;font-weight:400;letter-spacing:.015em}

body.site-theme-prestige_maison .header-actions{grid-column:3;justify-content:flex-end}

body.site-theme-prestige_maison .main-nav{grid-column:1/-1;justify-content:center;border-top:1px solid #d9ccbc;padding-top:12px;margin-top:13px;gap:34px}

body.site-theme-prestige_maison .main-nav a{font-size:.61rem;letter-spacing:.18em}

body.site-theme-prestige_maison .hero{min-height:800px;background:#e9dfd1;color:#211914}

body.site-theme-prestige_maison .hero::after{background:linear-gradient(90deg,transparent 0 55%,rgba(113,79,52,.08) 55%)}

body.site-theme-prestige_maison .hero-inner{max-width:1340px;grid-template-columns:.75fr 1.25fr;gap:80px;padding:110px 24px 130px}

body.site-theme-prestige_maison .hero-inner>div:first-child{align-self:center;max-width:510px}

body.site-theme-prestige_maison .hero h1{font-family:Georgia,serif;font-size:clamp(4rem,7vw,7.7rem);font-weight:400;line-height:.84;letter-spacing:-.07em}

body.site-theme-prestige_maison .hero p.sub{font-family:Georgia,serif;color:#6e5e51;line-height:1.9}

body.site-theme-prestige_maison .hero-tag-visual{align-items:center;justify-content:center;gap:0}

body.site-theme-prestige_maison .hero-tag-visual .tag-card{background:transparent;border:0;box-shadow:none;border-radius:0;padding:0}

body.site-theme-prestige_maison .hero-tag-visual .hero-product-main{width:57%;z-index:2}

body.site-theme-prestige_maison .hero-tag-visual .hero-parallax-layer{width:22%;opacity:.68}

body.site-theme-prestige_maison .product-grid{grid-template-columns:repeat(3,1fr);gap:48px}

body.site-theme-prestige_maison .tag-card{border:0;border-radius:0;background:transparent;padding:0;box-shadow:none}

body.site-theme-prestige_maison .tag-card .tag-image{border-radius:0;background:#eadfd2;aspect-ratio:1/1.25}

body.site-theme-prestige_maison .tag-card h3{font-family:Georgia,serif;font-weight:400;font-size:1.35rem;margin-top:16px}

body.site-theme-prestige_maison .tag-card .price{font-family:Georgia,serif}

body.site-theme-prestige_maison .section-heading{justify-content:center;text-align:center;margin-bottom:38px}

body.site-theme-prestige_maison .section-heading h2{font-family:Georgia,serif;font-size:3rem;font-weight:400}

body.site-theme-prestige_maison .btn-primary{border-radius:0;background:#211914;color:#f7f1e9;text-transform:uppercase;letter-spacing:.15em;font-size:.68rem;padding:15px 28px}

body.site-theme-prestige_maison .luxury-product-info{border-radius:0;background:transparent;border:0;border-top:1px solid #cdbca8;box-shadow:none;padding:28px 0}


/* ---------- 04 MOTION GALLERY / immersive glass ---------- */
body.site-theme-motion_gallery{background:#071116;color:#edf8f7}

body.site-theme-motion_gallery::before{opacity:.08;background-size:60px 60px;background-image:radial-gradient(circle at center,currentColor 0 1px,transparent 1.5px)}

body.site-theme-motion_gallery .site-header{background:rgba(5,13,17,.72);border-bottom:1px solid rgba(125,228,220,.18);box-shadow:0 16px 60px rgba(0,0,0,.22)}

body.site-theme-motion_gallery .header-inner{max-width:1500px;padding:14px 28px}

body.site-theme-motion_gallery .logo{font-weight:800;letter-spacing:-.05em}

body.site-theme-motion_gallery .main-nav{gap:12px}

body.site-theme-motion_gallery .main-nav a{padding:8px 13px;border:1px solid rgba(125,228,220,.16);border-radius:999px;font-size:.62rem}

body.site-theme-motion_gallery .hero{min-height:820px;background:radial-gradient(circle at 18% 25%,rgba(91,245,231,.25),transparent 23%),radial-gradient(circle at 82% 70%,rgba(116,101,255,.25),transparent 25%),#061015}

body.site-theme-motion_gallery .hero::after{background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.45))}

body.site-theme-motion_gallery .hero-inner{max-width:1500px;grid-template-columns:.7fr 1.3fr;gap:25px;padding:90px 28px 120px}

body.site-theme-motion_gallery .hero h1{font-size:clamp(4rem,8vw,8.7rem);font-weight:850;letter-spacing:-.09em;line-height:.8}

body.site-theme-motion_gallery .hero p.sub{color:#a8c7c8;max-width:500px;line-height:1.7}

body.site-theme-motion_gallery .hero-tag-visual{perspective:1200px;align-items:center;justify-content:center}

body.site-theme-motion_gallery .hero-tag-visual .tag-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(22px);border-radius:28px;padding:10px;box-shadow:0 35px 100px rgba(0,0,0,.48)}

body.site-theme-motion_gallery .hero-tag-visual .hero-product-main{width:50%;transform:rotateY(-7deg) rotateZ(2deg) translateY(15px)!important}

body.site-theme-motion_gallery .hero-tag-visual .hero-parallax-layer{width:23%;opacity:.72}

body.site-theme-motion_gallery .product-grid{grid-template-columns:repeat(4,1fr);gap:18px}

body.site-theme-motion_gallery .tag-card{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.13);border-radius:24px;padding:10px;backdrop-filter:blur(18px);box-shadow:0 20px 60px rgba(0,0,0,.26)}

body.site-theme-motion_gallery .tag-card:hover{transform:translateY(-9px) rotateX(2deg)}

body.site-theme-motion_gallery .tag-card .tag-image{border-radius:18px;background:#10252a}

body.site-theme-motion_gallery .section-heading{margin-bottom:24px}

body.site-theme-motion_gallery .section-heading h2{font-size:2.6rem;font-weight:800;letter-spacing:-.06em}

body.site-theme-motion_gallery .btn-primary{border-radius:999px;background:#7de4dc;color:#061015;box-shadow:0 15px 50px rgba(125,228,220,.2)}

body.site-theme-motion_gallery .luxury-product-info{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.13);border-radius:28px;backdrop-filter:blur(20px);box-shadow:0 30px 100px rgba(0,0,0,.3)}


/* ---------- 05 BROADCAST EDITORIAL / fashion magazine ---------- */
body.site-theme-broadcast_editorial{background:#080a0c;color:#f5f1e9}

body.site-theme-broadcast_editorial::before{opacity:.06;background-size:5px 5px;background-image:repeating-linear-gradient(0deg,currentColor 0,currentColor 1px,transparent 1px,transparent 5px)}

body.site-theme-broadcast_editorial .site-header{background:#080a0c;border-bottom:1px solid #34373b;box-shadow:none}

body.site-theme-broadcast_editorial .header-inner{max-width:1540px;padding:12px 30px}

body.site-theme-broadcast_editorial .logo{font-family:Georgia,serif;font-size:1.55rem}

body.site-theme-broadcast_editorial .main-nav{gap:25px}

body.site-theme-broadcast_editorial .main-nav a{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em}

body.site-theme-broadcast_editorial .hero{min-height:820px;background:#090b0d}

body.site-theme-broadcast_editorial .hero::after{background:linear-gradient(90deg,rgba(8,10,12,.88),rgba(8,10,12,.12) 65%),linear-gradient(0deg,rgba(8,10,12,.5),transparent 45%)}

body.site-theme-broadcast_editorial .hero-inner{max-width:1540px;grid-template-columns:.95fr 1.05fr;gap:0;padding:0 30px;min-height:820px}

body.site-theme-broadcast_editorial .hero-inner>div:first-child{border-right:1px solid #34373b;padding:100px 7% 100px 0;justify-content:center;display:flex;flex-direction:column}

body.site-theme-broadcast_editorial .hero h1{font-family:Georgia,serif;font-size:clamp(4.2rem,8vw,9rem);font-weight:400;line-height:.8;letter-spacing:-.07em}

body.site-theme-broadcast_editorial .hero p.sub{color:#aaa69d;max-width:530px;line-height:1.7}

body.site-theme-broadcast_editorial .hero-tag-visual{padding:55px 7%;align-items:center;justify-content:center}

body.site-theme-broadcast_editorial .hero-tag-visual .tag-card{border-radius:0;background:#111417;border:1px solid #3a3d41;box-shadow:none;padding:0}

body.site-theme-broadcast_editorial .hero-tag-visual .hero-product-main{width:62%}

body.site-theme-broadcast_editorial .hero-tag-visual .hero-parallax-layer{width:21%;opacity:.6}

body.site-theme-broadcast_editorial .product-grid{grid-template-columns:repeat(4,1fr);gap:1px;background:#34373b}

body.site-theme-broadcast_editorial .tag-card{border:0;border-radius:0;background:#090b0d;padding:0 0 22px;color:#f5f1e9;box-shadow:none}

body.site-theme-broadcast_editorial .tag-card .tag-image{border-radius:0;background:#14171a}

body.site-theme-broadcast_editorial .tag-card h3,body.site-theme-broadcast_editorial .tag-card .price{padding:0 15px}

body.site-theme-broadcast_editorial .tag-card:nth-child(3n){background:#101215}

body.site-theme-broadcast_editorial .section-heading{border-bottom:1px solid #34373b;padding-bottom:16px;margin-bottom:20px}

body.site-theme-broadcast_editorial .section-heading h2{text-transform:uppercase;letter-spacing:.15em;font-size:1.05rem}

body.site-theme-broadcast_editorial .btn-primary{border-radius:0;background:#f0c56d;color:#090b0d;text-transform:uppercase;letter-spacing:.13em;font-size:.68rem}

body.site-theme-broadcast_editorial .luxury-product-info{border-radius:0;background:#0e1012;border:1px solid #34373b;box-shadow:none}


/* ---------- 06 ENTERPRISE GRID / commerce command center ---------- */
body.site-theme-enterprise_grid{background:#eef2f5;color:#10171d}

body.site-theme-enterprise_grid::before{opacity:.035;background-size:32px 32px;background-image:linear-gradient(currentColor 1px,transparent 1px),linear-gradient(90deg,currentColor 1px,transparent 1px)}

body.site-theme-enterprise_grid .site-header{background:#fff;border-bottom:1px solid #cbd4dc;box-shadow:0 2px 12px rgba(15,30,45,.07)}

body.site-theme-enterprise_grid .header-inner{max-width:1540px;padding:9px 22px;grid-template-columns:auto minmax(280px,1fr) auto}

body.site-theme-enterprise_grid .logo{font-size:1.15rem;font-weight:800;letter-spacing:-.04em}

body.site-theme-enterprise_grid .main-nav{grid-column:1/-1;order:5;justify-content:flex-start;border-top:1px solid #e0e5e9;padding-top:8px;gap:21px}

body.site-theme-enterprise_grid .main-nav a{font-size:.61rem;font-weight:700;letter-spacing:.06em}

body.site-theme-enterprise_grid .hero{min-height:610px;background:#dfe7ee;color:#10171d}

body.site-theme-enterprise_grid .hero-inner{max-width:1540px;grid-template-columns:.72fr 1.28fr;padding:55px 22px;gap:18px}

body.site-theme-enterprise_grid .hero-inner>div:first-child{background:#f7f9fa;border:1px solid #c8d2db;padding:38px;display:flex;flex-direction:column;justify-content:center}

body.site-theme-enterprise_grid .hero h1{font-size:clamp(3rem,5.2vw,5.5rem);font-weight:850;letter-spacing:-.07em;line-height:.88}

body.site-theme-enterprise_grid .hero p.sub{color:#53616c;font-size:.92rem;line-height:1.65}

body.site-theme-enterprise_grid .hero-tag-visual{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:1fr 1fr;gap:9px}

body.site-theme-enterprise_grid .hero-tag-visual .tag-card{background:#fff;border:1px solid #c8d2db;border-radius:5px;padding:7px;box-shadow:none}

body.site-theme-enterprise_grid .hero-tag-visual .hero-product-main{grid-row:1/3;grid-column:2;width:auto}

body.site-theme-enterprise_grid .hero-tag-visual .hero-parallax-layer{width:auto}

body.site-theme-enterprise_grid .product-grid{grid-template-columns:repeat(5,1fr);gap:9px}

body.site-theme-enterprise_grid .tag-card{background:#fff;border:1px solid #d3dce3;border-radius:5px;padding:7px;box-shadow:0 2px 10px rgba(20,40,60,.05)}

body.site-theme-enterprise_grid .tag-card .tag-image{border-radius:3px;background:#edf2f5}

body.site-theme-enterprise_grid .tag-card h3{font-size:.8rem;font-weight:700;line-height:1.25}

body.site-theme-enterprise_grid .section-heading{margin-bottom:16px}

body.site-theme-enterprise_grid .section-heading h2{font-size:1.5rem;font-weight:800;letter-spacing:-.04em}

body.site-theme-enterprise_grid .btn-primary{border-radius:5px;background:#244e72;color:#fff;padding:11px 18px;font-size:.8rem}

body.site-theme-enterprise_grid .luxury-product-info{border-radius:7px;background:#fff;border:1px solid #ccd6df;box-shadow:0 8px 24px rgba(20,40,60,.07)}


/* ---------- 07 HYPER COMMERCE / social-first DTC ---------- */
body.site-theme-hyper_commerce{background:#100911;color:#fff5f8}

body.site-theme-hyper_commerce::before{opacity:.05;background-size:44px 44px;background-image:linear-gradient(45deg,currentColor 1px,transparent 1px),linear-gradient(-45deg,currentColor 1px,transparent 1px)}

body.site-theme-hyper_commerce .site-header{background:rgba(16,9,17,.84);border-bottom:1px solid rgba(255,120,151,.2);box-shadow:0 18px 60px rgba(0,0,0,.25)}

body.site-theme-hyper_commerce .header-inner{max-width:1480px;padding:12px 24px}

body.site-theme-hyper_commerce .logo{font-size:1.45rem;font-weight:900;letter-spacing:-.07em}

body.site-theme-hyper_commerce .main-nav{gap:8px}

body.site-theme-hyper_commerce .main-nav a{padding:7px 12px;border:1px solid rgba(255,120,151,.18);border-radius:999px;background:rgba(255,255,255,.045);font-size:.59rem;font-weight:750}

body.site-theme-hyper_commerce .hero{min-height:820px;background:radial-gradient(circle at 78% 18%,rgba(255,87,124,.38),transparent 24%),radial-gradient(circle at 15% 78%,rgba(255,191,62,.18),transparent 23%),#100911}

body.site-theme-hyper_commerce .hero::after{background:linear-gradient(135deg,rgba(255,255,255,.025),transparent 55%)}

body.site-theme-hyper_commerce .hero-inner{max-width:1480px;grid-template-columns:1fr 1fr;padding:90px 24px 110px;gap:24px}

body.site-theme-hyper_commerce .hero-inner>div:first-child{align-self:center;max-width:650px}

body.site-theme-hyper_commerce .hero h1{font-size:clamp(4rem,8vw,8.4rem);font-weight:950;letter-spacing:-.1em;line-height:.78}

body.site-theme-hyper_commerce .hero p.sub{color:#e6bdc9;line-height:1.7}

body.site-theme-hyper_commerce .hero-tag-visual{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:center}

body.site-theme-hyper_commerce .hero-tag-visual .tag-card{background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.035));border:1px solid rgba(255,120,151,.3);border-radius:30px;padding:10px;backdrop-filter:blur(20px);box-shadow:0 25px 80px rgba(0,0,0,.35)}

body.site-theme-hyper_commerce .hero-tag-visual .hero-product-main{grid-column:1/3;width:62%;justify-self:center;transform:translateY(-8px) rotate(2deg)!important}

body.site-theme-hyper_commerce .product-grid{grid-template-columns:repeat(4,1fr);gap:15px}

body.site-theme-hyper_commerce .tag-card{background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.025));border:1px solid rgba(255,120,151,.2);border-radius:25px;padding:10px;box-shadow:0 18px 55px rgba(0,0,0,.27)}

body.site-theme-hyper_commerce .tag-card:nth-child(4n+2){transform:translateY(22px)}

body.site-theme-hyper_commerce .tag-card .tag-image{border-radius:18px;background:#28101c}

body.site-theme-hyper_commerce .tag-card h3{font-weight:800;padding:2px 4px}

body.site-theme-hyper_commerce .section-heading h2{font-size:2.9rem;font-weight:950;letter-spacing:-.08em}

body.site-theme-hyper_commerce .btn-primary{border-radius:999px;background:#ff7897;color:#100911;font-weight:900;box-shadow:0 16px 50px rgba(255,88,125,.32)}

body.site-theme-hyper_commerce .luxury-product-info{border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.025));border:1px solid rgba(255,120,151,.2);box-shadow:0 30px 90px rgba(0,0,0,.35)}


/* ---------- 08 CONCEPT OBJECTS / gallery-as-store ---------- */
body.site-theme-concept_objects{background:#f3f0e8;color:#1a1d1b}

body.site-theme-concept_objects::before{opacity:.04;background-size:100px 100px;background-image:radial-gradient(circle,currentColor 0 1px,transparent 1.5px)}

body.site-theme-concept_objects .site-header{background:rgba(243,240,232,.86);border:0;box-shadow:none}

body.site-theme-concept_objects .header-inner{max-width:1380px;padding:22px 28px}

body.site-theme-concept_objects .logo{font-family:Georgia,serif;font-size:1.35rem;font-weight:400}

body.site-theme-concept_objects .main-nav{gap:34px}

body.site-theme-concept_objects .main-nav a{font-size:.61rem;letter-spacing:.17em}

body.site-theme-concept_objects .hero{min-height:780px;background:#dfe4dd;color:#1a1d1b}

body.site-theme-concept_objects .hero-inner{max-width:1380px;grid-template-columns:.6fr 1.4fr;gap:40px;padding:90px 28px 130px}

body.site-theme-concept_objects .hero-inner>div:first-child{align-self:start;padding-top:60px}

body.site-theme-concept_objects .hero h1{font-family:Georgia,serif;font-size:clamp(4rem,7vw,7.7rem);font-weight:400;line-height:.82;letter-spacing:-.075em}

body.site-theme-concept_objects .hero p.sub{color:#59645e;max-width:470px;line-height:1.8}

body.site-theme-concept_objects .hero-tag-visual{align-items:center;justify-content:center;transform:rotate(-3deg);gap:0}

body.site-theme-concept_objects .hero-tag-visual .tag-card{background:#faf8f2;border:0;border-radius:0;padding:12px;box-shadow:30px 40px 70px rgba(30,43,36,.14)}

body.site-theme-concept_objects .hero-tag-visual .hero-product-main{width:58%;z-index:3;transform:translateY(45px)!important}

body.site-theme-concept_objects .hero-tag-visual .hero-parallax-layer{width:23%;opacity:.7}

body.site-theme-concept_objects .product-grid{grid-template-columns:repeat(3,1fr);gap:32px}

body.site-theme-concept_objects .tag-card{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}

body.site-theme-concept_objects .tag-card:nth-child(3n+2){transform:translateY(45px)}

body.site-theme-concept_objects .tag-card:nth-child(3n){transform:translateY(-18px)}

body.site-theme-concept_objects .tag-card .tag-image{border-radius:0;background:#e1e3db;aspect-ratio:1/1.2}

body.site-theme-concept_objects .tag-card h3{font-family:Georgia,serif;font-size:1.3rem;font-weight:400;margin-top:14px}

body.site-theme-concept_objects .section-heading{margin-bottom:36px}

body.site-theme-concept_objects .section-heading h2{font-family:Georgia,serif;font-size:3rem;font-weight:400}

body.site-theme-concept_objects .btn-primary{border-radius:0;background:#1a1d1b;color:#f3f0e8;padding:14px 26px}

body.site-theme-concept_objects .luxury-product-info{border-radius:0;background:transparent;border:0;border-left:1px solid #bdc5be;box-shadow:none;padding-left:30px}


/* ---------- 09 PALOALTO TRAVEL / outdoor utility editorial ---------- */
body.site-theme-paloalto_travel{background:#f4efe4;color:#181713}

body.site-theme-paloalto_travel::before{opacity:.035;background-size:44px 44px;background-image:linear-gradient(30deg,currentColor 1px,transparent 1px),linear-gradient(150deg,currentColor 1px,transparent 1px)}

body.site-theme-paloalto_travel .site-header{background:#f4efe4;border-bottom:2px solid #181713;box-shadow:none}

body.site-theme-paloalto_travel .header-inner{max-width:1480px;padding:13px 28px}

body.site-theme-paloalto_travel .logo{font-size:1.35rem;font-weight:900;letter-spacing:-.05em}

body.site-theme-paloalto_travel .main-nav{gap:20px}

body.site-theme-paloalto_travel .main-nav a{font-size:.62rem;font-weight:800;text-transform:uppercase}

body.site-theme-paloalto_travel .hero{min-height:740px;background:#cfd6c6;color:#181713}

body.site-theme-paloalto_travel .hero::after{background:linear-gradient(0deg,rgba(18,23,17,.28),transparent 50%)}

body.site-theme-paloalto_travel .hero-inner{max-width:1480px;grid-template-columns:.9fr 1.1fr;gap:24px;padding:70px 28px 90px}

body.site-theme-paloalto_travel .hero-inner>div:first-child{align-self:end;background:#f4efe4;border:2px solid #181713;padding:34px;max-width:580px;box-shadow:14px 14px 0 #181713}

body.site-theme-paloalto_travel .hero h1{font-size:clamp(3.5rem,6.8vw,7rem);font-weight:950;letter-spacing:-.09em;line-height:.83}

body.site-theme-paloalto_travel .hero p.sub{color:#4d4d42;line-height:1.65}

body.site-theme-paloalto_travel .hero-tag-visual{align-items:center;justify-content:center;gap:10px}

body.site-theme-paloalto_travel .hero-tag-visual .tag-card{background:#e9e1d2;border:2px solid #181713;border-radius:14px;padding:9px;box-shadow:10px 10px 0 rgba(24,23,19,.35)}

body.site-theme-paloalto_travel .hero-tag-visual .hero-product-main{width:50%;transform:rotate(-3deg) translateY(20px)!important}

body.site-theme-paloalto_travel .hero-tag-visual .hero-parallax-layer{width:22%}

body.site-theme-paloalto_travel .product-grid{grid-template-columns:repeat(4,1fr);gap:20px}

body.site-theme-paloalto_travel .tag-card{background:#f8f3e8;border:1.5px solid #181713;border-radius:12px;padding:10px;box-shadow:6px 6px 0 rgba(24,23,19,.14)}

body.site-theme-paloalto_travel .tag-card:nth-child(4n+3){transform:translateY(20px)}

body.site-theme-paloalto_travel .tag-card .tag-image{border-radius:8px;background:#e5dfd1}

body.site-theme-paloalto_travel .section-heading{border-bottom:2px solid #181713;padding-bottom:12px;margin-bottom:22px}

body.site-theme-paloalto_travel .section-heading h2{font-size:2.2rem;font-weight:900;letter-spacing:-.06em}

body.site-theme-paloalto_travel .btn-primary{border-radius:7px;background:#181713;color:#f4efe4;box-shadow:5px 5px 0 #a36e3e}

body.site-theme-paloalto_travel .luxury-product-info{border-radius:12px;background:#f8f3e8;border:1.5px solid #181713;box-shadow:8px 8px 0 rgba(24,23,19,.13)}


/* ---------- 10 WONDER IMMERSIVE / future interface ---------- */
body.site-theme-wonder_immersive{background:#090711;color:#f8f2ff}

body.site-theme-wonder_immersive::before{opacity:.06;background-size:70px 70px;background-image:linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px)}

body.site-theme-wonder_immersive .site-header{background:rgba(9,7,17,.68);border-bottom:1px solid rgba(189,166,255,.2);box-shadow:0 15px 60px rgba(0,0,0,.3)}

body.site-theme-wonder_immersive .header-inner{max-width:1500px;padding:14px 28px}

body.site-theme-wonder_immersive .logo{font-size:1.35rem;font-weight:900;letter-spacing:-.07em}

body.site-theme-wonder_immersive .main-nav{gap:9px}

body.site-theme-wonder_immersive .main-nav a{padding:7px 11px;border:1px solid rgba(189,166,255,.17);border-radius:8px;background:rgba(255,255,255,.035);font-size:.6rem}

body.site-theme-wonder_immersive .hero{min-height:840px;background:radial-gradient(circle at 18% 22%,rgba(189,166,255,.3),transparent 22%),radial-gradient(circle at 80% 34%,rgba(255,90,205,.22),transparent 20%),radial-gradient(circle at 52% 90%,rgba(74,222,214,.13),transparent 25%),#090711}

body.site-theme-wonder_immersive .hero::after{background:linear-gradient(120deg,transparent 0 45%,rgba(255,255,255,.04) 45% 46%,transparent 46%)}

body.site-theme-wonder_immersive .hero-inner{max-width:1500px;grid-template-columns:.75fr 1.25fr;gap:25px;padding:95px 28px 120px}

body.site-theme-wonder_immersive .hero-inner>div:first-child{align-self:center}

body.site-theme-wonder_immersive .hero h1{font-size:clamp(4rem,8.5vw,9rem);font-weight:950;letter-spacing:-.1em;line-height:.76;background:linear-gradient(90deg,#fff,#bda6ff 50%,#ff72d5);-webkit-background-clip:text;background-clip:text;color:transparent}

body.site-theme-wonder_immersive .hero p.sub{color:#bfb5d1;line-height:1.75}

body.site-theme-wonder_immersive .hero-tag-visual{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:center;perspective:1300px}

body.site-theme-wonder_immersive .hero-tag-visual .tag-card{background:rgba(255,255,255,.055);border:1px solid rgba(189,166,255,.25);border-radius:18px;padding:9px;backdrop-filter:blur(22px);box-shadow:0 30px 100px rgba(0,0,0,.45)}

body.site-theme-wonder_immersive .hero-tag-visual .hero-product-main{grid-column:1/3;width:60%;justify-self:center;transform:rotateX(4deg) rotateY(-5deg) translateY(-5px)!important}

body.site-theme-wonder_immersive .product-grid{grid-template-columns:repeat(4,1fr);gap:17px}

body.site-theme-wonder_immersive .tag-card{background:rgba(255,255,255,.045);border:1px solid rgba(189,166,255,.18);border-radius:18px;padding:9px;backdrop-filter:blur(16px);box-shadow:0 20px 65px rgba(0,0,0,.32)}

body.site-theme-wonder_immersive .tag-card:nth-child(4n+2){transform:translateY(25px) rotate(-1deg)}

body.site-theme-wonder_immersive .tag-card:nth-child(4n+4){transform:translateY(-18px) rotate(1deg)}

body.site-theme-wonder_immersive .tag-card .tag-image{border-radius:12px;background:#171025}

body.site-theme-wonder_immersive .section-heading{margin-bottom:24px}

body.site-theme-wonder_immersive .section-heading h2{font-size:2.7rem;font-weight:900;letter-spacing:-.08em}

body.site-theme-wonder_immersive .btn-primary{border-radius:10px;background:linear-gradient(90deg,#bda6ff,#ff72d5);color:#090711;font-weight:900;box-shadow:0 16px 55px rgba(189,166,255,.24)}

body.site-theme-wonder_immersive .luxury-product-info{border-radius:20px;background:rgba(255,255,255,.055);border:1px solid rgba(189,166,255,.2);backdrop-filter:blur(20px);box-shadow:0 30px 100px rgba(0,0,0,.4)}


/* ---------- Product-page identity: keep the same theme grammar ---------- */
body.site-theme-apex_atelier .luxury-product-page,
body.site-theme-symmetry_studio .luxury-product-page,
body.site-theme-prestige_maison .luxury-product-page,
body.site-theme-motion_gallery .luxury-product-page,
body.site-theme-broadcast_editorial .luxury-product-page,
body.site-theme-enterprise_grid .luxury-product-page,
body.site-theme-hyper_commerce .luxury-product-page,
body.site-theme-concept_objects .luxury-product-page,
body.site-theme-paloalto_travel .luxury-product-page,
body.site-theme-wonder_immersive .luxury-product-page{background:transparent}


body[class*="site-theme-"] .luxury-product-hero{position:relative}

body.site-theme-apex_atelier .luxury-product-hero>div:first-child{position:sticky;top:96px}

body.site-theme-prestige_maison .luxury-product-hero>div:first-child{position:sticky;top:105px}

body.site-theme-concept_objects .luxury-product-hero>div:first-child{position:sticky;top:105px}

body.site-theme-motion_gallery .luxury-product-hero>div:first-child,
body.site-theme-wonder_immersive .luxury-product-hero>div:first-child{position:sticky;top:105px}


/* ---------- mobile: preserve each theme's identity instead of collapsing to one skin ---------- */
@media(max-width:900px){
  body[class*="site-theme-"] .hero:not(.hero-featured-layout) .hero-inner{grid-template-columns:1fr!important;padding:54px var(--theme-editor-mobile-padding,16px) 72px!important;gap:28px!important}
  body[class*="site-theme-"] .hero{min-height:auto!important}
  body[class*="site-theme-"] .hero:not(.hero-featured-layout) .hero-inner>div:first-child{padding:0!important;border:0!important;box-shadow:none!important;max-width:none!important}
  body.site-theme-apex_atelier .hero:not(.hero-featured-layout) .hero-inner>div:first-child{padding-top:30px!important}
  body.site-theme-symmetry_studio .hero:not(.hero-featured-layout) .hero-inner>div:first-child{background:transparent}
  body.site-theme-prestige_maison .hero:not(.hero-featured-layout) .hero-inner{padding-top:65px!important}
  body.site-theme-motion_gallery .hero-tag-visual{min-height:420px}
  body.site-theme-broadcast_editorial .hero:not(.hero-featured-layout) .hero-inner>div:first-child{border:0}
  body.site-theme-enterprise_grid .hero-tag-visual{grid-template-columns:1fr 1fr}
  body.site-theme-hyper_commerce .hero-tag-visual{min-height:430px}
  body.site-theme-concept_objects .hero:not(.hero-featured-layout) .hero-inner>div:first-child{padding-top:10px!important}
  body.site-theme-paloalto_travel .hero:not(.hero-featured-layout) .hero-inner>div:first-child{border:0;box-shadow:none}
  body.site-theme-wonder_immersive .hero-tag-visual{min-height:430px}
  body[class*="site-theme-"] .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  body.site-theme-prestige_maison .product-grid,
  body.site-theme-concept_objects .product-grid{gap:18px!important}
  body[class*="site-theme-"] .tag-card:nth-child(n){transform:none}
  body.site-theme-symmetry_studio .tag-card:nth-child(2n),
  body.site-theme-hyper_commerce .tag-card:nth-child(4n+2),
  body.site-theme-paloalto_travel .tag-card:nth-child(4n+3),
  body.site-theme-wonder_immersive .tag-card:nth-child(4n+2),
  body.site-theme-wonder_immersive .tag-card:nth-child(4n+4){transform:none}
  body[class*="site-theme-"] .section-heading h2{font-size:1.9rem}
  body.site-theme-prestige_maison .section-heading h2,
  body.site-theme-concept_objects .section-heading h2{font-size:2.25rem}
}


@media(max-width:560px){
  body[class*="site-theme-"] .hero h1{font-size:clamp(2.9rem,14vw,4.8rem)!important}
  body[class*="site-theme-"] .hero-tag-visual{gap:8px!important}
  body[class*="site-theme-"] .hero-tag-visual .hero-product-main{width:58%!important}
  body[class*="site-theme-"] .hero-tag-visual .hero-parallax-layer{width:20%!important}
  body[class*="site-theme-"] .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.site-theme-enterprise_grid .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.site-theme-prestige_maison .product-grid,
  body.site-theme-concept_objects .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body[class*="site-theme-"] .luxury-product-info{padding:20px!important}
}


/* Accessibility: never let the identity layer lower the contrast of functional copy. */
body[class*="site-theme-"] .ct-delivery-promise,
body[class*="site-theme-"] .ct-delivery-promise *{opacity:1}

body.appearance-light[class*="site-theme-"] .ct-delivery-promise,
body.appearance-light[class*="site-theme-"] .ct-delivery-promise *{text-shadow:none}

/* ---- from storefront-v86.css ---- */
/* Comfortrek v86 — storefront stability + universal light-mode contrast
   Fixes:
   1. Cart drawer must NEVER render open on initial page load.
   2. Light-mode storefront copy/buttons must remain readable regardless of theme.
   3. Theme-specific visual identity is preserved; this layer only hardens contrast.
*/

/* ---------- Cart drawer: closed is the only initial state ---------- */
html body #cart-drawer.cart-drawer:not(.open){
  right:-430px !important;
  visibility:hidden !important;
  pointer-events:none !important;
  opacity:0 !important;
}

html body #cart-drawer.cart-drawer.open{
  right:0 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  opacity:1 !important;
}

html body #cart-drawer-overlay.drawer-overlay:not(.open){
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
  opacity:0 !important;
}

html body #cart-drawer-overlay.drawer-overlay.open{
  display:block !important;
  visibility:visible !important;
  pointer-events:auto !important;
  opacity:1 !important;
}


/* Drawer itself follows appearance instead of inheriting a theme's low-contrast surface. */
body.appearance-light #cart-drawer,
body.appearance-auto.appearance-light #cart-drawer{
  background:#ffffff !important;
  color:#171717 !important;
  border-left:1px solid rgba(23,23,23,.10);
}

body.appearance-dark #cart-drawer,
body.appearance-auto.appearance-dark #cart-drawer{
  background:#111316 !important;
  color:#f5f5f3 !important;
  border-left:1px solid rgba(255,255,255,.12);
}

body.appearance-light #cart-drawer .drawer-header,
body.appearance-light #cart-drawer .drawer-footer,
body.appearance-auto.appearance-light #cart-drawer .drawer-header,
body.appearance-auto.appearance-light #cart-drawer .drawer-footer{border-color:rgba(23,23,23,.12) !important}

body.appearance-dark #cart-drawer .drawer-header,
body.appearance-dark #cart-drawer .drawer-footer,
body.appearance-auto.appearance-dark #cart-drawer .drawer-header,
body.appearance-auto.appearance-dark #cart-drawer .drawer-footer{border-color:rgba(255,255,255,.12) !important}


/* ---------- Light-mode contrast floor ---------- */
body.appearance-light[class*="site-theme-"],
body.appearance-auto.appearance-light[class*="site-theme-"]{
  --ct-v86-text:#17191b;
  --ct-v86-muted:#5d646b;
  --ct-v86-border:rgba(23,25,27,.16);
  --ct-v86-control:#17191b;
  --ct-v86-control-text:#ffffff;
}


body.appearance-light[class*="site-theme-"] .tag-card,
body.appearance-auto.appearance-light[class*="site-theme-"] .tag-card,
body.appearance-light[class*="site-theme-"] .product-card,
body.appearance-auto.appearance-light[class*="site-theme-"] .product-card{
  color:var(--ct-v86-text) !important;
}

body.appearance-light[class*="site-theme-"] .tag-card h3,
body.appearance-light[class*="site-theme-"] .tag-card .price,
body.appearance-light[class*="site-theme-"] .tag-card .spec-line,
body.appearance-light[class*="site-theme-"] .tag-card a,
body.appearance-light[class*="site-theme-"] .tag-card .compare-checkbox-label,
body.appearance-auto.appearance-light[class*="site-theme-"] .tag-card h3,
body.appearance-auto.appearance-light[class*="site-theme-"] .tag-card .price,
body.appearance-auto.appearance-light[class*="site-theme-"] .tag-card .spec-line,
body.appearance-auto.appearance-light[class*="site-theme-"] .tag-card a,
body.appearance-auto.appearance-light[class*="site-theme-"] .tag-card .compare-checkbox-label{
  color:var(--ct-v86-text) !important;
  opacity:1 !important;
  text-shadow:none !important;
}

body.appearance-light[class*="site-theme-"] .tag-card .spec-line,
body.appearance-light[class*="site-theme-"] .tag-card .compare-checkbox-label,
body.appearance-auto.appearance-light[class*="site-theme-"] .tag-card .spec-line,
body.appearance-auto.appearance-light[class*="site-theme-"] .tag-card .compare-checkbox-label{
  color:var(--ct-v86-muted) !important;
}


/* Buttons are explicit; never depend on inherited text colour. */
body.appearance-light[class*="site-theme-"] .add-to-cart-btn,
body.appearance-auto.appearance-light[class*="site-theme-"] .add-to-cart-btn{
  background:#17191b !important;
  color:#ffffff !important;
  border:1px solid #17191b !important;
  opacity:1 !important;
  text-shadow:none !important;
}

body.appearance-light[class*="site-theme-"] .quick-view-btn,
body.appearance-auto.appearance-light[class*="site-theme-"] .quick-view-btn{
  background:#ffffff !important;
  color:#17191b !important;
  border-color:rgba(23,25,27,.24) !important;
}

body.appearance-light[class*="site-theme-"] .btn-primary,
body.appearance-auto.appearance-light[class*="site-theme-"] .btn-primary{
  color:#ffffff !important;
  text-shadow:none !important;
  opacity:1 !important;
}


/* Hero/section supporting copy. */
body.appearance-light[class*="site-theme-"] .hero p.sub,
body.appearance-auto.appearance-light[class*="site-theme-"] .hero p.sub,
body.appearance-light[class*="site-theme-"] .section-heading small,
body.appearance-auto.appearance-light[class*="site-theme-"] .section-heading small{
  color:var(--ct-v86-muted) !important;
  opacity:1 !important;
  text-shadow:none !important;
}

body.appearance-light[class*="site-theme-"] .hero h1,
body.appearance-light[class*="site-theme-"] .section-heading h2,
body.appearance-auto.appearance-light[class*="site-theme-"] .hero h1,
body.appearance-auto.appearance-light[class*="site-theme-"] .section-heading h2{
  opacity:1 !important;
  text-shadow:none !important;
}


/* Header controls in light mode. */
body.appearance-light[class*="site-theme-"] .header-actions button,
body.appearance-light[class*="site-theme-"] .header-actions a,
body.appearance-auto.appearance-light[class*="site-theme-"] .header-actions button,
body.appearance-auto.appearance-light[class*="site-theme-"] .header-actions a{
  opacity:1 !important;
  text-shadow:none !important;
}


/* Footer: readable but still theme-specific. */
body.appearance-light[class*="site-theme-"] .site-footer,
body.appearance-auto.appearance-light[class*="site-theme-"] .site-footer{
  color:var(--ct-v86-text) !important;
}

body.appearance-light[class*="site-theme-"] .site-footer a,
body.appearance-light[class*="site-theme-"] .site-footer p,
body.appearance-light[class*="site-theme-"] .site-footer li,
body.appearance-auto.appearance-light[class*="site-theme-"] .site-footer a,
body.appearance-auto.appearance-light[class*="site-theme-"] .site-footer p,
body.appearance-auto.appearance-light[class*="site-theme-"] .site-footer li{
  color:var(--ct-v86-text) !important;
  opacity:1 !important;
}


/* Product cards: make badges and secondary controls readable. */
body.appearance-light[class*="site-theme-"] .product-badge,
body.appearance-auto.appearance-light[class*="site-theme-"] .product-badge{
  opacity:1 !important;
}

body.appearance-light[class*="site-theme-"] .sale-price-old,
body.appearance-auto.appearance-light[class*="site-theme-"] .sale-price-old{
  color:#697078 !important;
  opacity:1 !important;
}


/* Avoid decorative theme overlays reducing legibility. */
body.appearance-light[class*="site-theme-"] .hero::before,
body.appearance-light[class*="site-theme-"] .hero::after,
body.appearance-auto.appearance-light[class*="site-theme-"] .hero::before,
body.appearance-auto.appearance-light[class*="site-theme-"] .hero::after{
  pointer-events:none;
}


@media(max-width:560px){
  html body #cart-drawer.cart-drawer:not(.open){right:-100vw !important;}
  body.appearance-light[class*="site-theme-"] .tag-card .add-to-cart-btn,
  body.appearance-auto.appearance-light[class*="site-theme-"] .tag-card .add-to-cart-btn{
    min-height:38px;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.01em;
  }
}


/* v86: generic storefront card copy reset for every light theme, including legacy themes. */
body.appearance-light .tag-card,
body.appearance-auto.appearance-light .tag-card,
body.appearance-light .product-card,
body.appearance-auto.appearance-light .product-card{
  color:#17191b !important;
}

body.appearance-light .tag-card h3,
body.appearance-light .tag-card .price,
body.appearance-light .tag-card .spec-line,
body.appearance-light .tag-card .compare-checkbox-label,
body.appearance-auto.appearance-light .tag-card h3,
body.appearance-auto.appearance-light .tag-card .price,
body.appearance-auto.appearance-light .tag-card .spec-line,
body.appearance-auto.appearance-light .tag-card .compare-checkbox-label{
  color:#17191b !important;
  opacity:1 !important;
}

body.appearance-light .tag-card .spec-line,
body.appearance-light .tag-card .compare-checkbox-label,
body.appearance-auto.appearance-light .tag-card .spec-line,
body.appearance-auto.appearance-light .tag-card .compare-checkbox-label{
  color:#5d646b !important;
}

body.appearance-light .tag-card a,
body.appearance-auto.appearance-light .tag-card a{opacity:1 !important;text-shadow:none !important;}

body.appearance-light .add-to-cart-btn,
body.appearance-auto.appearance-light .add-to-cart-btn{
  min-height:38px;
  font-weight:700;
  opacity:1 !important;
  text-shadow:none !important;
}

body.appearance-light .quick-view-btn,
body.appearance-auto.appearance-light .quick-view-btn{
  opacity:1 !important;
  color:#17191b !important;
  background:#fff !important;
  border-color:rgba(23,25,27,.22) !important;
}

/* ---- from storefront-v87.css ---- */
/* Comfortrek v87 — homepage whitespace / blank-state hardening
   - No artificial gap between header and storefront content.
   - Homepage gets a real content shell instead of an empty-height spacer.
   - Safe defaults are rendered by HomeController when section rows are absent.
*/
html, body { margin:0 !important; }

body.home-page { padding-top:0 !important; }

body.home-page .storefront-home {
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
}

body.home-page .storefront-home > :first-child { margin-top:0 !important; }

body.home-page .storefront-home .hero:first-child,
body.home-page .storefront-home .premium-hero:first-child { margin-top:0 !important; }

/* If a legacy theme leaves an empty section wrapper, it must not create a giant blank block. */
body.home-page .storefront-home > section:empty,
body.home-page .storefront-home > div:empty { display:none !important; height:0 !important; min-height:0 !important; padding:0 !important; margin:0 !important; }

@media (max-width:700px){
  body.home-page .storefront-home { padding-bottom:0 !important; }
}

/* ---- from storefront-v88.css ---- */
/* Comfortrek v88 — storefront runtime/content hardening */

/* An accidentally empty hero must never consume a mobile viewport. */
body.home-page .storefront-home > .hero:empty,
body.home-page .storefront-home > .premium-hero:empty {
  display:none !important;
  min-height:0 !important;
  height:0 !important;
  padding:0 !important;
  margin:0 !important;
}


/* Explicit footer contrast. Do not let a theme inherit low-contrast text.
   v116: scoped to :not(.appearance-light) - the "Midnight Footer" admin
   style should stay dark-with-white-text in Dark mode, but must not
   force white-on-white when the site is switched to Light mode; the
   V116 contrast block at the end of this file owns Light mode footer
   colour instead. */
body.theme-footer-dark:not(.appearance-light) .site-footer { color:#f5f5f2 !important; }

body.theme-footer-dark:not(.appearance-light) .site-footer h4 { color:#fff !important; }

body.theme-footer-dark:not(.appearance-light) .site-footer a,
body.theme-footer-dark:not(.appearance-light) .site-footer p,
body.theme-footer-dark:not(.appearance-light) .site-footer .footer-contact,
body.theme-footer-dark:not(.appearance-light) .site-footer .footer-bottom {
  color:#e9e9e5 !important;
  opacity:1 !important;
}

body.theme-footer-light .site-footer { color:#17191b !important; }

body.theme-footer-light .site-footer h4 { color:#111315 !important; }

body.theme-footer-light .site-footer a,
body.theme-footer-light .site-footer p,
body.theme-footer-light .site-footer .footer-contact,
body.theme-footer-light .site-footer .footer-bottom {
  color:#3f464c !important;
  opacity:1 !important;
}

body[class*="site-theme-"] .site-footer a:hover { opacity:1 !important; }


@media (max-width:700px){
  body.home-page .storefront-home { min-height:0 !important; }
  body.theme-footer-dark .site-footer,
  body.theme-footer-light .site-footer { text-shadow:none !important; }
}

/* ---- from storefront-v90.css ---- */
/* Comfortrek v90 — non-empty homepage guarantee */
html body.home-page #storefront-home{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;min-height:1px!important;margin:0!important;padding:0!important;position:relative!important;z-index:1!important;}

html body.home-page #storefront-home .ct-home-runtime-fallback{display:block!important;visibility:visible!important;opacity:1!important;}

/* ---- from storefront-v91.css ---- */
/* Comfortrek v91 — section authority + light-mode readability
   - Admin section toggles are authoritative.
   - An empty homepage has zero layout height; no spacer/hero shell is reserved.
   - Light mode gets an explicit readable text floor across all storefront modules.
*/

/* Empty means truly empty. Never reserve a hero-sized block when every section is off. */
html body.home-page #storefront-home:empty,
html body.home-page #storefront-home[data-home-sections="0"] {
  display:block !important;
  width:100% !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

html body.home-page #storefront-home {
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  visibility:visible !important;
  opacity:1 !important;
}

html body.home-page #storefront-home > * { max-width:100%; }


/* Light mode: explicit contrast variables. */
html body.appearance-light,
html body.appearance-auto.appearance-light {
  --ct-light-text:#17191b;
  --ct-light-muted:#525a62;
  --ct-light-faint:#68717a;
  --ct-light-border:rgba(23,25,27,.18);
  --ct-light-surface:#ffffff;
}


/* Common light surfaces. */
html body.appearance-light .home-custom.theme-soft,
html body.appearance-light .home-custom.theme-warm,
html body.appearance-light .home-custom.theme-plain,
html body.appearance-auto.appearance-light .home-custom.theme-soft,
html body.appearance-auto.appearance-light .home-custom.theme-warm,
html body.appearance-auto.appearance-light .home-custom.theme-plain {
  color:var(--ct-light-text) !important;
}

html body.appearance-light .home-custom.theme-soft *,
html body.appearance-light .home-custom.theme-warm *,
html body.appearance-light .home-custom.theme-plain *,
html body.appearance-auto.appearance-light .home-custom.theme-soft *,
html body.appearance-auto.appearance-light .home-custom.theme-warm *,
html body.appearance-auto.appearance-light .home-custom.theme-plain * {
  text-shadow:none !important;
}

html body.appearance-light .home-custom.theme-soft h2,
html body.appearance-light .home-custom.theme-warm h2,
html body.appearance-light .home-custom.theme-plain h2,
html body.appearance-auto.appearance-light .home-custom.theme-soft h2,
html body.appearance-auto.appearance-light .home-custom.theme-warm h2,
html body.appearance-auto.appearance-light .home-custom.theme-plain h2 { color:var(--ct-light-text) !important; opacity:1 !important; }

html body.appearance-light .home-custom.theme-soft p,
html body.appearance-light .home-custom.theme-warm p,
html body.appearance-light .home-custom.theme-plain p,
html body.appearance-auto.appearance-light .home-custom.theme-soft p,
html body.appearance-auto.appearance-light .home-custom.theme-warm p,
html body.appearance-auto.appearance-light .home-custom.theme-plain p { color:var(--ct-light-muted) !important; opacity:1 !important; }


/* Product/category cards and generic section copy. */
html body.appearance-light .tag-card,
html body.appearance-light .product-card,
html body.appearance-auto.appearance-light .tag-card,
html body.appearance-auto.appearance-light .product-card { color:var(--ct-light-text) !important; }

html body.appearance-light .tag-card h3,
html body.appearance-light .tag-card .price,
html body.appearance-light .tag-card a,
html body.appearance-light .product-card h3,
html body.appearance-light .product-card .price,
html body.appearance-light .product-card a,
html body.appearance-auto.appearance-light .tag-card h3,
html body.appearance-auto.appearance-light .tag-card .price,
html body.appearance-auto.appearance-light .tag-card a,
html body.appearance-auto.appearance-light .product-card h3,
html body.appearance-auto.appearance-light .product-card .price,
html body.appearance-auto.appearance-light .product-card a {
  color:var(--ct-light-text) !important;
  opacity:1 !important;
  text-shadow:none !important;
}

html body.appearance-light .tag-card .spec-line,
html body.appearance-light .tag-card .compare-checkbox-label,
html body.appearance-light .product-card small,
html body.appearance-light .product-card .spec-line,
html body.appearance-auto.appearance-light .tag-card .spec-line,
html body.appearance-auto.appearance-light .tag-card .compare-checkbox-label,
html body.appearance-auto.appearance-light .product-card small,
html body.appearance-auto.appearance-light .product-card .spec-line {
  color:var(--ct-light-muted) !important;
  opacity:1 !important;
}


/* Homepage headings / stamps / secondary copy. */
html body.appearance-light .section-heading h2,
html body.appearance-auto.appearance-light .section-heading h2,
html body.appearance-light .home-custom-head h2,
html body.appearance-auto.appearance-light .home-custom-head h2,
html body.appearance-light .home-faq-heading h2,
html body.appearance-auto.appearance-light .home-faq-heading h2 { color:var(--ct-light-text) !important; opacity:1 !important; }

html body.appearance-light .section-heading .stamp,
html body.appearance-auto.appearance-light .section-heading .stamp,
html body.appearance-light .home-custom-eyebrow,
html body.appearance-auto.appearance-light .home-custom-eyebrow,
html body.appearance-light .home-faq-kicker,
html body.appearance-auto.appearance-light .home-faq-kicker { color:var(--ct-light-muted) !important; opacity:1 !important; }


/* FAQ cards. */
html body.appearance-light .home-faq-item,
html body.appearance-auto.appearance-light .home-faq-item { color:var(--ct-light-text) !important; background:rgba(255,255,255,.92) !important; border-color:var(--ct-light-border) !important; }

html body.appearance-light .home-faq-answer,
html body.appearance-auto.appearance-light .home-faq-answer { color:var(--ct-light-muted) !important; opacity:1 !important; }


/* Lifestyle module already has a light surface; make every text node explicit. */
html body.appearance-light .lifestyle-showcase,
html body.appearance-auto.appearance-light .lifestyle-showcase { color:var(--ct-light-text) !important; }

html body.appearance-light .lifestyle-head h2,
html body.appearance-auto.appearance-light .lifestyle-head h2,
html body.appearance-light .lifestyle-review-text,
html body.appearance-auto.appearance-light .lifestyle-review-text,
html body.appearance-light .lifestyle-reviewer strong,
html body.appearance-auto.appearance-light .lifestyle-reviewer strong { color:var(--ct-light-text) !important; opacity:1 !important; }

html body.appearance-light .lifestyle-head p,
html body.appearance-auto.appearance-light .lifestyle-head p,
html body.appearance-light .lifestyle-reviewer,
html body.appearance-auto.appearance-light .lifestyle-reviewer,
html body.appearance-light .lifestyle-product span,
html body.appearance-auto.appearance-light .lifestyle-product span { color:var(--ct-light-muted) !important; opacity:1 !important; }


/* Light hero variant: never let inherited theme opacity wash the copy out. */
html body.appearance-light .hero:not(.dark-surface),
html body.appearance-auto.appearance-light .hero:not(.dark-surface) { color:var(--ct-light-text); }

html body.appearance-light .hero:not(.dark-surface) h1,
html body.appearance-auto.appearance-light .hero:not(.dark-surface) h1 { color:var(--ct-light-text) !important; opacity:1 !important; text-shadow:none !important; }

html body.appearance-light .hero:not(.dark-surface) p.sub,
html body.appearance-auto.appearance-light .hero:not(.dark-surface) p.sub { color:var(--ct-light-muted) !important; opacity:1 !important; }


/* Never hide homepage content while images load. */
html body.home-page #storefront-home img { content-visibility:visible; }


@media(max-width:700px){
  html body.home-page #storefront-home:empty,
  html body.home-page #storefront-home[data-home-sections="0"] { height:0 !important; min-height:0 !important; }
}

/* ---- from storefront-v94.css ---- */



/* Comfortrek v94 — cart drawer authoritative initial state.
   The drawer is CLOSED unless its own data-cart-state is explicitly "open".
   This prevents stale .open classes, hydration races and bfcache state from
   rendering the drawer on homepage entry. */
html body #cart-drawer.cart-drawer[data-cart-state="closed"],
html body #cart-drawer.cart-drawer[aria-hidden="true"] {
  right:-105vw !important;
  visibility:hidden !important;
  pointer-events:none !important;
  opacity:0 !important;
  transform:translateX(0) !important;
}

/* ---- from storefront-v95.css ---- */
/* Comfortrek v92 — homepage layout contract + theme readability
   Root rules:
   1) no inactive/empty section reserves layout space;
   2) first active section starts immediately after the header;
   3) invalid hero CMS rows cannot create an invisible 78vh block;
   4) light mode gets a readable text floor on light surfaces.
*/
html body.home-page #storefront-home{
  display:block!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  visibility:visible!important;
  opacity:1!important;
}

html body.home-page #storefront-home > :first-child{
  margin-top:0!important;
  padding-top:0;
}

html body.home-page #storefront-home > .hero,
html body.home-page #storefront-home > .premium-hero,
html body.home-page #storefront-home > .banner-carousel,
html body.home-page #storefront-home > .sale-promo-strip,
html body.home-page #storefront-home > .marketplace-band,
html body.home-page #storefront-home > .instagram-showcase,
html body.home-page #storefront-home > .video-slider-section,
html body.home-page #storefront-home > .lifestyle-showcase,
html body.home-page #storefront-home > .home-faq,
html body.home-page #storefront-home > .pa-editorial-wrap{
  margin-top:0!important;
}

html body.home-page #storefront-home:empty{
  display:block!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}

html body.home-page #storefront-home .home-render-state{display:none!important}


/* Invalid/empty hero slides are filtered in PHP. This is a final defensive rule
   for legacy markup that may still contain an empty carousel. */
html body.home-page #storefront-home > .premium-hero:has(.hero-slide){
  min-height:min(78vh,760px);
}

html body.home-page #storefront-home > .premium-hero:not(:has(.hero-slide)){
  display:none!important;
  height:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
}


/* Light-mode contrast floor for storefront surfaces. */
html body.appearance-light #storefront-home,
html body.appearance-auto.appearance-light #storefront-home{
  --ct-text:#17191b;
  --ct-muted:#4e565e;
  --ct-faint:#5f6871;
  --ct-line:rgba(23,25,27,.18);
}

html body.appearance-light #storefront-home .section-heading h2,
html body.appearance-auto.appearance-light #storefront-home .section-heading h2,
html body.appearance-light #storefront-home .home-custom h2,
html body.appearance-auto.appearance-light #storefront-home .home-custom h2,
html body.appearance-light #storefront-home .home-faq-heading h2,
html body.appearance-auto.appearance-light #storefront-home .home-faq-heading h2,
html body.appearance-light #storefront-home .instagram-showcase h2,
html body.appearance-auto.appearance-light #storefront-home .instagram-showcase h2{
  color:var(--ct-text)!important;
  opacity:1!important;
}

html body.appearance-light #storefront-home .section-heading .stamp,
html body.appearance-auto.appearance-light #storefront-home .section-heading .stamp,
html body.appearance-light #storefront-home p,
html body.appearance-auto.appearance-light #storefront-home p{
  color:var(--ct-muted)!important;
  opacity:1!important;
}

html body.appearance-light #storefront-home .tag-card,
html body.appearance-light #storefront-home .product-card,
html body.appearance-auto.appearance-light #storefront-home .tag-card,
html body.appearance-auto.appearance-light #storefront-home .product-card{
  color:var(--ct-text)!important;
}

html body.appearance-light #storefront-home .tag-card h3,
html body.appearance-light #storefront-home .tag-card .price,
html body.appearance-light #storefront-home .product-card h3,
html body.appearance-light #storefront-home .product-card .price,
html body.appearance-auto.appearance-light #storefront-home .tag-card h3,
html body.appearance-auto.appearance-light #storefront-home .tag-card .price,
html body.appearance-auto.appearance-light #storefront-home .product-card h3,
html body.appearance-auto.appearance-light #storefront-home .product-card .price{
  color:var(--ct-text)!important;
  opacity:1!important;
}

html body.appearance-light #storefront-home .tag-card small,
html body.appearance-light #storefront-home .tag-card .spec-line,
html body.appearance-light #storefront-home .product-card small,
html body.appearance-light #storefront-home .product-card .spec-line,
html body.appearance-auto.appearance-light #storefront-home .tag-card small,
html body.appearance-auto.appearance-light #storefront-home .tag-card .spec-line,
html body.appearance-auto.appearance-light #storefront-home .product-card small,
html body.appearance-auto.appearance-light #storefront-home .product-card .spec-line{
  color:var(--ct-muted)!important;
  opacity:1!important;
}

html body.appearance-light #storefront-home .home-faq-item,
html body.appearance-auto.appearance-light #storefront-home .home-faq-item{
  color:var(--ct-text)!important;
  border-color:var(--ct-line)!important;
}

html body.appearance-light #storefront-home .home-faq-answer,
html body.appearance-auto.appearance-light #storefront-home .home-faq-answer{
  color:var(--ct-muted)!important;
  opacity:1!important;
}


/* Dark modules retain white text even when the global appearance is light. */
html body.appearance-light #storefront-home .hero,
html body.appearance-light #storefront-home .premium-hero,
html body.appearance-light #storefront-home .dark-surface,
html body.appearance-auto.appearance-light #storefront-home .hero,
html body.appearance-auto.appearance-light #storefront-home .premium-hero,
html body.appearance-auto.appearance-light #storefront-home .dark-surface{
  color:#fff;
}

html body.appearance-light #storefront-home .hero h1,
html body.appearance-light #storefront-home .premium-hero h1,
html body.appearance-light #storefront-home .hero p,
html body.appearance-light #storefront-home .premium-hero p,
html body.appearance-auto.appearance-light #storefront-home .hero h1,
html body.appearance-auto.appearance-light #storefront-home .premium-hero h1,
html body.appearance-auto.appearance-light #storefront-home .hero p,
html body.appearance-auto.appearance-light #storefront-home .premium-hero p{
  color:#fff!important;
  opacity:1!important;
}


@media(max-width:700px){
  html body.home-page #storefront-home{min-height:0!important}
}


/* Comfortrek v93 — final homepage whitespace contract
   This is intentionally loaded last because the storefront currently carries
   legacy CSS layers. The homepage must never inherit a reserved spacer from an
   older theme/module.
*/
html body.home-page #storefront-home,
html body.home-page #storefront-home > *:first-child {
  margin-top:0!important;
}

html body.home-page #storefront-home > *:first-child {
  padding-top:0!important;
}

html body.home-page #storefront-home > .premium-hero:not(:has(.hero-slide)),
html body.home-page #storefront-home > .hero:empty,
html body.home-page #storefront-home > .banner-carousel:empty,
html body.home-page #storefront-home > .sale-promo-strip:empty,
html body.home-page #storefront-home > .marketplace-band:empty,
html body.home-page #storefront-home > .instagram-showcase:empty,
html body.home-page #storefront-home > .video-slider-section:empty,
html body.home-page #storefront-home > .lifestyle-showcase:empty,
html body.home-page #storefront-home > .home-faq:empty,
html body.home-page #storefront-home > .pa-editorial-wrap:empty {
  display:none!important;
  width:0!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}


/* These controls are overlays/drawers, never normal-flow homepage content. */
html body .mobile-search-row { display:none!important; }

html body .mobile-menu-backdrop { display:block; opacity:0; visibility:hidden; pointer-events:none; }

html body .mobile-menu-backdrop.open { opacity:1; visibility:visible; pointer-events:auto; }

html body .mobile-menu-drawer { transform:translateX(-102%); }

html body .mobile-menu-drawer.open { transform:translateX(0); }

html body .cart-drawer:not(.open) { right:-105vw!important; visibility:hidden!important; pointer-events:none!important; }

html body .drawer-overlay:not(.open) { display:none!important; pointer-events:none!important; }


@media(max-width:760px){
  html body.home-page #storefront-home { padding-top:0!important; margin-top:0!important; }
  html body.home-page #storefront-home > *:first-child { margin-top:0!important; padding-top:0!important; }
}



/* Comfortrek v95 — cart drawer authoritative initial state.
   The drawer is CLOSED unless its own data-cart-state is explicitly "open".
   This prevents stale .open classes, hydration races and bfcache state from
   rendering the drawer on homepage entry. */
html body #cart-drawer.cart-drawer[data-cart-state="closed"],
html body #cart-drawer.cart-drawer[aria-hidden="true"] {
  right:-105vw !important;
  visibility:hidden !important;
  pointer-events:none !important;
  opacity:0 !important;
  transform:translateX(0) !important;
}

html body #cart-drawer-overlay.drawer-overlay[data-cart-state="closed"],
html body #cart-drawer-overlay.drawer-overlay[aria-hidden="true"] {
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
  opacity:0 !important;
}

html body #cart-drawer.cart-drawer[data-cart-state="open"][aria-hidden="false"] {
  right:0 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  opacity:1 !important;
}

html body #cart-drawer-overlay.drawer-overlay[data-cart-state="open"][aria-hidden="false"] {
  display:block !important;
  visibility:visible !important;
  pointer-events:auto !important;
  opacity:1 !important;
}



/* Comfortrek v95 — server-first cart closed state.
   Hidden is intentional: the drawer must not paint during initial page load. */
html body #cart-drawer[hidden],
html body #cart-drawer-overlay[hidden] {
  display:none!important;
}

html body #cart-drawer.cart-drawer[data-cart-state="closed"],
html body #cart-drawer.cart-drawer[aria-hidden="true"] {
  right:-105vw!important; visibility:hidden!important; pointer-events:none!important; opacity:0!important;
}
/* ================================================================
   Comfortrek v97 — Phase 1 / Storefront Stability Contract
   Single final-state layer. Historical v86-v95 rules remain for
   backwards compatibility, but these selectors define the current
   authoritative behavior.
   ================================================================ */

/* Homepage: normal document flow. Never reserve a phantom viewport. */
html body.home-page #storefront-home {
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  visibility:visible !important;
  opacity:1 !important;
}
html body.home-page #storefront-home[data-home-rendered="empty"] {
  display:block !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
}
html body.home-page #storefront-home > .home-render-state { display:none !important; }
html body.home-page #storefront-home > *:first-child { margin-top:0 !important; }

/* Cart: server-first CLOSED. Only explicit open state can paint it. */
html body #cart-drawer[hidden],
html body #cart-drawer-overlay[hidden],
html body #cart-drawer[data-cart-state="closed"],
html body #cart-drawer-overlay[data-cart-state="closed"],
html body #cart-drawer[aria-hidden="true"],
html body #cart-drawer-overlay[aria-hidden="true"] {
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
  opacity:0 !important;
}
html body #cart-drawer[data-cart-state="open"][aria-hidden="false"],
html body #cart-drawer-overlay[data-cart-state="open"][aria-hidden="false"] {
  visibility:visible !important;
  pointer-events:auto !important;
  opacity:1 !important;
}
html body #cart-drawer[data-cart-state="open"][aria-hidden="false"] { display:block !important; }
html body #cart-drawer-overlay[data-cart-state="open"][aria-hidden="false"] { display:block !important; }

/* Common light-mode text floor; dark surfaces retain their own theme contrast. */
body.appearance-light[class*="site-theme-"] .storefront-home,
body.appearance-auto.appearance-light[class*="site-theme-"] .storefront-home {
  --ct-ui-text:#17191b;
  --ct-ui-muted:#4f565d;
  --ct-ui-border:rgba(23,25,27,.18);
}
body.appearance-light[class*="site-theme-"] .storefront-home .product-card h3,
body.appearance-light[class*="site-theme-"] .storefront-home .product-card .product-name,
body.appearance-light[class*="site-theme-"] .storefront-home .product-card .price,
body.appearance-light[class*="site-theme-"] .storefront-home .section-title,
body.appearance-light[class*="site-theme-"] .storefront-home .section-heading,
body.appearance-auto.appearance-light[class*="site-theme-"] .storefront-home .product-card h3,
body.appearance-auto.appearance-light[class*="site-theme-"] .storefront-home .product-card .product-name,
body.appearance-auto.appearance-light[class*="site-theme-"] .storefront-home .product-card .price,
body.appearance-auto.appearance-light[class*="site-theme-"] .storefront-home .section-title,
body.appearance-auto.appearance-light[class*="site-theme-"] .storefront-home .section-heading {
  color:var(--ct-ui-text) !important;
  opacity:1 !important;
}
body.appearance-light[class*="site-theme-"] .storefront-home .product-card small,
body.appearance-light[class*="site-theme-"] .storefront-home .spec-line,
body.appearance-light[class*="site-theme-"] .storefront-home .section-subtitle,
body.appearance-light[class*="site-theme-"] .storefront-home .eyebrow,
body.appearance-auto.appearance-light[class*="site-theme-"] .storefront-home .product-card small,
body.appearance-auto.appearance-light[class*="site-theme-"] .storefront-home .spec-line,
body.appearance-auto.appearance-light[class*="site-theme-"] .storefront-home .section-subtitle,
body.appearance-auto.appearance-light[class*="site-theme-"] .storefront-home .eyebrow {
  color:var(--ct-ui-muted) !important;
  opacity:1 !important;
}
body.appearance-light[class*="site-theme-"] .site-footer a,
body.appearance-light[class*="site-theme-"] .site-footer p,
body.appearance-light[class*="site-theme-"] .site-footer h4,
body.appearance-auto.appearance-light[class*="site-theme-"] .site-footer a,
body.appearance-auto.appearance-light[class*="site-theme-"] .site-footer p,
body.appearance-auto.appearance-light[class*="site-theme-"] .site-footer h4 {
  opacity:1 !important;
}

@media (max-width:760px){
  html body.home-page #storefront-home { margin:0 !important; padding:0 !important; }
  html body.home-page #storefront-home > *:first-child { margin-top:0 !important; padding-top:0 !important; }
}

/* PHASE 2 — Real Theme Identity */
body.theme-archetype-editorial .site-header{backdrop-filter:blur(14px)}
body.theme-archetype-minimal .site-header{box-shadow:none;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent)}
body.theme-archetype-immersive .site-header{position:absolute;top:0;left:0;right:0;z-index:50;background:transparent;color:#fff}
body.theme-archetype-utility .site-header{border-bottom:2px solid currentColor}.theme-archetype-utility .main-nav{font-family:ui-monospace,SFMono-Regular,monospace;text-transform:uppercase;letter-spacing:.04em}
body.theme-archetype-gallery .product-card{border-radius:0;box-shadow:none}
body.theme-archetype-luxury .product-card{box-shadow:0 22px 55px rgba(0,0,0,.12)}
body.theme-hero-layout-split .hero-section{display:grid;grid-template-columns:1fr 1fr;min-height:var(--theme-editor-hero-height)}
body.theme-hero-layout-asymmetric .hero-section{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);min-height:var(--theme-editor-hero-height)}
body.theme-hero-layout-centered .hero-section .hero-content{text-align:center;margin-inline:auto}
body.theme-product-layout-minimal .product-card{background:transparent;border:0;box-shadow:none}.theme-product-layout-minimal .product-card .product-info{padding-inline:0}
body.theme-product-layout-dense .product-grid{gap:var(--theme-editor-card-gap)}
body.theme-product-layout-floating .product-card{transition:transform .25s ease,box-shadow .25s ease}.theme-product-layout-floating .product-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px rgba(0,0,0,.14)}
body.theme-nav-layout-floating .main-nav{border:1px solid color-mix(in srgb,currentColor 14%,transparent);border-radius:999px;padding:8px 14px;margin:8px auto;max-width:max-content}
body.theme-nav-layout-minimal .main-nav{gap:24px}
@media(max-width:800px){body.theme-hero-layout-split .hero-section,body.theme-hero-layout-asymmetric .hero-section{display:block;min-height:auto}.theme-nav-layout-floating .main-nav{border:0;padding:0;margin:0}}
/* PHASE 3 — Builder responsive visibility */
.home-section.builder-mobile-hidden{display:none!important}.home-section.builder-desktop-hidden{display:none!important}
@media(min-width:801px){.home-section.builder-desktop-hidden{display:none!important}.home-section.builder-mobile-hidden{display:block!important}}
@media(max-width:800px){.home-section.builder-mobile-hidden{display:none!important}.home-section.builder-desktop-hidden{display:block!important}}

/* ================================================================
 * Comfortrek v103 — authoritative homepage flow contract
 * Root cause fixed: home/index.php used to stamp data-home-rendered="empty"
 * before its section loop ran. v97/v95 then applied height:0 to the live
 * homepage while its children remained paint-visible, so the footer moved
 * into the header->content area and the product sections appeared after it.
 *
 * The PHP state is now marked ready whenever the normalized active-section
 * list is non-empty. These final rules keep the main element in normal flow
 * and make the footer a true post-content sibling on every theme/viewport.
 * ================================================================ */
html body.home-page #storefront-home {
  display: flow-root !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  float: none !important;
  clear: both !important;
}

/* Only a genuinely sectionless homepage may collapse to zero height. */
html body.home-page #storefront-home[data-home-sections="0"],
html body.home-page #storefront-home[data-home-rendered="empty"]:not(:has(> :not(.home-render-state))) {
  display: block !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Every rendered homepage block participates in document flow. */
html body.home-page #storefront-home > *:not(.home-render-state) {
  position: relative;
  float: none;
  clear: both;
}

/* Product-section partials are intentionally allowed to be plain containers,
   but they must still contribute their full height to the main flow. */
html body.home-page #storefront-home > .container,
html body.home-page #storefront-home > .product-grid,
html body.home-page #storefront-home > .home-section,
html body.home-page #storefront-home > section,
html body.home-page #storefront-home > div {
  box-sizing: border-box;
}

/* Footer is never a positioning overlay for the homepage. */
html body.home-page > .site-footer {
  position: relative !important;
  inset: auto !important;
  float: none !important;
  clear: both !important;
  transform: none !important;
  order: initial !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Keep fixed mobile navigation independent from document-flow content. */
html body.home-page > .mobile-store-nav {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 1000 !important;
}

/* ================================================================
   HERO FEATURED PRODUCTS — V110 DESKTOP BASE SYSTEM
   Scope: only the three featured products in the classic homepage hero.
   The copy stays on the left and the three products form one deliberate
   horizontal row on the right. The hero owns its height naturally; no
   page-level offsets, negative margins, viewport hacks, or JS positioning.
   New Arrivals uses separate markup/classes and is intentionally untouched.
   ================================================================ */
.hero.hero-featured-layout {
  min-height: auto;
  overflow: hidden;
}

.hero.hero-featured-layout .hero-inner {
  max-width: 1380px;
  margin: 0 auto;
  padding: clamp(58px, 7vw, 96px) clamp(18px, 3vw, 34px) clamp(64px, 7vw, 92px);
  display: grid;
  grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
  box-sizing: border-box;
}

.hero.hero-featured-layout .hero-copy {
  min-width: 0;
  max-width: 560px;
  align-self: center;
}

.hero.hero-featured-layout .hero-featured-products {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(10px, 1.4vw, 22px);
  width: 100%;
  min-width: 0;
  margin: 0;
  box-sizing: border-box;
}

.hero.hero-featured-layout .hero-featured-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-self: start;
  justify-self: stretch;
  width: 100%;
  min-width: 0;
  max-width: none;
  margin: 0;
  padding: clamp(10px, 1vw, 14px);
  box-sizing: border-box;
  overflow: hidden;
  transform: none;
}

.hero.hero-featured-layout .hero-featured-card .tag-image {
  width: 100%;
  aspect-ratio: 1 / 1;
  margin-bottom: clamp(9px, 1vw, 14px);
  flex: 0 0 auto;
  overflow: hidden;
}

.hero.hero-featured-layout .hero-featured-card .tag-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: none;
}

.hero.hero-featured-layout .hero-featured-card--center {
  z-index: 2;
}

.hero.hero-featured-layout .hero-featured-card h3 {
  min-height: 2.45em;
  margin: 0 0 6px;
  overflow-wrap: anywhere;
}

.hero.hero-featured-layout .hero-featured-card .price {
  margin-top: 0;
}

/* Keep the same composition at tablet widths while giving the copy enough room. */
@media (max-width: 900px) and (min-width: 641px) {
  .hero.hero-featured-layout .hero-inner {
    grid-template-columns: minmax(210px, .68fr) minmax(0, 1.32fr);
    gap: 24px;
    padding: 48px 20px 58px;
  }

  .hero.hero-featured-layout .hero-featured-products {
    gap: 8px;
  }

  .hero.hero-featured-layout .hero-featured-card {
    padding: 8px;
  }

  .hero.hero-featured-layout .hero-featured-card h3 {
    font-size: .78rem;
  }

  .hero.hero-featured-layout .hero-featured-card .price {
    font-size: .72rem;
  }
}

/* Phones: preserve the hierarchy without forcing unreadable three-column cards.
   Copy comes first, followed by one horizontal row containing all three products. */
@media (max-width: 640px) {
  .hero.hero-featured-layout .hero-inner {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 38px 14px 48px;
  }

  .hero.hero-featured-layout .hero-copy {
    max-width: none;
  }

  .hero.hero-featured-layout .hero-featured-products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
  }

  .hero.hero-featured-layout .hero-featured-card {
    padding: 6px;
    border-radius: 12px;
  }

  .hero.hero-featured-layout .hero-featured-card .tag-image {
    aspect-ratio: 1 / 1;
    margin-bottom: 7px;
  }

  .hero.hero-featured-layout .hero-featured-card h3 {
    font-size: clamp(.62rem, 2.4vw, .78rem);
    line-height: 1.18;
    min-height: 2.36em;
    margin-bottom: 4px;
  }

  .hero.hero-featured-layout .hero-featured-card .price {
    font-size: clamp(.6rem, 2.2vw, .72rem);
    line-height: 1.15;
  }
}

@media (max-width: 430px) {
  .hero.hero-featured-layout .hero-inner {
    padding: 32px 12px 40px;
    gap: 24px;
  }

  .hero.hero-featured-layout .hero-featured-products {
    gap: 5px;
  }

  .hero.hero-featured-layout .hero-featured-card {
    padding: 5px;
    border-radius: 10px;
  }

  .hero.hero-featured-layout .hero-featured-card h3 {
    font-size: clamp(.56rem, 2.5vw, .7rem);
  }

  .hero.hero-featured-layout .hero-featured-card .price {
    font-size: clamp(.55rem, 2.2vw, .66rem);
  }
}

@media (max-width: 360px) {
  .hero.hero-featured-layout .hero-inner {
    padding-left: 10px;
    padding-right: 10px;
  }

  .hero.hero-featured-layout .hero-featured-products {
    gap: 4px;
  }

  .hero.hero-featured-layout .hero-featured-card {
    padding: 4px;
  }

  .hero.hero-featured-layout .hero-featured-card h3 {
    font-size: .54rem;
  }

  .hero.hero-featured-layout .hero-featured-card .price {
    font-size: .53rem;
  }
}


/* ================================================================
   Comfortrek v111 — Mobile appearance control + cross-theme contrast safety
   Mobile adds a direct Light/Dark toggle beside wishlist/cart. Desktop
   appearance controls remain unchanged. The contrast layer is deliberately
   token-based so every storefront theme gets readable text in both modes.
   ================================================================ */
:root {
  color-scheme: light dark;
  --appearance-light-text:#171717;
  --appearance-light-muted:#5b5b5b;
  --appearance-light-surface:#ffffff;
  --appearance-light-surface-2:#f4f2ef;
  --appearance-light-border:rgba(25,25,25,.14);
  --appearance-dark-text:#f6f3ed;
  --appearance-dark-muted:#b8b4ad;
  --appearance-dark-surface:#15171a;
  --appearance-dark-surface-2:#1d2024;
  --appearance-dark-border:rgba(255,255,255,.14);
}

.mobile-appearance-toggle { display:none; }

@media (max-width:900px) {
  .site-header .mobile-header-actions { align-items:center; }
  .site-header .mobile-header-actions a,
  .site-header .mobile-header-actions button {
    width:42px;
    height:42px;
    min-width:42px;
    min-height:42px;
    padding:0 !important;
    border:1px solid rgba(255,255,255,.22) !important;
    border-radius:50% !important;
    background:rgba(255,255,255,.045) !important;
    color:#f8f5ef !important;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    position:relative;
    box-sizing:border-box;
  }
  .site-header .mobile-header-actions .mobile-appearance-toggle {
    display:inline-flex !important;
    font:600 1.12rem/1 system-ui,-apple-system,'Segoe UI',sans-serif;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .site-header .mobile-header-actions .mobile-appearance-toggle:active { transform:scale(.96); }
  .site-header .mobile-header-actions .mobile-appearance-toggle::after {
    content:'';
    position:absolute;
    inset:-3px;
    border-radius:50%;
    pointer-events:none;
    border:1px solid color-mix(in srgb,var(--festival-accent,#d6b36a) 34%,transparent);
  }
  .site-header .header-inner {
    grid-template-columns:42px minmax(0,1fr) auto !important;
    column-gap:8px !important;
  }
  .site-header .mobile-header-actions { gap:6px !important; }
}

@media (max-width:380px) {
  .site-header .mobile-header-actions { gap:4px !important; }
  .site-header .mobile-header-actions a,
  .site-header .mobile-header-actions button {
    width:38px; height:38px; min-width:38px; min-height:38px;
  }
  .site-header .mobile-header-actions { max-width:126px; }
}

/* Light mode: explicit readable defaults for common content surfaces. */
body.appearance-light {
  color:var(--appearance-light-text);
}
body.appearance-light :where(.page-content,.section,.section:not(.section-dark),.section-heading,.section-title,.section-subtitle,
  .product-info,.product-description,.product-tabs,.account-page,.account-grid,.account-profile-card,.account-profile-form,
  .checkout-card,.checkout-steps,.compare-table-wrap,.wishlist-page,.cart-page,.search-empty,.search-results,
  .filter-group,.form-card,.form-grid,.form-label,.form-success,.form-error) {
  color:var(--appearance-light-text);
}
body.appearance-light :where(p,li,dd,dt,small,.muted,.section-subtitle,.product-description,.account-auth-lead,
  .account-demo-note,.account-back-link,.footer-contact,.footer-bottom,.search-empty,.filter-group small) {
  color:var(--appearance-light-muted);
}
body.appearance-light :where(.page-content a,.product-info a,.account-page a,.checkout-card a,.compare-table a) {
  color:color-mix(in srgb,var(--appearance-light-text) 82%,var(--festival-accent,#8a5a18));
}
body.appearance-light :where(.product-card,.tag-card,.form-card,.checkout-card,.account-profile-card,.account-auth-card,
  .compare-table-wrap,.filter-group,.search-result-row,.cart-line) {
  background:var(--appearance-light-surface);
  border-color:var(--appearance-light-border);
  color:var(--appearance-light-text);
}
body.appearance-light :where(input,select,textarea,.form-input) {
  background:#fff;
  color:var(--appearance-light-text);
  border-color:rgba(25,25,25,.20);
}
body.appearance-light :where(input,select,textarea,.form-input)::placeholder {
  color:#6b6b6b;
  opacity:1;
}

/* Preserve intentionally dark presentation surfaces while fixing their text. */
body.appearance-light :where(.section-dark,.footer,.site-header,.cart-drawer,.mobile-menu-drawer,.drawer-overlay) {
  color:#f7f3ea;
}
body.appearance-light :where(.section-dark p,.section-dark li,.footer p,.footer li,.footer small,
  .site-header p,.site-header a,.site-header button,.cart-drawer p,.cart-drawer small,
  .mobile-menu-drawer p,.mobile-menu-drawer a,.mobile-menu-drawer button) {
  color:inherit;
}

/* Dark mode: reset common surfaces/text consistently across every theme. */
body.appearance-dark {
  color:var(--appearance-dark-text);
}
body.appearance-dark :where(.page-content,.section,.section:not(.section-dark),.section-heading,.section-title,.section-subtitle,
  .product-info,.product-description,.product-tabs,.account-page,.account-grid,.account-profile-card,.account-profile-form,
  .checkout-card,.checkout-steps,.compare-table-wrap,.wishlist-page,.cart-page,.search-empty,.filter-group,.form-card,.form-grid) {
  color:var(--appearance-dark-text);
}
body.appearance-dark :where(p,li,dd,dt,small,.muted,.section-subtitle,.product-description,.account-auth-lead,
  .account-demo-note,.account-back-link,.footer-contact,.footer-bottom,.search-empty,.filter-group small) {
  color:var(--appearance-dark-muted);
}
body.appearance-dark :where(.product-card,.tag-card,.form-card,.checkout-card,.account-profile-card,.account-auth-card,
  .compare-table-wrap,.filter-group,.search-result-row,.cart-line) {
  background:var(--appearance-dark-surface);
  border-color:var(--appearance-dark-border);
  color:var(--appearance-dark-text);
}
body.appearance-dark :where(input,select,textarea,.form-input) {
  background:#11151a;
  color:var(--appearance-dark-text);
  border-color:rgba(255,255,255,.18);
}
body.appearance-dark :where(input,select,textarea,.form-input)::placeholder {
  color:#a9a59e;
  opacity:1;
}

/* Theme-specific accent text never falls back to low-contrast black/white. */
body.appearance-light :where(.price,.product-price,.section-title a,.view-all,.hero-eyebrow,.product-badge) {
  text-shadow:none;
}
body.appearance-dark :where(.price,.product-price,.section-title a,.view-all,.hero-eyebrow,.product-badge) {
  text-shadow:none;
}

/* Keep mobile appearance state visually obvious without changing desktop. */
@media (max-width:900px) {
  body.appearance-light .site-header .mobile-header-actions .mobile-appearance-toggle {
    background:#fffaf0 !important;
    color:#6d4c0d !important;
    border-color:rgba(109,76,13,.25) !important;
  }
  body.appearance-dark .site-header .mobile-header-actions .mobile-appearance-toggle {
    background:rgba(255,255,255,.07) !important;
    color:#f7d27a !important;
    border-color:rgba(247,210,122,.25) !important;
  }
}

/* ================================================================
   Comfortrek v113 — Light-mode contrast hardening (all themes/pages)
   Fixes inherited dark-theme text tokens that became unreadable after a
   visitor switches to Light. Dark presentation modules remain dark with
   light text; normal content surfaces become light with dark text.
   ================================================================ */

html:has(body.appearance-light) { color-scheme: light; }
html:has(body.appearance-dark) { color-scheme: dark; }

body.appearance-light {
  --ct-light-text:#17191b;
  --ct-light-muted:#4d565e;
  --ct-light-faint:#657079;
  --ct-light-surface:#ffffff;
  --ct-light-surface-2:#f4f6f5;
  --ct-light-border:rgba(23,25,27,.16);
  color:var(--ct-light-text);
}

/* Normal page/content surfaces across every storefront theme. */
body.appearance-light :where(
  main, .page-content, .content-section, .section:not(.section-dark),
  .listing-page, .category-page, .search-page, .wishlist-page, .cart-page,
  .account-page, .account-grid, .checkout-page, .track-page, .compare-page,
  .blog-page, .faq-page, .contact-page, .policy-page, .home-custom,
  .home-faq, .instagram-showcase, .lifestyle-showcase, .marketplace-band,
  .newsletter-section, .listing-sidebar, .filter-group, .form-card,
  .checkout-card, .track-card, .compare-table-wrap, .account-profile-card,
  .account-auth-card, .cr-profile-panel, .cr-feature-panel, .cr-mini-panel
) {
  color:var(--ct-light-text);
}

body.appearance-light :where(
  main p, main li, main dd, main dt, main small, main label,
  .page-content p, .page-content li, .section-subtitle, .section-description,
  .muted, .sub, .spec-line, .product-description, .account-auth-lead,
  .account-demo-note, .footer-contact
) {
  color:var(--ct-light-muted);
  opacity:1;
}

body.appearance-light :where(
  h1,h2,h3,h4,h5,h6,strong,b,
  .section-heading h2,.section-title,.product-name,
  .product-card h3,.tag-card h3,.form-label
) {
  color:var(--ct-light-text);
  opacity:1;
}

/* v116: removed - see note near the top V67 rule of the same kind. */

body.appearance-light :where(
  input, select, textarea, .form-input, .search-input
) {
  background:#fff;
  color:var(--ct-light-text);
  border-color:var(--ct-light-border);
}

body.appearance-light :where(
  input::placeholder, textarea::placeholder, .search-input::placeholder
) {
  color:#68727a;
  opacity:1;
}

/* Normal cards/panels become genuinely light in Light mode. */
body.appearance-light :where(
  .product-card, .tag-card, .form-card, .checkout-card,
  .account-profile-card, .account-auth-card, .compare-table-wrap,
  .filter-group, .search-result-row, .cart-line, .home-feature-card,
  .home-quote, .home-tile, .home-product-tile, .home-trust-item,
  .home-split, .home-newsletter, .home-faq-item, .instagram-social-card,
  .video-slide-card, .listing-sidebar, .sticky-add-bar
) {
  background:var(--ct-light-surface);
  color:var(--ct-light-text);
  border-color:var(--ct-light-border);
}

/* The homepage featured products sit on the intentionally dark hero.
   Keep that module dark, but force its product metadata to remain readable. */
body.appearance-light .ck-featured-card {
  color:#f6f3ed !important;
  border-color:rgba(255,255,255,.18);
  background:linear-gradient(155deg,rgba(255,255,255,.09),rgba(255,255,255,.045));
}
body.appearance-light .ck-featured-card h3,
body.appearance-light .ck-featured-card .price {
  color:#f6f3ed !important;
  opacity:1 !important;
}
body.appearance-light .ck-featured-card::after {
  color:#fff !important;
}

/* Deliberately dark presentation modules: never inherit black text in Light mode. */
body.appearance-light :where(
  .section-dark, .dark-surface, .premium-hero, .hero,
  .site-header, .cart-drawer, .mobile-menu-drawer, .drawer-overlay,
  .modal-dark, .dark-panel
) {
  color:#f7f3ea;
}

body.appearance-light :where(
  .section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4,
  .dark-surface h1,.dark-surface h2,.dark-surface h3,.dark-surface h4,
  .premium-hero h1,.premium-hero h2,.premium-hero h3,
  .hero h1,.hero h2,.hero h3,.site-header h1,.site-header h2,
  .site-header h3,.cart-drawer h2,.cart-drawer h3,
  .mobile-menu-drawer h2,.mobile-menu-drawer h3
) {
  color:#fff !important;
  opacity:1 !important;
}

body.appearance-light :where(
  .section-dark p,.section-dark li,.section-dark small,
  .dark-surface p,.dark-surface li,.dark-surface small,
  .premium-hero p,.hero p,.site-header p,
  .cart-drawer p,.cart-drawer small,
  .mobile-menu-drawer p
) {
  color:#ddd8cf !important;
  opacity:1 !important;
}

/* Header remains a dark premium chrome in Light mode, so its controls stay white. */
body.appearance-light .site-header :where(a,button,.logo,.main-nav a,.header-actions a,.header-actions button) {
  color:#f8f5ef !important;
  opacity:1 !important;
}

/* Footer is a normal Light-mode surface. This fixes theme/footer variants that
   previously left dark text on the dark footer background. */
body.appearance-light[class*="site-theme-"] .site-footer,
body.appearance-light .site-footer,
body.appearance-light footer.site-footer {
  background:#f4f6f4 !important;
  color:#18201d !important;
  border-top-color:#d4dbd7 !important;
}

body.appearance-light[class*="site-theme-"] .site-footer::before,
body.appearance-light .site-footer::before {
  background:radial-gradient(circle at 88% 0,rgba(150,112,42,.08),transparent 32%) !important;
}

body.appearance-light .site-footer h4,
body.appearance-light .site-footer strong {
  color:#18201d !important;
  opacity:1 !important;
}

body.appearance-light .site-footer p,
body.appearance-light .site-footer .footer-contact,
body.appearance-light .site-footer small {
  color:#59635f !important;
  opacity:1 !important;
}

body.appearance-light .site-footer a,
body.appearance-light .site-footer li,
body.appearance-light footer.site-footer a {
  color:#35403b !important;
  opacity:1 !important;
}

body.appearance-light .site-footer a:hover { color:#111 !important; }

body.appearance-light .site-footer .footer-socials a {
  background:#fff !important;
  border-color:#d2d9d5 !important;
  color:#35403b !important;
}

body.appearance-light .site-footer .footer-bottom {
  color:#69736f !important;
  border-top-color:#d2d9d5 !important;
  opacity:1 !important;
}

/* Editor footer variants: Light mode always gets a readable light surface. */
body.appearance-light[class*="site-theme-"].theme-footer-light .site-footer,
body.appearance-light[class*="site-theme-"].theme-footer-split .site-footer {
  background:#f4f6f4 !important;
  color:#18201d !important;
}
body.appearance-light[class*="site-theme-"].theme-footer-split .site-footer :where(h4,a,p,small,li) {
  color:#35403b !important;
}

/* Common interactive/drawer content must not inherit the dark theme's text token. */
body.appearance-light :where(
  .modal, .modal-content, .dialog, .dropdown, .popover,
  .search-results, .mega-menu-dropdown, .drawer, .drawer-content,
  .toast, .notification, .tooltip, .pagination, .tabs, .tab-panel
) {
  color:var(--ct-light-text);
}

body.appearance-light :where(
  .modal a,.modal-content a,.dialog a,.dropdown a,.popover a,
  .search-results a,.mega-menu-dropdown a,.drawer a,.drawer-content a,
  .pagination a,.tabs button,.tab-panel a
) { color:var(--ct-light-text); }

body.appearance-light :where(.modal,.modal-content,.dialog,.dropdown,.popover,.drawer,.drawer-content) {
  background:#fff;
  border-color:var(--ct-light-border);
}

/* Explicitly restore readable utility labels that commonly inherit opacity. */
body.appearance-light :where(.eyebrow,.hero-eyebrow,.stamp,.badge,.product-badge,.view-all,.price,.product-price) {
  opacity:1 !important;
}

/* Dark mode counterpart: preserve readable text even when a theme's light-mode
   overrides or editor settings changed shared variables. */
body.appearance-dark :where(
  .page-content,.section:not(.section-dark),.listing-page,.category-page,
  .search-page,.wishlist-page,.cart-page,.account-page,.checkout-page,
  .track-page,.compare-page,.blog-page,.faq-page,.contact-page,
  .policy-page,.form-card,.checkout-card,.account-profile-card,
  .account-auth-card,.compare-table-wrap,.filter-group
) { color:var(--appearance-dark-text); }

body.appearance-dark .site-footer,
body.appearance-dark footer.site-footer {
  color:#edf1ef !important;
}
body.appearance-dark .site-footer h4 { color:#fff !important; }
body.appearance-dark .site-footer a { color:#d9dfdc !important; opacity:1 !important; }
body.appearance-dark .site-footer p,
body.appearance-dark .site-footer small { color:#b9c1bd !important; opacity:1 !important; }

/* =====================================================================
   V115 — TRUE LIGHT APPEARANCE CONTRACT FOR ALL STOREFRONT THEMES
   ---------------------------------------------------------------------
   Light mode is a complete light presentation of the active theme, not
   a dark theme with a few light text overrides. Theme identity remains
   intact through its accent colour, festival pattern and animated/pseudo
   decorative artwork. Dark mode is intentionally untouched.

   This block is last on purpose: older theme/editor rules contain a few
   hard-coded dark surfaces (notably the footer and festival hero rules).
   Those legacy declarations must not be allowed to re-darken Light mode.
   ===================================================================== */

body.appearance-light[class*="site-theme-"]{
  --cr-light-page:#f7f8f6;
  --cr-light-surface:#ffffff;
  --cr-light-surface-2:#f0f3f1;
  --cr-light-text:#17201c;
  --cr-light-muted:#59645f;
  --cr-light-border:#d4dbd7;
  --cr-light-shadow:0 14px 40px rgba(24,34,29,.08);
  background-color:var(--cr-light-page)!important;
  color:var(--cr-light-text)!important;
}

/* Keep each theme's identity: accent, festival pattern, sparkles, diyas,
   powder, moon/lantern motifs and other pseudo-elements are NOT removed. */
body.appearance-light[class*="site-theme-"]{
  background-image:var(--festival-pattern)!important;
}

/* Every primary page surface becomes light. */
body.appearance-light[class*="site-theme-"] :where(
  main, main>section, .section, .section-dark, .dark-surface,
  .premium-hero, .dark-panel, .page-content, .listing-page,
  .category-page, .search-page, .wishlist-page, .cart-page,
  .account-page, .checkout-page, .track-page, .compare-page,
  .blog-page, .faq-page, .contact-page, .policy-page
){
  background-color:transparent!important;
  color:var(--cr-light-text)!important;
}

/* Header becomes light while retaining the active theme accent and any
   festival pattern/decorative treatment. */
body.appearance-light[class*="site-theme-"] .site-header{
  background:linear-gradient(135deg,#ffffff,var(--cr-light-surface-2))!important;
  color:var(--cr-light-text)!important;
  border-bottom-color:color-mix(in srgb,var(--festival-accent) 45%,var(--cr-light-border))!important;
}
body.appearance-light[class*="site-theme-"] .site-header :where(a,button,.logo,.main-nav a,.header-actions a,.header-actions button,.mobile-menu-toggle,.mobile-header-actions a,.mobile-header-actions button){
  color:var(--cr-light-text)!important;
  opacity:1!important;
}
body.appearance-light[class*="site-theme-"] .site-header :where(.logo span,.main-nav a:hover,.header-actions a:hover,.mobile-header-actions a:hover){
  color:var(--festival-accent)!important;
}
body.appearance-light[class*="site-theme-"] .site-header :where(.mobile-menu-toggle span){
  background:var(--cr-light-text)!important;
}

/* Announcement/promo strip: preserve the theme accent instead of leaving a
   dark strip above an otherwise light page. */
body.appearance-light[class*="site-theme-"] .announcement-bar{
  background:var(--festival-accent)!important;
  color:#151b18!important;
  border-color:color-mix(in srgb,var(--festival-accent) 70%,#fff)!important;
}
body.appearance-light[class*="site-theme-"] .announcement-bar :where(a,span,strong){color:#151b18!important;opacity:1!important}

/* Hero stays recognisably themed but its base is genuinely light. The
   theme-specific ::before/::after artwork remains active and animated. */
body.appearance-light[class*="site-theme-"] .hero,
body.appearance-light[class*="site-theme-"] .premium-hero{
  background:
    radial-gradient(circle at 78% 24%,color-mix(in srgb,var(--festival-accent) 18%,transparent),transparent 25%),
    radial-gradient(circle at 18% 82%,color-mix(in srgb,var(--festival-accent-2,#9b7de8) 10%,transparent),transparent 28%),
    linear-gradient(135deg,#ffffff 0%,#f7f8f6 58%,#eef2ef 100%)!important;
  color:var(--cr-light-text)!important;
}
body.appearance-light[class*="site-theme-"] .hero :where(h1,h2,h3,h4,h5,h6,.display){color:var(--cr-light-text)!important;opacity:1!important}
body.appearance-light[class*="site-theme-"] .hero :where(p,.sub,.hero-subtitle,.hero-copy){color:var(--cr-light-muted)!important;opacity:1!important}
body.appearance-light[class*="site-theme-"] .hero :where(.hero-eyebrow,.eyebrow,.stamp){color:var(--festival-accent)!important;opacity:1!important}
body.appearance-light[class*="site-theme-"] .hero .btn-primary{color:#fff!important;background:var(--festival-accent)!important;border-color:var(--festival-accent)!important}

/* Product surfaces and ordinary cards are light on every page. */
body.appearance-light[class*="site-theme-"] :where(
  .product-card,.tag-card,.form-card,.checkout-card,.account-profile-card,
  .account-auth-card,.compare-table-wrap,.filter-group,.search-result-row,
  .cart-line,.home-feature-card,.home-quote,.home-tile,.home-product-tile,
  .home-trust-item,.home-split,.home-newsletter,.home-faq-item,
  .instagram-social-card,.video-slide-card,.listing-sidebar,.sticky-add-bar,
  .newsletter-popup,.cr-feature-panel,.cr-mini-panel,.cr-profile-panel,
  .ai-chat-shell,.ai-action-card,.ai-review-card
){
  background:var(--cr-light-surface)!important;
  color:var(--cr-light-text)!important;
  border-color:var(--cr-light-border)!important;
  box-shadow:var(--cr-light-shadow)!important;
}
body.appearance-light[class*="site-theme-"] :where(
  .product-card,.tag-card,.form-card,.checkout-card,.account-profile-card,
  .account-auth-card,.compare-table-wrap,.filter-group,.search-result-row,
  .cart-line,.home-feature-card,.home-quote,.home-tile,.home-product-tile,
  .home-trust-item,.home-split,.home-newsletter,.home-faq-item,
  .instagram-social-card,.video-slide-card,.listing-sidebar,.sticky-add-bar
) :where(h1,h2,h3,h4,h5,h6,strong,b,dt){color:var(--cr-light-text)!important;opacity:1!important}
body.appearance-light[class*="site-theme-"] :where(
  .product-card,.tag-card,.form-card,.checkout-card,.account-profile-card,
  .account-auth-card,.compare-table-wrap,.filter-group,.search-result-row,
  .cart-line,.home-feature-card,.home-quote,.home-tile,.home-product-tile,
  .home-trust-item,.home-split,.home-newsletter,.home-faq-item,
  .instagram-social-card,.video-slide-card,.listing-sidebar,.sticky-add-bar
) :where(p,small,.muted,.description,.meta){color:var(--cr-light-muted)!important;opacity:1!important}
body.appearance-light[class*="site-theme-"] :where(.product-card,.tag-card) .price{color:var(--festival-accent)!important;opacity:1!important}

/* Featured hero cards are no longer dark islands in Light mode. */
body.appearance-light[class*="site-theme-"] .ck-featured-card{
  background:linear-gradient(155deg,#fff,#f2f5f3)!important;
  color:var(--cr-light-text)!important;
  border-color:color-mix(in srgb,var(--festival-accent) 24%,var(--cr-light-border))!important;
  box-shadow:var(--cr-light-shadow)!important;
}
body.appearance-light[class*="site-theme-"] .ck-featured-card :where(h3,.price){color:var(--cr-light-text)!important;opacity:1!important}
body.appearance-light[class*="site-theme-"] .ck-featured-card .price{color:var(--festival-accent)!important}
body.appearance-light[class*="site-theme-"] .ck-featured-card::after{color:var(--festival-accent)!important}

/* Inputs, controls and overlays must also be genuinely light. */
body.appearance-light[class*="site-theme-"] :where(input,select,textarea){
  background:#fff!important;
  color:var(--cr-light-text)!important;
  border-color:var(--cr-light-border)!important;
}
body.appearance-light[class*="site-theme-"] :where(input::placeholder,textarea::placeholder){color:#68736e!important;opacity:1!important}
body.appearance-light[class*="site-theme-"] :where(
  .modal,.modal-content,.dialog,.dropdown,.popover,.search-results,
  .mega-menu-dropdown,.drawer,.drawer-content,.toast,.notification,
  .tooltip,.pagination,.tabs,.tab-panel,.mobile-menu-drawer
){
  background:#fff!important;
  color:var(--cr-light-text)!important;
  border-color:var(--cr-light-border)!important;
}
body.appearance-light[class*="site-theme-"] :where(
  .modal a,.modal-content a,.dialog a,.dropdown a,.popover a,
  .search-results a,.mega-menu-dropdown a,.drawer a,.drawer-content a,
  .pagination a,.tabs button,.tab-panel a,.mobile-menu-drawer a
){color:var(--cr-light-text)!important;opacity:1!important}

/* Footer: force a real light surface. This intentionally overrides the old
   festival/footer rule that hard-coded #101316 after the earlier fixes. */
body.appearance-light[class*="site-theme-"] .site-footer{
  background:linear-gradient(135deg,#ffffff,#f1f4f2)!important;
  color:var(--cr-light-text)!important;
  border-top-color:color-mix(in srgb,var(--festival-accent) 35%,var(--cr-light-border))!important;
}
body.appearance-light[class*="site-theme-"] .site-footer::before{
  background:radial-gradient(circle at 88% 0,color-mix(in srgb,var(--festival-accent) 10%,transparent),transparent 34%)!important;
}
body.appearance-light[class*="site-theme-"] .site-footer :where(h4,strong){color:var(--cr-light-text)!important;opacity:1!important}
body.appearance-light[class*="site-theme-"] .site-footer :where(p,.footer-contact,small){color:var(--cr-light-muted)!important;opacity:1!important}
body.appearance-light[class*="site-theme-"] .site-footer :where(a,li){color:#34413b!important;opacity:1!important}
body.appearance-light[class*="site-theme-"] .site-footer a:hover{color:#111!important}
body.appearance-light[class*="site-theme-"] .site-footer .footer-socials a{
  background:#fff!important;
  color:#34413b!important;
  border-color:var(--cr-light-border)!important;
}
body.appearance-light[class*="site-theme-"] .site-footer .footer-bottom{
  color:#68736e!important;
  border-top-color:var(--cr-light-border)!important;
  opacity:1!important;
}

/* Mobile bottom navigation follows Light mode too; the active item still
   uses the festival accent so theme identity is retained. */
body.appearance-light[class*="site-theme-"] .mobile-store-nav{
  background:rgba(255,255,255,.96)!important;
  border-top-color:var(--cr-light-border)!important;
  box-shadow:0 -8px 24px rgba(20,30,25,.08)!important;
}
body.appearance-light[class*="site-theme-"] .mobile-store-nav a{
  color:#5c6862!important;
  opacity:1!important;
}
body.appearance-light[class*="site-theme-"] .mobile-store-nav a.active{color:var(--festival-accent)!important}

/* Keep utility badges/prices visible and prevent inherited opacity from dark
   theme rules from making text disappear on light surfaces. */
body.appearance-light[class*="site-theme-"] :where(.eyebrow,.hero-eyebrow,.stamp,.badge,.product-badge,.view-all,.price,.product-price,.mono){opacity:1!important}
/* v116: removed the blanket a/button darkening rule that lived here - see
   the explanatory note near the top of the file for why. */

/* Festival theme identity in Light mode: accent colours remain specific to
   each theme while all large surfaces stay light. */
body.appearance-light[class*="site-theme-"] .festival-art,
body.appearance-light[class*="site-theme-"] .theme-decoration,
body.appearance-light[class*="site-theme-"] .theme-pattern{opacity:1}

@media(max-width:760px){
  body.appearance-light[class*="site-theme-"] .site-header,
  body.appearance-light[class*="site-theme-"] .hero,
  body.appearance-light[class*="site-theme-"] .premium-hero,
  body.appearance-light[class*="site-theme-"] .site-footer,
  body.appearance-light[class*="site-theme-"] .mobile-store-nav{color:var(--cr-light-text)!important}
}

/*
 * Comfortrek mobile appearance contrast hardening
 * Mobile-only. Desktop is intentionally untouched.
 * Target: WCAG 2.2 AA text contrast (4.5:1 normal text, 3:1 large text).
 * Theme/festival decorative layers are preserved; only readability surfaces/text are normalized.
 */
@media (max-width: 760px) {
  /* ---------- LIGHT MODE ---------- */
  body.appearance-light {
    --mobile-page-bg: #f7f9f7;
    --mobile-surface: #ffffff;
    --mobile-surface-2: #f0f3ef;
    --mobile-text: #17201b;
    --mobile-muted: #435149;
    --mobile-link: #263b31;
    --mobile-border: #c8d1cb;
    --mobile-price: #654700;
    --mobile-control-bg: #ffffff;
    --mobile-control-text: #17201b;
    background: var(--mobile-page-bg) !important;
    color: var(--mobile-text) !important;
  }

  body.appearance-light,
  body.appearance-light main,
  body.appearance-light section,
  body.appearance-light article,
  body.appearance-light aside,
  body.appearance-light .container,
  body.appearance-light .content,
  body.appearance-light .page-content {
    color: var(--mobile-text) !important;
  }

  /* Make all ordinary mobile content surfaces genuinely light. */
  body.appearance-light main,
  body.appearance-light .content,
  body.appearance-light .page-content,
  body.appearance-light .section,
  body.appearance-light .section-dark,
  body.appearance-light .surface,
  body.appearance-light .surface-card,
  body.appearance-light .form-card,
  body.appearance-light .admin-card {
    background-color: var(--mobile-page-bg) !important;
    color: var(--mobile-text) !important;
  }

  /* Header/footer become light too. Festival/theme motifs remain through
     pseudo-elements, patterns and accent borders. */
  body.appearance-light .site-header,
  body.appearance-light .site-footer {
    background-color: var(--mobile-surface) !important;
    background-image: var(--theme-header-pattern, none) !important;
    color: var(--mobile-text) !important;
    border-color: var(--mobile-border) !important;
  }

  body.appearance-light .site-header *,
  body.appearance-light .site-footer * {
    color: inherit;
  }

  body.appearance-light .site-header .logo,
  body.appearance-light .site-header .logo a,
  body.appearance-light .site-footer h4,
  body.appearance-light .site-footer strong {
    color: var(--mobile-text) !important;
    opacity: 1 !important;
  }

  body.appearance-light .site-header .main-nav a,
  body.appearance-light .site-footer a,
  body.appearance-light .site-footer p,
  body.appearance-light .site-footer li,
  body.appearance-light .site-footer span,
  body.appearance-light .site-footer small {
    color: var(--mobile-link) !important;
    opacity: 1 !important;
  }

  body.appearance-light .site-footer a:hover,
  body.appearance-light .site-footer a:focus-visible {
    color: #111b16 !important;
    text-decoration: underline;
  }

  body.appearance-light .footer-bottom {
    color: #405047 !important;
    border-top-color: var(--mobile-border) !important;
    opacity: 1 !important;
  }

  /* Keep the active theme's hero/festival atmosphere, but never leave a
     dark opaque theme gradient behind normal light-mode content. */
  body.appearance-light .hero,
  body.appearance-light .premium-hero {
    background-color: var(--mobile-page-bg) !important;
    background-image: none !important;
    color: var(--mobile-text) !important;
  }

  /* Theme/festival visual effects remain visible as foreground layers. */
  body.appearance-light .hero::before,
  body.appearance-light .hero::after,
  body.appearance-light .site-header::before,
  body.appearance-light .site-header::after {
    mix-blend-mode: multiply;
  }

  body.appearance-light .hero h1,
  body.appearance-light .hero h2,
  body.appearance-light .hero h3,
  body.appearance-light .hero .display,
  body.appearance-light .hero p,
  body.appearance-light .hero p.sub,
  body.appearance-light .hero .hero-eyebrow,
  body.appearance-light .section-heading h2,
  body.appearance-light h1,
  body.appearance-light h2,
  body.appearance-light h3,
  body.appearance-light h4,
  body.appearance-light h5,
  body.appearance-light h6 {
    color: var(--mobile-text) !important;
    opacity: 1 !important;
  }

  body.appearance-light .hero .hero-eyebrow {
    color: #6b4d08 !important;
  }

  body.appearance-light .hero p.sub,
  body.appearance-light .muted,
  body.appearance-light .text-muted,
  body.appearance-light .section-heading .stamp,
  body.appearance-light .spec-line {
    color: var(--mobile-muted) !important;
    opacity: 1 !important;
  }

  /* Product/tag cards: force the complete card surface + every text node
     into a known light-mode palette. This fixes the invisible names/prices
     seen in the screenshots. */
  body.appearance-light .tag-card,
  body.appearance-light .product-card,
  body.appearance-light .sale-product-card,
  body.appearance-light .product-tile,
  body.appearance-light .product-item,
  body.appearance-light .wishlist-card,
  body.appearance-light .compare-card {
    background: linear-gradient(145deg, var(--mobile-surface), var(--mobile-surface-2)) !important;
    color: var(--mobile-text) !important;
    border-color: var(--mobile-border) !important;
    box-shadow: 0 10px 30px rgba(20,30,25,.08) !important;
  }

  body.appearance-light .tag-card h3,
  body.appearance-light .product-card h3,
  body.appearance-light .product-card h2,
  body.appearance-light .product-card p,
  body.appearance-light .product-card a,
  body.appearance-light .tag-card a,
  body.appearance-light .product-name,
  body.appearance-light .product-title {
    color: var(--mobile-text) !important;
    opacity: 1 !important;
    text-shadow: none !important;
  }

  body.appearance-light .tag-card .price,
  body.appearance-light .product-card .price,
  body.appearance-light .price,
  body.appearance-light .sale-price-old,
  body.appearance-light .sale-price-tag,
  body.appearance-light .product-price {
    color: var(--mobile-price) !important;
    opacity: 1 !important;
    text-shadow: none !important;
  }

  body.appearance-light .tag-card .spec-line,
  body.appearance-light .product-card .spec-line,
  body.appearance-light .product-meta,
  body.appearance-light .product-card small {
    color: var(--mobile-muted) !important;
    opacity: 1 !important;
  }

  body.appearance-light .tag-card .tag-image,
  body.appearance-light .product-card .product-image,
  body.appearance-light .product-card .image-wrap {
    background: #f0f2ef !important;
  }

  /* Footer/content links that previously inherited near-black text on a
     dark footer are explicitly reset. */
  body.appearance-light footer a,
  body.appearance-light footer p,
  body.appearance-light footer li,
  body.appearance-light footer span,
  body.appearance-light .site-footer a,
  body.appearance-light .site-footer p,
  body.appearance-light .site-footer li,
  body.appearance-light .site-footer span {
    color: #263b31 !important;
    opacity: 1 !important;
  }

  /* Forms, drawers, menus, tables and common interactive surfaces. */
  body.appearance-light input,
  body.appearance-light select,
  body.appearance-light textarea,
  body.appearance-light .drawer,
  body.appearance-light .modal,
  body.appearance-light .mega-menu,
  body.appearance-light .mobile-menu,
  body.appearance-light .cart-drawer,
  body.appearance-light .search-overlay,
  body.appearance-light .account-panel,
  body.appearance-light table,
  body.appearance-light th,
  body.appearance-light td {
    background-color: var(--mobile-control-bg) !important;
    color: var(--mobile-control-text) !important;
    border-color: var(--mobile-border) !important;
  }

  body.appearance-light input::placeholder,
  body.appearance-light textarea::placeholder {
    color: #536159 !important;
    opacity: 1 !important;
  }

  body.appearance-light .btn-primary,
  body.appearance-light .add-to-cart-btn {
    color: #17201b !important;
  }

  /* ---------- DARK MODE ---------- */
  body.appearance-dark {
    --mobile-page-bg: #0b0e10;
    --mobile-surface: #12171a;
    --mobile-surface-2: #182126;
    --mobile-text: #f5f7f5;
    --mobile-muted: #d0d8d3;
    --mobile-link: #e8eee9;
    --mobile-border: #4a5550;
    --mobile-price: #ffe08a;
    --mobile-control-bg: #12171a;
    --mobile-control-text: #f5f7f5;
    background-color: var(--mobile-page-bg) !important;
    color: var(--mobile-text) !important;
  }

  body.appearance-dark .tag-card,
  body.appearance-dark .product-card,
  body.appearance-dark .sale-product-card,
  body.appearance-dark .product-tile,
  body.appearance-dark .product-item,
  body.appearance-dark .wishlist-card,
  body.appearance-dark .compare-card {
    color: var(--mobile-text) !important;
  }

  body.appearance-dark .tag-card h3,
  body.appearance-dark .product-card h3,
  body.appearance-dark .product-card h2,
  body.appearance-dark .product-card p,
  body.appearance-dark .product-card a,
  body.appearance-dark .tag-card a,
  body.appearance-dark .product-name,
  body.appearance-dark .product-title {
    color: var(--mobile-text) !important;
    opacity: 1 !important;
    text-shadow: none !important;
  }

  body.appearance-dark .tag-card .price,
  body.appearance-dark .product-card .price,
  body.appearance-dark .price,
  body.appearance-dark .product-price {
    color: var(--mobile-price) !important;
    opacity: 1 !important;
  }

  body.appearance-dark .tag-card .spec-line,
  body.appearance-dark .product-card .spec-line,
  body.appearance-dark .product-meta,
  body.appearance-dark .product-card small {
    color: var(--mobile-muted) !important;
    opacity: 1 !important;
  }

  body.appearance-dark .site-footer a,
  body.appearance-dark .site-footer p,
  body.appearance-dark .site-footer li,
  body.appearance-dark .site-footer span {
    color: var(--mobile-link) !important;
    opacity: 1 !important;
  }

  body.appearance-dark .footer-bottom {
    color: var(--mobile-muted) !important;
    opacity: 1 !important;
    border-top-color: var(--mobile-border) !important;
  }

  /* Don't let a generic opacity rule make meaningful text disappear. */
  body.appearance-light .site-footer [class],
  body.appearance-light .tag-card [class],
  body.appearance-light .product-card [class],
  body.appearance-dark .site-footer [class],
  body.appearance-dark .tag-card [class],
  body.appearance-dark .product-card [class] {
    text-shadow: none;
  }

  /* Important controls/non-text UI: WCAG AA target is 3:1. */
  body.appearance-light .quick-view-btn,
  body.appearance-light .wishlist-heart-btn,
  body.appearance-light .compare-checkbox-label,
  body.appearance-light .card-actions button,
  body.appearance-light .site-footer a,
  body.appearance-light .mobile-menu a,
  body.appearance-dark .quick-view-btn,
  body.appearance-dark .wishlist-heart-btn,
  body.appearance-dark .compare-checkbox-label,
  body.appearance-dark .card-actions button {
    border-color: var(--mobile-border) !important;
  }
}

/* =====================================================================
   V116 — GLOBAL LIGHT MODE CONTRAST FIX (root-cause pass)
   ---------------------------------------------------------------------
   Summary of what changed in this release and why. Nothing in this
   block is a "just add !important" patch on its own - the actual fixes
   are the five deletions/scoping changes made earlier in this file
   (search this file for "v116" to find each one):

     1. FOUR duplicate "make every link/button dark in Light mode" rules
        (from the v67, v69, mobile and v115 eras) were removed. They sat
        on top of `[class*="site-theme-"]`/`.appearance-light` and beat
        any component's own text colour purely on selector specificity,
        which is why product/footer/nav links were fine but decorative
        light-on-dark elements (badges, hero CTAs over photos, dark
        pill buttons such as .home-custom-cta / .instagram-buy /
        .hero-secondary) had their white text silently repainted dark -
        text-on-same-colour invisible.
     2. The REAL root cause of that same failure mode, present since v70
        and never actually scoped to the real appearance toggle, was a
        completely unscoped `a:not(.btn):not(.button):not(.nav-item)`
        rule driven by a --ct-text variable that the live
        appearance-light/appearance-dark classes never set. It has been
        removed; plain links already inherit the right colour from their
        surface via `a{color:inherit}` plus each surface's own text rule.
     3. The legacy "Light mode footer is deliberately dark" block, which
        forced the footer to a near-black surface with white text even
        in Light mode, has been removed. The admin "Midnight Footer"
        style (`theme-footer-dark`) now only forces white text when the
        site is actually in Dark/Auto-dark mode.

   This block adds the two remaining, narrowly-scoped fixes that the
   deletions above could not cover on their own: known photo/gradient
   overlay panels need to keep their light text even though the global
   "headings/paragraphs go dark in Light mode" rule (by design) targets
   every heading/paragraph on the page. These panels are theme/content
   decoration - an image with a dark scrim under white text - not a
   plain content surface, so they are intentionally excluded here
   instead of being handled by the generic rule.
   ===================================================================== */

body.appearance-light .pa-feature-overlay,
body.appearance-light .pa-feature-overlay h1,
body.appearance-light .pa-feature-overlay h2,
body.appearance-light .pa-feature-overlay h3,
body.appearance-light .pa-feature-overlay h4,
body.appearance-light .pa-feature-overlay p,
body.appearance-light .pa-feature-overlay .kicker,
body.appearance-light .pa-feature-overlay a,
body.appearance-light .hero-media + .hero-content,
body.appearance-light .hero-overlay ~ .hero-content,
body.appearance-light .hero-content,
body.appearance-light .video-slide-caption {
  color: #fff !important;
  opacity: 1 !important;
}
body.appearance-light .pa-feature-overlay .kicker {
  color: #ffd85a !important;
}

/* .ck-featured-hero is the light-gradient "featured products" hero panel:
   unlike .premium-hero it never has a photo/video background, so it must
   get the same dark, readable text as any other genuinely light surface.
   A pre-existing rule scoped to `#storefront-home .hero h1` (an ID
   selector) was forcing this panel's heading/subtitle white regardless -
   out-specificity it here with the same ID plus the extra
   `.ck-featured-hero` class so this wins deterministically rather than
   by cascade-order luck. */
html body.appearance-light #storefront-home .hero.ck-featured-hero h1,
html body.appearance-light #storefront-home .hero.ck-featured-hero p.sub,
html body.appearance-auto.appearance-light #storefront-home .hero.ck-featured-hero h1,
html body.appearance-auto.appearance-light #storefront-home .hero.ck-featured-hero p.sub {
  color: var(--cr-light-text, #17201c) !important;
  opacity: 1 !important;
}
body.appearance-light .ck-featured-hero__copy .hero-eyebrow {
  color: var(--festival-accent, #b8935a) !important;
}

/* The customer-account dashboard ("v65 Customer Account Experience") has
   its own self-contained, permanently-dark premium panels - the guest
   hero, the account sidebar and the Travel Coins reward card - that were
   never in the product-card/footer/etc allowlist above. Same failure
   mode as the rest of this fix: the global light-mode heading/strong/b
   darkening rule out-specifies these panels' own light-text colours.
   Keep them dark (that's their deliberate design, like the site header)
   and force their text back to light in Light mode. */
body.appearance-light .cr-guest-shell,
body.appearance-light .cr-guest-shell h1,
body.appearance-light .cr-guest-shell p,
body.appearance-light .cr-guest-shell small,
body.appearance-light .cr-guest-shell strong,
body.appearance-light .cr-guest-card,
body.appearance-light .cr-guest-card strong,
body.appearance-light .cr-guest-card small,
body.appearance-light .cr-floating-tag,
body.appearance-light .cr-floating-tag b,
body.appearance-light #comfortrek-account .cr-account-sidebar,
body.appearance-light #comfortrek-account .cr-account-sidebar strong,
body.appearance-light #comfortrek-account .cr-account-sidebar b,
body.appearance-light #comfortrek-account .cr-account-sidebar small,
body.appearance-light #comfortrek-account .cr-side-brand strong,
body.appearance-light #comfortrek-account .cr-side-status b,
body.appearance-light .cr-reward-dark,
body.appearance-light .cr-reward-dark strong,
body.appearance-light .cr-reward-dark h1,
body.appearance-light .cr-reward-dark h2,
body.appearance-light .cr-reward-dark h3,
body.appearance-light .cr-reward-dark p {
  color: #f5f2e9 !important;
  opacity: 1 !important;
}
body.appearance-light .cr-guest-copy .cr-kicker,
body.appearance-light .cr-guest-card-kicker,
body.appearance-light .cr-guest-card strong,
body.appearance-light .cr-reward-dark .cr-kicker {
  color: #d8b75f !important;
}
body.appearance-light .cr-guest-copy p,
body.appearance-light .cr-trust-row,
body.appearance-light .cr-reward-dark p {
  color: #c8c5bd !important;
}
   this is a defensive backstop now that the rules described above no
   longer clobber them; it costs nothing if the component already wins
   on its own. */
body.appearance-light .home-custom-cta,
body.appearance-light .instagram-buy,
body.appearance-light .hero-secondary,
body.appearance-light .hero-arrow {
  color: #fff !important;
}

/* ================================================================
   V120 — Premium product detail / Amazon + premium-brand purchase UX
   Scoped to the product detail page. No fixed dark surfaces, so the
   active light/dark appearance and festival theme remain visible.
   ================================================================ */
.luxury-product-page .crp-gallery-stage {
  position: relative;
  overflow: hidden;
  background: var(--surface, #f7f4ee);
  border: 1px solid color-mix(in srgb, var(--line, #d8d3c9) 80%, transparent);
  box-shadow: 0 24px 70px rgba(0,0,0,.10);
}
.luxury-product-page .crp-gallery-stage > #main-product-image,
.luxury-product-page .crp-gallery-stage > #main-product-video { border-radius: inherit; }
.crp-gallery-badges { position:absolute; z-index:4; inset:16px auto auto 16px; display:flex; gap:8px; flex-wrap:wrap; pointer-events:none; }
.crp-gallery-badge,.crp-gallery-stock,.crp-image-count { backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,.30); box-shadow:0 8px 25px rgba(0,0,0,.10); }
.crp-gallery-badge { padding:8px 11px; border-radius:999px; background:rgba(20,20,20,.72); color:#fff; font:700 10px/1.1 system-ui,sans-serif; letter-spacing:.12em; }
.crp-gallery-stock { padding:8px 10px; border-radius:999px; background:rgba(255,255,255,.86); color:#1f6b45; font:700 11px/1.1 system-ui,sans-serif; }
.crp-image-count { position:absolute; z-index:4; right:16px; top:16px; padding:8px 10px; border-radius:999px; background:rgba(20,20,20,.70); color:#fff; font:600 11px/1 system-ui,sans-serif; }
.crp-product-title { font-size:clamp(2rem,3.2vw,3.15rem); line-height:1.03; letter-spacing:-.035em; margin:0 0 10px; }
.crp-rating-row { display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin:0 0 18px; font-size:.82rem; color:var(--slate); }
.crp-rating-row a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.crp-rating-pill { display:inline-flex; align-items:center; padding:5px 9px; border-radius:7px; background:#087f45; color:#fff; font-weight:800; font-size:.76rem; }
.crp-dot { opacity:.5; }
.crp-buy-box { margin:24px 0 28px; padding:18px; border:1px solid color-mix(in srgb,var(--line,#d8d3c9) 85%,transparent); border-radius:20px; background:color-mix(in srgb,var(--surface,#fff) 94%,var(--accent,#b8935a) 6%); box-shadow:0 14px 42px rgba(0,0,0,.08); }
.crp-buy-topline { display:flex; justify-content:space-between; gap:10px; margin-bottom:12px; font:700 10px/1.2 system-ui,sans-serif; letter-spacing:.12em; color:var(--slate); text-transform:uppercase; }
.crp-buy-row { display:grid; grid-template-columns:auto 1fr 1fr; gap:10px; align-items:stretch; }
.crp-qty { display:flex; align-items:center; border:1px solid var(--line,#d8d3c9); border-radius:13px; overflow:hidden; min-height:58px; background:var(--surface,#fff); }
.crp-qty button { width:40px; height:100%; border:0; background:transparent; color:var(--charcoal,#171717); font-size:21px; cursor:pointer; }
.crp-qty input { width:42px; border:0; outline:0; text-align:center; background:transparent; color:var(--charcoal,#171717); font-weight:800; font-size:15px; }
.crp-qty input::-webkit-inner-spin-button,.crp-qty input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.crp-add-btn,.crp-buy-now-btn { min-height:58px; border-radius:13px; border:1px solid transparent; cursor:pointer; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:2px; font:800 14px/1.1 system-ui,sans-serif; transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease; }
.crp-add-btn { background:var(--charcoal,#161616); color:#fff; border-color:var(--charcoal,#161616); }
.crp-buy-now-btn { background:linear-gradient(135deg,var(--accent,#b8935a),color-mix(in srgb,var(--accent,#b8935a) 65%,#fff)); color:#fff; box-shadow:0 10px 28px color-mix(in srgb,var(--accent,#b8935a) 25%,transparent); }
.crp-add-btn small,.crp-buy-now-btn small { font:500 10px/1.1 system-ui,sans-serif; opacity:.78; }
.crp-add-btn:hover,.crp-buy-now-btn:hover { transform:translateY(-1px); box-shadow:0 14px 30px rgba(0,0,0,.14); }
.crp-buy-note { margin-top:11px; font-size:.72rem; line-height:1.45; color:var(--slate); text-align:center; }
.crp-sticky-buy-now { border:0; border-radius:10px; padding:11px 17px; background:var(--accent,#b8935a); color:#fff; font-weight:800; cursor:pointer; }
body.appearance-dark .luxury-product-page .crp-buy-box { background:rgba(255,255,255,.045); border-color:rgba(255,255,255,.14); box-shadow:0 18px 50px rgba(0,0,0,.28); }
body.appearance-dark .luxury-product-page .crp-qty { background:rgba(255,255,255,.055); border-color:rgba(255,255,255,.16); }
body.appearance-dark .luxury-product-page .crp-qty input,
body.appearance-dark .luxury-product-page .crp-qty button { color:#fff; }
body.appearance-dark .luxury-product-page .crp-add-btn { background:#f3f1eb; color:#171717; border-color:#f3f1eb; }
body.appearance-light .luxury-product-page .crp-buy-box { color:var(--charcoal,#171717); }
@media (max-width: 860px) {
  .luxury-product-page .luxury-product-hero { grid-template-columns:1fr !important; gap:30px !important; padding-bottom:70px !important; }
  .crp-product-title { font-size:2.15rem; }
}
@media (max-width: 620px) {
  .luxury-product-page .crp-buy-row { grid-template-columns:1fr 1fr; }
  .luxury-product-page .crp-qty { grid-column:1/-1; justify-content:center; min-height:48px; }
  .luxury-product-page .crp-add-btn,.luxury-product-page .crp-buy-now-btn { min-height:55px; }
  .luxury-product-page .crp-buy-box { padding:14px; border-radius:16px; }
  .crp-gallery-badge { font-size:9px; }
  .crp-gallery-stock { display:none; }
  .crp-sticky-buy-now { display:inline-flex; }
}
@media (prefers-reduced-motion: reduce) {
  .crp-add-btn,.crp-buy-now-btn { transition:none; }
}


/* ================================================================
   V121 — PREMIUM PDP REDESIGN
   Replaces the crowded V120 purchase treatment with a restrained,
   editorial product-detail experience. Theme-aware: light stays light,
   dark stays dark, festival accents remain inherited from the active theme.
   ================================================================ */
.luxury-product-page {
  --pdp-radius: 24px;
  padding-bottom: 80px;
  background: radial-gradient(900px 520px at 8% 4%, color-mix(in srgb, var(--accent, #b8935a) 7%, transparent), transparent 60%),
              radial-gradient(700px 420px at 92% 18%, color-mix(in srgb, var(--accent, #b8935a) 5%, transparent), transparent 62%),
              var(--page-bg, #f7f5f1);
}
.luxury-product-page .luxury-breadcrumb { opacity:.72; }
.luxury-product-page .luxury-product-hero { max-width:1260px; margin:0 auto; }
.luxury-product-page .luxury-product-hero > div:first-child { top:104px; }
.luxury-product-page .crp-gallery-stage,
.luxury-product-page .spin-viewer {
  min-height:clamp(440px, 62vw, 720px);
  aspect-ratio: 1 / 1;
  border-radius:28px !important;
  overflow:hidden;
  background:var(--surface, #f0ede7) !important;
  border:1px solid color-mix(in srgb,var(--line,#d8d3c9) 82%,transparent) !important;
  box-shadow:0 28px 80px rgba(0,0,0,.10) !important;
}
.luxury-product-page .crp-gallery-stage > #main-product-image,
.luxury-product-page .crp-gallery-stage > #main-product-video { object-fit:contain !important; padding:24px; }
.luxury-product-page .crp-gallery-badge { background:rgba(20,20,20,.78); letter-spacing:.14em; }
.luxury-product-page .crp-image-count { background:rgba(20,20,20,.76); }
.luxury-product-page .thumbnail-row { gap:10px !important; margin-top:14px !important; }
.luxury-product-page .thumbnail-btn { width:74px !important; height:74px !important; border-radius:12px !important; background:var(--surface,#fff) !important; border:1px solid var(--line) !important; }
.luxury-product-page .thumbnail-btn.active { border:2px solid var(--charcoal,#171717) !important; }

.luxury-product-info {
  padding:34px !important;
  border-radius:28px !important;
  background:var(--surface,#fff) !important;
  border:1px solid color-mix(in srgb,var(--line,#d8d3c9) 82%,transparent) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.07) !important;
  backdrop-filter:none !important;
}
.luxury-product-info .hero-eyebrow { font:600 .68rem/1.2 'IBM Plex Mono',monospace; letter-spacing:.16em; text-transform:uppercase; opacity:.72; }
.crp-product-title { font-size:clamp(2.35rem,4vw,4rem) !important; line-height:.98 !important; margin:12px 0 13px !important; }
.crp-rating-row { margin-bottom:22px !important; }
.crp-rating-pill { border-radius:5px !important; padding:5px 8px !important; }
.luxury-product-info > .price { font-size:2rem !important; margin:0 0 18px !important; }

/* Quiet utility links instead of pill-heavy catalogue UI. */
.luxury-utility-row { gap:0 !important; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:14px 0; margin:24px 0 18px !important; }
.luxury-utility-row a { border:0 !important; border-radius:0 !important; padding:0 16px 0 0 !important; margin-right:16px; background:none !important; font-size:.76rem !important; color:var(--slate) !important; }
.luxury-utility-row a:hover { transform:none !important; color:var(--charcoal) !important; }
.luxury-trust-grid { margin:18px 0 0 !important; }
.luxury-trust-grid > div { padding:12px 10px !important; }

/* The purchase area is now a calm, single hierarchy: quantity → cart → buy now. */
.crp-buy-box-premium {
  margin:26px 0 22px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.crp-buy-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.crp-buy-heading > div { display:grid; gap:5px; }
.crp-buy-kicker { font:700 .62rem/1.1 'IBM Plex Mono',monospace; letter-spacing:.16em; color:var(--accent,#a47d3b); }
.crp-buy-heading strong { font:600 1.15rem/1.2 system-ui,sans-serif; color:var(--charcoal,#171717); }
.crp-stock-status { white-space:nowrap; font-size:.72rem; color:#27734c; }
.crp-stock-status i { display:inline-block; width:7px; height:7px; margin-right:5px; border-radius:50%; background:#27734c; }
.crp-buy-price-line { display:flex; align-items:baseline; gap:10px; padding:17px 0 15px; }
.crp-buy-current-price { font-size:1.55rem; font-weight:750; letter-spacing:-.03em; color:var(--charcoal,#171717); }
.crp-buy-tax-note { font-size:.7rem; color:var(--slate); }
.crp-purchase-controls { display:grid; grid-template-columns:116px 1fr 1fr; gap:10px; }
.crp-purchase-controls .crp-qty { min-height:54px; border-radius:12px; background:var(--surface,#fff); }
.crp-purchase-controls .crp-add-btn,
.crp-purchase-controls .crp-buy-now-btn { min-height:54px; border-radius:12px; font:700 .82rem/1 system-ui,sans-serif; letter-spacing:.02em; }
.crp-purchase-controls .crp-add-btn { background:var(--charcoal,#171717); color:#fff; }
.crp-purchase-controls .crp-buy-now-btn { background:var(--accent,#a47d3b); color:#fff; box-shadow:none; }
.crp-purchase-controls .crp-add-btn:hover,
.crp-purchase-controls .crp-buy-now-btn:hover { transform:none; box-shadow:0 10px 24px rgba(0,0,0,.10); }
.crp-buy-assurance { display:flex; flex-wrap:wrap; gap:14px 18px; padding-top:14px; color:var(--slate); font-size:.68rem; }

/* Remove the old oversized dark purchase bar from the sticky mobile action. */
.sticky-add-bar { background:color-mix(in srgb,var(--surface,#fff) 94%,transparent) !important; border-top:1px solid var(--line) !important; color:var(--charcoal,#171717) !important; box-shadow:0 -12px 30px rgba(0,0,0,.08) !important; }
.sticky-add-info strong,.sticky-add-info .mono { color:var(--charcoal,#171717) !important; }
.sticky-pack-link { color:var(--charcoal,#171717) !important; border-color:var(--line) !important; }
.sticky-add-bar .btn-primary { min-width:140px !important; }
.crp-sticky-buy-now { min-height:42px; padding:0 18px; border-radius:10px; }

/* True light/dark surfaces. Festival palettes keep their accents/graphics but don't turn text into black-on-black. */
body.appearance-light .luxury-product-page { --page-bg:#f7f5f1; }
body.appearance-light .luxury-product-info { color:#171717 !important; }
body.appearance-light .luxury-product-info :where(h1,h2,h3,strong,b,span,p,li) { opacity:1; }
body.appearance-light .luxury-product-info .crp-product-title,
body.appearance-light .luxury-product-info .crp-buy-heading strong,
body.appearance-light .luxury-product-info .crp-buy-current-price { color:#171717 !important; }
body.appearance-light .luxury-product-page .crp-buy-box-premium { color:#171717 !important; }
body.appearance-light .luxury-product-page .crp-qty { background:#fff !important; }
body.appearance-dark .luxury-product-page { --page-bg:#0d0e10; }
body.appearance-dark .luxury-product-info { background:#141517 !important; border-color:rgba(255,255,255,.12) !important; color:#f4f1ea !important; box-shadow:0 30px 80px rgba(0,0,0,.28) !important; }
body.appearance-dark .luxury-product-info :where(h1,h2,h3,strong,b) { color:#f4f1ea; opacity:1; }
body.appearance-dark .luxury-product-info .crp-buy-heading strong,
body.appearance-dark .luxury-product-info .crp-buy-current-price { color:#f4f1ea !important; }
body.appearance-dark .luxury-product-page .crp-buy-heading { border-color:rgba(255,255,255,.12); }
body.appearance-dark .luxury-product-page .crp-buy-assurance,
body.appearance-dark .luxury-product-page .crp-buy-tax-note { color:#aaa7a0; }
body.appearance-dark .luxury-product-page .crp-qty { background:#1c1e20; border-color:rgba(255,255,255,.15); }
body.appearance-dark .luxury-product-page .crp-qty :where(button,input) { color:#f4f1ea; }
body.appearance-dark .luxury-product-page .thumbnail-btn { background:#181a1c !important; }
body.appearance-dark .sticky-add-bar { background:rgba(18,19,21,.96) !important; border-color:rgba(255,255,255,.12) !important; }
body.appearance-dark .sticky-add-info strong,body.appearance-dark .sticky-add-info .mono,body.appearance-dark .sticky-pack-link { color:#fff !important; }

@media (max-width:860px) {
  .luxury-product-page .luxury-product-hero { gap:24px !important; padding:14px 16px 80px !important; }
  .luxury-product-page .luxury-product-hero > div:first-child { position:relative; top:auto; }
  .luxury-product-info { padding:24px 20px !important; }
  .crp-product-title { font-size:2.45rem !important; }
}
@media (max-width:620px) {
  .luxury-product-page { padding-bottom:90px; }
  .luxury-product-page .crp-gallery-stage,
  .luxury-product-page .spin-viewer { min-height:0; aspect-ratio:1/1; border-radius:20px !important; }
  .luxury-product-page .crp-gallery-stage > #main-product-image,
  .luxury-product-page .crp-gallery-stage > #main-product-video { padding:14px; }
  .luxury-product-info { padding:22px 16px !important; border-radius:22px !important; }
  .crp-product-title { font-size:2.15rem !important; }
  .crp-rating-row { font-size:.74rem; }
  .crp-buy-heading strong { font-size:1rem; }
  .crp-buy-price-line { padding:14px 0; }
  .crp-buy-current-price { font-size:1.4rem; }
  .crp-purchase-controls { grid-template-columns:88px 1fr 1fr; gap:7px; }
  .crp-purchase-controls .crp-qty { min-height:52px; }
  .crp-purchase-controls .crp-qty button { width:28px; }
  .crp-purchase-controls .crp-qty input { width:30px; }
  .crp-purchase-controls .crp-add-btn,
  .crp-purchase-controls .crp-buy-now-btn { min-height:52px; font-size:.76rem; }
  .crp-buy-assurance { gap:9px 12px; font-size:.64rem; }
  .luxury-utility-row a { margin-right:12px; padding-right:12px !important; }
  .luxury-trust-grid { display:grid; grid-template-columns:repeat(3,1fr) !important; }
  .luxury-trust-grid span { font-size:.65rem; }
  .sticky-add-bar { padding:9px 10px !important; }
  .sticky-add-actions { gap:6px; }
  .sticky-add-bar .btn-primary,.crp-sticky-buy-now { min-width:104px !important; padding:10px 12px !important; font-size:.76rem; }
}

/* ================================================================
   Comfortrek v122 — PDP PURCHASE / READABILITY CORRECTION
   Goals:
   - premium, restrained purchase hierarchy
   - no low-contrast theme text
   - equal Add to Cart / Buy Now controls
   - Amazon/Flipkart-style yellow Buy Now CTA
   - preserve festival/theme identity through accents, not unreadable text
   ================================================================ */
.luxury-product-page .luxury-product-info,
.luxury-product-page .luxury-product-info * {
  text-rendering: optimizeLegibility;
}

/* Never allow the active theme to turn essential PDP copy into black-on-brown/black. */
.luxury-product-page .luxury-product-info :where(p,span,a,li,small,label,div) {
  opacity: 1;
}
.luxury-product-page .crp-rating-row,
.luxury-product-page .crp-rating-row a,
.luxury-product-page .crp-rating-row span,
.luxury-product-page .luxury-product-info .luxury-utility-row a,
.luxury-product-page .luxury-product-info .form-label,
.luxury-product-page .luxury-product-info .ct-dp-sub,
.luxury-product-page .luxury-product-info .ct-dp-meta,
.luxury-product-page .luxury-product-info .ct-dp-transit,
.luxury-product-page .luxury-product-info .ct-dp-location {
  color: var(--pdp-body-text, #4d4a45) !important;
}
.luxury-product-page .luxury-product-info .crp-dot,
.luxury-product-page .luxury-product-info .crp-buy-tax-note {
  color: var(--pdp-muted-text, #6b675f) !important;
}

/* Purchase module: compact, calm, and visually separated. */
.luxury-product-page .crp-buy-box-premium {
  margin: 26px 0 24px !important;
  padding: 20px !important;
  border: 1px solid var(--pdp-buy-border, rgba(25,25,25,.11)) !important;
  border-radius: 18px !important;
  background: var(--pdp-buy-surface, rgba(255,255,255,.72)) !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.055) !important;
}
.luxury-product-page .crp-buy-heading {
  padding-bottom: 15px !important;
  margin-bottom: 17px;
  border-bottom: 1px solid var(--pdp-buy-border, rgba(25,25,25,.11)) !important;
}
.luxury-product-page .crp-buy-heading > div {
  display: block;
}
.luxury-product-page .crp-buy-kicker {
  font-size: .68rem !important;
  letter-spacing: .16em !important;
}
.luxury-product-page .crp-stock-status {
  font-size: .78rem !important;
  font-weight: 650 !important;
}

/* Quantity is deliberately separate from the two equal CTAs. */
.luxury-product-page .crp-purchase-controls {
  display: grid !important;
  grid-template-columns: 112px minmax(0,1fr) minmax(0,1fr) !important;
  gap: 10px !important;
  align-items: stretch !important;
}
.luxury-product-page .crp-purchase-controls .crp-qty {
  width: 112px !important;
  min-height: 56px !important;
  height: 56px !important;
  display: grid !important;
  grid-template-columns: 32px minmax(30px,1fr) 32px !important;
  align-items: center !important;
  border: 1px solid var(--pdp-buy-border, rgba(25,25,25,.15)) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: var(--pdp-qty-surface, #fff) !important;
}
.luxury-product-page .crp-purchase-controls .crp-qty-btn {
  width: 32px !important;
  height: 56px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--pdp-body-text, #252525) !important;
  font-size: 19px !important;
  line-height: 1 !important;
}
.luxury-product-page .crp-purchase-controls .crp-qty input {
  width: 100% !important;
  height: 56px !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: var(--pdp-body-text, #252525) !important;
  text-align: center !important;
  font: 600 15px/1 system-ui,sans-serif !important;
  -moz-appearance: textfield;
}
.luxury-product-page .crp-purchase-controls .crp-qty input::-webkit-outer-spin-button,
.luxury-product-page .crp-purchase-controls .crp-qty input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Both purchase buttons are intentionally identical in dimensions. */
.luxury-product-page .crp-purchase-controls .crp-add-btn,
.luxury-product-page .crp-purchase-controls .crp-buy-now-btn {
  width: 100% !important;
  min-width: 0 !important;
  height: 56px !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border-radius: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  font: 700 14px/1 system-ui,sans-serif !important;
  letter-spacing: .01em !important;
  box-sizing: border-box !important;
}
.luxury-product-page .crp-purchase-controls .crp-add-btn {
  background: #1b1c1e !important;
  color: #fff !important;
  border: 1px solid #1b1c1e !important;
  box-shadow: none !important;
}
.luxury-product-page .crp-purchase-controls .crp-buy-now-btn {
  /* Amazon-style warm yellow purchase CTA. */
  background: #ffd814 !important;
  color: #111 !important;
  border: 1px solid #f2c900 !important;
  box-shadow: none !important;
}
.luxury-product-page .crp-purchase-controls .crp-add-btn:hover,
.luxury-product-page .crp-purchase-controls .crp-buy-now-btn:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 7px 18px rgba(0,0,0,.10) !important;
}
.luxury-product-page .crp-purchase-controls .crp-buy-now-btn:focus-visible,
.luxury-product-page .crp-purchase-controls .crp-add-btn:focus-visible {
  outline: 3px solid rgba(255,216,20,.38) !important;
  outline-offset: 2px !important;
}

.luxury-product-page .crp-buy-assurance {
  margin-top: 14px !important;
  padding-top: 14px !important;
  border-top: 1px solid var(--pdp-buy-border, rgba(25,25,25,.09));
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 8px !important;
  color: var(--pdp-muted-text, #5e5a53) !important;
  font-size: .72rem !important;
  line-height: 1.35 !important;
}
.luxury-product-page .crp-buy-assurance span {
  min-width: 0;
}

/* Make the rest of the PDP readable in every theme, while retaining theme accents. */
body.appearance-light .luxury-product-page .luxury-product-info {
  --pdp-body-text: #2d2c2a;
  --pdp-muted-text: #66615a;
  --pdp-buy-surface: #fbfaf7;
  --pdp-buy-border: rgba(35,33,30,.13);
  --pdp-qty-surface: #fff;
}
body.appearance-dark .luxury-product-page .luxury-product-info {
  --pdp-body-text: #eeeae2;
  --pdp-muted-text: #b7b1a7;
  --pdp-buy-surface: rgba(255,255,255,.055);
  --pdp-buy-border: rgba(255,255,255,.14);
  --pdp-qty-surface: rgba(255,255,255,.065);
}
body.appearance-dark .luxury-product-page .crp-purchase-controls .crp-add-btn {
  background: #f4f1ea !important;
  color: #171717 !important;
  border-color: #f4f1ea !important;
}
body.appearance-dark .luxury-product-page .crp-purchase-controls .crp-buy-now-btn {
  background: #ffd814 !important;
  color: #111 !important;
}

@media (max-width: 620px) {
  /* Mobile: quantity first, then equal full-width CTAs stacked vertically and centered. */
  .luxury-product-page .crp-buy-box-premium {
    padding: 18px 16px !important;
    border-radius: 16px !important;
  }
  .luxury-product-page .crp-purchase-controls {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
  }
  .luxury-product-page .crp-purchase-controls .crp-qty {
    order: 1 !important;
    width: 112px !important;
    flex: 0 0 56px !important;
    align-self: center !important;
  }
  .luxury-product-page .crp-purchase-controls .crp-add-btn {
    order: 2 !important;
  }
  .luxury-product-page .crp-purchase-controls .crp-buy-now-btn {
    order: 3 !important;
  }
  .luxury-product-page .crp-purchase-controls .crp-add-btn,
  .luxury-product-page .crp-purchase-controls .crp-buy-now-btn {
    width: min(100%, 420px) !important;
    height: 56px !important;
    min-height: 56px !important;
    flex: 0 0 56px !important;
    font-size: 14px !important;
    border-radius: 10px !important;
  }
  /* Keep Buy Now yellow even when a festival/theme stylesheet changes button colors. */
  .luxury-product-page .crp-purchase-controls .crp-buy-now-btn,
  body.appearance-dark .luxury-product-page .crp-purchase-controls .crp-buy-now-btn {
    background: #ffd814 !important;
    color: #111 !important;
    border-color: #f2c900 !important;
  }
  .luxury-product-page .crp-buy-assurance {
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    text-align: center !important;
  }
}


/* Comfortrek v123 — responsive CTA geometry hardening. */
.luxury-product-page .crp-purchase-controls .crp-add-btn,
.luxury-product-page .crp-purchase-controls .crp-buy-now-btn {
  box-sizing: border-box !important;
  flex: 1 1 0 !important;
}
.luxury-product-page .crp-purchase-controls .crp-buy-now-btn {
  background: #ffd814 !important;
  color: #111 !important;
  border: 1px solid #f2c900 !important;
}
@media (min-width: 621px) {
  .luxury-product-page .crp-purchase-controls {
    display: grid !important;
    grid-template-columns: 112px minmax(0,1fr) minmax(0,1fr) !important;
    align-items: stretch !important;
  }
}
@media (max-width: 620px) {
  .luxury-product-page .crp-purchase-controls {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  .luxury-product-page .crp-purchase-controls .crp-add-btn,
  .luxury-product-page .crp-purchase-controls .crp-buy-now-btn {
    width: min(100%, 420px) !important;
    max-width: 420px !important;
    flex: 0 0 56px !important;
  }
}

/* ================================================================
   Comfortrek v125 — PREMIUM COLOR / VARIANT SELECTOR
   - Moves color choice into the primary purchase hierarchy.
   - Uses actual variant product images instead of plain color dots.
   - Responsive, accessible, touch-friendly cards.
   ================================================================ */
.ct-variant-selector {
  margin: 22px 0 24px;
  padding: 18px 0 2px;
  border-top: 1px solid var(--pdp-buy-border, rgba(25,25,25,.12));
}
.ct-variant-selector-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}
.ct-variant-selector-head > div {
  display: flex;
  align-items: baseline;
  gap: 9px;
  min-width: 0;
}
.ct-variant-kicker {
  display: block;
  font: 700 .67rem/1.2 'IBM Plex Mono', ui-monospace, monospace;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--pdp-muted-text, #6b675f);
}
.ct-variant-selector-head strong {
  font-size: .88rem;
  font-weight: 650;
  color: var(--pdp-body-text, #252525);
}
.ct-variant-count {
  flex: 0 0 auto;
  font-size: .72rem;
  color: var(--pdp-muted-text, #6b675f);
}
.ct-variant-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 10px;
}
.ct-variant-card {
  position: relative;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--pdp-buy-border, rgba(25,25,25,.14));
  border-radius: 14px;
  background: var(--pdp-buy-surface, rgba(255,255,255,.72));
  color: var(--pdp-body-text, #252525);
  text-align: left;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.ct-variant-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(0,0,0,.08);
}
.ct-variant-card.is-selected {
  border: 2px solid var(--charcoal, #171717);
  box-shadow: 0 8px 24px rgba(0,0,0,.10);
}
.ct-variant-image-wrap {
  position: relative;
  display: block;
  aspect-ratio: 1 / .84;
  overflow: hidden;
  background: #f2f0eb;
}
.ct-variant-image-wrap img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  padding: 7px;
  transition: transform .22s ease;
}
.ct-variant-card:hover .ct-variant-image-wrap img {
  transform: scale(1.035);
}
.ct-variant-image-placeholder {
  height: 100%;
  display: grid;
  place-items: center;
  font-size: .7rem;
  color: #777;
}
.ct-variant-check {
  position: absolute;
  right: 8px;
  top: 8px;
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #fff;
  color: #171717;
  font-size: .72rem;
  font-weight: 800;
  opacity: 0;
  transform: scale(.82);
  box-shadow: 0 3px 10px rgba(0,0,0,.14);
  transition: opacity .16s ease, transform .16s ease;
}
.ct-variant-card.is-selected .ct-variant-check {
  opacity: 1;
  transform: scale(1);
}
.ct-variant-card-info {
  display: block;
  padding: 10px 10px 11px;
}
.ct-variant-card-info strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .78rem;
  font-weight: 700;
  color: var(--pdp-body-text, #252525);
}
.ct-variant-card-info small {
  display: block;
  margin-top: 3px;
  font-size: .67rem;
  color: var(--pdp-muted-text, #6b675f);
}
.ct-variant-helper {
  margin: 9px 0 0;
  font-size: .68rem;
  color: var(--pdp-muted-text, #6b675f);
}
.ct-basic-color-fallback {
  margin: 22px 0 24px;
  padding: 18px 0 2px;
  border-top: 1px solid var(--pdp-buy-border, rgba(25,25,25,.12));
}
.ct-color-swatch-list { display:flex; gap:10px; margin-top:10px; }
.ct-color-swatch {
  width: 34px;
  height: 34px;
  display:block;
  border-radius:50%;
  border:3px solid rgba(255,255,255,.9);
  outline:1px solid var(--pdp-buy-border, rgba(25,25,25,.18));
}
.ct-color-swatch.is-selected { outline:2px solid var(--charcoal,#171717); outline-offset:2px; }

.ct-variant-thumb {
  width: 64px !important;
  height: 64px !important;
  padding: 0 !important;
  border: 2px solid var(--line) !important;
  border-radius: 10px !important;
  background: var(--pdp-buy-surface, #fff) !important;
  overflow: hidden;
}
.ct-variant-thumb img { width:100%; height:100%; object-fit:contain; display:block; }
.ct-variant-thumb.is-active { border-color: var(--charcoal, #171717) !important; }

body.appearance-dark .ct-variant-card {
  background: rgba(255,255,255,.045);
  border-color: rgba(255,255,255,.14);
}
body.appearance-dark .ct-variant-card.is-selected { border-color: #f4f1ea; }
body.appearance-dark .ct-variant-image-wrap { background: #1b1d1f; }
body.appearance-dark .ct-variant-card-info strong,
body.appearance-dark .ct-variant-selector-head strong { color:#f4f1ea; }
body.appearance-dark .ct-variant-check { background:#f4f1ea; color:#111; }

@media (max-width: 620px) {
  .ct-variant-selector {
    margin: 18px 0 20px;
    padding-top: 16px;
  }
  .ct-variant-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }
  .ct-variant-card { border-radius: 12px; }
  .ct-variant-card-info { padding: 8px 8px 9px; }
  .ct-variant-card-info strong { font-size: .72rem; }
  .ct-variant-card-info small { font-size: .61rem; }
  .ct-variant-image-wrap { aspect-ratio: 1 / .9; }
  .ct-variant-image-wrap img { padding: 4px; }
  .ct-variant-check { width:21px; height:21px; right:5px; top:5px; }
  .ct-variant-selector-head > div { gap:7px; }
}

/* ============================================================
   COMFORTREK V161 — PREMIUM THEME SYSTEM
   Design direction: premium editorial / luxury D2C / modern utility.
   Original implementation; not a copy of any third-party theme.
   ============================================================ */
:root{
  --ct-premium-max:1440px;
  --ct-premium-gap:clamp(14px,1.5vw,24px);
  --ct-premium-radius:var(--theme-radius,14px);
}

/* Universal premium polish: consistent hierarchy, image treatment and interaction. */
body.theme-archetype-luxury .section-heading h2,
body.theme-archetype-editorial .section-heading h2,
body.theme-archetype-gallery .section-heading h2{
  letter-spacing:-.035em;
  line-height:1.04;
}
body.theme-archetype-luxury .tag-card,
body.theme-archetype-editorial .tag-card,
body.theme-archetype-gallery .tag-card{
  overflow:hidden;
  transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease;
}
body.theme-archetype-luxury .tag-card:hover,
body.theme-archetype-editorial .tag-card:hover,
body.theme-archetype-gallery .tag-card:hover{
  transform:translateY(-3px);
}
body.theme-archetype-luxury .tag-card .tag-image img,
body.theme-archetype-editorial .tag-card .tag-image img,
body.theme-archetype-gallery .tag-card .tag-image img{
  transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .35s ease;
}
body.theme-archetype-luxury .tag-card:hover .tag-image img,
body.theme-archetype-editorial .tag-card:hover .tag-image img,
body.theme-archetype-gallery .tag-card:hover .tag-image img{transform:scale(1.035)}
body.theme-archetype-luxury .btn-primary,
body.theme-archetype-editorial .btn-primary,
body.theme-archetype-gallery .btn-primary{
  min-height:46px;
  padding-inline:20px;
  font-weight:650;
}
body.theme-archetype-luxury .premium-banner-carousel,
body.theme-archetype-editorial .premium-banner-carousel,
body.theme-archetype-gallery .premium-banner-carousel{overflow:hidden}
body.theme-archetype-luxury .site-header,
body.theme-archetype-editorial .site-header,
body.theme-archetype-gallery .site-header{backdrop-filter:saturate(125%) blur(10px)}

/* Palo Alto direction — upgraded to image-led editorial commerce with stronger merchandising. */
body.site-theme-palo_alto{
  --pa-accent:#b88a45;
  --pa-paper:#f7f5ef;
  --pa-ink:#151515;
  --pa-muted:#706c64;
  --pa-line:#ddd8ce;
  --pa-soft:#ebe8df;
  --pa-max:1480px;
}
body.site-theme-palo_alto .announcement-bar{
  min-height:34px!important;
  display:flex!important;align-items:center;justify-content:center;
  font-size:10px!important;letter-spacing:.15em!important;
  text-transform:uppercase!important;
}
body.site-theme-palo_alto .site-header{position:sticky!important;top:0;z-index:220!important;background:color-mix(in srgb,var(--pa-paper) 94%,transparent)!important;backdrop-filter:blur(18px) saturate(130%)!important}
body.site-theme-palo_alto .header-inner{min-height:76px!important}
body.site-theme-palo_alto .main-nav a{font-weight:560!important;letter-spacing:.065em!important}
body.site-theme-palo_alto .header-actions .header-luxe-cta{box-shadow:none!important}
body.site-theme-palo_alto .premium-hero{min-height:clamp(600px,78vh,820px)!important}
body.site-theme-palo_alto .premium-hero .hero-content{padding-block:clamp(70px,9vw,130px)!important}
body.site-theme-palo_alto .premium-hero .hero-content h1{max-width:9ch!important;font-size:clamp(3.2rem,7.2vw,7.4rem)!important;line-height:.92!important}
body.site-theme-palo_alto .premium-hero .hero-actions{gap:10px!important}
body.site-theme-palo_alto .premium-hero .hero-actions .btn-primary{min-height:48px!important;padding-inline:24px!important}
body.site-theme-palo_alto .section-heading{padding-inline:clamp(16px,3vw,28px)!important}
body.site-theme-palo_alto .section-heading h2{font-size:clamp(2rem,4vw,4rem)!important}
body.site-theme-palo_alto .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:1px!important;background:var(--pa-line)!important}
body.site-theme-palo_alto .tag-card{background:var(--pa-paper)!important;border:0!important}
body.site-theme-palo_alto .tag-card .tag-image{aspect-ratio:4/5!important}
body.site-theme-palo_alto .tag-card h3{font-family:Inter,system-ui,sans-serif!important;font-size:.88rem!important;letter-spacing:-.01em!important}
body.site-theme-palo_alto .tag-card .price{font-size:.88rem!important}
body.site-theme-palo_alto .card-actions .add-to-cart-btn{min-height:42px!important}
body.site-theme-palo_alto .premium-banner-carousel{margin-inline:auto!important;max-width:var(--pa-max)!important}
body.site-theme-palo_alto .pa-service-rail{max-width:var(--pa-max)!important}
body.site-theme-palo_alto .pa-service-rail article{padding-block:28px!important}
body.site-theme-palo_alto .luxury-product-info{top:96px!important}
body.site-theme-palo_alto .luxury-product-page .luxury-product-hero{gap:clamp(28px,5vw,76px)!important}
body.site-theme-palo_alto .sticky-add-bar{box-shadow:0 -12px 35px rgba(0,0,0,.07)!important}
@media(max-width:900px){
  body.site-theme-palo_alto .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.site-theme-palo_alto .premium-hero,body.site-theme-palo_alto .premium-hero .hero-slide{min-height:calc(100svh - 118px)!important}
  body.site-theme-palo_alto .premium-hero .hero-content{padding:54px 18px 70px!important}
  body.site-theme-palo_alto .premium-hero .hero-content h1{font-size:clamp(2.65rem,13vw,4.4rem)!important;max-width:8ch!important}
}

/* New premium design systems. */
body.site-theme-quiet_luxury{--ql-ink:#171613;--ql-paper:#f5f2eb;--ql-accent:#a88450;--ql-line:#ddd6ca;--ql-soft:#eae5dc;background:var(--ql-paper)!important;color:var(--ql-ink)!important}
body.site-theme-quiet_luxury .site-header{background:color-mix(in srgb,var(--ql-paper) 95%,transparent)!important;border-bottom:1px solid var(--ql-line)!important;backdrop-filter:blur(16px)}
body.site-theme-quiet_luxury .logo,body.site-theme-quiet_luxury .section-heading h2,body.site-theme-quiet_luxury .premium-hero h1{font-family:Georgia,"Times New Roman",serif!important;font-weight:500!important}
body.site-theme-quiet_luxury .premium-hero{min-height:78vh!important;background:var(--ql-soft)!important}
body.site-theme-quiet_luxury .tag-card{border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
body.site-theme-quiet_luxury .tag-card .tag-image{border-radius:0!important;background:var(--ql-soft)!important}
body.site-theme-quiet_luxury .btn-primary,body.site-theme-quiet_luxury .add-to-cart-btn{background:var(--ql-ink)!important;color:#fff!important;border-radius:999px!important}
body.site-theme-quiet_luxury .section-heading{padding-top:80px!important}

body.site-theme-nordic_atelier{--na-ink:#1f2826;--na-paper:#f4f5f1;--na-accent:#758b84;--na-line:#d9ded9;--na-soft:#e7ebe6;background:var(--na-paper)!important;color:var(--na-ink)!important}
body.site-theme-nordic_atelier .site-header{background:var(--na-paper)!important;border-bottom:1px solid var(--na-line)!important}
body.site-theme-nordic_atelier .logo{font-weight:750!important;letter-spacing:-.04em!important}
body.site-theme-nordic_atelier .premium-hero{background:var(--na-soft)!important;min-height:68vh!important}
body.site-theme-nordic_atelier .premium-hero h1{font-family:Inter,system-ui,sans-serif!important;font-weight:650!important;letter-spacing:-.06em!important}
body.site-theme-nordic_atelier .tag-card{border:1px solid var(--na-line)!important;border-radius:12px!important;box-shadow:none!important;background:#fff!important}
body.site-theme-nordic_atelier .tag-card .tag-image{border-radius:11px 11px 0 0!important}
body.site-theme-nordic_atelier .btn-primary,body.site-theme-nordic_atelier .add-to-cart-btn{background:var(--na-ink)!important;color:#fff!important;border-radius:10px!important}

body.site-theme-gallery_house{--gh-ink:#1c1b1a;--gh-paper:#f7f4ee;--gh-accent:#a85f43;--gh-line:#ddd4c9;--gh-soft:#ece5dc;background:var(--gh-paper)!important;color:var(--gh-ink)!important}
body.site-theme-gallery_house .site-header{background:var(--gh-paper)!important;border-bottom:1px solid var(--gh-line)!important}
body.site-theme-gallery_house .logo,body.site-theme-gallery_house .section-heading h2,body.site-theme-gallery_house .premium-hero h1{font-family:Georgia,"Times New Roman",serif!important;font-weight:500!important}
body.site-theme-gallery_house .premium-hero{min-height:76vh!important;background:var(--gh-soft)!important}
body.site-theme-gallery_house .tag-card{border:0!important;border-radius:0!important;background:transparent!important}
body.site-theme-gallery_house .tag-card .tag-image{border-radius:0!important;background:var(--gh-soft)!important}
body.site-theme-gallery_house .tag-card:hover{transform:translateY(-5px)!important}
body.site-theme-gallery_house .btn-primary,body.site-theme-gallery_house .add-to-cart-btn{background:var(--gh-ink)!important;color:#fff!important;border-radius:999px!important}

body.site-theme-studio_mono{--sm-ink:#111;--sm-paper:#fafafa;--sm-line:#ddd;--sm-soft:#f0f0f0;background:var(--sm-paper)!important;color:var(--sm-ink)!important}
body.site-theme-studio_mono .site-header{background:#fff!important;border-bottom:1px solid var(--sm-line)!important}
body.site-theme-studio_mono .premium-hero{min-height:70vh!important;background:#ececec!important}
body.site-theme-studio_mono .premium-hero h1{font-family:Inter,system-ui,sans-serif!important;font-weight:800!important;letter-spacing:-.07em!important;text-transform:none!important}
body.site-theme-studio_mono .tag-card{border:1px solid var(--sm-line)!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}
body.site-theme-studio_mono .tag-card .tag-image{border-radius:0!important;filter:grayscale(100%)!important}
body.site-theme-studio_mono .tag-card:hover .tag-image{filter:grayscale(0%)!important}
body.site-theme-studio_mono .btn-primary,body.site-theme-studio_mono .add-to-cart-btn{background:#111!important;color:#fff!important;border-radius:0!important}

body.site-theme-editorial_motion{--em-ink:#f4f5f7;--em-paper:#0f1117;--em-accent:#a998ff;--em-line:#2b3040;--em-soft:#1a1e28;background:var(--em-paper)!important;color:var(--em-ink)!important}
body.site-theme-editorial_motion .site-header{background:color-mix(in srgb,var(--em-paper) 88%,transparent)!important;border-bottom:1px solid var(--em-line)!important;backdrop-filter:blur(20px)}
body.site-theme-editorial_motion .premium-hero{min-height:78vh!important;background:radial-gradient(circle at 75% 25%,rgba(169,152,255,.22),transparent 28%),var(--em-paper)!important}
body.site-theme-editorial_motion .premium-hero h1{font-family:Inter,system-ui,sans-serif!important;font-weight:750!important;letter-spacing:-.065em!important}
body.site-theme-editorial_motion .tag-card{background:var(--em-soft)!important;border:1px solid var(--em-line)!important;border-radius:16px!important;box-shadow:0 18px 55px rgba(0,0,0,.18)!important}
body.site-theme-editorial_motion .tag-card .tag-image{border-radius:15px!important}
body.site-theme-editorial_motion .btn-primary,body.site-theme-editorial_motion .add-to-cart-btn{background:var(--em-accent)!important;color:#101018!important;border-radius:999px!important}

body.site-theme-neo_utility{--nu-ink:#111827;--nu-paper:#f7f9fc;--nu-accent:#2563eb;--nu-line:#dbe2ee;--nu-soft:#edf3ff;background:var(--nu-paper)!important;color:var(--nu-ink)!important}
body.site-theme-neo_utility .site-header{background:#fff!important;border-bottom:1px solid var(--nu-line)!important}
body.site-theme-neo_utility .premium-hero{min-height:66vh!important;background:linear-gradient(135deg,#edf3ff,#f8fafc)!important}
body.site-theme-neo_utility .premium-hero h1{font-family:Inter,system-ui,sans-serif!important;font-weight:750!important;letter-spacing:-.055em!important}
body.site-theme-neo_utility .tag-card{background:#fff!important;border:1px solid var(--nu-line)!important;border-radius:12px!important;box-shadow:0 10px 30px rgba(17,24,39,.06)!important}
body.site-theme-neo_utility .tag-card .tag-image{border-radius:11px 11px 0 0!important;background:var(--nu-soft)!important}
body.site-theme-neo_utility .btn-primary,body.site-theme-neo_utility .add-to-cart-btn{background:var(--nu-accent)!important;color:#fff!important;border-radius:10px!important}

/* Theme Studio card art for the new systems — no dependency on uploaded preview images. */
.ts156-theme-card[data-theme="quiet_luxury"] .ts156-theme-art{background:linear-gradient(135deg,#f3efe6,#b89262)!important;color:#28231d!important}
.ts156-theme-card[data-theme="nordic_atelier"] .ts156-theme-art{background:linear-gradient(135deg,#f1f4f0,#82958e)!important;color:#24302c!important}
.ts156-theme-card[data-theme="gallery_house"] .ts156-theme-art{background:linear-gradient(135deg,#eee5da,#b46d4d)!important;color:#241c18!important}
.ts156-theme-card[data-theme="studio_mono"] .ts156-theme-art{background:linear-gradient(135deg,#111,#777)!important;color:#fff!important}
.ts156-theme-card[data-theme="editorial_motion"] .ts156-theme-art{background:radial-gradient(circle at 70% 30%,#b5a0ff,#10131b 58%)!important;color:#fff!important}
.ts156-theme-card[data-theme="neo_utility"] .ts156-theme-art{background:linear-gradient(135deg,#eaf1ff,#2563eb)!important;color:#10234b!important}

@media(max-width:700px){
  body.site-theme-quiet_luxury .premium-hero,body.site-theme-gallery_house .premium-hero,body.site-theme-editorial_motion .premium-hero{min-height:calc(100svh - 118px)!important}
  body.site-theme-nordic_atelier .premium-hero,body.site-theme-studio_mono .premium-hero,body.site-theme-neo_utility .premium-hero{min-height:64svh!important}
  body.site-theme-quiet_luxury .section-heading,body.site-theme-gallery_house .section-heading{padding-top:48px!important}
}

/* =========================================================
   V175 — Comfortrek Smart Commerce Experience Layer
   ========================================================= */
.ct175-experience-hub{margin:22px 0 18px;padding:22px;border:1px solid color-mix(in srgb,var(--line,#ddd) 75%,transparent);border-radius:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface,#fff) 94%,#b46b3d 6%),var(--surface,#fff));box-shadow:0 18px 50px rgba(20,18,15,.06)}
.ct175-hub-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:17px}.ct175-kicker,.ct175-discovery-head>div>span{font-size:.58rem;letter-spacing:.14em;font-weight:900;color:var(--cognac-dark,#8b573e)}.ct175-hub-head h2{margin:4px 0 4px;font-size:1.25rem;letter-spacing:-.035em}.ct175-hub-head p{margin:0;color:var(--slate,#777);font-size:.76rem}.ct175-live-dot{font-size:.55rem;font-weight:900;letter-spacing:.08em;display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--line,#ddd);border-radius:999px}.ct175-live-dot i{width:7px;height:7px;border-radius:50%;background:#2f8d59;box-shadow:0 0 0 4px rgba(47,141,89,.12)}
.ct175-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.ct175-tool{min-width:0;text-align:left;display:grid;grid-template-columns:34px 1fr 16px;gap:10px;align-items:center;padding:13px 12px;border:1px solid var(--line,#ddd);background:color-mix(in srgb,var(--surface,#fff) 94%,#eee 6%);border-radius:15px;text-decoration:none;color:inherit;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.ct175-tool:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--cognac,#a46a4e) 48%,var(--line,#ddd));box-shadow:0 10px 28px rgba(20,18,15,.07)}.ct175-tool-featured{background:linear-gradient(135deg,#1d1b19,#38312c);color:#fff;border-color:#1d1b19}.ct175-tool-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--cognac,#a46a4e) 14%,transparent);font-weight:900}.ct175-tool-featured .ct175-tool-icon{background:rgba(255,255,255,.12)}.ct175-tool b{display:block;font-size:.73rem;line-height:1.2}.ct175-tool small{display:block;margin-top:4px;color:var(--slate,#777);font-size:.61rem;line-height:1.35}.ct175-tool-featured small{color:rgba(255,255,255,.7)}.ct175-tool em{font-style:normal;font-size:.9rem;color:var(--slate,#777)}.ct175-tool-featured em{color:#fff}.ct175-fit-panel{margin-top:10px;padding:13px;border-radius:14px;background:var(--soft,#f7f5f1);display:flex;align-items:center;justify-content:space-between;gap:14px}.ct175-fit-panel small{display:block;color:var(--slate,#777);font-size:.63rem;margin-top:3px}.ct175-fit-fields{display:flex;align-items:center;gap:6px}.ct175-fit-fields input{width:95px}.ct175-fit-fields span{font-size:.65rem;color:var(--slate,#777)}.ct175-fit-fields button{border:0;border-radius:10px;padding:10px 14px;background:var(--charcoal,#171717);color:#fff;font-weight:800;cursor:pointer}.ct175-fit-panel>strong{font-size:.72rem}.ct175-savings-strip{display:grid;grid-template-columns:1.5fr .8fr .8fr 1.2fr;align-items:center;gap:12px;margin:12px 0 22px;padding:14px 16px;border:1px solid rgba(180,107,61,.22);border-radius:16px;background:linear-gradient(110deg,rgba(180,107,61,.08),rgba(255,255,255,.02))}.ct175-savings-main span,.ct175-savings-stat small{display:block;font-size:.52rem;letter-spacing:.1em;font-weight:900;color:var(--slate,#777)}.ct175-savings-main strong{display:block;font-size:1.18rem;margin-top:3px;letter-spacing:-.03em}.ct175-savings-stat{padding-left:12px;border-left:1px solid var(--line,#ddd)}.ct175-savings-stat b{display:block;margin-top:3px;font-size:.82rem}.ct175-savings-note{font-size:.6rem;line-height:1.4;color:var(--slate,#777)}
.ct175-discovery-zone{padding:10px 0 34px}.ct175-discovery-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:12px}.ct175-discovery-head h2{font-size:1.25rem;margin:4px 0 0;letter-spacing:-.035em}.ct175-discovery-head a{font-size:.7rem;font-weight:800;color:var(--cognac-dark,#8b573e);text-decoration:none}.ct175-discovery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ct175-discovery-card{display:flex;flex-direction:column;min-height:142px;padding:17px;border:1px solid var(--line,#ddd);border-radius:16px;text-decoration:none;color:inherit;background:var(--surface,#fff);transition:transform .18s ease,box-shadow .18s ease}.ct175-discovery-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(20,18,15,.07)}.ct175-discovery-card b{font-size:.78rem}.ct175-discovery-card span{font-size:.64rem;line-height:1.45;color:var(--slate,#777);margin-top:7px}.ct175-discovery-card strong{margin-top:auto;font-size:.65rem;color:var(--cognac-dark,#8b573e)}
body.appearance-dark .ct175-experience-hub,body.appearance-dark .ct175-tool,body.appearance-dark .ct175-discovery-card{background:#17191b;color:#f2eee7;border-color:#34383b}.appearance-dark .ct175-tool small,.appearance-dark .ct175-hub-head p,.appearance-dark .ct175-savings-note,.appearance-dark .ct175-discovery-card span{color:#aeb2b5}.appearance-dark .ct175-fit-panel{background:#202326}.appearance-dark .ct175-savings-strip{background:rgba(180,107,61,.08);border-color:rgba(210,142,102,.25)}
@media(max-width:900px){.ct175-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ct175-savings-strip{grid-template-columns:1fr 1fr}.ct175-savings-note{grid-column:1/-1}.ct175-discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ct175-experience-hub{margin:16px 0;padding:16px;border-radius:18px}.ct175-hub-head{align-items:center}.ct175-hub-head h2{font-size:1.08rem}.ct175-hub-head p{font-size:.68rem;max-width:28ch}.ct175-live-dot{font-size:.48rem}.ct175-hub-grid{grid-template-columns:1fr;gap:7px}.ct175-tool{padding:12px 11px}.ct175-tool small{font-size:.6rem}.ct175-fit-panel{display:block}.ct175-fit-fields{margin-top:10px}.ct175-fit-fields input{flex:1;width:auto}.ct175-savings-strip{grid-template-columns:1fr 1fr;padding:13px}.ct175-savings-main{grid-column:1/-1}.ct175-savings-stat{padding-left:0;border-left:0}.ct175-discovery-grid{grid-template-columns:1fr}.ct175-discovery-card{min-height:120px}}

/* ============================================================
   V179 — Complete Storefront Theme Redesign
   30 distinct visual systems. This layer intentionally sits at
   the end of the stylesheet so legacy theme rules cannot flatten
   the new visual language.
   ============================================================ */
body[class*="site-theme-"]{
  --v179-max:1320px;--v179-radius:22px;--v179-card-radius:24px;
  --v179-border:color-mix(in srgb,var(--line) 70%,transparent);
  --v179-surface:color-mix(in srgb,var(--bone) 92%,transparent);
  --v179-muted:color-mix(in srgb,var(--ink) 62%,transparent);
  --v179-shadow:0 24px 80px rgba(0,0,0,.10);
  --v179-shadow-hover:0 34px 100px rgba(0,0,0,.17);
  --v179-display:clamp(2.6rem,6vw,6.8rem);
  font-synthesis:none;
}
body[class*="site-theme-"] .container,body[class*="site-theme-"] .hero-inner{max-width:var(--v179-max)!important}
body[class*="site-theme-"] .site-header{background:color-mix(in srgb,var(--ink) 94%,transparent)!important;backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);border-bottom:1px solid color-mix(in srgb,var(--brass) 28%,transparent)!important}
body[class*="site-theme-"] .site-header .logo{letter-spacing:-.045em;font-weight:900}
body[class*="site-theme-"] .site-header .main-nav a{transition:opacity .2s,transform .2s,color .2s}
body[class*="site-theme-"] .site-header .main-nav a:hover{transform:translateY(-1px);color:var(--brass)!important}
body[class*="site-theme-"] .hero{isolation:isolate;overflow:hidden;border-radius:0 0 36px 36px;min-height:clamp(500px,72vh,820px);display:flex;align-items:center}
body[class*="site-theme-"] .hero-inner{position:relative;z-index:2;width:100%;padding-top:clamp(60px,8vw,120px);padding-bottom:clamp(60px,8vw,120px)}
body[class*="site-theme-"] .hero h1{font-size:var(--v179-display)!important;line-height:.94!important;letter-spacing:-.065em!important;max-width:900px}
body[class*="site-theme-"] .hero p.sub{max-width:650px;font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.7;opacity:.76}
body[class*="site-theme-"] .hero-eyebrow{letter-spacing:.18em;font-size:.68rem;font-weight:900;opacity:.72}
body[class*="site-theme-"] .btn-primary,body[class*="site-theme-"] button.btn-primary{min-height:50px;padding:0 22px;border-radius:999px!important;font-weight:850;letter-spacing:.01em}
body[class*="site-theme-"] .product-grid{gap:clamp(14px,1.7vw,26px)!important}
body[class*="site-theme-"] .tag-card,body[class*="site-theme-"] .product-card{border-radius:var(--v179-card-radius)!important;border:1px solid var(--v179-border)!important;background:color-mix(in srgb,var(--bone) 96%,transparent)!important;box-shadow:var(--v179-shadow)!important;overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
body[class*="site-theme-"] .tag-card:hover,body[class*="site-theme-"] .product-card:hover{transform:translateY(-8px)!important;box-shadow:var(--v179-shadow-hover)!important;border-color:color-mix(in srgb,var(--brass) 52%,transparent)!important}
body[class*="site-theme-"] .tag-card .tag-image{aspect-ratio:4/5!important;height:auto!important;background:color-mix(in srgb,var(--bone) 86%,var(--ink))!important}
body[class*="site-theme-"] .tag-card .tag-image img{transition:transform .7s cubic-bezier(.2,.8,.2,1);will-change:transform}
body[class*="site-theme-"] .tag-card:hover .tag-image img{transform:scale(1.045)}
body[class*="site-theme-"] .tag-card h3{font-size:1rem;letter-spacing:-.025em}
body[class*="site-theme-"] .tag-card .price{font-size:1.05rem;font-weight:900}
body[class*="site-theme-"] .section-heading{margin-bottom:26px}
body[class*="site-theme-"] .section-heading h2{font-size:clamp(1.8rem,3vw,3.3rem);letter-spacing:-.05em}
body[class*="site-theme-"] .announcement-bar{letter-spacing:.06em;font-weight:800}
body[class*="site-theme-"] .site-footer{margin-top:80px;border-top:1px solid var(--v179-border)}
body[class*="site-theme-"] .search-input{border-radius:999px!important;min-height:42px}
body[class*="site-theme-"] .cart-drawer{border-radius:28px 0 0 28px!important;box-shadow:-30px 0 90px rgba(0,0,0,.22)!important}
body[class*="site-theme-"] :focus-visible{outline:3px solid color-mix(in srgb,var(--brass) 75%,white)!important;outline-offset:3px}

/* Shared theme archetypes */
body[class*="site-theme-"][data-theme-archetype="luxury"] .hero,
body.site-theme-prestige_maison .hero,body.site-theme-apex_atelier .hero,body.site-theme-quiet_luxury .hero{background:radial-gradient(circle at 78% 20%,color-mix(in srgb,var(--brass) 22%,transparent),transparent 26%),linear-gradient(120deg,var(--ink),color-mix(in srgb,var(--ink) 80%,var(--brass)) 65%,var(--cognac-dark))}

/* 30 distinct systems */
body.site-theme-signature{--v179-max:1320px;--v179-card-radius:26px;--v179-shadow:0 26px 70px rgba(58,35,20,.13)}
body.site-theme-signature .hero{background:radial-gradient(circle at 76% 24%,rgba(196,162,103,.22),transparent 24%),linear-gradient(125deg,#15110f 0%,#2a211b 55%,#4a3020 100%)}
body.site-theme-signature .tag-card:nth-child(3n+1){transform-origin:center bottom}

body.site-theme-midnight_luxe{--v179-card-radius:28px;--v179-shadow:0 26px 90px rgba(0,0,0,.36)}
body.site-theme-midnight_luxe .hero{background:radial-gradient(circle at 76% 20%,rgba(212,183,123,.24),transparent 22%),radial-gradient(circle at 15% 80%,rgba(80,110,170,.18),transparent 28%),#090d14}
body.site-theme-midnight_luxe .tag-card,body.site-theme-midnight_luxe .product-card{background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.025))!important;color:#f3eee5}

body.site-theme-aurora{--v179-card-radius:30px;--v179-shadow:0 28px 90px rgba(65,42,150,.18)}
body.site-theme-aurora .hero{background:radial-gradient(circle at 75% 25%,rgba(111,231,224,.35),transparent 22%),radial-gradient(circle at 25% 80%,rgba(138,99,223,.34),transparent 28%),linear-gradient(135deg,#080b16,#17123b)}
body.site-theme-aurora .tag-card{background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035))!important;color:#fff}

body.site-theme-obsidian_gold{--v179-card-radius:24px}
body.site-theme-obsidian_gold .hero{background:radial-gradient(circle at 78% 18%,rgba(224,185,93,.22),transparent 23%),linear-gradient(125deg,#050505,#17130d 65%,#2c1e0d)}
body.site-theme-obsidian_gold .tag-card{background:linear-gradient(145deg,#181716,#0b0b0b)!important;color:#f4efe5}

body.site-theme-titanium{--v179-card-radius:18px;--v179-shadow:0 18px 55px rgba(41,58,73,.12)}
body.site-theme-titanium .hero{background:linear-gradient(120deg,#101820,#263747 52%,#5c7489)}
body.site-theme-titanium .tag-card{background:linear-gradient(145deg,#fff,#edf2f5)!important}

body.site-theme-royal_noir{--v179-card-radius:28px}
body.site-theme-royal_noir .hero{background:radial-gradient(circle at 75% 20%,rgba(217,179,108,.2),transparent 22%),linear-gradient(135deg,#130810,#421b31 58%,#0d080f)}
body.site-theme-royal_noir .tag-card{background:linear-gradient(145deg,#21121d,#110b12)!important;color:#f8eef3}

body.site-theme-cyber_chrome{--v179-card-radius:14px;--v179-shadow:0 22px 70px rgba(30,185,255,.13)}
body.site-theme-cyber_chrome .hero{background:linear-gradient(135deg,#03070a,#06141e 50%,#092f3c);}
body.site-theme-cyber_chrome .hero:after{width:120%;height:2px;top:62%;left:-10%;background:linear-gradient(90deg,transparent,var(--brass),transparent);box-shadow:0 0 35px var(--brass);transform:rotate(-7deg);opacity:.7}
body.site-theme-cyber_chrome .tag-card{background:linear-gradient(145deg,rgba(18,38,48,.96),rgba(5,12,17,.96))!important;color:#eafaff;border-color:rgba(85,217,255,.22)!important}

body.site-theme-emerald_noir{--v179-card-radius:26px}
body.site-theme-emerald_noir .hero{background:radial-gradient(circle at 78% 22%,rgba(183,214,140,.2),transparent 23%),linear-gradient(135deg,#04100b,#0c3023 55%,#07140f)}
body.site-theme-emerald_noir .tag-card{background:linear-gradient(145deg,#10251c,#07120d)!important;color:#eef7f1}

body.site-theme-desert_luxe{--v179-card-radius:28px}
body.site-theme-desert_luxe .hero{background:radial-gradient(circle at 78% 18%,rgba(246,193,115,.28),transparent 25%),linear-gradient(135deg,#28170d,#6b3e23 58%,#2a1710)}
body.site-theme-desert_luxe .tag-card{background:linear-gradient(145deg,#fff8ee,#ead7bd)!important}

body.site-theme-pearl_luxe{--v179-card-radius:26px;--v179-shadow:0 22px 65px rgba(65,78,90,.12)}
body.site-theme-pearl_luxe .hero{background:linear-gradient(135deg,#26323c,#71808d 55%,#313b44)}
body.site-theme-pearl_luxe .tag-card{background:linear-gradient(145deg,#fff,#f0f2f1)!important}

body.site-theme-violet_neon{--v179-card-radius:24px;--v179-shadow:0 25px 90px rgba(255,40,216,.12)}
body.site-theme-violet_neon .hero{background:radial-gradient(circle at 76% 18%,rgba(255,78,216,.28),transparent 24%),radial-gradient(circle at 20% 85%,rgba(157,57,219,.26),transparent 25%),#0d0512}
body.site-theme-violet_neon .tag-card{background:linear-gradient(145deg,#211029,#0f0715)!important;color:#fff2fd;border-color:rgba(255,78,216,.2)!important}

body.site-theme-monochrome{--v179-card-radius:8px;--v179-shadow:0 18px 50px rgba(0,0,0,.08)}
body.site-theme-monochrome .hero{background:linear-gradient(135deg,#080808,#222 55%,#0b0b0b)}
body.site-theme-monochrome .tag-card{background:#f5f5f3!important;color:#111;border-radius:8px!important}

body.site-theme-palo_alto,body.site-theme-paloalto_travel{--v179-card-radius:20px;--v179-max:1360px}
body.site-theme-palo_alto .hero,body.site-theme-paloalto_travel .hero{background:linear-gradient(110deg,#0c1820 0%,#233f52 48%,#8a633d 100%)}
body.site-theme-palo_alto .tag-card,body.site-theme-paloalto_travel .tag-card{background:linear-gradient(145deg,#fff,#f1eee9)!important}
body.site-theme-palo_alto .hero-inner,body.site-theme-paloalto_travel .hero-inner{padding-top:clamp(50px,7vw,100px)}

body.site-theme-apex_atelier{--v179-card-radius:30px;--v179-max:1280px}
body.site-theme-apex_atelier .hero{background:linear-gradient(115deg,#17120e 0 58%,#c7a46a 58% 100%);}
body.site-theme-apex_atelier .tag-card{background:#f8f4ec!important}

body.site-theme-symmetry_studio{--v179-card-radius:12px;--v179-max:1240px}
body.site-theme-symmetry_studio .hero{background:linear-gradient(135deg,#eaf0f4,#8fa9bc 52%,#243746);color:#101820}
body.site-theme-symmetry_studio .hero p.sub{color:#233442}
body.site-theme-symmetry_studio .tag-card{background:#fff!important}

body.site-theme-prestige_maison{--v179-card-radius:30px;--v179-max:1280px}
body.site-theme-prestige_maison .hero{background:radial-gradient(circle at 70% 18%,rgba(199,164,106,.25),transparent 22%),linear-gradient(135deg,#171411,#3c2e20 60%,#11100e)}
body.site-theme-prestige_maison .tag-card{background:linear-gradient(145deg,#fbf6ed,#e9ddc9)!important}

body.site-theme-motion_gallery{--v179-card-radius:32px;--v179-shadow:0 30px 100px rgba(71,59,160,.14)}
body.site-theme-motion_gallery .hero{background:radial-gradient(circle at 78% 18%,rgba(115,200,196,.25),transparent 22%),radial-gradient(circle at 18% 82%,rgba(125,101,232,.25),transparent 28%),#101523}
body.site-theme-motion_gallery .tag-card{background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.035))!important;color:#fff}

body.site-theme-broadcast_editorial{--v179-card-radius:4px;--v179-max:1440px}
body.site-theme-broadcast_editorial .hero{background:linear-gradient(135deg,#151515,#3b3b37 60%,#b89455);}
body.site-theme-broadcast_editorial .tag-card{background:#f8f5ee!important;color:#151515;border-radius:4px!important}
body.site-theme-broadcast_editorial .section-heading h2{text-transform:uppercase;letter-spacing:-.06em}

body.site-theme-enterprise_grid{--v179-card-radius:10px;--v179-max:1480px;--v179-shadow:0 12px 38px rgba(25,48,70,.08)}
body.site-theme-enterprise_grid .hero{min-height:500px;background:linear-gradient(135deg,#12202d,#314d65 60%,#7b9bb3)}
body.site-theme-enterprise_grid .tag-card{background:#fff!important;border-radius:10px!important}

body.site-theme-hyper_commerce{--v179-card-radius:18px;--v179-max:1400px}
body.site-theme-hyper_commerce .hero{background:linear-gradient(125deg,#16080d,#4b1324 50%,#9b5a25)}
body.site-theme-hyper_commerce .tag-card{background:linear-gradient(145deg,#fff5f3,#f0dfda)!important}
body.site-theme-hyper_commerce .btn-primary{box-shadow:0 16px 40px rgba(255,95,126,.25)!important}

body.site-theme-concept_objects{--v179-card-radius:2px;--v179-max:1280px;--v179-shadow:0 14px 50px rgba(30,35,32,.08)}
body.site-theme-concept_objects .hero{background:linear-gradient(135deg,#eef0eb,#cfd6ce 50%,#6e7c72);color:#172019}
body.site-theme-concept_objects .hero p.sub{color:#39483f}
body.site-theme-concept_objects .tag-card{background:#fafbf7!important;border-radius:2px!important}

body.site-theme-wonder_immersive{--v179-card-radius:34px;--v179-shadow:0 30px 100px rgba(80,62,180,.18)}
body.site-theme-wonder_immersive .hero{background:radial-gradient(circle at 78% 18%,rgba(82,214,208,.28),transparent 24%),radial-gradient(circle at 22% 78%,rgba(155,124,255,.3),transparent 30%),#101425}
body.site-theme-wonder_immersive .tag-card{background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.025))!important;color:#fff;border-color:rgba(255,255,255,.12)!important}

body.site-theme-quiet_luxury{--v179-card-radius:26px;--v179-max:1260px}
body.site-theme-quiet_luxury .hero{background:linear-gradient(135deg,#171613,#302c26 55%,#5c4934)}
body.site-theme-quiet_luxury .tag-card{background:#f5f0e7!important}

body.site-theme-nordic_atelier{--v179-card-radius:12px;--v179-max:1260px;--v179-shadow:0 18px 55px rgba(40,55,50,.08)}
body.site-theme-nordic_atelier .hero{background:linear-gradient(135deg,#eef2ee,#c6d0ca 55%,#68766f);color:#17201c}
body.site-theme-nordic_atelier .hero p.sub{color:#3b4641}
body.site-theme-nordic_atelier .tag-card{background:#fdfdf9!important}

body.site-theme-gallery_house{--v179-card-radius:0;--v179-max:1380px}
body.site-theme-gallery_house .hero{background:linear-gradient(120deg,#171313,#4d3029 58%,#9a6149)}
body.site-theme-gallery_house .tag-card{background:#f7f2ea!important;border-radius:0!important}
body.site-theme-gallery_house .tag-card .tag-image{aspect-ratio:1/1!important}

body.site-theme-studio_mono{--v179-card-radius:6px;--v179-max:1240px}
body.site-theme-studio_mono .hero{background:#050505}
body.site-theme-studio_mono .tag-card{background:#f4f4f2!important;color:#101010;border-radius:6px!important}
body.site-theme-studio_mono .btn-primary{background:#111!important;color:#fff!important}

body.site-theme-editorial_motion{--v179-card-radius:20px;--v179-shadow:0 28px 90px rgba(20,24,40,.16)}
body.site-theme-editorial_motion .hero{background:radial-gradient(circle at 78% 20%,rgba(181,160,255,.25),transparent 22%),linear-gradient(135deg,#111827,#25314c 58%,#111827)}
body.site-theme-editorial_motion .tag-card{background:linear-gradient(145deg,#fff,#f2f1f7)!important}

body.site-theme-neo_utility{--v179-card-radius:14px;--v179-max:1360px}
body.site-theme-neo_utility .hero{background:linear-gradient(135deg,#0b1730,#173c74 58%,#2563eb)}
body.site-theme-neo_utility .tag-card{background:#fff!important}
body.site-theme-neo_utility .btn-primary{box-shadow:0 14px 32px rgba(37,99,235,.26)!important}

/* Theme-aware controls and sections */
body.site-theme-aurora .btn-primary,body.site-theme-violet_neon .btn-primary,body.site-theme-cyber_chrome .btn-primary,body.site-theme-wonder_immersive .btn-primary{background:linear-gradient(135deg,var(--cognac),var(--brass))!important;color:#071016!important}
body.site-theme-midnight_luxe .btn-primary,body.site-theme-obsidian_gold .btn-primary,body.site-theme-royal_noir .btn-primary,body.site-theme-emerald_noir .btn-primary,body.site-theme-quiet_luxury .btn-primary{background:linear-gradient(135deg,var(--brass),color-mix(in srgb,var(--brass) 60%,#fff))!important;color:#111!important}
body.site-theme-concept_objects .btn-primary,body.site-theme-nordic_atelier .btn-primary,body.site-theme-symmetry_studio .btn-primary,body.site-theme-pearl_luxe .btn-primary{background:#18211d!important;color:#fff!important}

/* Light appearance readability guard */
body.appearance-light[class*="site-theme-"] .tag-card,body.appearance-light[class*="site-theme-"] .product-card{color:#161616!important}
body.appearance-light[class*="site-theme-"] .tag-card h3,body.appearance-light[class*="site-theme-"] .product-card h3{color:#141414!important}
body.appearance-light[class*="site-theme-"] .tag-card small,body.appearance-light[class*="site-theme-"] .tag-card .spec-line{color:#59616a!important}

@media(max-width:900px){
 body[class*="site-theme-"] .hero{min-height:640px;border-radius:0 0 26px 26px}
 body[class*="site-theme-"] .hero h1{font-size:clamp(2.7rem,12vw,4.8rem)!important}
 body[class*="site-theme-"] .hero-inner{padding-top:70px;padding-bottom:70px}
 body[class*="site-theme-"] .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.site-theme-enterprise_grid .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
 body[class*="site-theme-"] .product-grid{grid-template-columns:1fr 1fr!important;gap:12px!important}
 body[class*="site-theme-"] .tag-card,body[class*="site-theme-"] .product-card{border-radius:16px!important}
 body[class*="site-theme-"] .tag-card .tag-image{aspect-ratio:4/5!important}
 body[class*="site-theme-"] .hero{min-height:580px}
 body[class*="site-theme-"] .hero-inner{padding-left:18px!important;padding-right:18px!important}
 body[class*="site-theme-"] .btn-primary{min-height:48px;padding:0 18px}
}
@media(prefers-reduced-motion:reduce){body[class*="site-theme-"] *,body[class*="site-theme-"] *::before,body[class*="site-theme-"] *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ============================================================
   V179 — Complete Storefront Theme Redesign
   30 distinct visual systems. This layer intentionally sits at
   the end of the stylesheet so legacy theme rules cannot flatten
   the new visual language.
   ============================================================ */
body[class*="site-theme-"]{
  --v179-max:1320px;--v179-radius:22px;--v179-card-radius:24px;
  --v179-border:color-mix(in srgb,var(--line) 70%,transparent);
  --v179-surface:color-mix(in srgb,var(--bone) 92%,transparent);
  --v179-muted:color-mix(in srgb,var(--ink) 62%,transparent);
  --v179-shadow:0 24px 80px rgba(0,0,0,.10);
  --v179-shadow-hover:0 34px 100px rgba(0,0,0,.17);
  --v179-display:clamp(2.6rem,6vw,6.8rem);
  font-synthesis:none;
}
body[class*="site-theme-"] .container,body[class*="site-theme-"] .hero-inner{max-width:var(--v179-max)!important}
body[class*="site-theme-"] .site-header{background:color-mix(in srgb,var(--ink) 94%,transparent)!important;backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);border-bottom:1px solid color-mix(in srgb,var(--brass) 28%,transparent)!important}
body[class*="site-theme-"] .site-header .logo{letter-spacing:-.045em;font-weight:900}
body[class*="site-theme-"] .site-header .main-nav a{transition:opacity .2s,transform .2s,color .2s}
body[class*="site-theme-"] .site-header .main-nav a:hover{transform:translateY(-1px);color:var(--brass)!important}
body[class*="site-theme-"] .hero{isolation:isolate;overflow:hidden;border-radius:0 0 36px 36px;min-height:clamp(500px,72vh,820px);display:flex;align-items:center}
body[class*="site-theme-"] .hero-inner{position:relative;z-index:2;width:100%;padding-top:clamp(60px,8vw,120px);padding-bottom:clamp(60px,8vw,120px)}
body[class*="site-theme-"] .hero h1{font-size:var(--v179-display)!important;line-height:.94!important;letter-spacing:-.065em!important;max-width:900px}
body[class*="site-theme-"] .hero p.sub{max-width:650px;font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.7;opacity:.76}
body[class*="site-theme-"] .hero-eyebrow{letter-spacing:.18em;font-size:.68rem;font-weight:900;opacity:.72}
body[class*="site-theme-"] .btn-primary,body[class*="site-theme-"] button.btn-primary{min-height:50px;padding:0 22px;border-radius:999px!important;font-weight:850;letter-spacing:.01em}
body[class*="site-theme-"] .product-grid{gap:clamp(14px,1.7vw,26px)!important}
body[class*="site-theme-"] .tag-card,body[class*="site-theme-"] .product-card{border-radius:var(--v179-card-radius)!important;border:1px solid var(--v179-border)!important;background:color-mix(in srgb,var(--bone) 96%,transparent)!important;box-shadow:var(--v179-shadow)!important;overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
body[class*="site-theme-"] .tag-card:hover,body[class*="site-theme-"] .product-card:hover{transform:translateY(-8px)!important;box-shadow:var(--v179-shadow-hover)!important;border-color:color-mix(in srgb,var(--brass) 52%,transparent)!important}
body[class*="site-theme-"] .tag-card .tag-image{aspect-ratio:4/5!important;height:auto!important;background:color-mix(in srgb,var(--bone) 86%,var(--ink))!important}
body[class*="site-theme-"] .tag-card .tag-image img{transition:transform .7s cubic-bezier(.2,.8,.2,1);will-change:transform}
body[class*="site-theme-"] .tag-card:hover .tag-image img{transform:scale(1.045)}
body[class*="site-theme-"] .tag-card h3{font-size:1rem;letter-spacing:-.025em}
body[class*="site-theme-"] .tag-card .price{font-size:1.05rem;font-weight:900}
body[class*="site-theme-"] .section-heading{margin-bottom:26px}
body[class*="site-theme-"] .section-heading h2{font-size:clamp(1.8rem,3vw,3.3rem);letter-spacing:-.05em}
body[class*="site-theme-"] .announcement-bar{letter-spacing:.06em;font-weight:800}
body[class*="site-theme-"] .site-footer{margin-top:80px;border-top:1px solid var(--v179-border)}
body[class*="site-theme-"] .search-input{border-radius:999px!important;min-height:42px}
body[class*="site-theme-"] .cart-drawer{border-radius:28px 0 0 28px!important;box-shadow:-30px 0 90px rgba(0,0,0,.22)!important}
body[class*="site-theme-"] :focus-visible{outline:3px solid color-mix(in srgb,var(--brass) 75%,white)!important;outline-offset:3px}

/* Shared theme archetypes */
body[class*="site-theme-"][data-theme-archetype="luxury"] .hero,
body.site-theme-prestige_maison .hero,body.site-theme-apex_atelier .hero,body.site-theme-quiet_luxury .hero{background:radial-gradient(circle at 78% 20%,color-mix(in srgb,var(--brass) 22%,transparent),transparent 26%),linear-gradient(120deg,var(--ink),color-mix(in srgb,var(--ink) 80%,var(--brass)) 65%,var(--cognac-dark))}

/* 30 distinct systems */
body.site-theme-signature{--v179-max:1320px;--v179-card-radius:26px;--v179-shadow:0 26px 70px rgba(58,35,20,.13)}
body.site-theme-signature .hero{background:radial-gradient(circle at 76% 24%,rgba(196,162,103,.22),transparent 24%),linear-gradient(125deg,#15110f 0%,#2a211b 55%,#4a3020 100%)}
body.site-theme-signature .tag-card:nth-child(3n+1){transform-origin:center bottom}

body.site-theme-midnight_luxe{--v179-card-radius:28px;--v179-shadow:0 26px 90px rgba(0,0,0,.36)}
body.site-theme-midnight_luxe .hero{background:radial-gradient(circle at 76% 20%,rgba(212,183,123,.24),transparent 22%),radial-gradient(circle at 15% 80%,rgba(80,110,170,.18),transparent 28%),#090d14}
body.site-theme-midnight_luxe .tag-card,body.site-theme-midnight_luxe .product-card{background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.025))!important;color:#f3eee5}

body.site-theme-aurora{--v179-card-radius:30px;--v179-shadow:0 28px 90px rgba(65,42,150,.18)}
body.site-theme-aurora .hero{background:radial-gradient(circle at 75% 25%,rgba(111,231,224,.35),transparent 22%),radial-gradient(circle at 25% 80%,rgba(138,99,223,.34),transparent 28%),linear-gradient(135deg,#080b16,#17123b)}
body.site-theme-aurora .tag-card{background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035))!important;color:#fff}

body.site-theme-obsidian_gold{--v179-card-radius:24px}
body.site-theme-obsidian_gold .hero{background:radial-gradient(circle at 78% 18%,rgba(224,185,93,.22),transparent 23%),linear-gradient(125deg,#050505,#17130d 65%,#2c1e0d)}
body.site-theme-obsidian_gold .tag-card{background:linear-gradient(145deg,#181716,#0b0b0b)!important;color:#f4efe5}

body.site-theme-titanium{--v179-card-radius:18px;--v179-shadow:0 18px 55px rgba(41,58,73,.12)}
body.site-theme-titanium .hero{background:linear-gradient(120deg,#101820,#263747 52%,#5c7489)}
body.site-theme-titanium .tag-card{background:linear-gradient(145deg,#fff,#edf2f5)!important}

body.site-theme-royal_noir{--v179-card-radius:28px}
body.site-theme-royal_noir .hero{background:radial-gradient(circle at 75% 20%,rgba(217,179,108,.2),transparent 22%),linear-gradient(135deg,#130810,#421b31 58%,#0d080f)}
body.site-theme-royal_noir .tag-card{background:linear-gradient(145deg,#21121d,#110b12)!important;color:#f8eef3}

body.site-theme-cyber_chrome{--v179-card-radius:14px;--v179-shadow:0 22px 70px rgba(30,185,255,.13)}
body.site-theme-cyber_chrome .hero{background:linear-gradient(135deg,#03070a,#06141e 50%,#092f3c);}
body.site-theme-cyber_chrome .hero:after{width:120%;height:2px;top:62%;left:-10%;background:linear-gradient(90deg,transparent,var(--brass),transparent);box-shadow:0 0 35px var(--brass);transform:rotate(-7deg);opacity:.7}
body.site-theme-cyber_chrome .tag-card{background:linear-gradient(145deg,rgba(18,38,48,.96),rgba(5,12,17,.96))!important;color:#eafaff;border-color:rgba(85,217,255,.22)!important}

body.site-theme-emerald_noir{--v179-card-radius:26px}
body.site-theme-emerald_noir .hero{background:radial-gradient(circle at 78% 22%,rgba(183,214,140,.2),transparent 23%),linear-gradient(135deg,#04100b,#0c3023 55%,#07140f)}
body.site-theme-emerald_noir .tag-card{background:linear-gradient(145deg,#10251c,#07120d)!important;color:#eef7f1}

body.site-theme-desert_luxe{--v179-card-radius:28px}
body.site-theme-desert_luxe .hero{background:radial-gradient(circle at 78% 18%,rgba(246,193,115,.28),transparent 25%),linear-gradient(135deg,#28170d,#6b3e23 58%,#2a1710)}
body.site-theme-desert_luxe .tag-card{background:linear-gradient(145deg,#fff8ee,#ead7bd)!important}

body.site-theme-pearl_luxe{--v179-card-radius:26px;--v179-shadow:0 22px 65px rgba(65,78,90,.12)}
body.site-theme-pearl_luxe .hero{background:linear-gradient(135deg,#26323c,#71808d 55%,#313b44)}
body.site-theme-pearl_luxe .tag-card{background:linear-gradient(145deg,#fff,#f0f2f1)!important}

body.site-theme-violet_neon{--v179-card-radius:24px;--v179-shadow:0 25px 90px rgba(255,40,216,.12)}
body.site-theme-violet_neon .hero{background:radial-gradient(circle at 76% 18%,rgba(255,78,216,.28),transparent 24%),radial-gradient(circle at 20% 85%,rgba(157,57,219,.26),transparent 25%),#0d0512}
body.site-theme-violet_neon .tag-card{background:linear-gradient(145deg,#211029,#0f0715)!important;color:#fff2fd;border-color:rgba(255,78,216,.2)!important}

body.site-theme-monochrome{--v179-card-radius:8px;--v179-shadow:0 18px 50px rgba(0,0,0,.08)}
body.site-theme-monochrome .hero{background:linear-gradient(135deg,#080808,#222 55%,#0b0b0b)}
body.site-theme-monochrome .tag-card{background:#f5f5f3!important;color:#111;border-radius:8px!important}

body.site-theme-palo_alto,body.site-theme-paloalto_travel{--v179-card-radius:20px;--v179-max:1360px}
body.site-theme-palo_alto .hero,body.site-theme-paloalto_travel .hero{background:linear-gradient(110deg,#0c1820 0%,#233f52 48%,#8a633d 100%)}
body.site-theme-palo_alto .tag-card,body.site-theme-paloalto_travel .tag-card{background:linear-gradient(145deg,#fff,#f1eee9)!important}
body.site-theme-palo_alto .hero-inner,body.site-theme-paloalto_travel .hero-inner{padding-top:clamp(50px,7vw,100px)}

body.site-theme-apex_atelier{--v179-card-radius:30px;--v179-max:1280px}
body.site-theme-apex_atelier .hero{background:linear-gradient(115deg,#17120e 0 58%,#c7a46a 58% 100%);}
body.site-theme-apex_atelier .tag-card{background:#f8f4ec!important}

body.site-theme-symmetry_studio{--v179-card-radius:12px;--v179-max:1240px}
body.site-theme-symmetry_studio .hero{background:linear-gradient(135deg,#eaf0f4,#8fa9bc 52%,#243746);color:#101820}
body.site-theme-symmetry_studio .hero p.sub{color:#233442}
body.site-theme-symmetry_studio .tag-card{background:#fff!important}

body.site-theme-prestige_maison{--v179-card-radius:30px;--v179-max:1280px}
body.site-theme-prestige_maison .hero{background:radial-gradient(circle at 70% 18%,rgba(199,164,106,.25),transparent 22%),linear-gradient(135deg,#171411,#3c2e20 60%,#11100e)}
body.site-theme-prestige_maison .tag-card{background:linear-gradient(145deg,#fbf6ed,#e9ddc9)!important}

body.site-theme-motion_gallery{--v179-card-radius:32px;--v179-shadow:0 30px 100px rgba(71,59,160,.14)}
body.site-theme-motion_gallery .hero{background:radial-gradient(circle at 78% 18%,rgba(115,200,196,.25),transparent 22%),radial-gradient(circle at 18% 82%,rgba(125,101,232,.25),transparent 28%),#101523}
body.site-theme-motion_gallery .tag-card{background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.035))!important;color:#fff}

body.site-theme-broadcast_editorial{--v179-card-radius:4px;--v179-max:1440px}
body.site-theme-broadcast_editorial .hero{background:linear-gradient(135deg,#151515,#3b3b37 60%,#b89455);}
body.site-theme-broadcast_editorial .tag-card{background:#f8f5ee!important;color:#151515;border-radius:4px!important}
body.site-theme-broadcast_editorial .section-heading h2{text-transform:uppercase;letter-spacing:-.06em}

body.site-theme-enterprise_grid{--v179-card-radius:10px;--v179-max:1480px;--v179-shadow:0 12px 38px rgba(25,48,70,.08)}
body.site-theme-enterprise_grid .hero{min-height:500px;background:linear-gradient(135deg,#12202d,#314d65 60%,#7b9bb3)}
body.site-theme-enterprise_grid .tag-card{background:#fff!important;border-radius:10px!important}

body.site-theme-hyper_commerce{--v179-card-radius:18px;--v179-max:1400px}
body.site-theme-hyper_commerce .hero{background:linear-gradient(125deg,#16080d,#4b1324 50%,#9b5a25)}
body.site-theme-hyper_commerce .tag-card{background:linear-gradient(145deg,#fff5f3,#f0dfda)!important}
body.site-theme-hyper_commerce .btn-primary{box-shadow:0 16px 40px rgba(255,95,126,.25)!important}

body.site-theme-concept_objects{--v179-card-radius:2px;--v179-max:1280px;--v179-shadow:0 14px 50px rgba(30,35,32,.08)}
body.site-theme-concept_objects .hero{background:linear-gradient(135deg,#eef0eb,#cfd6ce 50%,#6e7c72);color:#172019}
body.site-theme-concept_objects .hero p.sub{color:#39483f}
body.site-theme-concept_objects .tag-card{background:#fafbf7!important;border-radius:2px!important}

body.site-theme-wonder_immersive{--v179-card-radius:34px;--v179-shadow:0 30px 100px rgba(80,62,180,.18)}
body.site-theme-wonder_immersive .hero{background:radial-gradient(circle at 78% 18%,rgba(82,214,208,.28),transparent 24%),radial-gradient(circle at 22% 78%,rgba(155,124,255,.3),transparent 30%),#101425}
body.site-theme-wonder_immersive .tag-card{background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.025))!important;color:#fff;border-color:rgba(255,255,255,.12)!important}

body.site-theme-quiet_luxury{--v179-card-radius:26px;--v179-max:1260px}
body.site-theme-quiet_luxury .hero{background:linear-gradient(135deg,#171613,#302c26 55%,#5c4934)}
body.site-theme-quiet_luxury .tag-card{background:#f5f0e7!important}

body.site-theme-nordic_atelier{--v179-card-radius:12px;--v179-max:1260px;--v179-shadow:0 18px 55px rgba(40,55,50,.08)}
body.site-theme-nordic_atelier .hero{background:linear-gradient(135deg,#eef2ee,#c6d0ca 55%,#68766f);color:#17201c}
body.site-theme-nordic_atelier .hero p.sub{color:#3b4641}
body.site-theme-nordic_atelier .tag-card{background:#fdfdf9!important}

body.site-theme-gallery_house{--v179-card-radius:0;--v179-max:1380px}
body.site-theme-gallery_house .hero{background:linear-gradient(120deg,#171313,#4d3029 58%,#9a6149)}
body.site-theme-gallery_house .tag-card{background:#f7f2ea!important;border-radius:0!important}
body.site-theme-gallery_house .tag-card .tag-image{aspect-ratio:1/1!important}

body.site-theme-studio_mono{--v179-card-radius:6px;--v179-max:1240px}
body.site-theme-studio_mono .hero{background:#050505}
body.site-theme-studio_mono .tag-card{background:#f4f4f2!important;color:#101010;border-radius:6px!important}
body.site-theme-studio_mono .btn-primary{background:#111!important;color:#fff!important}

body.site-theme-editorial_motion{--v179-card-radius:20px;--v179-shadow:0 28px 90px rgba(20,24,40,.16)}
body.site-theme-editorial_motion .hero{background:radial-gradient(circle at 78% 20%,rgba(181,160,255,.25),transparent 22%),linear-gradient(135deg,#111827,#25314c 58%,#111827)}
body.site-theme-editorial_motion .tag-card{background:linear-gradient(145deg,#fff,#f2f1f7)!important}

body.site-theme-neo_utility{--v179-card-radius:14px;--v179-max:1360px}
body.site-theme-neo_utility .hero{background:linear-gradient(135deg,#0b1730,#173c74 58%,#2563eb)}
body.site-theme-neo_utility .tag-card{background:#fff!important}
body.site-theme-neo_utility .btn-primary{box-shadow:0 14px 32px rgba(37,99,235,.26)!important}

/* Theme-aware controls and sections */
body.site-theme-aurora .btn-primary,body.site-theme-violet_neon .btn-primary,body.site-theme-cyber_chrome .btn-primary,body.site-theme-wonder_immersive .btn-primary{background:linear-gradient(135deg,var(--cognac),var(--brass))!important;color:#071016!important}
body.site-theme-midnight_luxe .btn-primary,body.site-theme-obsidian_gold .btn-primary,body.site-theme-royal_noir .btn-primary,body.site-theme-emerald_noir .btn-primary,body.site-theme-quiet_luxury .btn-primary{background:linear-gradient(135deg,var(--brass),color-mix(in srgb,var(--brass) 60%,#fff))!important;color:#111!important}
body.site-theme-concept_objects .btn-primary,body.site-theme-nordic_atelier .btn-primary,body.site-theme-symmetry_studio .btn-primary,body.site-theme-pearl_luxe .btn-primary{background:#18211d!important;color:#fff!important}

/* Light appearance readability guard */
body.appearance-light[class*="site-theme-"] .tag-card,body.appearance-light[class*="site-theme-"] .product-card{color:#161616!important}
body.appearance-light[class*="site-theme-"] .tag-card h3,body.appearance-light[class*="site-theme-"] .product-card h3{color:#141414!important}
body.appearance-light[class*="site-theme-"] .tag-card small,body.appearance-light[class*="site-theme-"] .tag-card .spec-line{color:#59616a!important}

@media(max-width:900px){
 body[class*="site-theme-"] .hero{min-height:640px;border-radius:0 0 26px 26px}
 body[class*="site-theme-"] .hero h1{font-size:clamp(2.7rem,12vw,4.8rem)!important}
 body[class*="site-theme-"] .hero-inner{padding-top:70px;padding-bottom:70px}
 body[class*="site-theme-"] .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.site-theme-enterprise_grid .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
 body[class*="site-theme-"] .product-grid{grid-template-columns:1fr 1fr!important;gap:12px!important}
 body[class*="site-theme-"] .tag-card,body[class*="site-theme-"] .product-card{border-radius:16px!important}
 body[class*="site-theme-"] .tag-card .tag-image{aspect-ratio:4/5!important}
 body[class*="site-theme-"] .hero{min-height:580px}
 body[class*="site-theme-"] .hero-inner{padding-left:18px!important;padding-right:18px!important}
 body[class*="site-theme-"] .btn-primary{min-height:48px;padding:0 18px}
}
@media(prefers-reduced-motion:reduce){body[class*="site-theme-"] *,body[class*="site-theme-"] *::before,body[class*="site-theme-"] *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ============================================================
   v185-storefront-wiring-fix — Offers & Rewards, Comfortrek
   Coins, and the premium payment selector (incl. the v185
   desktop-isolation / centering fixes for the offer rail).
   Ported verbatim from style.css, which is loaded on admin and
   payment-redirect pages but NEVER on the storefront layout
   (app/views/layouts/header.php only links storefront.css).
   That's why every redesign pass on this module kept landing
   in style.css and never visibly took effect on the product
   or checkout pages — same recurring bug across v169-v185.
   ============================================================ */
/* v169 premium savings UI */
.ct-premium-savings{border:1px solid rgba(145,112,67,.22);border-radius:24px;padding:20px;background:linear-gradient(145deg,#fffdf9,#f8f4ec);box-shadow:0 18px 50px rgba(35,28,20,.06);margin:18px 0 14px}
.ct-offers-intro{margin:5px 0 0;color:var(--slate);font-size:.72rem;line-height:1.45;max-width:560px}
.ct-savings-panels{display:grid;grid-template-columns:1fr;gap:10px;margin-top:15px}
.ct-savings-panel{border:1px solid #e3ddd3;border-radius:18px;padding:14px;background:rgba(255,255,255,.72)}
.ct-panel-top{display:flex;align-items:center;gap:10px;margin-bottom:11px}.ct-panel-top strong{display:block;font-size:.8rem}.ct-panel-top small{display:block;color:var(--slate);font-size:.64rem;margin-top:3px;line-height:1.4}
.ct-panel-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#f3ede3;color:#8a6a3e;font-weight:950;flex:0 0 34px}
.ct-smart-offer,.ct-smart-empty,.ct-coins-balance{display:flex;align-items:center;gap:10px;padding:11px;border-radius:14px;background:#faf8f4}.ct-smart-offer{border:1px solid rgba(39,123,73,.16);background:rgba(39,123,73,.045)}
.ct-smart-badge{padding:5px 7px;border-radius:999px;background:#267b49;color:#fff;font-size:.52rem;font-weight:950;letter-spacing:.08em}.ct-smart-offer strong,.ct-smart-empty strong{display:block;font-size:.75rem}.ct-smart-offer small,.ct-smart-empty small{display:block;color:var(--slate);font-size:.62rem;margin-top:3px}.ct-smart-check{margin-left:auto;color:#267b49;font-weight:950}
.ct-coupon-apply-row{display:grid;grid-template-columns:1fr auto;gap:8px}.ct-coupon-apply-btn{border:0;border-radius:11px;background:#171b20;color:#fff;padding:0 16px;font-weight:900;cursor:pointer}.ct-coupon-message{font-size:.65rem;color:#6b655d;line-height:1.45;margin-top:8px}.ct-coupon-list{display:grid;gap:7px;margin-top:10px}.ct-coupon-mini{width:100%;display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px dashed #d7c8b2;background:#fffdf9;border-radius:12px;padding:9px 10px;text-align:left;cursor:pointer;color:inherit}.ct-coupon-mini b{display:block;font-size:.68rem;letter-spacing:.04em}.ct-coupon-mini small{display:block;color:var(--slate);font-size:.58rem;margin-top:2px}.ct-coupon-mini strong{font-size:.61rem;color:#8a6a3e}.ct-coupon-mini.is-disabled{opacity:.52;cursor:not-allowed}.ct-coins-balance{justify-content:space-between;background:linear-gradient(135deg,#f5efe4,#fbfaf7);border:1px solid rgba(145,112,67,.13)}.ct-coins-balance strong{display:block;font-size:.82rem}.ct-coins-balance small{display:block;color:var(--slate);font-size:.62rem;margin-top:3px}.ct-coins-balance>span{font-size:.64rem;font-weight:950;color:#8a6a3e}.ct-coins-note{margin:8px 0 0;color:var(--slate);font-size:.62rem;line-height:1.45}.ct-product-price-lock{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0 18px;padding:11px 13px;border-radius:14px;border:1px solid rgba(39,123,73,.2);background:rgba(39,123,73,.05)}.ct-product-price-lock span{font-size:.53rem;font-weight:950;letter-spacing:.1em;color:#267b49}.ct-product-price-lock strong{font-size:1.2rem;letter-spacing:-.03em}.ct-product-price-lock del{color:var(--slate);font-size:.72rem}.ct-product-price-lock em{font-style:normal;font-size:.61rem;font-weight:900;color:#267b49;margin-left:auto}
@media(min-width:860px){.ct-savings-panels{grid-template-columns:1fr 1.15fr 1fr}.ct-premium-savings{padding:22px}.ct-savings-panel{min-height:148px}}
@media(max-width:600px){.ct-premium-savings{padding:15px;border-radius:20px}.ct-coupon-apply-row{grid-template-columns:1fr 92px}.ct-product-price-lock em{margin-left:0}}
body.appearance-dark .ct-premium-savings{background:linear-gradient(145deg,#17191d,#111316);border-color:rgba(255,255,255,.1)}body.appearance-dark .ct-savings-panel,body.appearance-dark .ct-smart-offer,body.appearance-dark .ct-smart-empty,body.appearance-dark .ct-coins-balance,body.appearance-dark .ct-coupon-mini{background:#1b1e23;border-color:rgba(255,255,255,.1);color:#f7f4ed}body.appearance-dark .ct-panel-icon{background:#25282d}body.appearance-dark .ct-offers-intro,body.appearance-dark .ct-panel-top small,body.appearance-dark .ct-smart-offer small,body.appearance-dark .ct-smart-empty small,body.appearance-dark .ct-coupon-message,body.appearance-dark .ct-coupon-mini small,body.appearance-dark .ct-coins-balance small,body.appearance-dark .ct-coins-note{color:#c8c1b7}

/* v170 extraordinary offers + checkout payment UX */
.ct-offers-zone.ct-premium-savings{position:relative;overflow:hidden;background:radial-gradient(circle at 100% 0%,rgba(183,143,84,.16),transparent 34%),linear-gradient(145deg,#fffdf9 0%,#f5efe5 100%);border:1px solid rgba(122,91,48,.22);box-shadow:0 24px 70px rgba(43,32,19,.10);padding:22px;margin-top:20px}
.ct-offers-zone.ct-premium-savings:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0 46%,rgba(255,255,255,.45) 50%,transparent 54%);pointer-events:none;opacity:.7}
.ct-offers-head{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.ct-offers-head h2{font:600 clamp(1.35rem,2.6vw,1.9rem) Fraunces,Georgia,serif;letter-spacing:-.045em;margin:4px 0 0;color:#17191c}.ct-offers-kicker{font-size:.58rem;font-weight:950;letter-spacing:.2em;color:#957345}.ct-offers-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#171b20;color:#e7c88f;box-shadow:0 12px 25px rgba(23,27,32,.18);font-size:1.05rem}
.ct-offer-stack{position:relative;display:grid;gap:10px;margin-top:16px}.ct-offer-card{position:relative;display:flex;align-items:center;gap:13px;min-height:78px;padding:12px 12px 12px 13px;background:rgba(255,255,255,.86);border:1px solid rgba(133,104,64,.18);border-radius:17px;box-shadow:0 8px 26px rgba(45,33,20,.055);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.ct-offer-card:hover{transform:translateY(-2px);border-color:rgba(133,104,64,.35);box-shadow:0 15px 34px rgba(45,33,20,.10)}.ct-offer-card:after{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 4px 4px 0;background:linear-gradient(#b98d4e,#e3c27f)}.ct-offer-card.is-disabled{opacity:.55}.ct-offer-ticket{width:48px;height:48px;flex:0 0 48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#f5e8d0,#fffaf0);border:1px solid #e5cfaa;color:#8b6637;font-weight:950;font-size:1.1rem;position:relative}.ct-offer-ticket:after{content:"";position:absolute;right:-4px;top:8px;width:8px;height:8px;border-radius:50%;background:#f7f1e7;box-shadow:0 13px 0 #f7f1e7,0 26px 0 #f7f1e7}.ct-offer-ticket-green{background:linear-gradient(145deg,#e6f5eb,#f9fff9);border-color:#c6e5cf;color:#267b49}.ct-offer-copy{min-width:0;flex:1}.ct-offer-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.ct-offer-label{font-size:.61rem;font-weight:950;letter-spacing:.09em;text-transform:uppercase;color:#8b6637}.ct-offer-tag{font-size:.48rem;font-weight:950;letter-spacing:.1em;padding:4px 6px;border-radius:999px;background:#f1e8da;color:#8b6637}.ct-offer-tag-green{background:#e8f5eb;color:#267b49}.ct-offer-copy strong{display:block;margin-top:4px;font-size:.83rem;letter-spacing:-.02em;color:#17191c}.ct-offer-copy small{display:block;margin-top:3px;color:#6d675f;font-size:.61rem;line-height:1.4}.ct-offer-apply{min-width:74px;height:39px;border:0;border-radius:12px;background:#171b20;color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.66rem;font-weight:950;cursor:pointer;box-shadow:0 9px 20px rgba(23,27,32,.17);transition:.2s ease}.ct-offer-apply b{color:#e5c27f;font-size:.85rem}.ct-offer-apply:hover{transform:translateY(-1px);box-shadow:0 13px 25px rgba(23,27,32,.23)}.ct-offer-apply:disabled{opacity:.65;cursor:wait}.ct-offer-unavailable{font-size:.56rem;font-weight:850;color:#8a8277}.ct-offer-saved{font-size:.56rem;font-weight:950;color:#267b49;white-space:nowrap}
.ct-coins-card{position:relative;display:flex;align-items:center;gap:13px;margin-top:11px;padding:14px 13px;border-radius:18px;background:linear-gradient(135deg,#171b20,#26211a 70%,#3b2e1e);color:#fff;box-shadow:0 18px 38px rgba(22,20,17,.18);overflow:hidden}.ct-coins-card:before{content:"";position:absolute;width:150px;height:150px;border:1px solid rgba(230,194,127,.2);border-radius:50%;right:-75px;top:-75px;box-shadow:0 0 0 22px rgba(230,194,127,.035),0 0 0 44px rgba(230,194,127,.025)}.ct-coins-orbit{width:48px;height:48px;flex:0 0 48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#dcb66e,#8f6934);color:#fff7df;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 8px 20px rgba(0,0,0,.22);font-size:1.2rem}.ct-coins-copy{min-width:0;flex:1;position:relative}.ct-coins-heading{display:flex;align-items:center;gap:8px}.ct-coins-heading span{font-size:.52rem;letter-spacing:.15em;font-weight:950;color:#e2c27e}.ct-coins-heading b{font-size:.46rem;padding:3px 5px;border-radius:999px;background:rgba(230,194,127,.12);color:#e2c27e}.ct-coins-copy strong{display:block;font-size:.8rem;margin-top:4px}.ct-coins-copy small{display:block;margin-top:3px;color:#c9c1b5;font-size:.6rem;line-height:1.4}.ct-coins-action{position:relative;white-space:nowrap;text-decoration:none;color:#171b20;background:#e8c97f;border-radius:11px;padding:10px 11px;font-size:.58rem;font-weight:950;box-shadow:0 8px 20px rgba(0,0,0,.18)}.ct-coins-action span{margin-left:4px}
.ct-product-price-lock{box-shadow:0 10px 28px rgba(39,123,73,.08)}
.ct-payment-promo{margin-top:16px;padding:13px;border:1px dashed #d7c29f;border-radius:16px;background:linear-gradient(135deg,#fffaf0,#faf5eb);display:grid;grid-template-columns:auto 1fr minmax(240px,380px);align-items:center;gap:11px}.ct-payment-promo-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#f1e4cf;color:#8c6739;font-weight:950}.ct-payment-promo-copy strong{display:block;font-size:.72rem}.ct-payment-promo-copy small{display:block;color:#716a61;font-size:.59rem;line-height:1.35;margin-top:3px}.ct-payment-promo .ct-pay-coupon{margin:0}.ct-payment-promo #checkout-coupon-msg{grid-column:2 / -1;margin:0;font-size:.62rem}.ct-pay-coupon input{height:43px;border-radius:12px;border:1px solid #dcd3c6;background:#fff}.ct-pay-btn{min-height:43px;border-radius:12px;padding:0 18px;background:#171b20;color:#fff;box-shadow:0 8px 18px rgba(23,27,32,.14);cursor:pointer}.ct-choice{border-width:1px;box-shadow:0 7px 22px rgba(31,27,21,.035)}.ct-choice:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:3px;background:transparent;transition:.2s ease}.ct-choice.selected:before{background:linear-gradient(#b78a4b,#e1c27f)}.ct-choice.selected .ct-choice-icon{background:linear-gradient(145deg,#ead9bb,#fff6e8);color:#815d31;box-shadow:inset 0 0 0 1px rgba(145,112,67,.12)}.ct-continue-pay{background:linear-gradient(135deg,#171b20,#29231d);min-height:57px;border-radius:17px;letter-spacing:.01em}.ct-pay-summary .ct-pay-card{box-shadow:0 22px 60px rgba(25,22,18,.09)}
@media(max-width:700px){.ct-offers-zone.ct-premium-savings{padding:16px;border-radius:22px}.ct-offers-head{gap:10px}.ct-offers-icon{width:38px;height:38px}.ct-offer-card{padding:11px 10px;gap:10px}.ct-offer-ticket{width:42px;height:42px;flex-basis:42px;border-radius:13px}.ct-offer-copy strong{font-size:.76rem}.ct-offer-copy small{font-size:.57rem}.ct-offer-apply{min-width:66px;height:36px;padding:0 9px}.ct-coins-card{align-items:flex-start;padding:13px 11px}.ct-coins-orbit{width:43px;height:43px;flex-basis:43px}.ct-coins-action{align-self:center;font-size:.54rem;padding:9px 8px}.ct-payment-promo{grid-template-columns:auto 1fr;gap:9px}.ct-payment-promo .ct-pay-coupon{grid-column:1 / -1}.ct-payment-promo #checkout-coupon-msg{grid-column:1 / -1}.ct-pay-coupon{grid-template-columns:1fr 82px}}
@media(max-width:430px){.ct-offer-card{align-items:flex-start}.ct-offer-apply{margin-top:1px}.ct-coins-action{white-space:normal;text-align:center;max-width:86px}.ct-coins-copy small{font-size:.57rem}}
body.appearance-dark .ct-offers-zone.ct-premium-savings{background:radial-gradient(circle at 100% 0%,rgba(183,143,84,.13),transparent 34%),linear-gradient(145deg,#17191d,#111316);border-color:rgba(255,255,255,.11)}body.appearance-dark .ct-offer-card{background:rgba(28,31,36,.9);border-color:rgba(255,255,255,.1);color:#f7f4ed}body.appearance-dark .ct-offer-copy strong{color:#f7f4ed}body.appearance-dark .ct-offer-copy small{color:#c8c1b7}body.appearance-dark .ct-offer-ticket{background:#27231d;border-color:rgba(230,194,127,.18)}body.appearance-dark .ct-payment-promo{background:#1b1916;border-color:rgba(230,194,127,.25)}body.appearance-dark .ct-payment-promo-copy small{color:#c8c1b7}body.appearance-dark .ct-payment-promo-icon{background:#2a261f}body.appearance-dark .ct-pay-coupon input{background:#15181d;border-color:rgba(255,255,255,.12);color:#fff}

/* v171 — premium marketplace-grade savings + checkout payment system */
.ct-offers-v171{isolation:isolate;background:radial-gradient(circle at 96% 4%,rgba(226,194,126,.25),transparent 30%),radial-gradient(circle at 0% 100%,rgba(39,123,73,.06),transparent 28%),linear-gradient(145deg,#fffefb 0%,#f4eee3 100%);border-color:rgba(126,94,50,.22);box-shadow:0 28px 80px rgba(45,33,20,.12)}
.ct-offers-v171:after{content:"";position:absolute;inset:auto -60px -100px auto;width:220px;height:220px;border:1px solid rgba(183,143,84,.18);border-radius:50%;box-shadow:0 0 0 28px rgba(183,143,84,.04),0 0 0 56px rgba(183,143,84,.025);pointer-events:none;z-index:-1}
.ct-offers-v171 .ct-offers-head h2{font-size:clamp(1.5rem,3vw,2.05rem)}
.ct-offers-v171 .ct-offers-intro{max-width:520px;color:#686158;font-size:.72rem;line-height:1.55;margin:7px 0 0}
.ct-offer-stack-v171{gap:12px;margin-top:18px}
.ct-offer-card-v171{min-height:94px;padding:14px 14px 14px 15px;border-radius:20px;background:rgba(255,255,255,.9);border-color:rgba(122,91,48,.16);box-shadow:0 10px 30px rgba(45,33,20,.06)}
.ct-offer-card-v171:after{width:4px;top:14px;bottom:14px;background:linear-gradient(#b78a4b,#e7ca8d)}
.ct-offer-card-v171.is-applied{border-color:rgba(39,123,73,.38);background:linear-gradient(135deg,#f9fff9,#f1f8f1);box-shadow:0 14px 36px rgba(39,123,73,.11)}
.ct-offer-ticket-v171{width:58px;height:58px;flex-basis:58px;border-radius:18px;background:linear-gradient(145deg,#f6e5c4,#fffaf0);border-color:#e0c28e;flex-direction:column;gap:0;line-height:1}
.ct-offer-ticket-v171 span{font-size:1rem;font-weight:1000}.ct-offer-ticket-v171 small{font-size:.42rem;font-weight:1000;letter-spacing:.12em;margin-top:4px}
.ct-offer-copy-v171 strong{font-size:.9rem;margin-top:5px}.ct-offer-copy-v171 small{font-size:.63rem;max-width:430px}
.ct-offer-apply-v171{min-width:88px;height:42px;border-radius:13px;background:linear-gradient(135deg,#15191d,#2b241c);box-shadow:0 10px 24px rgba(23,27,32,.2);font-size:.68rem}
.ct-offer-apply-v171.is-applied{background:#267b49;box-shadow:0 10px 24px rgba(39,123,73,.2)}
.ct-offer-apply-v171 b{font-size:.95rem}
.ct-offer-empty-v171{display:flex;align-items:center;gap:12px;padding:15px;border:1px dashed rgba(122,91,48,.24);border-radius:18px;background:rgba(255,255,255,.55)}
.ct-offer-empty-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#f1e7d7;color:#8b6637;font-weight:1000}.ct-offer-empty-v171 strong{display:block;font-size:.78rem}.ct-offer-empty-v171 small{display:block;color:#716a61;font-size:.61rem;margin-top:3px}
.ct-offer-total-v171{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px;margin-top:12px;padding:13px 15px;border:1px solid rgba(39,123,73,.22);border-radius:17px;background:linear-gradient(135deg,#f5fbf6,#edf7ef);box-shadow:0 10px 26px rgba(39,123,73,.07)}
.ct-offer-total-v171[hidden]{display:none}.ct-offer-total-v171 span{display:block;font-size:.5rem;font-weight:1000;letter-spacing:.14em;color:#267b49}.ct-offer-total-v171 div:first-child strong{display:block;font-size:1.25rem;letter-spacing:-.04em;margin-top:2px;color:#15191d}.ct-offer-total-saving{text-align:right}.ct-offer-total-saving span{letter-spacing:.05em}.ct-offer-total-saving strong{display:block;color:#267b49;font-size:.78rem;margin-top:2px}.ct-offer-total-check{padding:7px 9px!important;border-radius:999px;background:#267b49;color:#fff!important;letter-spacing:.03em!important;font-size:.53rem!important}
.ct-coins-card-v171{margin-top:13px;min-height:72px;padding:15px;border-radius:20px;background:linear-gradient(125deg,#14181c 0%,#211e1a 62%,#3a2c1d 100%)}
.ct-coins-card-v171 .ct-coins-orbit{width:52px;height:52px;flex-basis:52px;border-radius:17px}.ct-coins-card-v171 .ct-coins-copy strong{font-size:.83rem}.ct-coins-card-v171 .ct-coins-copy small{font-size:.62rem}.ct-coins-card-v171 .ct-coins-action{padding:11px 13px;border-radius:13px;background:linear-gradient(135deg,#f0d38a,#d7ae5c);font-size:.61rem}

/* Payment methods: turn the selector into a high-end checkout surface. */
.ct-choice-grid-v171{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ct-choice-v171{min-height:132px;border-radius:21px;padding:16px;background:linear-gradient(145deg,#fff,#fbf8f2);border:1px solid #e2dcd2;box-shadow:0 9px 28px rgba(30,26,20,.045)}
.ct-choice-v171:hover{transform:translateY(-3px);box-shadow:0 17px 38px rgba(30,26,20,.09)}
.ct-choice-v171.selected{border-color:#b7894c;background:linear-gradient(145deg,#fffdf8,#f7efe2);box-shadow:0 0 0 3px rgba(183,137,76,.11),0 18px 42px rgba(54,39,21,.08)}
.ct-choice-v171 .ct-choice-icon{width:47px;height:47px;border-radius:15px;font-size:.76rem;letter-spacing:-.02em}.ct-choice-v171 strong{font-size:.86rem}.ct-choice-v171 small{font-size:.67rem;max-width:92%}.ct-choice-v171 .ct-choice-badge{top:12px;right:12px}
.ct-payment-method-heading-v171{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:13px}.ct-payment-method-heading-v171 > div:last-child{font-size:.6rem;color:#6b655d;text-align:right}.ct-payment-method-heading-v171 > div:last-child strong{color:#267b49}
.ct-payment-promo-v171{border-style:solid;border-color:#e0d2bb;background:linear-gradient(135deg,#fffaf0,#f7f0e5);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 10px 28px rgba(45,33,20,.045)}
.ct-coupon-label-v171{font-size:.48rem;letter-spacing:.12em;text-transform:uppercase;font-weight:1000;color:#8c6739;margin-bottom:5px}
.ct-pay-advance-banner-v171{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:13px;padding:15px 16px;border:1px solid rgba(183,137,76,.25);border-radius:17px;background:linear-gradient(135deg,#fff8eb,#f5ead9)}
.ct-pay-advance-banner-v171 strong{display:block;font-size:.83rem}.ct-pay-advance-banner-v171 span{display:block;color:#6d665d;font-size:.65rem;line-height:1.45;margin-top:3px}.ct-pay-advance-banner-v171 b{white-space:nowrap;font-size:1.05rem}
.ct-pay-total-highlight-v171{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:13px;padding:14px 16px;border-radius:16px;background:#171b20;color:#fff}.ct-pay-total-highlight-v171 span{font-size:.67rem;color:#d7d0c6}.ct-pay-total-highlight-v171 strong{font-size:1.15rem;color:#f0d28c}
.ct-pay-summary-v171{border-top:3px solid #b7894c}

@media(min-width:1100px){.ct-offer-stack-v171{grid-template-columns:1fr 1fr}.ct-offer-card-v171{min-height:104px}.ct-offer-card-v171:last-child:nth-child(odd){grid-column:1 / -1}}
@media(max-width:900px){.ct-choice-grid-v171{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.ct-offers-v171{padding:15px}.ct-offer-card-v171{min-height:88px;padding:12px}.ct-offer-ticket-v171{width:50px;height:50px;flex-basis:50px}.ct-offer-copy-v171 strong{font-size:.78rem}.ct-offer-copy-v171 small{font-size:.58rem}.ct-offer-apply-v171{min-width:74px;height:38px}.ct-offer-total-v171{grid-template-columns:1fr auto;gap:8px}.ct-offer-total-check{grid-column:1 / -1;text-align:center}.ct-choice-grid-v171{grid-template-columns:1fr}.ct-choice-v171{min-height:104px}.ct-payment-method-heading-v171{align-items:flex-start;flex-direction:column}.ct-payment-method-heading-v171 > div:last-child{text-align:left}.ct-pay-advance-banner-v171{align-items:flex-start;flex-direction:column}.ct-pay-advance-banner-v171 b{align-self:flex-end}.ct-pay-total-highlight-v171{padding:12px}}
@media(max-width:430px){.ct-offer-card-v171{align-items:flex-start}.ct-offer-ticket-v171{width:46px;height:46px;flex-basis:46px}.ct-offer-apply-v171{min-width:68px;padding:0 8px}.ct-coins-card-v171{align-items:flex-start}.ct-coins-card-v171 .ct-coins-action{max-width:90px;text-align:center;white-space:normal}}
body.appearance-dark .ct-offers-v171{background:radial-gradient(circle at 96% 4%,rgba(226,194,126,.13),transparent 30%),linear-gradient(145deg,#181b1f,#111316);border-color:rgba(255,255,255,.1)}
body.appearance-dark .ct-offer-card-v171{background:rgba(28,31,36,.94);border-color:rgba(255,255,255,.1)}body.appearance-dark .ct-offer-copy-v171 strong,body.appearance-dark .ct-offer-empty-v171 strong{color:#f7f4ed}body.appearance-dark .ct-offer-copy-v171 small,body.appearance-dark .ct-offer-empty-v171 small{color:#c8c1b7}body.appearance-dark .ct-offer-total-v171{background:linear-gradient(135deg,#17241a,#18231b);border-color:rgba(91,184,116,.2)}body.appearance-dark .ct-choice-v171{background:linear-gradient(145deg,#1c1f24,#17191d);border-color:rgba(255,255,255,.1);color:#f7f4ed}body.appearance-dark .ct-choice-v171.selected{background:linear-gradient(145deg,#28231c,#1d1b18);border-color:#b7894c}body.appearance-dark .ct-payment-promo-v171{background:linear-gradient(135deg,#211e1a,#181714);border-color:rgba(230,194,127,.2)}

/* v172 — centered premium Offers + Coins surface */
.ct-offers-v171{
  width:100%;max-width:100%;box-sizing:border-box;margin-left:0;margin-right:0;
  padding:22px!important;border-radius:26px!important;
  background:
    radial-gradient(circle at 8% 0%,rgba(224,190,119,.18),transparent 30%),
    radial-gradient(circle at 100% 100%,rgba(39,123,73,.07),transparent 32%),
    linear-gradient(145deg,#fffefa 0%,#f6f0e6 100%)!important;
  border:1px solid rgba(126,94,50,.18)!important;
  box-shadow:0 24px 70px rgba(45,33,20,.11),inset 0 1px 0 rgba(255,255,255,.85);
}
.luxury-product-info>.ct-offers-v171{align-self:stretch;justify-self:stretch}
.ct-offers-v171 .ct-offers-head{padding-bottom:13px;border-bottom:1px solid rgba(126,94,50,.12)}
.ct-offers-v171 .ct-offers-kicker{display:inline-flex;align-items:center;gap:7px;padding:5px 8px;border-radius:999px;background:rgba(183,137,76,.10);border:1px solid rgba(183,137,76,.14)}
.ct-offers-v171 .ct-offers-kicker:before{content:'✦';font-size:.6rem;color:#a1773d}
.ct-offers-v171 .ct-offers-icon{background:linear-gradient(145deg,#171b20,#33281d);border:1px solid rgba(230,194,127,.28);box-shadow:0 12px 28px rgba(23,27,32,.22)}
.ct-offer-stack-v171{grid-template-columns:1fr;gap:12px;margin-top:15px}
.ct-offer-card-v171{min-width:0;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 13px 13px 15px!important;border-radius:20px!important;background:rgba(255,255,255,.86)!important;box-shadow:0 10px 30px rgba(45,33,20,.065)!important}
.ct-offer-card-v171:hover{transform:translateY(-2px);box-shadow:0 17px 38px rgba(45,33,20,.11)!important}
.ct-offer-card-v171.is-applied{background:linear-gradient(135deg,#fbfffb,#eef8f0)!important;border-color:rgba(39,123,73,.34)!important}
.ct-offer-ticket-v171{width:58px!important;height:58px!important;flex-basis:58px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 8px 18px rgba(139,102,55,.09)}
.ct-offer-copy-v171{min-width:0}.ct-offer-copy-v171 strong{font-size:.9rem!important;line-height:1.2}.ct-offer-copy-v171 small{max-width:100%!important;line-height:1.45!important}
.ct-offer-apply-v171{min-width:88px!important;height:42px!important;border-radius:13px!important;align-self:center}
.ct-offer-apply-v171.is-applied:disabled{opacity:1;cursor:default;background:linear-gradient(135deg,#267b49,#348b59);color:#fff;box-shadow:0 10px 24px rgba(39,123,73,.20)}
.ct-offer-total-v171{margin-top:13px!important;grid-template-columns:minmax(0,1fr) auto auto!important;border-radius:18px!important;background:linear-gradient(135deg,#f7fff8,#eaf6ed)!important;box-shadow:0 12px 30px rgba(39,123,73,.08)!important}
.ct-offer-total-saving small{display:block;margin-top:3px;color:#6c776e;font-size:.52rem;font-weight:800;letter-spacing:.02em}
.ct-coins-card-v171{position:relative;isolation:isolate;display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:13px;margin-top:13px!important;padding:15px 15px!important;border-radius:21px!important;overflow:hidden;background:linear-gradient(135deg,#111519 0%,#1d211f 58%,#3b2d1e 100%)!important;border:1px solid rgba(230,194,127,.18);box-shadow:0 18px 42px rgba(20,18,15,.22)!important}
.ct-coins-card-v171:after{content:'';position:absolute;inset:auto -42px -68px auto;width:170px;height:170px;border-radius:50%;border:1px solid rgba(235,205,145,.16);box-shadow:0 0 0 22px rgba(235,205,145,.035),0 0 0 44px rgba(235,205,145,.025);pointer-events:none;z-index:-1}
.ct-coins-card-v171.is-redeemed{border-color:rgba(91,184,116,.48);box-shadow:0 18px 42px rgba(20,60,31,.20)!important}
.ct-coins-card-v171 .ct-coins-orbit{width:54px;height:54px;flex-basis:54px;border-radius:17px;background:radial-gradient(circle at 30% 25%,#f6df9e,#c9963f 55%,#765025);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 10px 24px rgba(0,0,0,.24)}
.ct-coins-card-v171 .ct-coins-heading{gap:7px}.ct-coins-card-v171 .ct-coins-copy strong{font-size:.86rem;line-height:1.25}.ct-coins-card-v171 .ct-coins-copy small{font-size:.62rem;line-height:1.45}
.ct-coins-action.ct-product-coins-toggle{border:0;cursor:pointer;font-family:inherit}.ct-coins-action.ct-product-coins-toggle.is-active{background:linear-gradient(135deg,#75cf91,#3b9b5c);color:#fff;box-shadow:0 10px 24px rgba(39,123,73,.24)}
@media(min-width:1100px){.ct-offers-v171{padding:24px!important}.ct-offer-stack-v171{grid-template-columns:repeat(2,minmax(0,1fr))}.ct-offer-card-v171:last-child:nth-child(odd){grid-column:1 / -1}.ct-coins-card-v171{grid-template-columns:58px minmax(0,1fr) auto}}
@media(max-width:700px){
  .luxury-product-info>.ct-offers-v171{width:100%;max-width:none;margin-left:0;margin-right:0}
  .ct-offers-v171{padding:14px!important;border-radius:21px!important}
  .ct-offers-v171 .ct-offers-head{gap:9px}
  .ct-offers-v171 .ct-offers-head h2{font-size:1.48rem}
  .ct-offer-card-v171{grid-template-columns:48px minmax(0,1fr);gap:10px;padding:11px!important}
  .ct-offer-ticket-v171{width:48px!important;height:48px!important;flex-basis:48px!important}
  .ct-offer-copy-v171 strong{font-size:.77rem!important}.ct-offer-copy-v171 small{font-size:.57rem!important}
  .ct-offer-apply-v171{grid-column:2;justify-self:end;min-width:86px!important;height:37px!important;margin-top:2px}
  .ct-offer-total-v171{grid-template-columns:1fr auto!important;padding:12px!important}.ct-offer-total-check{grid-column:1 / -1}
  .ct-coins-card-v171{grid-template-columns:46px minmax(0,1fr);gap:10px;padding:13px!important}
  .ct-coins-card-v171 .ct-coins-orbit{width:46px;height:46px;flex-basis:46px}
  .ct-coins-action.ct-product-coins-toggle,.ct-coins-card-v171>.ct-coins-action{grid-column:1 / -1;justify-self:stretch;text-align:center;padding:10px 12px!important}
}
@media(max-width:430px){.ct-offers-v171{padding:12px!important}.ct-offer-card-v171{grid-template-columns:44px minmax(0,1fr);padding:10px!important}.ct-offer-ticket-v171{width:44px!important;height:44px!important;flex-basis:44px!important}.ct-offer-apply-v171{min-width:82px!important}.ct-coins-card-v171{grid-template-columns:44px minmax(0,1fr)}.ct-coins-card-v171 .ct-coins-orbit{width:44px;height:44px;flex-basis:44px}}
body.appearance-dark .ct-offers-v171{background:radial-gradient(circle at 8% 0%,rgba(226,194,126,.13),transparent 30%),radial-gradient(circle at 100% 100%,rgba(91,184,116,.07),transparent 32%),linear-gradient(145deg,#181b1f,#111316)!important;border-color:rgba(255,255,255,.1)!important;box-shadow:0 24px 70px rgba(0,0,0,.26)}


/* ============================================================
   V185 — PRODUCT PAGE POLISH / OFFER CARDS / DESKTOP ISOLATION
   ============================================================ */
/* Never allow gallery zoom/media to paint over the purchase column. */
.luxury-product-page .luxury-product-hero{position:relative;isolation:isolate;align-items:start!important;overflow:visible!important}
.luxury-product-page .luxury-product-hero>div:first-child{position:sticky;top:96px;z-index:1;min-width:0;width:100%;overflow:visible}
.luxury-product-page .luxury-product-info{position:relative;z-index:5;min-width:0;width:100%;box-sizing:border-box;overflow:visible;background:var(--paper,#fffdf8)}
.luxury-product-page .product-image-stage,.luxury-product-page .spin-viewer{position:relative;z-index:1;overflow:hidden!important;isolation:isolate}
.luxury-product-page .product-image-stage>img,.luxury-product-page .product-image-stage>video,.luxury-product-page .spin-viewer>img{position:relative;z-index:0;display:block;max-width:100%;}
.luxury-product-page .zoom-lens{z-index:3!important;contain:paint;max-width:120px;max-height:120px}
.luxury-product-page .zoom-hint,.luxury-product-page .crp-gallery-badges,.luxury-product-page .crp-image-count{z-index:4!important}
.luxury-product-page .luxury-product-info h1,.luxury-product-page .luxury-product-info .price,.luxury-product-page .luxury-product-info .crp-rating-row{position:relative;z-index:6}
/* Solid, readable surface behind the long right column; no transparent text-on-image overlap. */
.luxury-product-page .luxury-product-info:before{content:"";position:absolute;inset:0;background:var(--paper,#fffdf8);border-radius:inherit;z-index:-1;pointer-events:none}

/* Desktop: visually fill the left rail instead of leaving a dead white strip while the right column scrolls. */
@media(min-width:1051px){
  .luxury-product-page{background:linear-gradient(90deg,#f3f0e9 0%,#f3f0e9 50%,#fffdf8 50%,#fffdf8 100%)!important}
  .luxury-product-hero{background:transparent!important}
  .luxury-product-hero>div:first-child{padding:0 0 24px}
  .luxury-product-hero>div:first-child:after{content:"";display:block;position:absolute;inset:-20px auto -200px -50vw;width:100vw;background:linear-gradient(180deg,#f3f0e9,#eeebe4);z-index:-1;pointer-events:none}
  .luxury-product-info{padding:30px 34px!important;border:1px solid rgba(80,70,55,.10)!important;box-shadow:0 20px 65px rgba(25,22,18,.08)!important}
}

/* V185 offer rail — actual cards, not paragraph-like text. */
.ct-offers-v171{position:relative!important;overflow:hidden!important;border-radius:24px!important;padding:22px!important;background:linear-gradient(145deg,#fffdf8 0%,#f3eee5 100%)!important;border:1px solid rgba(122,91,48,.18)!important;box-shadow:0 22px 65px rgba(45,33,20,.09),inset 0 1px 0 rgba(255,255,255,.85)!important}
.ct-offers-v171 .ct-offers-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:4px}
.ct-offers-v171 .ct-offers-kicker{font-size:.55rem!important;font-weight:950!important;letter-spacing:.17em!important;color:#96703d!important}
.ct-offers-v171 .ct-offers-head h2{font-family:'Fraunces',Georgia,serif!important;font-size:clamp(1.5rem,2.5vw,2rem)!important;line-height:1.05!important;color:#17191c!important;margin:6px 0 0!important}
.ct-offers-v171 .ct-offers-intro{font-size:.68rem!important;line-height:1.5!important;color:#6a655d!important;margin-top:7px!important}
.ct-offer-stack-v171{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin-top:16px!important}
.ct-offer-card-v171{display:grid!important;grid-template-columns:58px minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;min-width:0!important;min-height:106px!important;padding:13px 13px 13px 14px!important;border-radius:18px!important;border:1px solid rgba(122,91,48,.15)!important;background:#fff!important;box-shadow:0 8px 24px rgba(35,29,21,.055)!important;overflow:hidden!important;transform:none!important}
.ct-offer-card-v171:hover{transform:translateY(-2px)!important;box-shadow:0 16px 34px rgba(35,29,21,.10)!important}
.ct-offer-card-v171:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;background:linear-gradient(180deg,#b8894d,#e4c784);border-radius:0 4px 4px 0}
.ct-offer-card-v171.is-applied{border-color:rgba(39,123,73,.35)!important;background:linear-gradient(135deg,#fbfffb,#f0f8f2)!important}
.ct-offer-ticket-v171{width:58px!important;height:58px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;border-radius:17px!important;background:linear-gradient(145deg,#f8e8c9,#fffaf1)!important;border:1px solid #dfc18d!important;box-shadow:inset 0 1px 0 #fff,0 8px 20px rgba(139,102,55,.10)!important;color:#8a6332!important}
.ct-offer-ticket-v171 span{font-size:1.02rem!important;font-weight:1000!important;line-height:1!important}.ct-offer-ticket-v171 small{font-size:.42rem!important;letter-spacing:.14em!important;font-weight:1000!important;margin-top:5px!important}
.ct-offer-copy-v171{min-width:0!important}.ct-offer-meta{display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important}.ct-offer-label{font-size:.56rem!important;font-weight:950!important;letter-spacing:.08em!important;color:#7e5b31!important}.ct-offer-tag{font-size:.43rem!important;padding:4px 6px!important;background:#f4eadb!important;color:#8b6637!important;border-radius:999px!important}
.ct-offer-copy-v171 strong{display:block!important;margin-top:5px!important;font-size:.86rem!important;line-height:1.2!important;color:#17191c!important}.ct-offer-copy-v171 small{display:block!important;margin-top:4px!important;font-size:.57rem!important;line-height:1.4!important;color:#716a61!important}
.ct-offer-apply-v171{min-width:82px!important;height:38px!important;border:0!important;border-radius:11px!important;background:linear-gradient(135deg,#15191d,#29231d)!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;font-size:.61rem!important;font-weight:950!important;box-shadow:0 8px 20px rgba(23,27,32,.16)!important}
.ct-offer-apply-v171 b{color:#e8c87f!important;font-size:.78rem!important}.ct-offer-apply-v171.is-applied{background:linear-gradient(135deg,#2c8a4e,#267b49)!important}.ct-offer-apply-v171.is-applied b{color:#fff!important}

/* Savings summary: make the benefit visually obvious. */
.ct-offer-total-v171{margin-top:13px!important;display:grid!important;grid-template-columns:1fr auto auto!important;align-items:center!important;gap:12px!important;padding:13px 15px!important;border-radius:16px!important;background:linear-gradient(135deg,#eff9f1,#e5f3e8)!important;border:1px solid rgba(39,123,73,.18)!important}
.ct-offer-total-v171 div:first-child strong{font-size:1.22rem!important;color:#15191d!important}.ct-offer-total-saving{text-align:right!important}.ct-offer-total-saving strong{font-size:.82rem!important;color:#267b49!important}.ct-offer-total-check{padding:7px 9px!important;border-radius:999px!important;background:#267b49!important;color:#fff!important}

/* Coins card lives inside the same offers surface and looks like a reward wallet. */
.ct-coins-card-v171{display:grid!important;grid-template-columns:54px minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;margin-top:12px!important;padding:14px!important;border-radius:19px!important;background:linear-gradient(135deg,#15191d,#28221a 70%,#3a2b1c)!important;border:1px solid rgba(230,194,127,.18)!important;box-shadow:0 16px 38px rgba(20,18,15,.18)!important}
.ct-coins-card-v171 .ct-coins-orbit{width:54px!important;height:54px!important;border-radius:17px!important}.ct-coins-card-v171 .ct-coins-copy strong{font-size:.83rem!important}.ct-coins-card-v171 .ct-coins-copy small{font-size:.59rem!important;line-height:1.4!important}.ct-coins-card-v171 .ct-coins-action{min-width:104px!important;text-align:center!important;padding:10px 12px!important;border-radius:11px!important}

/* Light-mode readability hardening for the entire product experience. */
body.appearance-light.luxury-product-page,.luxury-product-page{color:#17191c}
.luxury-product-page .luxury-product-info,.luxury-product-page .luxury-product-info *{--ct-ink:#17191c;--ct-muted:#655f57}
.luxury-product-page .crp-product-title,.luxury-product-page .luxury-product-info h1,.luxury-product-page .luxury-product-info h2,.luxury-product-page .luxury-product-info h3{color:#17191c!important}
.luxury-product-page .crp-rating-row,.luxury-product-page .luxury-product-info p,.luxury-product-page .luxury-product-info small{color:#655f57}
.luxury-product-page .form-label{color:#5f5951!important}
.luxury-product-page a{color:inherit}

@media(max-width:1100px){.ct-offer-stack-v171{grid-template-columns:1fr!important}}
@media(max-width:700px){
  .luxury-product-page{background:var(--paper,#fffdf8)!important}
  .luxury-product-page .luxury-product-hero>div:first-child{position:relative!important;top:auto!important;z-index:1!important}
  .luxury-product-page .luxury-product-info{z-index:5!important;padding:20px!important}
  .ct-offers-v171{padding:14px!important;border-radius:20px!important}
  .ct-offer-card-v171{grid-template-columns:48px minmax(0,1fr)!important;min-height:94px!important;gap:10px!important;padding:11px!important}
  .ct-offer-ticket-v171{width:48px!important;height:48px!important}
  .ct-offer-apply-v171{grid-column:2!important;justify-self:end!important;min-width:88px!important;height:36px!important}
  .ct-coins-card-v171{grid-template-columns:46px minmax(0,1fr)!important}.ct-coins-card-v171 .ct-coins-orbit{width:46px!important;height:46px!important}.ct-coins-card-v171>.ct-coins-action{grid-column:1/-1!important;width:100%!important}
}
body.appearance-dark .luxury-product-page .luxury-product-info:before{background:#111316}
body.appearance-dark .ct-offers-v171{background:linear-gradient(145deg,#181b1f,#111316)!important;border-color:rgba(255,255,255,.10)!important}
body.appearance-dark .ct-offer-card-v171{background:#1c1f24!important;border-color:rgba(255,255,255,.10)!important}.appearance-dark .ct-offer-copy-v171 strong{color:#f5f2ea!important}.appearance-dark .ct-offer-copy-v171 small{color:#c5c0b8!important}

/* v185-fix — inline offer/coins error message, replacing alert() popups. */
.ct-offer-error-v185{display:none;margin-top:10px;padding:10px 13px;border-radius:12px;background:rgba(180,74,58,.09);border:1px solid rgba(180,74,58,.25);color:#a03f2e;font-size:.68rem;font-weight:700;line-height:1.4}
.ct-offer-error-v185.is-visible{display:block}
body.appearance-dark .ct-offer-error-v185{background:rgba(180,74,58,.14);color:#e6a698}

/* v185-fix — "Best price" preview banner: shows the best combined saving
   (top offer + Comfortrek Coins) up front, before any tap — closes the gap
   with the marketplace "WOW deal" style collapsed-price pattern. */
.ct-best-price-v185{position:relative;display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:13px 15px;border-radius:16px;background:#171b20;color:#fff;box-shadow:0 14px 34px rgba(23,27,32,.22)}
.ct-best-price-v185 .ct-bp-badge{flex:0 0 auto;padding:6px 9px;border-radius:9px;background:linear-gradient(135deg,#f0d38a,#d7ae5c);color:#171b20;font-size:.62rem;font-weight:1000}
.ct-best-price-v185 .ct-bp-copy{flex:1;min-width:0}
.ct-best-price-v185 .ct-bp-copy span{display:block;font-size:.55rem;font-weight:900;letter-spacing:.14em;color:#c9c1b5}
.ct-best-price-v185 .ct-bp-copy strong{display:block;font-size:1.05rem;letter-spacing:-.03em;margin-top:2px}
.ct-best-price-v185 .ct-bp-copy strong em{font-style:normal;color:#e5c27f;margin-left:6px;font-size:.72rem}
.ct-best-price-v185 .ct-bp-chevron{flex:0 0 auto;color:#c9c1b5;font-size:.9rem}
@media(max-width:430px){.ct-best-price-v185{padding:11px 12px}.ct-best-price-v185 .ct-bp-copy strong{font-size:.95rem}}
body.appearance-dark .ct-best-price-v185{background:#0e1013;box-shadow:0 14px 34px rgba(0,0,0,.3)}

/* v217 — PDP universal light/dark contrast hardening.
   Delivery + lower product-detail sections must remain readable even when a
   theme's accent variables resolve to very light colors. Component-scoped
   colors intentionally override theme text colors while preserving theme
   borders/backgrounds through the surfaces below. */

/* Delivery promise: appearance class is the source of truth, regardless of
   stale data-ct-mode values or theme-specific accent variables. */
body.appearance-light #ct-delivery-promise,
body.appearance-light #ct-delivery-promise[data-ct-mode="dark"] {
  --ctdp-bg:#fffdf9;
  --ctdp-fg:#17191c;
  --ctdp-muted:#5f5a53;
  --ctdp-border:rgba(30,28,25,.18);
  background:var(--ctdp-bg)!important;
  color:var(--ctdp-fg)!important;
  border-color:var(--ctdp-border)!important;
}
body.appearance-light #ct-delivery-promise .ct-dp-kicker,
body.appearance-light #ct-delivery-promise .ct-dp-date,
body.appearance-light #ct-delivery-promise .ct-dp-countdown-label,
body.appearance-light #ct-delivery-promise .ct-dp-timer,
body.appearance-light #ct-delivery-promise .ct-dp-location,
body.appearance-light #ct-delivery-promise .ct-dp-transit {
  color:var(--ctdp-fg)!important;
  opacity:1!important;
}
body.appearance-light #ct-delivery-promise .ct-dp-sub { color:var(--ctdp-muted)!important; opacity:1!important; }
body.appearance-light #ct-delivery-promise .ct-pincode-row .form-input {
  color:var(--ctdp-fg)!important;
  background:#fff!important;
  border-color:var(--ctdp-border)!important;
  -webkit-text-fill-color:var(--ctdp-fg)!important;
}
body.appearance-light #ct-delivery-promise .ct-pincode-row .form-input::placeholder {
  color:#69635b!important; opacity:1!important; -webkit-text-fill-color:#69635b!important;
}
body.appearance-light #ct-delivery-promise .ct-pincode-row .btn-secondary {
  color:#fff!important; background:#9c5d38!important; border-color:#9c5d38!important; -webkit-text-fill-color:#fff!important;
}
body.appearance-light #ct-delivery-promise .ct-dp-chip {
  color:#3d3934!important; background:#f2ede5!important; border-color:rgba(30,28,25,.14)!important;
}
body.appearance-light #ct-delivery-promise .ct-dp-timer {
  background:#efe1d3!important; color:#754322!important;
}

body.appearance-dark #ct-delivery-promise,
body.appearance-dark #ct-delivery-promise[data-ct-mode="light"] {
  --ctdp-bg:#17191d;
  --ctdp-fg:#f7f3ea;
  --ctdp-muted:#c8c0b6;
  --ctdp-border:rgba(255,255,255,.18);
  background:var(--ctdp-bg)!important;
  color:var(--ctdp-fg)!important;
  border-color:var(--ctdp-border)!important;
}
body.appearance-dark #ct-delivery-promise .ct-dp-kicker,
body.appearance-dark #ct-delivery-promise .ct-dp-date,
body.appearance-dark #ct-delivery-promise .ct-dp-countdown-label,
body.appearance-dark #ct-delivery-promise .ct-dp-timer,
body.appearance-dark #ct-delivery-promise .ct-dp-location,
body.appearance-dark #ct-delivery-promise .ct-dp-transit { color:var(--ctdp-fg)!important; opacity:1!important; }
body.appearance-dark #ct-delivery-promise .ct-dp-sub { color:var(--ctdp-muted)!important; opacity:1!important; }
body.appearance-dark #ct-delivery-promise .ct-pincode-row .form-input {
  color:var(--ctdp-fg)!important; background:#202328!important; border-color:var(--ctdp-border)!important; -webkit-text-fill-color:var(--ctdp-fg)!important;
}
body.appearance-dark #ct-delivery-promise .ct-pincode-row .form-input::placeholder { color:#aaa39a!important; opacity:1!important; -webkit-text-fill-color:#aaa39a!important; }
body.appearance-dark #ct-delivery-promise .ct-pincode-row .btn-secondary { color:#fff!important; background:#b66c3e!important; border-color:#b66c3e!important; -webkit-text-fill-color:#fff!important; }
body.appearance-dark #ct-delivery-promise .ct-dp-chip { color:#f1ebe1!important; background:#25282d!important; border-color:rgba(255,255,255,.15)!important; }
body.appearance-dark #ct-delivery-promise .ct-dp-timer { background:#3b291f!important; color:#ffd6b8!important; }

/* Lower PDP detail stack: remove theme-dependent near-white text on light
   surfaces and near-black text on dark surfaces. */
body.appearance-light .ct215-details-stack,
body.appearance-light .ct215-details-stack .tag-card {
  --ct-detail-ink:#17191c;
  --ct-detail-muted:#5f5a53;
  --ct-detail-surface:#fffdf9;
  --ct-detail-border:rgba(35,31,27,.14);
  color:var(--ct-detail-ink)!important;
}
body.appearance-light .ct215-details-stack .tag-card {
  background:var(--ct-detail-surface)!important;
  border-color:var(--ct-detail-border)!important;
}
body.appearance-light .ct215-details-stack :where(h1,h2,h3,h4,h5,h6,strong,b,dt) { color:var(--ct-detail-ink)!important; opacity:1!important; }
body.appearance-light .ct215-details-stack :where(p,span,li,small,label,td,th) { color:var(--ct-detail-muted)!important; opacity:1!important; }
body.appearance-light .ct215-details-stack :where(a) { color:#7b4a2c!important; opacity:1!important; }
body.appearance-light .ct215-details-stack .hero-eyebrow { color:#7b4a2c!important; opacity:1!important; }
body.appearance-light .ct215-details-stack .btn-secondary { color:#211f1d!important; background:#fff!important; border-color:rgba(35,31,27,.22)!important; }

body.appearance-dark .ct215-details-stack,
body.appearance-dark .ct215-details-stack .tag-card {
  --ct-detail-ink:#f4f1ea;
  --ct-detail-muted:#c5beb5;
  --ct-detail-surface:#15171a;
  --ct-detail-border:rgba(255,255,255,.14);
  color:var(--ct-detail-ink)!important;
}
body.appearance-dark .ct215-details-stack .tag-card { background:var(--ct-detail-surface)!important; border-color:var(--ct-detail-border)!important; }
body.appearance-dark .ct215-details-stack :where(h1,h2,h3,h4,h5,h6,strong,b,dt) { color:var(--ct-detail-ink)!important; opacity:1!important; }
body.appearance-dark .ct215-details-stack :where(p,span,li,small,label,td,th) { color:var(--ct-detail-muted)!important; opacity:1!important; }
body.appearance-dark .ct215-details-stack :where(a) { color:#e1b77d!important; opacity:1!important; }
body.appearance-dark .ct215-details-stack .hero-eyebrow { color:#e1b77d!important; opacity:1!important; }
body.appearance-dark .ct215-details-stack .btn-secondary { color:#f4f1ea!important; background:#202328!important; border-color:rgba(255,255,255,.20)!important; }

/* Theme-independent fallback when a theme omits appearance-* on the body. */
@media (prefers-color-scheme: light) {
  body:not(.appearance-dark) #ct-delivery-promise { color:#17191c!important; background:#fffdf9!important; }
  body:not(.appearance-dark) #ct-delivery-promise .ct-dp-sub { color:#5f5a53!important; opacity:1!important; }
  body:not(.appearance-dark) .ct215-details-stack .tag-card { background:#fffdf9!important; color:#17191c!important; }
  body:not(.appearance-dark) .ct215-details-stack :where(h1,h2,h3,h4,h5,h6,strong,b,dt) { color:#17191c!important; }
  body:not(.appearance-dark) .ct215-details-stack :where(p,span,li,small,label,td,th) { color:#5f5a53!important; }
}


/* =====================================================================
   Comfortrek V233 — HARD HEADER CONTRAST + COMMERCE NAVIGATION LAYER
   ---------------------------------------------------------------------
   Root cause found in V232: theme-specific header rules (several with
   !important) could repaint the header surface after the appearance
   rules, leaving a pale header with white controls in Dark mode. The
   storefront also relied on an old service-worker shell cache, so JS/CSS
   fixes could remain invisible after deployment.

   This final layer is deliberately scoped to the actual appearance state
   and placed at the end of the stylesheet so every storefront theme gets
   a deterministic readable header without changing page content.
   ===================================================================== */

html body.appearance-dark .site-header,
html body.appearance-auto.appearance-dark .site-header {
  background: linear-gradient(135deg,#090b0e,#151a20) !important;
  color: #f7f4ec !important;
  border-bottom: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 8px 28px rgba(0,0,0,.24) !important;
}

html body.appearance-dark .site-header :where(a,button,.logo,.main-nav a,.header-actions a,.header-actions button,
  .mobile-menu-toggle,.mobile-header-actions a,.mobile-header-actions button,
  .lang-switch-wrap,.market-selector,.market-selector select),
html body.appearance-auto.appearance-dark .site-header :where(a,button,.logo,.main-nav a,.header-actions a,.header-actions button,
  .mobile-menu-toggle,.mobile-header-actions a,.mobile-header-actions button,
  .lang-switch-wrap,.market-selector,.market-selector select) {
  color: #f7f4ec !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

html body.appearance-dark .site-header .logo img,
html body.appearance-auto.appearance-dark .site-header .logo img {
  filter: none !important;
  opacity: 1 !important;
}

html body.appearance-dark .site-header .mobile-menu-toggle,
html body.appearance-auto.appearance-dark .site-header .mobile-menu-toggle {
  border-color: rgba(255,255,255,.28) !important;
  background: rgba(255,255,255,.055) !important;
}

html body.appearance-dark .site-header .mobile-menu-toggle span,
html body.appearance-auto.appearance-dark .site-header .mobile-menu-toggle span {
  background: #f7f4ec !important;
}

html body.appearance-dark .site-header .mobile-header-actions a,
html body.appearance-dark .site-header .mobile-header-actions button,
html body.appearance-auto.appearance-dark .site-header .mobile-header-actions a,
html body.appearance-auto.appearance-dark .site-header .mobile-header-actions button {
  border-color: rgba(255,255,255,.24) !important;
  background: rgba(255,255,255,.055) !important;
  color: #f7f4ec !important;
}

html body.appearance-dark .site-header .cart-icon-btn,
html body.appearance-auto.appearance-dark .site-header .cart-icon-btn {
  border-color: rgba(255,255,255,.22) !important;
  background: rgba(255,255,255,.055) !important;
  color: #f7f4ec !important;
}

html body.appearance-dark .site-header .search-input,
html body.appearance-auto.appearance-dark .site-header .search-input {
  background: rgba(255,255,255,.075) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.22) !important;
}

html body.appearance-dark .site-header .search-input::placeholder,
html body.appearance-auto.appearance-dark .site-header .search-input::placeholder {
  color: #c8ccc9 !important;
  opacity: 1 !important;
}

html body.appearance-dark .site-header .market-selector select,
html body.appearance-auto.appearance-dark .site-header .market-selector select {
  background: #151a20 !important;
  color: #f7f4ec !important;
  border-color: rgba(255,255,255,.18) !important;
}

html body.appearance-dark .site-header .mega-menu-dropdown,
html body.appearance-auto.appearance-dark .site-header .mega-menu-dropdown {
  background: #12161b !important;
  color: #f7f4ec !important;
  border-color: rgba(255,255,255,.14) !important;
}

html body.appearance-dark .site-header .mega-menu-dropdown a,
html body.appearance-auto.appearance-dark .site-header .mega-menu-dropdown a {
  color: #f7f4ec !important;
}

/* Light mode gets an equally deterministic header, while retaining a light
   presentation rather than inheriting an older theme's dark chrome. */
html body.appearance-light .site-header,
html body.appearance-auto.appearance-light .site-header {
  background: linear-gradient(135deg,#ffffff,#f3f1eb) !important;
  color: #17191b !important;
  border-bottom: 1px solid rgba(23,25,27,.14) !important;
}

html body.appearance-light .site-header :where(a,button,.logo,.main-nav a,.header-actions a,.header-actions button,
  .mobile-menu-toggle,.mobile-header-actions a,.mobile-header-actions button,
  .lang-switch-wrap,.market-selector,.market-selector select),
html body.appearance-auto.appearance-light .site-header :where(a,button,.logo,.main-nav a,.header-actions a,.header-actions button,
  .mobile-menu-toggle,.mobile-header-actions a,.mobile-header-actions button,
  .lang-switch-wrap,.market-selector,.market-selector select) {
  color: #17191b !important;
  opacity: 1 !important;
}

html body.appearance-light .site-header .mobile-menu-toggle,
html body.appearance-auto.appearance-light .site-header .mobile-menu-toggle {
  border-color: rgba(23,25,27,.22) !important;
  background: rgba(23,25,27,.035) !important;
}

html body.appearance-light .site-header .mobile-menu-toggle span,
html body.appearance-auto.appearance-light .site-header .mobile-menu-toggle span {
  background: #17191b !important;
}

/* Keep the sticky mobile nav readable in both explicit modes. */
html body.appearance-dark .mobile-store-nav,
html body.appearance-auto.appearance-dark .mobile-store-nav {
  background: #0c1014 !important;
  border-top-color: rgba(255,255,255,.14) !important;
}
html body.appearance-dark .mobile-store-nav a,
html body.appearance-auto.appearance-dark .mobile-store-nav a {
  color: #f7f4ec !important;
  opacity: .9 !important;
}
html body.appearance-light .mobile-store-nav,
html body.appearance-auto.appearance-light .mobile-store-nav {
  background: #fff !important;
  border-top-color: rgba(23,25,27,.14) !important;
}
html body.appearance-light .mobile-store-nav a,
html body.appearance-auto.appearance-light .mobile-store-nav a {
  color: #28312c !important;
  opacity: .9 !important;
}

/* V246 — Scheduled Sale OS / pre-launch commerce */
.sale-promo-strip.prelaunch{background:linear-gradient(115deg,#14110f,#211914 55%,#3a281c);}
.sale-promo-strip.prelaunch .sale-promo-content{padding-top:38px;padding-bottom:38px}
.sale-reveal-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 15px;padding:9px 12px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(255,255,255,.05)}
.sale-reveal-line strong{font-size:.78rem;color:#fff}.sale-reveal-line span{font-size:.72rem;color:#d8c9bb}
.sale-landing-prelaunch .sale-hero:after{background:linear-gradient(90deg,rgba(8,6,5,.86),rgba(8,6,5,.36) 62%,rgba(8,6,5,.18))}
.sale-lock-message{max-width:650px;margin-top:12px;padding:13px 15px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(0,0,0,.22);backdrop-filter:blur(10px)}
.sale-lock-message strong{display:block;font-size:.85rem}.sale-lock-message span{display:block;margin-top:4px;color:#dfd2c7;font-size:.75rem;line-height:1.5}
.sale-teaser-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 24px;padding:16px 18px;border:1px solid #e1c9a4;border-radius:15px;background:linear-gradient(100deg,#fff8ed,#f7ead7)}
.sale-teaser-banner strong{font:800 1rem 'IBM Plex Mono',monospace;letter-spacing:.08em;color:#7b4a20}.sale-teaser-banner span{font-size:.8rem;color:#6f6258}
.sale-masked-price{letter-spacing:.08em;color:var(--sale-accent,#9d6c3b)!important;font-family:'IBM Plex Mono',monospace}.sale-price-lock{display:block;margin-top:7px;color:#887b70;font-size:.68rem}
.sale-locked-btn{opacity:.62;cursor:not-allowed!important}
@media(max-width:700px){.sale-teaser-banner{align-items:flex-start;flex-direction:column;gap:5px}.sale-reveal-line{align-items:flex-start;flex-direction:column;gap:3px}}

/* V247 — scheduled sale pre-launch visibility hardening */
.sale-products-hidden{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;min-height:180px;padding:28px;border:1px dashed #d9c6aa;border-radius:18px;background:linear-gradient(145deg,#fffaf2,#f7eee1);text-align:center;color:#4a4037}
.sale-products-hidden strong{font-size:1rem}.sale-products-hidden span{font-size:.8rem;color:#756a60}
body.appearance-dark .sale-products-hidden{background:linear-gradient(145deg,#161a1e,#111417);border-color:rgba(255,255,255,.16);color:#f4f1ea}
body.appearance-dark .sale-products-hidden span{color:#c6c0b7}
