/* Nova CMS 1.7.1 — Enhanced Templates Design System (Glass, Minimal, Editorial/Showcase) */

/* ==========================================================================
   1. ШАБЛОН «СТЕКЛО» (data-template="glass") — Frosted Glassmorphism Theme
   ========================================================================== */
:root[data-template="glass"] {
    --template-radius: 24px;
    --template-panel: rgba(255, 255, 255, 0.55);
    --template-panel-strong: rgba(255, 255, 255, 0.85);
    --template-line: rgba(255, 255, 255, 0.45);
    --glass-shadow: 0 20px 50px rgba(31, 38, 135, 0.12);
}

:root[data-color-mode="dark"][data-template="glass"] {
    --template-panel: rgba(17, 24, 39, 0.6);
    --template-panel-strong: rgba(30, 41, 59, 0.85);
    --template-line: rgba(255, 255, 255, 0.12);
    --glass-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
}

:root[data-template="glass"] body {
    background: radial-gradient(circle at 10% 20%, rgba(124, 58, 237, 0.08), transparent 40%),
                radial-gradient(circle at 90% 80%, rgba(59, 130, 246, 0.08), transparent 40%),
                var(--color-bg);
}

:root[data-template="glass"] .site-header {
    background: color-mix(in srgb, var(--color-surface) 65%, transparent);
    border-bottom: 1px solid var(--template-line);
    backdrop-filter: blur(24px) saturate(180%);
}

:root[data-template="glass"] .slider {
    position: relative;
    overflow: hidden;
    min-height: 620px;
    background: linear-gradient(135deg, #1e1b4b 0%, #312e81 35%, #4c1d95 70%, #701a75 100%);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 32px;
    box-shadow: 0 30px 70px rgba(49, 46, 129, 0.35);
}

:root[data-template="glass"] .slide {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
    gap: 40px;
    padding: 56px;
    align-items: center;
}

:root[data-template="glass"] .slide:not(.is-active) { display: none; }
:root[data-template="glass"] .slide.is-active { display: grid; }

:root[data-template="glass"] .slide__content {
    padding: 44px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 28px;
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(24px);
}

:root[data-template="glass"] .slide__label {
    display: inline-block;
    padding: 6px 14px;
    color: #f5f3ff;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

:root[data-template="glass"] .slide h1,
:root[data-template="glass"] .slide h2 {
    color: #ffffff;
    font-size: clamp(42px, 5.2vw, 76px);
    font-weight: 900;
    line-height: 0.96;
    letter-spacing: -0.04em;
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

:root[data-template="glass"] .slide p {
    color: rgba(255, 255, 255, 0.88);
    font-size: 17px;
    line-height: 1.6;
}

:root[data-template="glass"] .slide .btn--light {
    display: inline-flex;
    align-items: center;
    padding: 14px 32px;
    color: #312e81;
    background: #ffffff;
    border: 0;
    border-radius: 999px;
    font-weight: 800;
    box-shadow: 0 12px 30px rgba(255, 255, 255, 0.35);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

:root[data-template="glass"] .slide .btn--light:hover {
    background: #f5f3ff;
    box-shadow: 0 18px 40px rgba(255, 255, 255, 0.5);
    transform: translateY(-2px) scale(1.02);
}

:root[data-template="glass"] .slide__art {
    position: relative;
    display: grid;
    min-height: 440px;
    place-items: center;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 28px;
    backdrop-filter: blur(16px);
}

:root[data-template="glass"] .slide__orb {
    position: absolute;
    width: 320px;
    height: 320px;
    background: radial-gradient(circle, rgba(236, 72, 153, 0.6) 0%, rgba(139, 92, 246, 0.4) 60%, transparent 100%);
    border-radius: 50%;
    filter: blur(40px);
    animation: glassPulse 6s ease-in-out infinite alternate;
}

@keyframes glassPulse {
    0% { transform: scale(0.9) rotate(0deg); opacity: 0.7; }
    100% { transform: scale(1.15) rotate(180deg); opacity: 1; }
}

:root[data-template="glass"] .slide__product {
    position: relative;
    z-index: 2;
    max-height: 380px;
    object-fit: contain;
    filter: drop-shadow(0 20px 35px rgba(0, 0, 0, 0.4));
}

:root[data-template="glass"] .trust-strip {
    background: var(--template-panel);
    border: 1px solid var(--template-line);
    border-radius: 24px;
    backdrop-filter: blur(20px) saturate(160%);
    box-shadow: var(--glass-shadow);
}

:root[data-template="glass"] .product-grid { gap: 24px; }

:root[data-template="glass"] .product-card {
    position: relative;
    overflow: hidden;
    background: var(--template-panel);
    border: 1px solid var(--template-line);
    border-radius: 24px;
    backdrop-filter: blur(20px) saturate(160%);
    box-shadow: var(--glass-shadow);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

:root[data-template="glass"] .product-card:hover {
    border-color: rgba(139, 92, 246, 0.6);
    box-shadow: 0 24px 50px rgba(124, 58, 237, 0.22);
    transform: translateY(-6px) scale(1.01);
}

:root[data-template="glass"] .product-card media { border-radius: 18px; }

:root[data-template="glass"] .product-card__title a {
    font-weight: 800;
    letter-spacing: -0.02em;
}

:root[data-template="glass"] .badge {
    border-radius: 999px;
    backdrop-filter: blur(8px);
}

:root[data-template="glass"] .catalog-head,
:root[data-template="glass"] .product-detail,
:root[data-template="glass"] .tabs,
:root[data-template="glass"] .catalog-toolbar,
:root[data-template="glass"] .filter-panel {
    background: var(--template-panel);
    border: 1px solid var(--template-line);
    border-radius: 24px;
    backdrop-filter: blur(24px) saturate(180%);
    box-shadow: var(--glass-shadow);
}


/* ==========================================================================
   2. ШАБЛОН «МИНИ» (data-template="minimal") — High-Tech Precision Minimalist Theme
   ========================================================================== */
:root[data-template="minimal"] {
    --minimal-bg: #f8f9fa;
    --minimal-dark: #0f172a;
    --minimal-line: #e2e8f0;
    --minimal-accent: #2563eb;
    --minimal-radius: 14px;
}

:root[data-template="minimal"] body {
    background: var(--minimal-bg);
}

:root[data-template="minimal"] .topbar {
    background: var(--minimal-dark);
    font-weight: 600;
}

:root[data-template="minimal"] .site-header {
    background: #ffffff;
    border-bottom: 1px solid var(--minimal-line);
}

:root[data-template="minimal"] .logo__mark {
    border-radius: 8px;
    background: var(--minimal-dark);
}

:root[data-template="minimal"] .slider {
    position: relative;
    overflow: hidden;
    min-height: 580px;
    background: linear-gradient(90deg, #ffffff 0 54%, var(--minimal-dark) 54%);
    border: 1px solid var(--minimal-line);
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
}

:root[data-template="minimal"] .slide {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    gap: 48px;
    padding: 56px;
    align-items: center;
}

:root[data-template="minimal"] .slide:not(.is-active) { display: none; }
:root[data-template="minimal"] .slide.is-active { display: grid; }

:root[data-template="minimal"] .slide__content {
    padding: 20px 0;
}

:root[data-template="minimal"] .slide__label {
    display: inline-block;
    padding: 4px 12px;
    color: var(--minimal-accent);
    background: rgba(37, 99, 235, 0.08);
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

:root[data-template="minimal"] .slide h1,
:root[data-template="minimal"] .slide h2 {
    color: #0f172a;
    font-size: clamp(44px, 5.4vw, 76px);
    font-weight: 900;
    line-height: 0.95;
    letter-spacing: -0.045em;
}

:root[data-template="minimal"] .slide p {
    color: #475569;
    font-size: 17px;
    line-height: 1.6;
}

:root[data-template="minimal"] .slide .btn--light {
    display: inline-flex;
    align-items: center;
    padding: 14px 28px;
    color: #ffffff;
    background: var(--minimal-dark);
    border: 0;
    border-radius: 10px;
    font-weight: 750;
    transition: all 0.2s ease;
}

:root[data-template="minimal"] .slide .btn--light:hover {
    background: var(--minimal-accent);
    transform: translateY(-2px);
}

:root[data-template="minimal"] .slide__art {
    display: grid;
    min-height: 420px;
    place-items: center;
}

:root[data-template="minimal"] .slide__orb {
    width: 320px;
    height: 320px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
}

:root[data-template="minimal"] .slide__product {
    position: relative;
    z-index: 2;
    max-height: 360px;
    object-fit: contain;
}

:root[data-template="minimal"] .trust-strip {
    background: #ffffff;
    border: 1px solid var(--minimal-line);
    border-radius: 16px;
}

:root[data-template="minimal"] .product-grid { gap: 20px; }

:root[data-template="minimal"] .product-card {
    background: #ffffff;
    border: 1px solid var(--minimal-line);
    border-radius: 16px;
    transition: all 0.25s ease;
}

:root[data-template="minimal"] .product-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);
    transform: translateY(-4px);
}

:root[data-template="minimal"] .badge {
    border-radius: 6px;
    font-weight: 800;
}


/* ==========================================================================
   3. ШАБЛОН «ВИТРИНА» (data-template="editorial") — Luxury Editorial Showcase Theme
   ========================================================================== */
:root[data-template="editorial"] {
    --editorial-dark: #0b1d19;
    --editorial-cream: #faf6ee;
    --editorial-gold: #d4af37;
    --editorial-gold-dark: #b89228;
    --editorial-font: Georgia, "Times New Roman", serif;
}

:root[data-template="editorial"] body {
    background: #f5efe6;
    font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif;
}

:root[data-template="editorial"] h1,
:root[data-template="editorial"] h2,
:root[data-template="editorial"] h3,
:root[data-template="editorial"] .section-heading h2 {
    font-family: var(--editorial-font);
    font-weight: 700;
    letter-spacing: -0.04em;
}

:root[data-template="editorial"] .topbar {
    background: var(--editorial-dark);
    color: #e2e8f0;
}

:root[data-template="editorial"] .topbar a { color: var(--editorial-gold); }

:root[data-template="editorial"] .site-header {
    background: #ffffff;
    border-bottom: 2px solid color-mix(in srgb, var(--editorial-gold) 35%, transparent);
}

:root[data-template="editorial"] .logo__mark {
    background: var(--editorial-dark);
    border: 1px solid var(--editorial-gold);
    color: var(--editorial-gold);
    border-radius: 50% 50% 50% 6px;
}

:root[data-template="editorial"] .slider {
    position: relative;
    overflow: hidden;
    min-height: 600px;
    background: linear-gradient(120deg, #0b1d19 0%, #14352e 50%, #1e4d43 100%);
    border: 1px solid color-mix(in srgb, var(--editorial-gold) 40%, transparent);
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(11, 29, 25, 0.35);
}

:root[data-template="editorial"] .slide {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
    gap: 44px;
    padding: 56px;
    align-items: center;
}

:root[data-template="editorial"] .slide:not(.is-active) { display: none; }
:root[data-template="editorial"] .slide.is-active { display: grid; }

:root[data-template="editorial"] .slide__label {
    display: inline-block;
    padding: 5px 14px;
    color: var(--editorial-gold);
    background: rgba(212, 175, 55, 0.12);
    border: 1px solid var(--editorial-gold);
    border-radius: 4px;
    font-family: Inter, sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

:root[data-template="editorial"] .slide h1,
:root[data-template="editorial"] .slide h2 {
    color: var(--editorial-cream);
    font-family: var(--editorial-font);
    font-size: clamp(46px, 5.8vw, 82px);
    font-weight: 700;
    line-height: 0.92;
    letter-spacing: -0.04em;
}

:root[data-template="editorial"] .slide p {
    color: #cbd5e1;
    font-size: 17px;
    line-height: 1.6;
}

:root[data-template="editorial"] .slide .btn--light {
    display: inline-flex;
    align-items: center;
    padding: 14px 32px;
    color: var(--editorial-dark);
    background: var(--editorial-gold);
    border: 0;
    border-radius: 6px;
    font-family: Inter, sans-serif;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    box-shadow: 0 10px 25px rgba(212, 175, 55, 0.3);
    transition: all 0.25s ease;
}

:root[data-template="editorial"] .slide .btn--light:hover {
    background: #e5c158;
    box-shadow: 0 15px 35px rgba(212, 175, 55, 0.45);
    transform: translateY(-2px);
}

:root[data-template="editorial"] .slide__art {
    position: relative;
    display: grid;
    min-height: 440px;
    place-items: center;
}

:root[data-template="editorial"] .slide__orb {
    position: absolute;
    width: 340px;
    height: 390px;
    background: radial-gradient(circle, rgba(212, 175, 55, 0.25) 0%, rgba(20, 53, 46, 0.1) 70%, transparent 100%);
    border-radius: 170px 170px 16px 16px;
    border: 1px solid rgba(212, 175, 55, 0.2);
}

:root[data-template="editorial"] .slide__product {
    position: relative;
    z-index: 2;
    max-height: 380px;
    object-fit: contain;
    filter: drop-shadow(0 25px 40px rgba(0, 0, 0, 0.5));
}

:root[data-template="editorial"] .trust-strip {
    background: #ffffff;
    border: 1px solid color-mix(in srgb, var(--editorial-gold) 30%, transparent);
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(11, 29, 25, 0.04);
}

:root[data-template="editorial"] .product-grid { gap: 24px; }

:root[data-template="editorial"] .product-card {
    background: #ffffff;
    border: 1px solid color-mix(in srgb, var(--editorial-gold) 25%, transparent);
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(11, 29, 25, 0.05);
    transition: all 0.3s ease;
}

:root[data-template="editorial"] .product-card:hover {
    border-color: var(--editorial-gold);
    box-shadow: 0 18px 45px rgba(11, 29, 25, 0.12);
    transform: translateY(-5px);
}

:root[data-template="editorial"] .product-card__title a {
    font-family: var(--editorial-font);
    font-size: 19px;
    font-weight: 700;
}

:root[data-template="editorial"] .badge {
    border-radius: 4px;
    font-family: Inter, sans-serif;
    font-weight: 800;
}

/* Responsive Overrides */
@media (max-width: 1000px) {
    :root[data-template="glass"] .slide,
    :root[data-template="minimal"] .slide,
    :root[data-template="editorial"] .slide { grid-template-columns: 1fr; gap: 28px; padding: 40px 28px; }
    :root[data-template="minimal"] .slider { background: #ffffff; }
}

@media (max-width: 760px) {
    :root[data-template="glass"] .slide__content { padding: 24px; }
    :root[data-template="glass"] .slide__art,
    :root[data-template="minimal"] .slide__art,
    :root[data-template="editorial"] .slide__art { min-height: 260px; }
}

/* ==========================================================================
   4. СОВЕРШЕННЫЕ ТЁМНЫЕ ТЕМЫ ДЛЯ ВСЕХ 4 ШАБЛОНОВ (data-color-mode="dark")
   ========================================================================== */

/* Общие фиксы слайдера в тёмном режиме: слайды строго изолированы */
.slide:not(.is-active) {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

:root[data-color-mode="dark"] .slide__label {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.25);
}

:root[data-color-mode="dark"] .product-card__media {
    background: var(--color-surface-alt);
}

:root[data-color-mode="dark"] .product-card__media img {
    mix-blend-mode: normal;
}

/* 4.1. КЛАССИЧЕСКИЙ ШАБЛОН (data-template="classic") */
:root[data-color-mode="dark"]:not([data-template="glass"]):not([data-template="minimal"]):not([data-template="editorial"]),
:root[data-color-mode="dark"][data-template="classic"] {
    --color-bg: #0b1120;
    --color-surface: #131d31;
    --color-surface-alt: #1a2740;
    --color-text: #f8fafc;
    --color-muted: #94a3b8;
    --color-border: #24344d;
    --color-header: #10192a;
    --color-footer: #070d19;
    --color-footer-text: #cbd5e1;
    --shadow-sm: 0 4px 20px rgba(0, 0, 0, 0.35);
    --shadow-md: 0 16px 45px rgba(0, 0, 0, 0.5);
    --hero-gradient: linear-gradient(135deg, #09132c 0%, #152c5b 60%, #1d4ed8 100%);
}

:root[data-color-mode="dark"][data-template="classic"] .slider,
:root[data-color-mode="dark"]:not([data-template]) .slider {
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.5);
}

:root[data-color-mode="dark"][data-template="classic"] .slide__orb,
:root[data-color-mode="dark"]:not([data-template]) .slide__orb {
    background: radial-gradient(circle, rgba(59, 130, 246, 0.25) 0%, rgba(29, 78, 216, 0.08) 70%, transparent 100%);
    border-color: rgba(96, 165, 250, 0.2);
}

:root[data-color-mode="dark"][data-template="classic"] .product-card,
:root[data-color-mode="dark"]:not([data-template]) .product-card {
    background: #131d31;
    border-color: #24344d;
}

:root[data-color-mode="dark"][data-template="classic"] .product-card:hover,
:root[data-color-mode="dark"]:not([data-template]) .product-card:hover {
    border-color: #3b82f6;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
}

/* 4.2. ШАБЛОН «СТЕКЛО» (data-template="glass") */
:root[data-color-mode="dark"][data-template="glass"] {
    --color-bg: #090714;
    --color-surface: rgba(22, 17, 43, 0.7);
    --color-surface-alt: rgba(30, 24, 58, 0.75);
    --color-text: #f5f3ff;
    --color-muted: #a78bfa;
    --color-border: rgba(168, 85, 247, 0.2);
    --color-header: rgba(15, 11, 30, 0.85);
    --color-footer: #06040d;
    --template-panel: rgba(22, 17, 43, 0.7);
    --template-panel-strong: rgba(30, 24, 58, 0.88);
    --template-line: rgba(168, 85, 247, 0.22);
    --glass-shadow: 0 20px 50px rgba(0, 0, 0, 0.6);
}

:root[data-color-mode="dark"][data-template="glass"] body {
    background: radial-gradient(circle at 15% 15%, rgba(124, 58, 237, 0.15), transparent 45%),
                radial-gradient(circle at 85% 85%, rgba(168, 85, 247, 0.12), transparent 45%),
                #090714;
}

:root[data-color-mode="dark"][data-template="glass"] .slider {
    background: linear-gradient(135deg, #0f0b29 0%, #20134d 45%, #4c1d95 85%, #6b21a8 100%);
    border: 1px solid rgba(168, 85, 247, 0.35);
    box-shadow: 0 30px 80px rgba(76, 29, 149, 0.4);
}

:root[data-color-mode="dark"][data-template="glass"] .slide__content {
    background: rgba(15, 11, 30, 0.65);
    border-color: rgba(168, 85, 247, 0.3);
}

:root[data-color-mode="dark"][data-template="glass"] .slide__orb {
    background: radial-gradient(circle, rgba(168, 85, 247, 0.5) 0%, rgba(124, 58, 237, 0.2) 70%, transparent 100%);
}

:root[data-color-mode="dark"][data-template="glass"] .product-card {
    background: rgba(22, 17, 43, 0.7);
    border-color: rgba(168, 85, 247, 0.2);
}

:root[data-color-mode="dark"][data-template="glass"] .product-card:hover {
    border-color: rgba(168, 85, 247, 0.6);
    box-shadow: 0 20px 45px rgba(124, 58, 237, 0.35);
}

/* 4.3. ШАБЛОН «МИНИ» (data-template="minimal") */
:root[data-color-mode="dark"][data-template="minimal"] {
    --minimal-bg: #080c14;
    --minimal-dark: #02040a;
    --minimal-line: #1e293b;
    --minimal-accent: #38bdf8;
    --color-bg: #080c14;
    --color-surface: #0f172a;
    --color-surface-alt: #1e293b;
    --color-text: #f8fafc;
    --color-muted: #94a3b8;
    --color-border: #1e293b;
    --color-header: #0b1120;
    --color-footer: #020617;
}

:root[data-color-mode="dark"][data-template="minimal"] body {
    background: #080c14;
}

:root[data-color-mode="dark"][data-template="minimal"] .site-header {
    background: #0f172a;
    border-bottom-color: #1e293b;
}

:root[data-color-mode="dark"][data-template="minimal"] .slider {
    background: linear-gradient(90deg, #0f172a 0% 54%, #02040a 54%);
    border-color: #1e293b;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.5);
}

:root[data-color-mode="dark"][data-template="minimal"] .slide h1,
:root[data-color-mode="dark"][data-template="minimal"] .slide h2 {
    color: #ffffff;
}

:root[data-color-mode="dark"][data-template="minimal"] .slide p {
    color: #cbd5e1;
}

:root[data-color-mode="dark"][data-template="minimal"] .product-card {
    background: #0f172a;
    border-color: #1e293b;
}

:root[data-color-mode="dark"][data-template="minimal"] .product-card:hover {
    border-color: #38bdf8;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
}

:root[data-color-mode="dark"][data-template="minimal"] .trust-strip {
    background: #0f172a;
    border-color: #1e293b;
}

/* 4.4. ШАБЛОН «ВИТРИНА» (data-template="editorial") */
:root[data-color-mode="dark"][data-template="editorial"] {
    --editorial-dark: #030a08;
    --editorial-cream: #f4efe6;
    --editorial-gold: #e5c158;
    --editorial-gold-dark: #c4a034;
    --color-bg: #051410;
    --color-surface: #0a1e18;
    --color-surface-alt: #102d24;
    --color-text: #f4efe6;
    --color-muted: #94b3a8;
    --color-border: rgba(229, 193, 88, 0.22);
    --color-header: #040e0b;
    --color-footer: #020605;
}

:root[data-color-mode="dark"][data-template="editorial"] body {
    background: #051410;
}

:root[data-color-mode="dark"][data-template="editorial"] .site-header {
    background: #0a1e18;
    border-bottom-color: rgba(229, 193, 88, 0.3);
}

:root[data-color-mode="dark"][data-template="editorial"] .slider {
    background: linear-gradient(135deg, #030d0a 0%, #08211b 50%, #0f382e 100%);
    border-color: rgba(229, 193, 88, 0.35);
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.6);
}

:root[data-color-mode="dark"][data-template="editorial"] .product-card {
    background: #0a1e18;
    border-color: rgba(229, 193, 88, 0.22);
}

:root[data-color-mode="dark"][data-template="editorial"] .product-card:hover {
    border-color: #e5c158;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
}

:root[data-color-mode="dark"][data-template="editorial"] .trust-strip {
    background: #0a1e18;
    border-color: rgba(229, 193, 88, 0.22);
}

:root[data-color-mode="dark"][data-template="editorial"] .slide__orb {
    background: radial-gradient(circle, rgba(229, 193, 88, 0.3) 0%, rgba(15, 56, 46, 0.15) 70%, transparent 100%);
    border-color: rgba(229, 193, 88, 0.25);
}

/* Full-image banners must bypass every visual template's generated layout. */
:root .slider .slide.slide--full-image:not(.is-active) { display: none !important; }
:root .slider .slide.slide--full-image.is-active {
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    padding: 0 !important;
}
:root .slide--full-image .slide__full-link {
    border: 0 !important;
    border-radius: inherit !important;
    box-shadow: none !important;
}
