/* Lumora Spa Platform 4.2.0 — standalone, performance-first frontend */
:root {
    color-scheme: light;
    --lumora-bg: #f6f7f3;
    --lumora-surface: #ffffff;
    --lumora-surface-2: #edf1eb;
    --lumora-surface-3: #e3e9e2;
    --lumora-text: #101412;
    --lumora-muted: #626b66;
    --lumora-line: rgba(16, 20, 18, .12);
    --lumora-line-strong: rgba(16, 20, 18, .24);
    --lumora-accent: #0b826e;
    --lumora-accent-2: #096f5f;
    --lumora-gold: #d8b866;
    --lumora-deep: #0d2a22;
    --lumora-deep-2: #143c31;
    --lumora-success: #168667;
    --lumora-danger: #a33b42;
    --lumora-header-bg: rgba(5, 8, 7, .96);
    --lumora-header-text: #fff;
    --lumora-header-line: rgba(255, 255, 255, .12);
    --lumora-shadow-sm: 0 10px 34px rgba(9, 22, 18, .08);
    --lumora-shadow-lg: 0 28px 90px rgba(6, 18, 14, .16);
    /* Compatibility aliases used by the newer editorial/product layers. */
    --lumora-shadow-soft: var(--lumora-shadow-sm);
    --lumora-surface-soft: var(--lumora-surface-2);
    --lumora-navy: var(--lumora-deep);
    --lumora-green: var(--lumora-accent);
    --lumora-radius-sm: 14px;
    --lumora-radius: 24px;
    --lumora-radius-lg: 40px;
    --lumora-container: 1480px;
    --lumora-header-height: 88px;
    --lumora-ease: cubic-bezier(.22, 1, .36, 1);
}

html[data-theme="dark"] {
    --lumora-bg: #060907;
    --lumora-surface: #0c110e;
    --lumora-surface-2: #111a16;
    --lumora-surface-3: #17221d;
    --lumora-text: #f2f6f2;
    --lumora-muted: #a9b5ae;
    --lumora-line: rgba(255, 255, 255, .11);
    --lumora-line-strong: rgba(255, 255, 255, .23);
    --lumora-accent: #72d4bb;
    --lumora-accent-2: #2aa78b;
    --lumora-gold: #e1c577;
    --lumora-shadow-sm: 0 14px 42px rgba(0, 0, 0, .26);
    --lumora-shadow-lg: 0 35px 100px rgba(0, 0, 0, .42);
    --lumora-header-bg: rgba(5, 8, 7, .94);
}

@media (prefers-color-scheme: dark) {
    html[data-theme="system"] {
        --lumora-bg: #060907;
        --lumora-surface: #0c110e;
        --lumora-surface-2: #111a16;
        --lumora-surface-3: #17221d;
        --lumora-text: #f2f6f2;
        --lumora-muted: #a9b5ae;
        --lumora-line: rgba(255, 255, 255, .11);
        --lumora-line-strong: rgba(255, 255, 255, .23);
        --lumora-accent: #72d4bb;
        --lumora-accent-2: #2aa78b;
        --lumora-gold: #e1c577;
        --lumora-shadow-sm: 0 14px 42px rgba(0, 0, 0, .26);
        --lumora-shadow-lg: 0 35px 100px rgba(0, 0, 0, .42);
    }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--lumora-bg); }
html.lumora-menu-open,
html.lumora-consent-open { overflow: hidden; }
body.lumora-site {
    margin: 0;
    min-width: 320px;
    overflow-x: clip;
    color: var(--lumora-text);
    background: var(--lumora-bg);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
body.lumora-site.admin-bar .lumora-header { top: 32px; }
body.lumora-site img { max-width: 100%; height: auto; }
body.lumora-site a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .16em; }
body.lumora-site button,
body.lumora-site input,
body.lumora-site textarea,
body.lumora-site select { font: inherit; }
body.lumora-site button { color: inherit; }
body.lumora-site ::selection { color: #07110e; background: var(--lumora-accent-2); }

.lumora-main { display: block; min-height: 60vh; }
.lumora-container {
    width: min(100%, var(--lumora-container));
    margin-inline: auto;
    padding-inline: clamp(20px, 4.6vw, 76px);
}
.lumora-section { position: relative; padding-block: clamp(78px, 9vw, 148px); }
.lumora-section--soft { background: var(--lumora-surface-2); }
.lumora-section--dark {
    color: #f4f8f5;
    background:
        radial-gradient(circle at 82% 20%, rgba(85, 205, 174, .16), transparent 33%),
        linear-gradient(145deg, #07100d 0%, #10221c 58%, #09130f 100%);
}
.lumora-section--dark .lumora-muted-copy,
.lumora-section--dark .lumora-prose { color: rgba(244, 248, 245, .72); }
.lumora-section--dark .lumora-kicker { color: #89ddc5; }
.lumora-section-head { max-width: 760px; margin-bottom: clamp(38px, 5vw, 74px); }
.lumora-section-head h2,
.lumora-split h2 { margin: .18em 0 0; font-size: clamp(2.2rem, 5vw, 5.25rem); line-height: .99; letter-spacing: -.055em; }
.lumora-kicker {
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    color: var(--lumora-accent);
    font-size: .72rem;
    font-weight: 780;
    letter-spacing: .22em;
    text-transform: uppercase;
}
.lumora-kicker::before { content: ""; width: 30px; height: 1px; background: currentColor; }
.lumora-muted-copy { margin: 34px 0 0; color: var(--lumora-muted); }
.lumora-split {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(340px, .78fr);
    align-items: start;
    gap: clamp(42px, 9vw, 150px);
}
.lumora-prose { color: var(--lumora-muted); font-size: clamp(1rem, 1.25vw, 1.18rem); }
.lumora-prose--wide { max-width: 1040px; }
.lumora-prose--article { max-width: 850px; font-size: clamp(1.05rem, 1.3vw, 1.19rem); }
.lumora-prose > :first-child { margin-top: 0; }
.lumora-prose > :last-child { margin-bottom: 0; }
.lumora-prose h2,
.lumora-prose h3,
.lumora-prose h4 { color: var(--lumora-text); line-height: 1.12; letter-spacing: -.035em; }
.lumora-prose h2 { margin-top: 2.2em; font-size: clamp(1.9rem, 4vw, 3.3rem); }
.lumora-prose h3 { margin-top: 1.8em; font-size: clamp(1.35rem, 2.4vw, 2rem); }
.lumora-prose p,
.lumora-prose ul,
.lumora-prose ol { margin-block: 1.25em; }
.lumora-prose li + li { margin-top: .55em; }
.lumora-prose a { color: var(--lumora-accent); }
.lumora-prose img { width: 100%; border-radius: var(--lumora-radius); box-shadow: var(--lumora-shadow-sm); }
.lumora-note {
    margin-top: 28px;
    padding: 22px 24px;
    color: inherit;
    background: color-mix(in srgb, var(--lumora-accent) 9%, transparent);
    border: 1px solid color-mix(in srgb, var(--lumora-accent) 28%, transparent);
    border-radius: var(--lumora-radius-sm);
}

/* Header: in normal document flow, so no spacer and no artificial gap. */
.lumora-header {
    position: sticky;
    z-index: 10000;
    top: 0;
    width: 100%;
    height: var(--lumora-header-height);
    color: var(--lumora-header-text);
    background: var(--lumora-header-bg);
    border-bottom: 1px solid var(--lumora-header-line);
    isolation: isolate;
    backdrop-filter: saturate(140%) blur(16px);
    -webkit-backdrop-filter: saturate(140%) blur(16px);
    transition: color .35s ease, background .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.lumora-header.is-scrolled {
    color: #101412;
    background: rgba(255, 255, 255, .965);
    border-color: rgba(10, 20, 16, .1);
    box-shadow: 0 12px 40px rgba(6, 18, 14, .09);
}
html[data-theme="dark"] .lumora-header.is-scrolled {
    color: #f3f8f4;
    background: rgba(9, 13, 11, .965);
    border-color: rgba(255, 255, 255, .1);
}
@media (prefers-color-scheme: dark) {
    html[data-theme="system"] .lumora-header.is-scrolled {
        color: #f3f8f4;
        background: rgba(9, 13, 11, .965);
        border-color: rgba(255, 255, 255, .1);
    }
}
.lumora-header__inner {
    width: min(100%, 1740px);
    height: 100%;
    margin-inline: auto;
    padding-inline: clamp(18px, 3.2vw, 60px);
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(22px, 3vw, 48px);
}
.lumora-brand { display: inline-flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; white-space: nowrap; }
.lumora-brand img { display: block; width: auto; max-width: 190px; max-height: 54px; object-fit: contain; }
.lumora-brand__mark {
    width: 43px;
    height: 43px;
    display: inline-grid;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
}
.lumora-brand__mark svg { width: 25px; height: 25px; }
.lumora-brand > span:last-child { display: grid; line-height: 1; }
.lumora-brand strong { font-size: 1.03rem; letter-spacing: .21em; }
.lumora-brand small { margin-top: 6px; opacity: .62; font-size: .58rem; font-weight: 700; letter-spacing: .45em; }
.lumora-nav { min-width: 0; height: 100%; }
.lumora-nav > ul { height: 100%; margin: 0; padding: 0; display: flex; align-items: stretch; justify-content: center; gap: clamp(15px, 1.65vw, 31px); list-style: none; }
.lumora-nav > ul > li { position: relative; display: flex; align-items: center; }
.lumora-nav > ul > li > a {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: inherit;
    font-size: clamp(.69rem, .82vw, .82rem);
    font-weight: 650;
    letter-spacing: .055em;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}
.lumora-nav > ul > li > a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -10px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .35s var(--lumora-ease); }
.lumora-nav > ul > li:hover > a::after,
.lumora-nav > ul > li:focus-within > a::after { transform: scaleX(1); transform-origin: left; }
.lumora-header__actions { display: flex; align-items: center; gap: 9px; }
.lumora-icon-button,
.lumora-language,
.lumora-menu-toggle {
    width: 42px;
    height: 42px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: inherit;
    background: transparent;
    border: 1px solid currentColor;
    border-radius: 50%;
    opacity: .82;
    text-decoration: none;
    cursor: pointer;
    transition: opacity .25s ease, transform .25s var(--lumora-ease), background .25s ease;
}
.lumora-icon-button:hover,
.lumora-language:hover,
.lumora-menu-toggle:hover { opacity: 1; transform: translateY(-2px); }
.lumora-icon-button svg,
.lumora-language svg { width: 18px; height: 18px; }
.lumora-language { width: auto; padding-inline: 12px; gap: 6px; border-radius: 99px; font-size: .7rem; font-weight: 750; }
.lumora-header__cta {
    min-height: 44px;
    padding: 0 20px;
    display: inline-flex;
    align-items: center;
    color: #0b100e;
    background: #fff;
    border: 1px solid #fff;
    border-radius: 99px;
    font-size: .73rem;
    font-weight: 750;
    letter-spacing: .05em;
    text-decoration: none;
    transition: transform .28s var(--lumora-ease), box-shadow .28s ease, background .28s ease;
}
.lumora-header.is-scrolled .lumora-header__cta { color: #fff; background: #0a100d; border-color: #0a100d; }
.lumora-header__cta:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(0,0,0,.18); }
.lumora-menu-toggle { display: none; }
.lumora-menu-toggle > span { position: relative; width: 18px; height: 14px; }
.lumora-menu-toggle i { position: absolute; left: 0; width: 100%; height: 1.5px; background: currentColor; transition: top .28s ease, transform .28s ease, opacity .2s ease; }
.lumora-menu-toggle i:nth-child(1) { top: 0; }
.lumora-menu-toggle i:nth-child(2) { top: 6px; }
.lumora-menu-toggle i:nth-child(3) { top: 12px; }
.lumora-header.menu-open .lumora-menu-toggle i:nth-child(1) { top: 6px; transform: rotate(45deg); }
.lumora-header.menu-open .lumora-menu-toggle i:nth-child(2) { opacity: 0; }
.lumora-header.menu-open .lumora-menu-toggle i:nth-child(3) { top: 6px; transform: rotate(-45deg); }
.lumora-progress { position: fixed; z-index: 10002; top: 0; left: 0; width: 100%; height: 2px; pointer-events: none; }
body.admin-bar .lumora-progress { top: 32px; }
.lumora-progress span { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, var(--lumora-accent-2), var(--lumora-gold)); transform: scaleX(0); transform-origin: left; }
.lumora-skip-link { position: fixed; z-index: 20000; top: 12px; left: 12px; padding: 11px 15px; color: #fff; background: #111; border-radius: 8px; transform: translateY(-160%); }
.lumora-skip-link:focus { transform: translateY(0); }

.lumora-mega {
    position: fixed;
    z-index: -1;
    top: var(--lumora-header-height);
    left: 0;
    width: 100%;
    padding: 25px clamp(22px, 4vw, 68px) 34px;
    color: var(--lumora-text);
    background: color-mix(in srgb, var(--lumora-surface) 96%, transparent);
    border-top: 1px solid var(--lumora-line);
    border-bottom: 1px solid var(--lumora-line);
    box-shadow: var(--lumora-shadow-lg);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-14px);
    transition: opacity .28s ease, transform .28s var(--lumora-ease), visibility 0s linear .28s;
    backdrop-filter: blur(18px);
}
body.admin-bar .lumora-mega { top: calc(var(--lumora-header-height) + 32px); }
.has-mega:hover .lumora-mega,
.has-mega:focus-within .lumora-mega,
.has-mega.submenu-open .lumora-mega { opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition-delay: 0s; }
.lumora-mega__inner { width: min(100%, 1480px); margin-inline: auto; }
.lumora-mega__head { margin-bottom: 18px; display: flex; align-items: center; justify-content: space-between; gap: 18px; font-size: .75rem; font-weight: 760; letter-spacing: .13em; text-transform: uppercase; }
.lumora-mega__head a { color: var(--lumora-accent); text-decoration: none; }
.lumora-mega__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.lumora-mega__grid > a { min-width: 0; padding: 10px; display: grid; grid-template-columns: 94px minmax(0, 1fr); align-items: center; gap: 16px; color: var(--lumora-text); background: var(--lumora-surface-2); border: 1px solid var(--lumora-line); border-radius: 18px; text-decoration: none; transition: transform .3s var(--lumora-ease), border-color .3s ease, background .3s ease; }
.lumora-mega__grid > a:hover { transform: translateY(-4px); border-color: var(--lumora-line-strong); background: var(--lumora-surface); }
.lumora-mega__grid > a > span { height: 82px; display: grid; place-items: center; overflow: hidden; background: var(--lumora-surface-3); border-radius: 13px; }
.lumora-mega__grid img { width: 100%; height: 100%; object-fit: cover; }
.lumora-mega__grid svg { width: 40px; height: 40px; opacity: .55; }
.lumora-mega__grid strong { display: block; line-height: 1.2; }
.lumora-mega__grid small { margin-top: 6px; display: -webkit-box; overflow: hidden; color: var(--lumora-muted); font-size: .73rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

/* Hero */
.lumora-hero {
    position: relative;
    min-height: max(680px, calc(100svh - var(--lumora-header-height)));
    display: grid;
    align-items: center;
    overflow: hidden;
    color: #fff;
    background: #06120e;
    isolation: isolate;
}
.lumora-hero__media,
.lumora-hero__shade,
.lumora-hero__aurora { position: absolute; inset: 0; }
.lumora-hero__media { z-index: -4; background: #07120f; }
.lumora-hero__media img,
.lumora-hero__media video { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.lumora-hero__media img { position: absolute; inset: 0; }
.lumora-hero__media video { position: absolute; inset: 0; opacity: 0; transition: opacity 1.1s ease; }
.lumora-hero__media video.is-ready { opacity: 1; }
.lumora-hero__placeholder {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 22% 20%, rgba(54, 187, 153, .32), transparent 29%),
        radial-gradient(circle at 82% 65%, rgba(10, 105, 90, .34), transparent 34%),
        linear-gradient(128deg, #06100d, #0c2d24 54%, #07110e);
}
.lumora-hero__shade { z-index: -3; background: linear-gradient(90deg, rgba(3, 8, 6, .88) 0%, rgba(4, 10, 8, .64) 44%, rgba(3, 7, 6, .15) 72%, rgba(3, 7, 6, .38) 100%), linear-gradient(0deg, rgba(2, 7, 5, .5), transparent 42%); }
.lumora-hero__aurora { z-index: -2; opacity: .55; background: radial-gradient(ellipse at 18% 65%, rgba(68, 216, 176, .28), transparent 35%), radial-gradient(ellipse at 70% -5%, rgba(223, 190, 100, .16), transparent 32%); animation: lumora-aurora 12s ease-in-out infinite alternate; }
.lumora-hero__inner { width: 100%; padding-block: clamp(82px, 11vh, 150px); }
.lumora-hero__content { max-width: 900px; }
.lumora-since { width: fit-content; margin-bottom: 36px; padding: 11px 15px; display: inline-flex; align-items: baseline; gap: 8px; color: #f3d887; border: 1px solid rgba(243, 216, 135, .4); border-radius: 99px; background: rgba(6, 15, 12, .34); backdrop-filter: blur(8px); }
.lumora-since strong { font-size: 1.22rem; line-height: 1; letter-spacing: -.04em; }
.lumora-since small { font-size: .58rem; font-weight: 750; letter-spacing: .18em; }
.lumora-hero h1 { max-width: 980px; margin: .18em 0 .28em; font-size: clamp(3.4rem, 7.8vw, 8.4rem); font-weight: 500; line-height: .89; letter-spacing: -.072em; text-wrap: balance; }
.lumora-hero__content > p { max-width: 720px; margin: 0; color: rgba(255,255,255,.76); font-size: clamp(1.05rem, 1.7vw, 1.45rem); line-height: 1.55; }
.lumora-hero__actions { margin-top: 38px; display: flex; flex-wrap: wrap; gap: 13px; }
.lumora-scroll-cue { position: absolute; right: clamp(20px, 4vw, 62px); bottom: 34px; display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.58); font-size: .64rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; transform: rotate(-90deg) translateX(100%); transform-origin: right bottom; }
.lumora-scroll-cue span { position: relative; width: 56px; height: 1px; overflow: hidden; background: rgba(255,255,255,.28); }
.lumora-scroll-cue span::after { content: ""; position: absolute; inset: 0; background: #fff; transform: translateX(-100%); animation: lumora-line 2s ease-in-out infinite; }

.lumora-button {
    min-height: 54px;
    padding: 0 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    color: #fff;
    background: linear-gradient(135deg, #0a8d75, #176e60);
    border: 1px solid rgba(7, 89, 74, .35);
    border-radius: 999px;
    box-shadow: 0 12px 35px rgba(7, 100, 83, .2);
    font-size: .82rem;
    font-weight: 760;
    letter-spacing: .035em;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: transform .3s var(--lumora-ease), box-shadow .3s ease, filter .3s ease;
}
.lumora-button:hover { color: #fff; transform: translateY(-3px); box-shadow: 0 18px 42px rgba(7, 100, 83, .3); filter: saturate(1.08); }
.lumora-button svg { width: 17px; height: 17px; transition: transform .3s var(--lumora-ease); }
.lumora-button:hover svg { transform: translateX(4px); }
.lumora-button--light { color: #101512; background: #fff; border-color: #fff; box-shadow: 0 16px 45px rgba(0,0,0,.17); }
.lumora-button--light:hover { color: #101512; }
.lumora-button--glass { color: #fff; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.45); box-shadow: none; backdrop-filter: blur(12px); }
.lumora-button--outline { color: var(--lumora-text); background: transparent; border-color: var(--lumora-line-strong); box-shadow: none; }
.lumora-button--outline:hover { color: var(--lumora-text); }
.lumora-text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--lumora-accent); font-weight: 720; text-decoration: none; }

/* Page heroes */
.lumora-page-hero {
    position: relative;
    padding-block: clamp(92px, 12vw, 190px);
    overflow: hidden;
    background: var(--lumora-surface);
    border-bottom: 1px solid var(--lumora-line);
}
.lumora-page-hero::after { content: ""; position: absolute; width: min(680px, 64vw); aspect-ratio: 1; right: -13%; top: -66%; border: 1px solid var(--lumora-line); border-radius: 50%; box-shadow: 0 0 0 80px color-mix(in srgb, var(--lumora-accent) 3%, transparent), 0 0 0 160px color-mix(in srgb, var(--lumora-accent) 2%, transparent); pointer-events: none; }
.lumora-page-hero--gradient { color: #f4f8f5; background: radial-gradient(circle at 82% 20%, rgba(83, 220, 183, .2), transparent 28%), linear-gradient(138deg, #06100d, #12382d 58%, #08130f); border: 0; }
.lumora-page-hero .lumora-container { position: relative; z-index: 1; }
.lumora-page-hero h1 { max-width: 1000px; margin: .22em 0 .25em; font-size: clamp(3rem, 7vw, 7.4rem); font-weight: 510; line-height: .92; letter-spacing: -.068em; text-wrap: balance; }
.lumora-page-hero p { max-width: 760px; margin: 0; color: var(--lumora-muted); font-size: clamp(1.05rem, 1.6vw, 1.35rem); }
.lumora-page-hero--gradient p { color: rgba(244,248,245,.7); }

/* Trust/features/cards */
.lumora-trust-section { padding-block: 0; background: var(--lumora-surface); }
.lumora-trust-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-inline: 1px solid var(--lumora-line); }
.lumora-trust-grid article { min-height: 245px; padding: clamp(28px, 3.2vw, 50px); border-right: 1px solid var(--lumora-line); }
.lumora-trust-grid article:last-child { border-right: 0; }
.lumora-trust-grid strong { margin-top: 23px; display: block; font-size: 1.08rem; line-height: 1.25; }
.lumora-trust-grid p { margin: 10px 0 0; color: var(--lumora-muted); font-size: .91rem; line-height: 1.55; }
.lumora-icon-chip { width: 46px; height: 46px; display: grid; place-items: center; color: var(--lumora-accent); background: color-mix(in srgb, var(--lumora-accent) 9%, transparent); border: 1px solid color-mix(in srgb, var(--lumora-accent) 22%, transparent); border-radius: 14px; }
.lumora-icon-chip svg { width: 22px; height: 22px; }
.lumora-feature-panels { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.lumora-feature-panels article,
.lumora-product-info-grid article,
.lumora-value-grid article,
.lumora-pricing-grid article { position: relative; padding: clamp(28px, 4vw, 52px); overflow: hidden; background: var(--lumora-surface); border: 1px solid var(--lumora-line); border-radius: var(--lumora-radius); box-shadow: var(--lumora-shadow-sm); transition: transform .38s var(--lumora-ease), border-color .35s ease; }
.lumora-feature-panels article::before { content: ""; position: absolute; width: 160px; height: 160px; top: -80px; right: -80px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--lumora-accent) 24%, transparent), transparent 70%); }
.lumora-feature-panels article:hover,
.lumora-product-info-grid article:hover,
.lumora-value-grid article:hover { transform: translateY(-7px); border-color: color-mix(in srgb, var(--lumora-accent) 42%, var(--lumora-line)); }
.lumora-feature-panels article > span { width: 54px; height: 54px; display: grid; place-items: center; color: var(--lumora-accent); border: 1px solid var(--lumora-line); border-radius: 17px; }
.lumora-feature-panels svg { width: 26px; height: 26px; }
.lumora-feature-panels h3,
.lumora-product-info-grid h3 { margin: 28px 0 10px; font-size: clamp(1.35rem, 2.2vw, 2rem); line-height: 1.08; letter-spacing: -.035em; }
.lumora-feature-panels p,
.lumora-product-info-grid p,
.lumora-value-grid p { margin: 0; color: var(--lumora-muted); }
.lumora-check-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.lumora-check-grid p { position: relative; margin: 0; padding: 20px 22px 20px 54px; background: var(--lumora-surface); border: 1px solid var(--lumora-line); border-radius: 15px; }
.lumora-check-grid p::before { content: "✓"; position: absolute; left: 19px; top: 18px; width: 23px; height: 23px; display: grid; place-items: center; color: #fff; background: var(--lumora-accent); border-radius: 50%; font-size: .72rem; font-weight: 900; }
.lumora-card-stack { display: grid; gap: 14px; }
.lumora-card-stack article { padding: clamp(25px, 4vw, 48px); display: grid; grid-template-columns: 72px minmax(0,1fr); gap: 28px; align-items: start; background: var(--lumora-surface); border: 1px solid var(--lumora-line); border-radius: var(--lumora-radius); }
.lumora-card-stack article > span { width: 64px; height: 64px; display: grid; place-items: center; color: var(--lumora-accent); background: var(--lumora-surface-2); border-radius: 19px; }
.lumora-card-stack svg { width: 31px; height: 31px; }
.lumora-card-stack h2 { margin: 0; font-size: clamp(1.55rem, 2.8vw, 2.6rem); letter-spacing: -.04em; }
.lumora-card-stack p { margin: 9px 0 0; color: var(--lumora-muted); }
.lumora-product-info-grid,
.lumora-value-grid,
.lumora-pricing-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.lumora-product-info-grid article h3 { margin-top: 0; }

/* Products */
.lumora-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2.2vw, 30px); }
.lumora-product-card { min-width: 0; overflow: hidden; background: var(--lumora-surface); border: 1px solid var(--lumora-line); border-radius: var(--lumora-radius); box-shadow: var(--lumora-shadow-sm); transition: transform .38s var(--lumora-ease), box-shadow .38s ease, border-color .38s ease; }
.lumora-product-card:hover { transform: translateY(-8px); border-color: color-mix(in srgb, var(--lumora-accent) 30%, var(--lumora-line)); box-shadow: var(--lumora-shadow-lg); }
.lumora-product-card__media { position: relative; aspect-ratio: 1.25 / 1; display: block; overflow: hidden; background: var(--lumora-surface-3); }
.lumora-product-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--lumora-ease); }
.lumora-product-card:hover .lumora-product-card__media img { transform: scale(1.045); }
.lumora-product-card__media b { position: absolute; top: 16px; left: 16px; padding: 8px 11px; color: #07100d; background: #dff3e8; border-radius: 99px; font-size: .63rem; letter-spacing: .08em; text-transform: uppercase; }
.lumora-product-placeholder { width: 100%; height: 100%; display: grid; place-items: center; background: radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--lumora-accent) 25%, transparent), transparent 38%), var(--lumora-surface-3); }
.lumora-product-placeholder svg { width: 72px; height: 72px; opacity: .35; }
.lumora-product-card__body { padding: clamp(23px, 3vw, 36px); }
.lumora-product-card__eyebrow { color: var(--lumora-accent); font-size: .69rem; font-weight: 760; letter-spacing: .13em; text-transform: uppercase; }
.lumora-product-card h3 { margin: 9px 0 10px; font-size: clamp(1.5rem, 2.4vw, 2.2rem); line-height: 1; letter-spacing: -.045em; }
.lumora-product-card h3 a { text-decoration: none; }
.lumora-product-card p { min-height: 3.1em; margin: 0; color: var(--lumora-muted); font-size: .94rem; }
.lumora-product-card__body > div:last-child { margin-top: 25px; padding-top: 19px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid var(--lumora-line); }
.lumora-product-card__body > div:last-child > strong { font-size: 1.02rem; }
.lumora-product-card__body > div:last-child > a { width: 43px; height: 43px; display: grid; place-items: center; color: var(--lumora-text); border: 1px solid var(--lumora-line); border-radius: 50%; }
.lumora-product-card__body svg { width: 18px; height: 18px; }
.lumora-product-hero { padding-block: clamp(64px, 7vw, 110px); background: var(--lumora-surface); }
.lumora-product-hero__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .85fr); gap: clamp(38px, 7vw, 110px); align-items: center; }
.lumora-product-hero__media { aspect-ratio: 1.1 / 1; display: grid; place-items: center; overflow: hidden; background: var(--lumora-surface-2); border-radius: var(--lumora-radius-lg); box-shadow: var(--lumora-shadow-lg); }
.lumora-product-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.lumora-product-hero__media > span svg { width: 110px; height: 110px; opacity: .3; }
.lumora-product-hero h1 { margin: .2em 0 .25em; font-size: clamp(3.2rem, 6.5vw, 7rem); line-height: .9; letter-spacing: -.066em; }
.lumora-product-lead { margin: 0; color: var(--lumora-muted); font-size: clamp(1.05rem, 1.5vw, 1.32rem); }
.lumora-product-specs { margin-block: 34px; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
.lumora-product-specs div { padding: 15px 17px; background: var(--lumora-surface-2); border: 1px solid var(--lumora-line); border-radius: 13px; }
.lumora-product-specs small { display: block; color: var(--lumora-muted); font-size: .65rem; font-weight: 730; letter-spacing: .09em; text-transform: uppercase; }
.lumora-product-specs strong { margin-top: 4px; display: block; }
.lumora-product-price { margin-bottom: 27px; }
.lumora-product-price strong { display: block; font-size: clamp(1.6rem, 3vw, 2.7rem); line-height: 1.1; letter-spacing: -.04em; }
.lumora-product-price small { margin-top: 7px; display: block; color: var(--lumora-muted); }

/* Guides / FAQ / posts */
.lumora-guide-list { display: grid; gap: 0; }
.lumora-guide-list article { padding-block: clamp(30px, 4vw, 56px); display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: clamp(20px, 4vw, 70px); border-bottom: 1px solid var(--lumora-line); }
.lumora-guide-list article:first-child { border-top: 1px solid var(--lumora-line); }
.lumora-guide-list b { color: var(--lumora-accent); font-size: clamp(1.6rem, 3vw, 3rem); font-weight: 500; letter-spacing: -.04em; }
.lumora-guide-list h2 { margin: 0; font-size: clamp(1.55rem, 3.3vw, 3.2rem); line-height: 1.05; letter-spacing: -.045em; }
.lumora-guide-list p { max-width: 850px; margin: 12px 0 0; color: var(--lumora-muted); }
.lumora-faq { max-width: 1050px; margin-inline: auto; }
.lumora-faq details { border-bottom: 1px solid var(--lumora-line); }
.lumora-faq details:first-child { border-top: 1px solid var(--lumora-line); }
.lumora-faq summary { padding-block: 25px; display: flex; align-items: center; justify-content: space-between; gap: 24px; cursor: pointer; font-size: clamp(1.04rem, 1.7vw, 1.35rem); font-weight: 690; list-style: none; }
.lumora-faq summary::-webkit-details-marker { display: none; }
.lumora-faq summary span { width: 35px; height: 35px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid var(--lumora-line); border-radius: 50%; transition: transform .3s ease, background .3s ease; }
.lumora-faq details[open] summary span { color: #fff; background: var(--lumora-accent); transform: rotate(45deg); }
.lumora-faq details > div { overflow: hidden; }
.lumora-faq details p { max-width: 850px; margin: 0; padding: 0 55px 28px 0; color: var(--lumora-muted); }
.lumora-post-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.lumora-post-card { overflow: hidden; background: var(--lumora-surface); border: 1px solid var(--lumora-line); border-radius: var(--lumora-radius); box-shadow: var(--lumora-shadow-sm); }
.lumora-post-card > a { aspect-ratio: 1.45/1; display: grid; place-items: center; overflow: hidden; background: var(--lumora-surface-2); }
.lumora-post-card > a img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s var(--lumora-ease); }
.lumora-post-card:hover > a img { transform: scale(1.045); }
.lumora-post-card > a svg { width: 70px; height: 70px; opacity: .28; }
.lumora-post-card > div { padding: 28px; }
.lumora-post-card small { color: var(--lumora-accent); font-weight: 700; }
.lumora-post-card h2 { margin: 9px 0 11px; font-size: clamp(1.35rem, 2.3vw, 2rem); line-height: 1.08; letter-spacing: -.038em; }
.lumora-post-card h2 a { text-decoration: none; }
.lumora-post-card p { color: var(--lumora-muted); }
.lumora-article__header { padding-block: clamp(88px, 12vw, 190px); text-align: center; background: var(--lumora-surface); }
.lumora-article__header h1 { max-width: 1040px; margin: .2em auto .28em; font-size: clamp(3rem, 7vw, 7.2rem); line-height: .93; letter-spacing: -.067em; text-wrap: balance; }
.lumora-article__header p { color: var(--lumora-muted); }
.lumora-article__image { margin-top: clamp(-70px, -5vw, -35px); }
.lumora-article__image img { width: 100%; max-height: 740px; object-fit: cover; border-radius: var(--lumora-radius-lg); box-shadow: var(--lumora-shadow-lg); }
.lumora-article .lumora-prose--article { padding-block: clamp(70px, 8vw, 130px); }

/* Contact */
.lumora-contact-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(420px,1.1fr); gap: clamp(40px,8vw,130px); align-items: start; }
.lumora-contact-copy h2 { margin-top: 0; font-size: clamp(2rem,4.5vw,4.5rem); line-height: 1; letter-spacing: -.055em; }
.lumora-contact-details { margin-top: 38px; display: grid; gap: 11px; }
.lumora-contact-details > * { padding: 17px 18px; display: flex; align-items: center; gap: 14px; color: var(--lumora-text); background: var(--lumora-surface); border: 1px solid var(--lumora-line); border-radius: 14px; text-decoration: none; }
.lumora-contact-details svg { width: 20px; height: 20px; color: var(--lumora-accent); }
.lumora-form { padding: clamp(25px,4vw,50px); background: var(--lumora-surface); border: 1px solid var(--lumora-line); border-radius: var(--lumora-radius); box-shadow: var(--lumora-shadow-sm); }
.lumora-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.lumora-form label { display: grid; gap: 8px; color: var(--lumora-muted); font-size: .76rem; font-weight: 700; letter-spacing: .045em; }
.lumora-form > label { margin-top: 16px; }
.lumora-form input:not([type="checkbox"]),
.lumora-form select,
.lumora-form textarea { width: 100%; color: var(--lumora-text); background: var(--lumora-bg); border: 1px solid var(--lumora-line); border-radius: 12px; outline: 0; transition: border-color .22s ease, box-shadow .22s ease, background .22s ease; }
.lumora-form input:not([type="checkbox"]),
.lumora-form select { height: 52px; padding-inline: 15px; }
.lumora-form textarea { min-height: 150px; padding: 14px 15px; resize: vertical; }
.lumora-form input:focus,
.lumora-form select:focus,
.lumora-form textarea:focus { border-color: var(--lumora-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--lumora-accent) 14%, transparent); background: var(--lumora-surface); }
.lumora-checkbox { margin-block: 20px !important; grid-template-columns: 20px minmax(0,1fr) !important; align-items: start; gap: 11px !important; font-weight: 500 !important; letter-spacing: 0 !important; }
.lumora-checkbox input { width: 18px; height: 18px; accent-color: var(--lumora-accent); }
.lumora-honeypot { position: absolute !important; left: -99999px !important; opacity: 0 !important; pointer-events: none !important; }
.lumora-form-notice { margin-bottom: 18px; padding: 14px 17px; border-radius: 12px; }
.lumora-form-notice--success { color: #0e5e48; background: #dff4eb; }
.lumora-form-notice--error { color: #8b2931; background: #fae8e9; }

/* CTA */
.lumora-cta-section { padding-block: clamp(70px,9vw,140px); background: var(--lumora-bg); }
.lumora-cta-card { position: relative; padding: clamp(36px,7vw,96px); display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; overflow: hidden; color: #f5f8f6; background: radial-gradient(circle at 80% 30%, rgba(78, 220, 179, .25), transparent 31%), linear-gradient(135deg,#07100d,#173d31); border-radius: var(--lumora-radius-lg); box-shadow: var(--lumora-shadow-lg); }
.lumora-cta-card::after { content:""; position:absolute; width:340px; aspect-ratio:1; right:-100px; top:-130px; border:1px solid rgba(255,255,255,.16); border-radius:50%; box-shadow:0 0 0 60px rgba(255,255,255,.035),0 0 0 120px rgba(255,255,255,.02); }
.lumora-cta-card > * { position:relative; z-index:1; }
.lumora-cta-card h2 { max-width: 820px; margin: .2em 0 .25em; font-size: clamp(2.5rem,5.3vw,6rem); line-height: .92; letter-spacing: -.062em; }
.lumora-cta-card p { max-width: 720px; margin: 0; color: rgba(245,248,246,.7); }
.lumora-cta-card .lumora-button { flex: 0 0 auto; }

/* Consent */
.lumora-consent { position: fixed; z-index: 25000; inset: 0; padding: 18px; display: grid; align-items: end; background: rgba(1,4,3,.45); backdrop-filter: blur(8px); }
.lumora-consent[hidden] { display: none; }
.lumora-consent__card { width: min(100%, 1180px); margin-inline: auto; padding: clamp(22px,3vw,35px); display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 20px; align-items: center; color: var(--lumora-text); background: var(--lumora-surface); border: 1px solid var(--lumora-line); border-radius: 24px; box-shadow: 0 30px 100px rgba(0,0,0,.28); }
.lumora-consent__icon { width: 52px; height: 52px; display: grid; place-items: center; color: var(--lumora-accent); background: var(--lumora-surface-2); border-radius: 16px; }
.lumora-consent__icon svg { width: 25px; height: 25px; }
.lumora-consent__card strong { font-size: 1.15rem; }
.lumora-consent__card p { margin: 4px 0 0; color: var(--lumora-muted); font-size: .88rem; }
.lumora-consent__card p a { color: var(--lumora-accent); }
.lumora-consent__actions { display: flex; gap: 8px; }
.lumora-consent .lumora-button { min-height: 43px; padding-inline: 17px; font-size: .72rem; }
.lumora-consent__settings { grid-column: 2 / -1; padding-top: 16px; display: flex; align-items: center; flex-wrap: wrap; gap: 16px; border-top: 1px solid var(--lumora-line); }
.lumora-consent__settings[hidden] { display: none; }
.lumora-consent__settings label { display: inline-flex; align-items: center; gap: 7px; }

/* Footer */
.lumora-footer { padding-top: clamp(70px,9vw,130px); color: rgba(245,248,246,.78); background: #050807; }
.lumora-footer__grid { display: grid; grid-template-columns: 1.3fr repeat(3, minmax(0,.65fr)); gap: clamp(35px,6vw,90px); }
.lumora-footer .lumora-brand { color: #fff; }
.lumora-footer__grid > div:first-child > p { max-width: 310px; margin-top: 25px; color: rgba(245,248,246,.52); }
.lumora-footer h2 { margin: 0 0 19px; color: #fff; font-size: .72rem; letter-spacing: .15em; text-transform: uppercase; }
.lumora-footer__grid > div:not(:first-child) { display: flex; flex-direction: column; align-items: flex-start; }
.lumora-footer__grid a,
.lumora-footer__grid span,
.lumora-footer-consent { margin-block: 5px; color: rgba(245,248,246,.62); background: none; border: 0; padding: 0; text-decoration: none; cursor: pointer; }
.lumora-footer__grid a:hover,
.lumora-footer-consent:hover { color: #fff; }
.lumora-footer__bottom { margin-top: 70px; padding-block: 24px; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.1); color: rgba(245,248,246,.38); font-size: .75rem; }
.lumora-floating-cta { position: fixed; z-index: 9000; right: max(18px, env(safe-area-inset-right)); bottom: max(18px, env(safe-area-inset-bottom)); min-height: 50px; padding: 0 18px; display: inline-flex; align-items: center; gap: 9px; color: #07110e; background: linear-gradient(135deg,#f2d98d,#d5b159); border: 1px solid rgba(255,255,255,.45); border-radius: 99px; box-shadow: 0 15px 48px rgba(0,0,0,.22); font-size: .76rem; font-weight: 800; text-decoration: none; transition: transform .3s var(--lumora-ease); }
.lumora-floating-cta:hover { color: #07110e; transform: translateY(-4px); }
.lumora-floating-cta svg { width: 18px; height: 18px; }

/* JS reveals */
.lumora-js.lumora-reveal-ready [data-reveal] { opacity: 0; transform: translateY(34px); transition: opacity .82s ease, transform .82s var(--lumora-ease); }
.lumora-js.lumora-reveal-ready [data-reveal].is-visible { opacity: 1; transform: none; }

@keyframes lumora-aurora { to { transform: translate3d(3%, -2%, 0) scale(1.06); opacity: .8; } }
@keyframes lumora-line { 0% { transform: translateX(-100%); } 45%,55% { transform: translateX(0); } 100% { transform: translateX(100%); } }

@media (max-width: 1260px) {
    :root { --lumora-header-height: 78px; }
    .lumora-nav > ul { gap: 16px; }
    .lumora-nav > ul > li > a { font-size: .68rem; }
    .lumora-header__cta { padding-inline: 14px; }
}

@media (max-width: 1120px) {
    .lumora-header__inner { grid-template-columns: auto 1fr auto; }
    .lumora-menu-toggle { display: inline-flex; }
    .lumora-header__cta { display: none; }
    .lumora-nav {
        position: fixed;
        top: var(--lumora-header-height);
        right: 0;
        bottom: 0;
        left: 0;
        height: auto;
        padding: 14px clamp(18px,4vw,44px) 50px;
        overflow-y: auto;
        color: var(--lumora-text);
        background: var(--lumora-surface);
        border-top: 1px solid var(--lumora-line);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-12px);
        transition: opacity .28s ease, transform .28s var(--lumora-ease), visibility 0s linear .28s;
    }
    body.admin-bar .lumora-nav { top: calc(var(--lumora-header-height) + 32px); }
    .lumora-header.menu-open .lumora-nav { opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition-delay: 0s; }
    .lumora-nav > ul { height: auto; display: block; }
    .lumora-nav > ul > li { display: block; border-bottom: 1px solid var(--lumora-line); }
    .lumora-nav > ul > li > a { width: 100%; min-height: 63px; justify-content: space-between; color: var(--lumora-text); font-size: .91rem; }
    .lumora-nav > ul > li > a::after { display: none; }
    .lumora-mega { position: static; z-index: auto; top: auto; max-height: 0; padding: 0; overflow: hidden; background: transparent; border: 0; box-shadow: none; opacity: 1; visibility: visible; pointer-events: auto; transform: none; backdrop-filter: none; transition: max-height .45s var(--lumora-ease); }
    .has-mega:hover .lumora-mega,
    .has-mega:focus-within .lumora-mega { max-height: 0; }
    .has-mega.submenu-open .lumora-mega { max-height: 1000px; }
    .lumora-mega__inner { padding-bottom: 20px; }
    .lumora-mega__head { display: none; }
    .lumora-mega__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .lumora-mega__grid > a { grid-template-columns: 72px minmax(0,1fr); }
    .lumora-mega__grid > a > span { height: 64px; }
    .lumora-trust-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .lumora-trust-grid article:nth-child(2) { border-right: 0; }
    .lumora-trust-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--lumora-line); }
    .lumora-product-grid,
    .lumora-post-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .lumora-product-info-grid,
    .lumora-value-grid,
    .lumora-pricing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .lumora-check-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .lumora-consent__card { grid-template-columns: auto minmax(0,1fr); }
    .lumora-consent__actions { grid-column: 2; flex-wrap: wrap; }
    .lumora-consent__settings { grid-column: 2; }
}

@media (max-width: 800px) {
    :root { --lumora-header-height: 72px; }
    body.lumora-site.admin-bar .lumora-header { top: 46px; }
    body.admin-bar .lumora-progress { top: 46px; }
    body.admin-bar .lumora-nav { top: calc(var(--lumora-header-height) + 46px); }
    .lumora-brand img { max-width: 145px; max-height: 44px; }
    .lumora-brand__mark { width: 37px; height: 37px; }
    .lumora-brand strong { font-size: .88rem; }
    .lumora-brand small { font-size: .5rem; }
    .lumora-icon-button { display: none; }
    .lumora-language { height: 38px; padding-inline: 10px; }
    .lumora-menu-toggle { width: 38px; height: 38px; }
    .lumora-hero { min-height: 730px; align-items: end; }
    .lumora-hero__inner { padding-block: 90px 100px; }
    .lumora-hero__shade { background: linear-gradient(0deg, rgba(2,7,5,.93) 0%, rgba(3,8,6,.66) 55%, rgba(3,8,6,.18) 100%); }
    .lumora-hero h1 { font-size: clamp(3.25rem, 14.5vw, 6.3rem); }
    .lumora-scroll-cue { display: none; }
    .lumora-split,
    .lumora-product-hero__grid,
    .lumora-contact-layout { grid-template-columns: 1fr; }
    .lumora-feature-panels { grid-template-columns: 1fr; }
    .lumora-product-hero__media { aspect-ratio: 1.2/1; }
    .lumora-cta-card { align-items: flex-start; flex-direction: column; }
    .lumora-footer__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .lumora-footer__grid > div:first-child { grid-column: 1/-1; }
}

@media (max-width: 600px) {
    .lumora-container { padding-inline: 19px; }
    .lumora-section { padding-block: 72px; }
    .lumora-header__inner { padding-inline: 14px; gap: 9px; }
    .lumora-language svg { display: none; }
    .lumora-mega__grid { grid-template-columns: 1fr; }
    .lumora-mega__grid > a { grid-template-columns: 66px minmax(0,1fr); }
    .lumora-trust-grid { grid-template-columns: 1fr; border: 0; }
    .lumora-trust-grid article { min-height: auto; border: 1px solid var(--lumora-line) !important; border-bottom: 0 !important; }
    .lumora-trust-grid article:last-child { border-bottom: 1px solid var(--lumora-line) !important; }
    .lumora-product-grid,
    .lumora-post-grid,
    .lumora-product-info-grid,
    .lumora-value-grid,
    .lumora-pricing-grid,
    .lumora-check-grid { grid-template-columns: 1fr; }
    .lumora-product-card p { min-height: 0; }
    .lumora-card-stack article { grid-template-columns: 1fr; }
    .lumora-guide-list article { grid-template-columns: 60px minmax(0,1fr); }
    .lumora-form-grid { grid-template-columns: 1fr; }
    .lumora-form { padding: 22px 18px; }
    .lumora-product-specs { grid-template-columns: 1fr; }
    .lumora-hero__actions { display: grid; }
    .lumora-hero__actions .lumora-button { width: 100%; }
    .lumora-cta-card { padding: 38px 24px; border-radius: 25px; }
    .lumora-cta-card .lumora-button { width: 100%; }
    .lumora-consent { padding: 10px; }
    .lumora-consent__card { max-height: calc(100vh - 20px); overflow: auto; grid-template-columns: 1fr; border-radius: 19px; }
    .lumora-consent__icon { display: none; }
    .lumora-consent__actions,
    .lumora-consent__settings { grid-column: 1; }
    .lumora-consent__actions { display: grid; }
    .lumora-consent__actions .lumora-button { width: 100%; }
    .lumora-footer__grid { grid-template-columns: 1fr; }
    .lumora-footer__grid > div:first-child { grid-column: auto; }
    .lumora-footer__bottom { flex-direction: column; }
    .lumora-floating-cta span { display: none; }
    .lumora-floating-cta { width: 52px; padding: 0; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
    .lumora-js.lumora-reveal-ready [data-reveal] { opacity: 1; transform: none; }
}

@media print {
    .lumora-header,
    .lumora-footer,
    .lumora-floating-cta,
    .lumora-consent,
    .lumora-progress { display: none !important; }
    body.lumora-site { color: #000; background: #fff; }
}

/* Paired logo variants: white/light artwork on the initial dark header, regular artwork after scrolling. */
.lumora-brand__logos { display: grid; align-items: center; }
.lumora-brand__logo { grid-area: 1 / 1; }
.lumora-brand__logo--light { visibility: hidden; opacity: 0; }
.lumora-brand__logo--dark { visibility: visible; opacity: 1; }
.lumora-header.is-scrolled .lumora-brand__logo--light { visibility: visible; opacity: 1; }
.lumora-header.is-scrolled .lumora-brand__logo--dark { visibility: hidden; opacity: 0; }
html[data-theme="dark"] .lumora-header.is-scrolled .lumora-brand__logo--light { visibility: hidden; opacity: 0; }
html[data-theme="dark"] .lumora-header.is-scrolled .lumora-brand__logo--dark { visibility: visible; opacity: 1; }
@media (prefers-color-scheme: dark) {
    html[data-theme="system"] .lumora-header.is-scrolled .lumora-brand__logo--light { visibility: hidden; opacity: 0; }
    html[data-theme="system"] .lumora-header.is-scrolled .lumora-brand__logo--dark { visibility: visible; opacity: 1; }
}


/* Product compatibility: badges, legacy feature lists and media galleries. */
.lumora-product-hero__media { position: relative; }
.lumora-product-hero__media > em { position: absolute; top: 18px; left: 18px; z-index: 2; padding: 8px 12px; color: #072018; background: rgba(239,252,246,.92); border: 1px solid rgba(255,255,255,.55); border-radius: 999px; font-size: .69rem; font-style: normal; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; box-shadow: 0 9px 28px rgba(0,0,0,.12); backdrop-filter: blur(10px); }
.lumora-product-feature-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.lumora-product-feature-list > div { min-height: 74px; padding: 17px 18px; display: flex; align-items: center; gap: 12px; background: var(--lumora-surface); border: 1px solid var(--lumora-line); border-radius: 16px; box-shadow: var(--lumora-shadow-soft); }
.lumora-product-feature-list svg { width: 22px; height: 22px; flex: 0 0 auto; color: var(--lumora-accent); }
.lumora-product-feature-list span { font-weight: 680; line-height: 1.35; }
.lumora-product-gallery-section { padding-top: 0; }
.lumora-product-gallery { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 14px; }
.lumora-product-gallery a { grid-column: span 4; min-height: 260px; overflow: hidden; background: var(--lumora-surface-soft); border-radius: 22px; box-shadow: var(--lumora-shadow-soft); }
.lumora-product-gallery a:nth-child(5n+1) { grid-column: span 7; }
.lumora-product-gallery a:nth-child(5n+2) { grid-column: span 5; }
.lumora-product-gallery img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .7s var(--lumora-ease); }
.lumora-product-gallery a:hover img { transform: scale(1.035); }
@media (max-width: 980px) {
    .lumora-product-feature-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .lumora-product-gallery a,
    .lumora-product-gallery a:nth-child(5n+1),
    .lumora-product-gallery a:nth-child(5n+2) { grid-column: span 6; min-height: 220px; }
}
@media (max-width: 600px) {
    .lumora-product-feature-list { grid-template-columns: 1fr; }
    .lumora-product-gallery { gap: 10px; }
    .lumora-product-gallery a,
    .lumora-product-gallery a:nth-child(5n+1),
    .lumora-product-gallery a:nth-child(5n+2) { grid-column: 1/-1; min-height: 235px; border-radius: 16px; }
}

/* =========================================================
   HEADER NAVIGATION RELIABILITY PATCH — 3.1.1
   - Every mobile menu item remains reachable by scrolling.
   - The desktop Contact item is never pushed below the actions.
   - A mobile-only Home item and contact panel are included.
   ========================================================= */

.lumora-header__inner {
    width: min(100%, 1780px);
    padding-inline: clamp(16px, 2.25vw, 38px);
    display: flex;
    align-items: center;
    gap: clamp(14px, 1.55vw, 26px);
}

.lumora-brand {
    flex: 0 0 auto;
    min-width: 0;
}

.lumora-brand img {
    max-width: 165px;
    max-height: 50px;
}

.lumora-nav {
    min-width: 0;
    height: 100%;
    flex: 1 1 auto;
}

.lumora-nav__scroll {
    width: 100%;
    height: 100%;
}

.lumora-nav__list {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: clamp(9px, .95vw, 17px);
    list-style: none;
}

.lumora-nav__item {
    position: relative;
    min-width: 0;
    display: flex;
    align-items: center;
}

.lumora-nav__item--mobile-only {
    display: none;
}

.lumora-nav__item > a {
    position: relative;
    min-width: 0;
    padding: 12px 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: inherit;
    font-size: clamp(.65rem, .72vw, .77rem);
    font-weight: 680;
    line-height: 1;
    letter-spacing: .03em;
    text-decoration: none;
    white-space: nowrap;
}

.lumora-nav__item > a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 4px;
    left: 0;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .3s var(--lumora-ease);
}

.lumora-nav__item:hover > a::after,
.lumora-nav__item:focus-within > a::after,
.lumora-nav__item.current-menu-item > a::after {
    transform: scaleX(1);
    transform-origin: left center;
}

.lumora-nav__chevron {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    display: inline-grid;
    place-items: center;
    transition: transform .25s ease;
}

.lumora-nav__chevron svg {
    width: 100%;
    height: 100%;
    display: block;
}

.has-mega:hover > a .lumora-nav__chevron,
.has-mega:focus-within > a .lumora-nav__chevron,
.has-mega.submenu-open > a .lumora-nav__chevron {
    transform: rotate(180deg);
}

.lumora-header__actions {
    min-width: max-content;
    flex: 0 0 auto;
    gap: 7px;
}

.lumora-icon-button,
.lumora-language,
.lumora-menu-toggle {
    width: 40px;
    height: 40px;
}

.lumora-language {
    width: auto;
    padding-inline: 10px;
}

.lumora-header__cta {
    min-height: 42px;
    padding-inline: 16px;
    color: #fff;
    background: #0b826e;
    border-color: #0b826e;
    font-size: .7rem;
}

.lumora-header.is-scrolled .lumora-header__cta {
    color: #fff;
    background: #0b826e;
    border-color: #0b826e;
}

.lumora-header__cta:hover,
.lumora-header.is-scrolled .lumora-header__cta:hover {
    color: #0b826e;
    background: #fff;
    border-color: #0b826e;
}

.lumora-header__cta-short {
    display: none;
}

.lumora-mobile-menu__footer {
    display: none;
}

/* Correct dark scrolled-header rule (the original 3.1 selector was malformed). */
html[data-theme="dark"] .lumora-header.is-scrolled {
    color: #f3f8f4;
    background: rgba(9, 13, 11, .965);
    border-color: rgba(255, 255, 255, .1);
}

@media (prefers-color-scheme: dark) {
    html[data-theme="system"] .lumora-header.is-scrolled {
        color: #f3f8f4;
        background: rgba(9, 13, 11, .965);
        border-color: rgba(255, 255, 255, .1);
    }
}

/* Compact laptop layout while retaining every desktop item, including Contact. */
@media (min-width: 1181px) and (max-width: 1500px) {
    :root {
        --lumora-header-height: 80px;
    }

    .lumora-header__inner {
        padding-inline: clamp(14px, 1.5vw, 24px);
        gap: clamp(10px, 1vw, 16px);
    }

    .lumora-brand img {
        max-width: 140px;
        max-height: 44px;
    }

    .lumora-brand__mark {
        width: 39px;
        height: 39px;
    }

    .lumora-brand strong {
        font-size: .92rem;
    }

    .lumora-brand small {
        font-size: .5rem;
    }

    .lumora-nav__list {
        gap: clamp(7px, .72vw, 11px);
    }

    .lumora-nav__item > a {
        gap: 4px;
        font-size: clamp(.61rem, .67vw, .69rem);
        letter-spacing: .015em;
    }

    .lumora-nav__chevron {
        width: 12px;
        height: 12px;
        flex-basis: 12px;
    }

    .lumora-header__actions {
        gap: 6px;
    }

    .lumora-icon-button,
    .lumora-language,
    .lumora-menu-toggle {
        height: 38px;
    }

    .lumora-icon-button,
    .lumora-menu-toggle {
        width: 38px;
    }

    .lumora-language {
        padding-inline: 9px;
    }

    .lumora-header__cta {
        min-height: 39px;
        padding-inline: 13px;
    }
}

@media (min-width: 1181px) and (max-width: 1360px) {
    .lumora-header__cta-long {
        display: none;
    }

    .lumora-header__cta-short {
        display: inline;
    }
}

/* =========================================================
   MOBILE / TABLET FULL MENU
   ========================================================= */
@media (max-width: 1180px) {
    :root {
        --lumora-header-height: 76px;
    }

    .lumora-header__inner {
        padding-inline: clamp(14px, 3vw, 24px);
        gap: 10px;
    }

    .lumora-brand {
        margin-right: auto;
    }

    .lumora-brand img {
        max-width: 148px;
        max-height: 44px;
    }

    .lumora-menu-toggle {
        display: inline-flex;
    }

    .lumora-header__cta {
        display: none;
    }

    .lumora-nav {
        position: absolute !important;
        z-index: 20;
        top: 100% !important;
        right: 0 !important;
        bottom: auto !important;
        left: 0 !important;
        width: 100%;
        height: calc(100dvh - var(--lumora-header-height));
        max-height: calc(100dvh - var(--lumora-header-height));
        padding: 0 !important;
        overflow: hidden !important;
        color: var(--lumora-text);
        background: var(--lumora-surface);
        border-top: 1px solid var(--lumora-line);
        box-shadow: 0 24px 60px rgba(5, 18, 13, .16);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-10px);
        transition:
            opacity .25s ease,
            transform .25s var(--lumora-ease),
            visibility 0s linear .25s;
    }

    body.admin-bar .lumora-nav {
        height: calc(100dvh - var(--lumora-header-height) - 32px);
        max-height: calc(100dvh - var(--lumora-header-height) - 32px);
    }

    .lumora-header.menu-open .lumora-nav {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
        transition-delay: 0s;
    }

    .lumora-nav__scroll {
        width: 100%;
        height: 100%;
        padding:
            10px
            clamp(18px, 4vw, 44px)
            calc(34px + env(safe-area-inset-bottom));
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        scrollbar-color: rgba(11, 130, 110, .55) transparent;
    }

    .lumora-nav__scroll::-webkit-scrollbar {
        width: 5px;
    }

    .lumora-nav__scroll::-webkit-scrollbar-thumb {
        background: rgba(11, 130, 110, .5);
        border-radius: 99px;
    }

    .lumora-nav__list {
        width: 100%;
        height: auto;
        display: block;
    }

    .lumora-nav__item,
    .lumora-nav__item--mobile-only {
        width: 100%;
        display: block;
        border-bottom: 1px solid var(--lumora-line);
    }

    .lumora-nav__item > a {
        width: 100%;
        min-height: 58px;
        padding: 16px 2px;
        justify-content: space-between;
        color: var(--lumora-text);
        font-size: .93rem;
        font-weight: 680;
        letter-spacing: .02em;
    }

    .lumora-nav__item > a::after {
        display: none;
    }

    .lumora-nav__item.current-menu-item > a {
        color: #0b826e;
    }

    .lumora-nav__item.current-menu-item > a::before {
        content: "";
        width: 7px;
        height: 7px;
        margin-right: 10px;
        flex: 0 0 7px;
        background: #0b826e;
        border-radius: 50%;
    }

    .lumora-nav__item.current-menu-item .lumora-nav__label {
        margin-right: auto;
    }

    .lumora-nav__chevron {
        width: 17px;
        height: 17px;
        flex-basis: 17px;
    }

    .lumora-mega {
        position: static !important;
        z-index: auto !important;
        top: auto !important;
        width: 100%;
        max-height: 0;
        padding: 0 !important;
        overflow: hidden !important;
        color: var(--lumora-text);
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        transition: max-height .4s var(--lumora-ease) !important;
    }

    .has-mega:hover .lumora-mega,
    .has-mega:focus-within .lumora-mega {
        max-height: 0;
    }

    .has-mega.submenu-open .lumora-mega {
        max-height: 900px;
    }

    .lumora-mega__inner {
        padding: 0 0 18px;
    }

    .lumora-mega__head {
        display: none;
    }

    .lumora-mega__grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 9px;
    }

    .lumora-mega__grid > a {
        min-width: 0;
        padding: 8px;
        display: block;
        color: var(--lumora-text);
        background: var(--lumora-surface-2);
        border: 1px solid var(--lumora-line);
        border-radius: 14px;
    }

    .lumora-mega__grid > a > span {
        width: 100%;
        height: auto;
        aspect-ratio: 1.35 / 1;
        margin-bottom: 9px;
        display: grid;
        place-items: center;
        overflow: hidden;
        border-radius: 10px;
    }

    .lumora-mega__grid strong {
        font-size: .75rem;
        line-height: 1.2;
    }

    .lumora-mega__grid small {
        display: none;
    }

    .lumora-mobile-menu__footer {
        margin-top: 22px;
        display: grid;
        gap: 10px;
    }

    .lumora-mobile-menu__contact {
        min-height: 76px;
        padding: 14px 15px;
        display: grid;
        grid-template-columns: 42px minmax(0, 1fr) 25px;
        align-items: center;
        gap: 12px;
        color: #fff !important;
        background: #0b826e;
        border: 1px solid #0b826e;
        border-radius: 17px;
        text-decoration: none;
        box-shadow: 0 14px 32px rgba(11, 130, 110, .18);
    }

    .lumora-mobile-menu__contact-icon {
        width: 42px;
        height: 42px;
        display: grid;
        place-items: center;
        background: rgba(255, 255, 255, .13);
        border: 1px solid rgba(255, 255, 255, .2);
        border-radius: 50%;
    }

    .lumora-mobile-menu__contact-icon svg,
    .lumora-mobile-menu__contact-arrow svg {
        width: 19px;
        height: 19px;
    }

    .lumora-mobile-menu__contact-copy {
        min-width: 0;
        display: grid;
        line-height: 1.2;
    }

    .lumora-mobile-menu__contact-copy small {
        margin-bottom: 5px;
        color: rgba(255, 255, 255, .72);
        font-size: .66rem;
        font-weight: 650;
        letter-spacing: .07em;
        text-transform: uppercase;
    }

    .lumora-mobile-menu__contact-copy strong {
        font-size: .94rem;
        font-weight: 760;
    }

    .lumora-mobile-menu__contact-arrow {
        display: grid;
        place-items: center;
        transition: transform .24s ease;
    }

    .lumora-mobile-menu__contact:hover .lumora-mobile-menu__contact-arrow {
        transform: translateX(4px);
    }

    .lumora-mobile-menu__phone {
        min-height: 48px;
        padding: 0 14px;
        display: flex;
        align-items: center;
        gap: 10px;
        color: var(--lumora-text);
        background: var(--lumora-surface-2);
        border: 1px solid var(--lumora-line);
        border-radius: 14px;
        font-size: .82rem;
        font-weight: 680;
        text-decoration: none;
    }

    .lumora-mobile-menu__phone svg {
        width: 17px;
        height: 17px;
        color: #0b826e;
    }
}

@media (max-width: 800px) {
    :root {
        --lumora-header-height: 72px;
    }

    body.admin-bar .lumora-nav {
        height: calc(100dvh - var(--lumora-header-height) - 46px);
        max-height: calc(100dvh - var(--lumora-header-height) - 46px);
    }

    .lumora-brand img {
        max-width: 142px;
        max-height: 42px;
    }
}

@media (max-width: 420px) {
    .lumora-header__inner {
        padding-inline: 12px;
        gap: 7px;
    }

    .lumora-brand img {
        max-width: 128px;
    }

    .lumora-language {
        height: 38px;
        padding-inline: 9px;
    }

    .lumora-menu-toggle {
        width: 38px;
        height: 38px;
    }

    .lumora-nav__scroll {
        padding-inline: 14px;
    }

    .lumora-nav__item > a {
        min-height: 56px;
        font-size: .9rem;
    }
}

/* =========================================================
   DESKTOP HEADER SCALE PATCH — 3.1.2
   Larger, more confident desktop presentation while keeping
   every navigation item (including Contact) on one line.
   The visitor-facing night-mode control is intentionally hidden.
   ========================================================= */

[data-theme-toggle] {
    display: none !important;
}

@media (min-width: 1501px) {
    :root {
        --lumora-header-height: 100px;
    }

    .lumora-header__inner {
        width: min(100%, 1880px);
        padding-inline: clamp(24px, 2.4vw, 48px);
        gap: clamp(18px, 1.55vw, 30px);
    }

    body.lumora-site .lumora-brand img {
        max-width: 255px;
        max-height: 68px;
    }

    .lumora-brand__mark {
        width: 52px;
        height: 52px;
    }

    .lumora-brand__mark svg {
        width: 30px;
        height: 30px;
    }

    .lumora-brand strong {
        font-size: 1.14rem;
    }

    .lumora-brand small {
        font-size: .62rem;
    }

    .lumora-nav__list {
        gap: clamp(12px, 1.05vw, 22px);
    }

    .lumora-nav__item > a {
        padding-block: 16px;
        font-size: clamp(.82rem, .82vw, .93rem);
        font-weight: 700;
        letter-spacing: .025em;
    }

    .lumora-nav__chevron {
        width: 15px;
        height: 15px;
        flex-basis: 15px;
    }

    .lumora-header__actions {
        gap: 9px;
    }

    .lumora-language {
        min-height: 50px;
        padding-inline: 13px;
        font-size: .78rem;
    }

    .lumora-header__cta {
        min-height: 50px;
        padding-inline: 24px;
        font-size: .81rem;
        letter-spacing: .045em;
    }
}

/* Common laptop/desktop widths: visibly larger than 3.1.1,
   but still compact enough for all eight menu items. */
@media (min-width: 1181px) and (max-width: 1500px) {
    :root {
        --lumora-header-height: 92px;
    }

    .lumora-header__inner {
        width: min(100%, 1760px);
        padding-inline: clamp(14px, 1.45vw, 23px);
        gap: clamp(9px, .9vw, 15px);
    }

    body.lumora-site .lumora-brand img {
        max-width: 210px;
        max-height: 56px;
    }

    .lumora-brand__mark {
        width: 45px;
        height: 45px;
    }

    .lumora-brand strong {
        font-size: 1.02rem;
    }

    .lumora-brand small {
        font-size: .56rem;
    }

    .lumora-nav__list {
        gap: clamp(7px, .66vw, 11px);
    }

    .lumora-nav__item > a {
        gap: 4px;
        padding-block: 14px;
        font-size: clamp(.76rem, .86vw, .84rem);
        font-weight: 700;
        letter-spacing: .012em;
    }

    .lumora-nav__chevron {
        width: 13px;
        height: 13px;
        flex-basis: 13px;
    }

    .lumora-header__actions {
        gap: 6px;
    }

    .lumora-language {
        min-height: 46px;
        padding-inline: 10px;
        font-size: .74rem;
    }

    .lumora-header__cta {
        min-height: 46px;
        padding-inline: 16px;
        font-size: .74rem;
    }
}


/* =========================================================
   Lumora 3.2 structured product detail extensions
   ========================================================= */
.lumora-product-topline { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.lumora-product-availability { padding: 7px 11px; display: inline-flex; align-items: center; gap: 7px; color: #0b826e; background: #eaf7f3; border: 1px solid rgba(11,130,110,.18); border-radius: 999px; font-size: .68rem; font-weight: 800; letter-spacing: .045em; white-space: nowrap; }
.lumora-product-availability::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px rgba(11,130,110,.11); }
.lumora-product-availability--orderable { color: #52695f; background: #eef2f0; border-color: rgba(82,105,95,.15); }
.lumora-product-availability--preorder { color: #416d9b; background: #edf4fb; border-color: rgba(65,109,155,.15); }
.lumora-product-availability--coming_soon { color: #896716; background: #fff6dc; border-color: rgba(137,103,22,.16); }
.lumora-product-availability--out_of_stock { color: #9b4e36; background: #fff0eb; border-color: rgba(155,78,54,.16); }
.lumora-product-availability--discontinued { color: #6e6060; background: #f2eded; border-color: rgba(110,96,96,.15); }
.lumora-product-delivery { margin: 20px 0 0; padding: 12px 14px; display: flex; align-items: flex-start; gap: 10px; color: #254a3e; background: #eef8f4; border: 1px solid rgba(11,130,110,.16); border-radius: 12px; font-size: .88rem; line-height: 1.45; }
.lumora-product-delivery svg { width: 20px; height: 20px; flex: 0 0 auto; color: var(--lumora-accent); }
.lumora-product-card__media b.lumora-availability--preorder { background: rgba(65,109,155,.94) !important; }
.lumora-product-card__media b.lumora-availability--coming_soon { color: #382b07 !important; background: rgba(255,223,129,.95) !important; }
.lumora-product-technical-section { background: var(--lumora-surface); }
.lumora-product-technical-table { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--lumora-line); }
.lumora-product-technical-table > div { min-width: 0; padding: 20px 22px; display: grid; grid-template-columns: minmax(130px,.4fr) minmax(0,1fr); grid-template-rows: auto auto; column-gap: 20px; border-right: 1px solid var(--lumora-line); border-bottom: 1px solid var(--lumora-line); }
.lumora-product-technical-table > div:nth-child(2n) { border-right: 0; }
.lumora-product-technical-table small { grid-column: 1; color: var(--lumora-accent); font-size: .64rem; font-weight: 780; letter-spacing: .09em; text-transform: uppercase; }
.lumora-product-technical-table strong { grid-column: 1; margin-top: 4px; line-height: 1.3; }
.lumora-product-technical-table span { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--lumora-muted); line-height: 1.55; }
.lumora-product-color-groups { display: grid; gap: 34px; }
.lumora-product-color-group h3 { margin: 0 0 16px; font-size: clamp(1.35rem,2.2vw,1.8rem); letter-spacing: -.035em; }
.lumora-product-color-list { display: grid; grid-template-columns: repeat(auto-fill,minmax(145px,1fr)); gap: 12px; }
.lumora-product-color { min-width: 0; padding: 13px; display: grid; grid-template-columns: 48px minmax(0,1fr); grid-template-rows: auto auto; column-gap: 12px; align-items: center; background: var(--lumora-surface); border: 1px solid var(--lumora-line); border-radius: 14px; box-shadow: var(--lumora-shadow-sm); }
.lumora-product-color > span { grid-row: 1 / 3; width: 48px; height: 48px; overflow: hidden; background: var(--lumora-swatch,#fff); border: 1px solid var(--lumora-line-strong); border-radius: 11px; }
.lumora-product-color > span img { width: 100%; height: 100%; display: block; object-fit: cover; }
.lumora-product-color strong { min-width: 0; overflow: hidden; font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }
.lumora-product-color small { color: var(--lumora-muted); font-size: .68rem; }
.lumora-product-video-section video { width: 100%; max-height: 760px; display: block; background: #07110e; border-radius: var(--lumora-radius); box-shadow: var(--lumora-shadow-lg); }
.lumora-product-hero__media img { object-position: var(--lumora-product-focus-x,50%) var(--lumora-product-focus-y,50%); }

@media (max-width: 800px) {
    .lumora-product-topline { align-items: flex-start; flex-direction: column; }
    .lumora-product-technical-table { grid-template-columns: 1fr; }
    .lumora-product-technical-table > div,
    .lumora-product-technical-table > div:nth-child(2n) { border-right: 0; }
    .lumora-product-technical-table > div { grid-template-columns: 1fr; }
    .lumora-product-technical-table span { grid-column: 1; grid-row: auto; margin-top: 8px; }
}

/* =========================================================
   Lumora 3.3 product cards: energy estimate and configurator
   ========================================================= */
.lumora-product-card__energy {
    width: 100%;
    margin-top: 15px;
    padding: 11px 12px;
    display: grid;
    grid-template-columns: 19px minmax(0, 1fr) auto;
    gap: 9px;
    align-items: center;
    color: #315349;
    background: #eef7f4;
    border: 1px solid rgba(11, 130, 110, .14);
    border-radius: 11px;
    font-size: .69rem;
    line-height: 1.35;
}
.lumora-product-card__energy svg { width: 18px; height: 18px; color: #0b826e; }
.lumora-product-card__energy span { min-width: 0; }
.lumora-product-card__energy strong { color: #0d2a22; font-size: .72rem; white-space: nowrap; }
.lumora-product-card__configurator {
    width: 100%;
    min-height: 43px;
    margin-top: 12px;
    padding: 0 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: #0b826e;
    background: #fff;
    border: 1px solid rgba(11, 130, 110, .5);
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 760;
    letter-spacing: .025em;
    text-decoration: none;
    transition: color .22s ease, background-color .22s ease, transform .22s ease, box-shadow .22s ease;
}
.lumora-product-card__configurator svg { width: 17px; height: 17px; }
.lumora-product-card__configurator:hover,
.lumora-product-card__configurator:focus-visible {
    color: #fff;
    background: #0b826e;
    box-shadow: 0 10px 24px rgba(11, 130, 110, .16);
    transform: translateY(-2px);
}
.lumora-product-card__footer { margin-top: auto !important; }
.lumora-product-card__details { flex: 0 0 auto; }

/* =========================================================
   Lumora 3.3 native product catalogue
   ========================================================= */
html.lumora-native-catalog-lock,
body.lumora-native-catalog-lock { overflow: hidden !important; }
.lumora-native-catalog,
.lumora-native-catalog * { box-sizing: border-box; }
.lumora-native-catalog [hidden] { display: none !important; }
.lumora-native-catalog {
    --catalog-green: #0b826e;
    --catalog-green-hover: #096f5f;
    --catalog-dark: #0d2a22;
    --catalog-soft: #eef7f4;
    --catalog-surface: #f7f9f8;
    --catalog-text: #17221f;
    --catalog-muted: #68726f;
    --catalog-line: rgba(13, 42, 34, .13);
    min-height: 100vh;
    color: var(--catalog-text);
    background: #fff;
}
.lumora-native-catalog__hero {
    position: relative;
    overflow: hidden;
    background: radial-gradient(circle at 88% 12%, rgba(11, 130, 110, .12), transparent 31%), linear-gradient(180deg, #f1f8f5 0%, #fff 100%);
    border-bottom: 1px solid var(--catalog-line);
}
.lumora-native-catalog__hero::after {
    content: "";
    position: absolute;
    top: -270px;
    right: -220px;
    width: 560px;
    height: 560px;
    border: 1px solid rgba(11, 130, 110, .08);
    border-radius: 50%;
    box-shadow: 0 0 0 70px rgba(11, 130, 110, .022), 0 0 0 140px rgba(11, 130, 110, .014);
    pointer-events: none;
}
.lumora-native-catalog__hero-grid {
    position: relative;
    z-index: 1;
    min-height: 350px;
    padding-block: clamp(64px, 8vw, 112px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) 230px;
    gap: clamp(45px, 7vw, 110px);
    align-items: end;
}
.lumora-native-catalog__hero h1 {
    max-width: 920px;
    margin: .18em 0 .23em;
    color: var(--catalog-dark);
    font-size: clamp(3.4rem, 7vw, 7rem);
    font-weight: 450;
    line-height: .91;
    letter-spacing: -.068em;
}
.lumora-native-catalog__hero p {
    max-width: 760px;
    margin: 0;
    color: var(--catalog-muted);
    font-size: clamp(1rem, 1.4vw, 1.2rem);
    line-height: 1.7;
}
.lumora-native-catalog__hero-stat {
    min-height: 140px;
    padding: 25px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background: rgba(255, 255, 255, .72);
    border: 1px solid var(--catalog-line);
    border-radius: 18px;
    backdrop-filter: blur(10px);
}
.lumora-native-catalog__hero-stat strong { color: var(--catalog-green); font-size: 2.8rem; font-weight: 630; line-height: 1; letter-spacing: -.055em; }
.lumora-native-catalog__hero-stat span { margin-top: 10px; color: var(--catalog-muted); font-size: .7rem; font-weight: 720; letter-spacing: .09em; text-transform: uppercase; }
.lumora-native-catalog__content { padding-block: clamp(34px, 4.5vw, 64px) clamp(80px, 9vw, 130px); }

.lumora-native-catalog__toolbar {
    position: relative;
    z-index: 20;
    margin-bottom: 20px;
    padding: 11px;
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto minmax(210px, auto);
    gap: 11px;
    align-items: center;
    background: #fff;
    border: 1px solid var(--catalog-line);
    border-radius: 17px;
    box-shadow: 0 10px 32px rgba(13, 42, 34, .045);
}
.lumora-native-catalog__filter-open {
    position: relative;
    min-height: 49px;
    padding: 0 17px;
    display: none;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: var(--catalog-dark);
    background: var(--catalog-soft);
    border: 1px solid rgba(11, 130, 110, .15);
    border-radius: 11px;
    font: inherit;
    font-size: .78rem;
    font-weight: 720;
    cursor: pointer;
}
.lumora-native-catalog__filter-open svg { width: 18px; height: 18px; color: var(--catalog-green); }
.lumora-native-catalog__filter-open b { min-width: 21px; height: 21px; padding-inline: 5px; display: inline-grid; place-items: center; color: #fff; background: var(--catalog-green); border-radius: 999px; font-size: .62rem; }
.lumora-native-catalog__search { position: relative; min-width: 0; }
.lumora-native-catalog__search > svg { position: absolute; top: 50%; left: 16px; width: 19px; height: 19px; color: var(--catalog-green); transform: translateY(-50%); pointer-events: none; }
.lumora-native-catalog__search input {
    width: 100%;
    height: 50px;
    padding: 0 44px 0 47px;
    color: var(--catalog-text);
    background: var(--catalog-surface);
    border: 1px solid transparent;
    border-radius: 11px;
    outline: 0;
    font: inherit;
    font-size: .86rem;
    transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.lumora-native-catalog__search input:focus { background: #fff; border-color: rgba(11, 130, 110, .5); box-shadow: 0 0 0 4px rgba(11, 130, 110, .08); }
.lumora-native-catalog__search button { position: absolute; top: 50%; right: 10px; width: 31px; height: 31px; padding: 0; color: var(--catalog-muted); background: transparent; border: 0; border-radius: 50%; font-size: 1.15rem; cursor: pointer; transform: translateY(-50%); }
.lumora-native-catalog__search button:hover { color: var(--catalog-green); background: var(--catalog-soft); }
.lumora-native-catalog__result { padding-inline: 12px; color: var(--catalog-muted); font-size: .78rem; white-space: nowrap; }
.lumora-native-catalog__result strong { color: var(--catalog-dark); }
.lumora-native-catalog__sort { position: relative; min-width: 215px; }
.lumora-native-catalog__sort select {
    width: 100%;
    height: 50px;
    padding: 0 42px 0 15px;
    color: var(--catalog-dark);
    background: #fff;
    border: 1px solid var(--catalog-line);
    border-radius: 11px;
    outline: 0;
    appearance: none;
    font: inherit;
    font-size: .78rem;
    font-weight: 680;
    cursor: pointer;
}
.lumora-native-catalog__sort > span { position: absolute; top: 50%; right: 16px; color: var(--catalog-green); transform: translateY(-55%); pointer-events: none; }

.lumora-native-catalog__chips {
    margin-bottom: 22px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 11px;
    background: var(--catalog-soft);
    border: 1px solid rgba(11, 130, 110, .13);
    border-radius: 13px;
}
.lumora-native-catalog__chips > span { flex: 0 0 auto; color: var(--catalog-dark); font-size: .65rem; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
.lumora-native-catalog__chips > div { min-width: 0; display: flex; flex-wrap: wrap; gap: 7px; }
.lumora-native-catalog__chips > div button {
    min-height: 31px;
    padding: 5px 10px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--catalog-dark);
    background: #fff;
    border: 1px solid rgba(11, 130, 110, .17);
    border-radius: 999px;
    font: inherit;
    font-size: .67rem;
    font-weight: 650;
    cursor: pointer;
}
.lumora-native-catalog__chips > div button b { color: var(--catalog-green); font-size: .9rem; font-weight: 400; }
.lumora-native-catalog__chips > button { margin-left: auto; flex: 0 0 auto; padding: 7px 3px; color: var(--catalog-green); background: transparent; border: 0; font: inherit; font-size: .68rem; font-weight: 750; cursor: pointer; }

.lumora-native-catalog__layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: clamp(30px, 4vw, 55px); align-items: start; }
.lumora-native-catalog__filters {
    position: sticky;
    top: calc(var(--lumora-header-height, 92px) + 20px);
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--catalog-line);
    border-radius: 17px;
}
body.admin-bar .lumora-native-catalog__filters { top: calc(var(--lumora-header-height, 92px) + 52px); }
.lumora-native-catalog__filter-head { min-height: 65px; padding: 0 19px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--catalog-line); }
.lumora-native-catalog__filter-head h2 { margin: 0; color: var(--catalog-dark); font-size: 1rem; }
.lumora-native-catalog__filter-head > button { margin-left: auto; padding: 7px 0; color: var(--catalog-green); background: transparent; border: 0; font: inherit; font-size: .66rem; font-weight: 730; cursor: pointer; }
.lumora-native-catalog__filter-head .lumora-native-catalog__filter-close { width: 36px; height: 36px; margin-left: 2px; display: none; align-items: center; justify-content: center; color: var(--catalog-dark); background: var(--catalog-soft); border-radius: 50%; font-size: 1.15rem; }
.lumora-native-catalog__filters details { border-bottom: 1px solid var(--catalog-line); }
.lumora-native-catalog__filters details:last-of-type { border-bottom: 0; }
.lumora-native-catalog__filters summary { min-height: 56px; padding: 0 19px; display: flex; align-items: center; justify-content: space-between; color: var(--catalog-dark); font-size: .7rem; font-weight: 770; letter-spacing: .07em; text-transform: uppercase; cursor: pointer; list-style: none; }
.lumora-native-catalog__filters summary::-webkit-details-marker { display: none; }
.lumora-native-catalog__filters summary::after { content: "+"; color: var(--catalog-green); font-size: 1.25rem; font-weight: 400; }
.lumora-native-catalog__filters details[open] summary::after { content: "−"; }
.lumora-native-catalog__filters details > div { padding: 0 19px 20px; display: grid; gap: 5px; }
.lumora-native-catalog__option { min-height: 39px; display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; gap: 9px; align-items: center; color: var(--catalog-text); font-size: .78rem; cursor: pointer; }
.lumora-native-catalog__option input { position: absolute; opacity: 0; pointer-events: none; }
.lumora-native-catalog__option i { width: 18px; height: 18px; display: inline-grid; place-items: center; color: transparent; background: #fff; border: 1px solid rgba(13, 42, 34, .22); border-radius: 5px; }
.lumora-native-catalog__option i svg { width: 12px; height: 12px; }
.lumora-native-catalog__option input:checked + i { color: #fff; background: var(--catalog-green); border-color: var(--catalog-green); }
.lumora-native-catalog__option input:focus-visible + i { outline: 3px solid rgba(11, 130, 110, .14); outline-offset: 2px; }
.lumora-native-catalog__option b { color: var(--catalog-muted); font-size: .66rem; font-weight: 600; }
.lumora-native-catalog__number-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px !important; }
.lumora-native-catalog__number-grid label span,
.lumora-native-catalog__select-field > span { margin-bottom: 6px; display: block; color: var(--catalog-muted); font-size: .6rem; font-weight: 680; letter-spacing: .07em; text-transform: uppercase; }
.lumora-native-catalog__number-grid input,
.lumora-native-catalog__select-field select {
    width: 100%;
    height: 41px;
    padding: 0 9px;
    color: var(--catalog-dark);
    background: var(--catalog-surface);
    border: 1px solid transparent;
    border-radius: 8px;
    outline: 0;
    font: inherit;
    font-size: .72rem;
    font-weight: 650;
}
.lumora-native-catalog__number-grid input:focus,
.lumora-native-catalog__select-field select:focus { background: #fff; border-color: rgba(11, 130, 110, .5); }
.lumora-native-catalog__quote-option { margin-top: 5px; }
.lumora-native-catalog__filter-note { margin: 4px 0 0; color: var(--catalog-muted); font-size: .68rem; line-height: 1.5; }
.lumora-native-catalog__filter-footer { display: none; }
.lumora-native-catalog__overlay { position: fixed; z-index: 99990; inset: 0; display: none; background: rgba(4, 17, 13, .54); border: 0; opacity: 0; backdrop-filter: blur(4px); }
.lumora-native-catalog__products { min-width: 0; }
.lumora-native-catalog .lumora-product-grid { width: 100%; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(28px, 3vw, 42px) clamp(17px, 2vw, 26px); align-items: stretch; }
.lumora-native-catalog .lumora-product-card { height: 100%; display: flex; flex-direction: column; overflow: visible; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.lumora-native-catalog .lumora-product-card:hover { transform: none; border: 0; box-shadow: none; }
.lumora-native-catalog .lumora-product-card__media { aspect-ratio: 1 / 1; border: 1px solid rgba(13, 42, 34, .09); border-radius: 16px; background: var(--catalog-soft); }
.lumora-native-catalog .lumora-product-card__media img { object-fit: cover; }
.lumora-native-catalog .lumora-product-card__body { min-height: 260px; padding: 17px 3px 0; display: flex; flex: 1 1 auto; flex-direction: column; }
.lumora-native-catalog .lumora-product-card h3 { min-height: 2.1em; margin: 7px 0 9px; font-size: clamp(1.25rem, 1.8vw, 1.75rem); }
.lumora-native-catalog .lumora-product-card p { min-height: 0; display: -webkit-box; overflow: hidden; font-size: .8rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.lumora-native-catalog .lumora-product-card__energy { margin-top: 13px; }
.lumora-native-catalog .lumora-product-card__configurator { min-height: 41px; margin-top: 11px; }
.lumora-native-catalog .lumora-product-card__footer { padding-top: 15px; }
.lumora-native-catalog__empty { min-height: 390px; padding: 45px 22px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: var(--catalog-surface); border: 1px solid var(--catalog-line); border-radius: 18px; }
.lumora-native-catalog__empty > svg { width: 58px; height: 58px; padding: 15px; color: var(--catalog-green); background: var(--catalog-soft); border-radius: 50%; }
.lumora-native-catalog__empty h2 { margin: 20px 0 0; color: var(--catalog-dark); font-size: 1.7rem; }
.lumora-native-catalog__empty p { max-width: 450px; margin: 11px 0 20px; color: var(--catalog-muted); }
.lumora-native-catalog__empty button { min-height: 43px; padding: 0 19px; color: #fff; background: var(--catalog-green); border: 1px solid var(--catalog-green); border-radius: 999px; font: inherit; font-size: .76rem; font-weight: 700; cursor: pointer; }

/* =========================================================
   Lumora 3.3 product configurator
   ========================================================= */
.lumora-configurator { padding-block: clamp(70px, 8vw, 120px); background: radial-gradient(circle at 85% 5%, rgba(11, 130, 110, .12), transparent 28%), #fff; }
.lumora-configurator__header { max-width: 900px; margin-bottom: 45px; }
.lumora-configurator__header h1 { margin: .2em 0 .25em; color: #0d2a22; font-size: clamp(2.7rem, 6vw, 6rem); font-weight: 460; line-height: .93; letter-spacing: -.064em; }
.lumora-configurator__header p { color: var(--lumora-muted); }
.lumora-configurator__form { display: grid; gap: 17px; }
.lumora-configurator fieldset { margin: 0; padding: clamp(23px, 3vw, 38px); background: #fff; border: 1px solid var(--lumora-line); border-radius: 18px; box-shadow: var(--lumora-shadow-sm); }
.lumora-configurator legend { padding: 0 8px; color: #0d2a22; font-size: clamp(1.2rem, 2.1vw, 1.75rem); font-weight: 650; letter-spacing: -.025em; }
.lumora-configurator__choices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.lumora-configurator__choices--features { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.lumora-configurator__choices label { cursor: pointer; }
.lumora-configurator__choices input { position: absolute; opacity: 0; pointer-events: none; }
.lumora-configurator__choices span { min-height: 68px; padding: 15px; display: flex; align-items: center; justify-content: center; text-align: center; color: #315349; background: #f5f8f7; border: 1px solid rgba(13, 42, 34, .12); border-radius: 13px; font-size: .82rem; font-weight: 680; transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }
.lumora-configurator__choices input:checked + span { color: #fff; background: #0b826e; border-color: #0b826e; transform: translateY(-2px); }
.lumora-configurator__choices input:focus-visible + span { outline: 3px solid rgba(11, 130, 110, .16); outline-offset: 2px; }
.lumora-configurator__summary { padding: clamp(25px, 3vw, 38px); display: flex; align-items: center; justify-content: space-between; gap: 30px; color: #fff; background: #0d2a22; border-radius: 18px; }
.lumora-configurator__summary strong { display: block; font-size: clamp(1.35rem, 2.5vw, 2rem); }
.lumora-configurator__summary p { margin: 8px 0 0; color: rgba(255,255,255,.7); }

/* Product detail actions and energy note. */
.lumora-product-actions { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 11px; }
.lumora-product-actions .lumora-button { margin: 0; }
.lumora-product-configurator-button { color: #0b826e; border-color: rgba(11, 130, 110, .55); }
.lumora-product-configurator-button:hover { color: #fff; background: #0b826e; border-color: #0b826e; }
.lumora-product-energy-note { margin: 18px 0 0; padding: 12px 14px; display: flex; align-items: flex-start; gap: 10px; color: #315349; background: #eef7f4; border: 1px solid rgba(11,130,110,.15); border-radius: 11px; font-size: .82rem; line-height: 1.5; }
.lumora-product-energy-note svg { width: 19px; height: 19px; flex: 0 0 auto; color: #0b826e; }

@media (max-width: 1180px) {
    .lumora-native-catalog__layout { grid-template-columns: 245px minmax(0, 1fr); gap: 30px; }
    .lumora-native-catalog .lumora-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lumora-configurator__choices--features { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 920px) {
    .lumora-native-catalog__hero-grid { grid-template-columns: minmax(0, 1fr) 190px; }
    .lumora-native-catalog__toolbar { grid-template-columns: auto minmax(0, 1fr) minmax(190px, auto); }
    .lumora-native-catalog__filter-open { display: inline-flex; }
    .lumora-native-catalog__result { display: none; }
    .lumora-native-catalog__layout { display: block; }
    .lumora-native-catalog__filters {
        position: fixed;
        z-index: 99999;
        top: 0;
        right: 0;
        bottom: 0;
        width: min(420px, 92vw);
        max-height: 100dvh;
        overflow-y: auto;
        background: #fff;
        border: 0;
        border-radius: 0;
        box-shadow: -24px 0 70px rgba(4, 17, 13, .22);
        transform: translateX(105%);
        transition: transform .3s cubic-bezier(.2,.75,.2,1);
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }
    .lumora-native-catalog.is-filter-open .lumora-native-catalog__filters { transform: translateX(0); }
    .lumora-native-catalog.is-filter-open .lumora-native-catalog__overlay { display: block; opacity: 1; }
    .lumora-native-catalog__filter-head { position: sticky; z-index: 3; top: 0; background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
    .lumora-native-catalog__filter-head .lumora-native-catalog__filter-close { display: inline-flex; }
    .lumora-native-catalog__filter-footer { position: sticky; z-index: 3; right: 0; bottom: 0; left: 0; padding: 14px 18px calc(14px + env(safe-area-inset-bottom)); display: block; background: rgba(255,255,255,.96); border-top: 1px solid var(--catalog-line); backdrop-filter: blur(12px); }
    .lumora-native-catalog__filter-footer button { width: 100%; min-height: 50px; color: #fff; background: var(--catalog-green); border: 1px solid var(--catalog-green); border-radius: 999px; font: inherit; font-size: .78rem; font-weight: 720; cursor: pointer; }
}

@media (max-width: 700px) {
    .lumora-native-catalog__hero-grid { min-height: 0; padding-block: 52px; display: block; }
    .lumora-native-catalog__hero h1 { font-size: clamp(3.2rem, 14vw, 5.2rem); }
    .lumora-native-catalog__hero-stat { min-height: 95px; margin-top: 28px; padding: 18px; }
    .lumora-native-catalog__hero-stat strong { font-size: 2.2rem; }
    .lumora-native-catalog__content { padding-top: 21px; }
    .lumora-native-catalog__toolbar { padding: 8px; grid-template-columns: 48px minmax(0, 1fr); gap: 8px; }
    .lumora-native-catalog__filter-open { width: 48px; min-width: 48px; padding: 0; }
    .lumora-native-catalog__filter-open > span { display: none; }
    .lumora-native-catalog__filter-open b { position: absolute; top: 3px; right: 3px; }
    .lumora-native-catalog__sort { grid-column: 1 / -1; min-width: 0; }
    .lumora-native-catalog__sort select { height: 45px; }
    .lumora-native-catalog__chips { align-items: flex-start; flex-direction: column; }
    .lumora-native-catalog__chips > button { margin-left: 0; }
    .lumora-native-catalog .lumora-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 27px 11px; }
    .lumora-native-catalog .lumora-product-card__media { border-radius: 12px; }
    .lumora-native-catalog .lumora-product-card__media b { top: 8px; left: 8px; max-width: calc(100% - 16px); padding: 6px 7px; overflow: hidden; font-size: .46rem; white-space: nowrap; text-overflow: ellipsis; }
    .lumora-native-catalog .lumora-product-card__body { min-height: 205px; padding-top: 11px; }
    .lumora-native-catalog .lumora-product-card__eyebrow { font-size: .5rem; }
    .lumora-native-catalog .lumora-product-card h3 { min-height: 2.15em; margin: 5px 0 7px; font-size: clamp(1rem, 4.6vw, 1.25rem); }
    .lumora-native-catalog .lumora-product-card p { display: none; }
    .lumora-native-catalog .lumora-product-card__energy { padding: 8px; grid-template-columns: 15px minmax(0, 1fr); gap: 6px; font-size: .56rem; }
    .lumora-native-catalog .lumora-product-card__energy svg { width: 14px; height: 14px; }
    .lumora-native-catalog .lumora-product-card__energy strong { grid-column: 2; font-size: .6rem; }
    .lumora-native-catalog .lumora-product-card__configurator { min-height: 37px; padding-inline: 9px; font-size: .6rem; }
    .lumora-native-catalog .lumora-product-card__footer { gap: 6px; }
    .lumora-native-catalog .lumora-product-card__footer > strong { font-size: .72rem; }
    .lumora-native-catalog .lumora-product-card__details { width: 34px; height: 34px; flex-basis: 34px; }
    .lumora-configurator__choices,
    .lumora-configurator__choices--features { grid-template-columns: 1fr; }
    .lumora-configurator__summary { align-items: stretch; flex-direction: column; }
    .lumora-configurator__summary .lumora-button { width: 100%; }
    .lumora-product-actions { flex-direction: column; }
    .lumora-product-actions .lumora-button { width: 100%; }
}

/* 4.2 — structured product data, stable cards and product-page navigation. */
:root {
    --lumora-product-sticky-offset: var(--lumora-header-height);
    --lumora-product-subnav-height: 58px;
    --lumora-product-sticky-total: calc(var(--lumora-product-sticky-offset) + var(--lumora-product-subnav-height) + 18px);
}

body.lumora-site .lumora-product-grid { align-items: stretch; }
body.lumora-site .lumora-product-card {
    height: 100%;
    display: flex;
    flex-direction: column;
}
body.lumora-site .lumora-product-card__media { flex: 0 0 auto; }
body.lumora-site .lumora-product-card__media img { object-fit: contain; background: var(--lumora-surface-3); }
body.lumora-site .lumora-product-card__slide {
    width: 100%;
    height: 100%;
    padding: 0;
    position: absolute;
    inset: 0;
    display: none;
    background: var(--lumora-surface-3);
    border: 0;
    cursor: zoom-in;
}
body.lumora-site .lumora-product-card__slide.is-active { display: block; }
body.lumora-site .lumora-card-gallery__prev,
body.lumora-site .lumora-card-gallery__next {
    width: 38px;
    height: 38px;
    padding: 0;
    position: absolute;
    z-index: 3;
    top: 50%;
    display: grid;
    place-items: center;
    color: #fff;
    background: rgba(5, 18, 14, .72);
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 50%;
    transform: translateY(-50%);
    cursor: pointer;
}
body.lumora-site .lumora-card-gallery__prev { left: 10px; }
body.lumora-site .lumora-card-gallery__next { right: 10px; }
body.lumora-site .lumora-card-gallery__count { position: absolute; z-index: 3; right: 12px; bottom: 10px; padding: 5px 8px; color: #fff; background: rgba(5, 18, 14, .72); border-radius: 999px; font-size: .68rem; }
body.lumora-site .lumora-product-card__body {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}
body.lumora-site .lumora-product-card__body > p { min-height: 0; }
body.lumora-site .lumora-product-card__specs { min-height: 0; }
body.lumora-site .lumora-product-card__decision-tools { margin-top: auto; padding-top: 14px; }
body.lumora-site .lumora-product-card__configurator { min-height: 46px; }
body.lumora-site .lumora-product-card__footer {
    min-width: 0;
    margin-top: 14px !important;
}
body.lumora-site .lumora-product-card__footer > strong { min-width: 0; overflow-wrap: anywhere; }
body.lumora-site .lumora-product-card__details {
    width: auto !important;
    min-width: 106px;
    min-height: 44px;
    padding: 8px 12px;
    display: inline-flex !important;
    gap: 7px;
    white-space: nowrap;
    border-radius: 999px !important;
}
body.lumora-site .lumora-product-card__details span { display: inline; }

/* Optional wrapper for existing hand-written homepage cards. */
body.lumora-site .lumora-managed-product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: clamp(18px, 2.2vw, 30px);
}
body.lumora-site .lumora-managed-product-card {
    min-width: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
}
body.lumora-site .lumora-managed-product-card > :last-child { margin-top: auto; }

body.lumora-site .lumora-product-subnav {
    min-height: var(--lumora-product-subnav-height);
    position: sticky;
    z-index: 72;
    top: var(--lumora-product-sticky-offset);
    color: var(--lumora-text);
    background: color-mix(in srgb, var(--lumora-surface) 92%, transparent);
    border-bottom: 1px solid var(--lumora-line);
    box-shadow: 0 10px 30px rgba(4, 17, 13, .07);
    backdrop-filter: blur(18px);
}
body.lumora-site .lumora-product-subnav__track {
    min-width: 0;
    display: flex;
    align-items: stretch;
    gap: 5px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
}
body.lumora-site .lumora-product-subnav__track::-webkit-scrollbar { display: none; }
body.lumora-site .lumora-product-subnav a {
    min-height: var(--lumora-product-subnav-height);
    padding: 9px 13px;
    position: relative;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    color: var(--lumora-muted);
    font-size: .76rem;
    font-weight: 720;
    line-height: 1.25;
    text-decoration: none;
    white-space: nowrap;
}
body.lumora-site .lumora-product-subnav a::after {
    height: 2px;
    position: absolute;
    right: 13px;
    bottom: 0;
    left: 13px;
    content: '';
    background: var(--lumora-accent);
    transform: scaleX(0);
    transition: transform .22s ease;
}
body.lumora-site .lumora-product-subnav a:hover,
body.lumora-site .lumora-product-subnav a:focus-visible,
body.lumora-site .lumora-product-subnav a.is-active { color: var(--lumora-text); }
body.lumora-site .lumora-product-subnav a.is-active::after { transform: scaleX(1); }
body.lumora-site [data-product-section] { scroll-margin-top: var(--lumora-product-sticky-total); }

body.lumora-site .lumora-product-hero__media img {
    object-fit: contain;
    transition: opacity .22s ease, transform .3s ease;
}
body.lumora-site .lumora-product-hero__media.is-changing-combination img { opacity: .25; transform: scale(.985); }
body.lumora-site .lumora-product-finish.is-incompatible { opacity: .38; }
body.lumora-site .lumora-product-finish.is-incompatible .lumora-product-finish__select { cursor: not-allowed; }
body.lumora-site .lumora-product-finish-selector__notice {
    margin: 12px 0 0;
    padding: 11px 13px;
    color: #713e14;
    background: #fff8ec;
    border: 1px solid #eed4aa;
    border-radius: 11px;
    font-size: .76rem;
    line-height: 1.5;
}
body.lumora-site .lumora-product-finish-selector__inquiry { margin-top: 10px; display: inline-flex; }
body.lumora-site .lumora-product-actions .is-disabled { opacity: .45; pointer-events: none; }

body.lumora-site .lumora-structured-spec-groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
body.lumora-site .lumora-structured-spec-group {
    min-width: 0;
    overflow: hidden;
    background: var(--lumora-surface);
    border: 1px solid var(--lumora-line);
    border-radius: 18px;
    box-shadow: var(--lumora-shadow-sm);
}
body.lumora-site .lumora-structured-spec-group summary {
    min-height: 64px;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    gap: 11px;
    cursor: pointer;
    list-style: none;
}
body.lumora-site .lumora-structured-spec-group summary::-webkit-details-marker { display: none; }
body.lumora-site .lumora-structured-spec-group summary > span { width: 38px; height: 38px; display: grid; place-items: center; color: var(--lumora-accent); background: var(--lumora-surface-2); border-radius: 11px; }
body.lumora-site .lumora-structured-spec-group summary svg { width: 19px; height: 19px; }
body.lumora-site .lumora-structured-spec-group summary strong { min-width: 0; flex: 1; }
body.lumora-site .lumora-structured-spec-group summary i { font-style: normal; transition: transform .2s ease; }
body.lumora-site .lumora-structured-spec-group[open] summary i { transform: rotate(45deg); }
body.lumora-site .lumora-structured-spec-group dl { margin: 0; padding: 0 18px 15px; }
body.lumora-site .lumora-structured-spec-group dl > div { padding: 13px 0; display: grid; grid-template-columns: minmax(120px, .8fr) minmax(0, 1.2fr); gap: 16px; border-top: 1px solid var(--lumora-line); }
body.lumora-site .lumora-structured-spec-group dt { display: flex; gap: 7px; color: var(--lumora-muted); font-size: .76rem; }
body.lumora-site .lumora-structured-spec-group dt svg { width: 15px; height: 15px; flex: 0 0 auto; }
body.lumora-site .lumora-structured-spec-group dd { margin: 0; text-align: right; overflow-wrap: anywhere; }
body.lumora-site .lumora-structured-spec-group dd strong { display: block; }
body.lumora-site .lumora-structured-spec-group dd small { margin-top: 4px; display: block; color: var(--lumora-muted); line-height: 1.45; }
body.lumora-site .lumora-included-items { margin-bottom: 18px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
body.lumora-site .lumora-included-item { padding: 15px; display: flex; gap: 12px; background: var(--lumora-surface); border: 1px solid var(--lumora-line); border-radius: 15px; }
body.lumora-site .lumora-included-item > span,
body.lumora-site .lumora-included-item > img { width: 44px; height: 44px; flex: 0 0 44px; display: grid; place-items: center; object-fit: contain; background: var(--lumora-surface-2); border-radius: 11px; }
body.lumora-site .lumora-included-item > span svg { width: 20px; height: 20px; }
body.lumora-site .lumora-included-item strong,
body.lumora-site .lumora-included-item small { display: block; }
body.lumora-site .lumora-included-item small { margin-top: 3px; color: var(--lumora-accent); font-size: .67rem; font-weight: 720; }
body.lumora-site .lumora-included-item p { margin: 7px 0 0; color: var(--lumora-muted); font-size: .78rem; }
body.lumora-site .lumora-included-item em { margin-top: 5px; display: block; color: var(--lumora-muted); font-size: .7rem; }

@media (max-width: 1024px) {
    body.lumora-site .lumora-managed-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.lumora-site .lumora-included-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 782px) {
    :root { --lumora-product-subnav-height: 52px; }
    body.lumora-site .lumora-product-subnav__track { margin-inline: -16px; padding-inline: 16px 28px; }
    body.lumora-site .lumora-product-subnav__track::after { width: 16px; flex: 0 0 16px; content: ''; }
    body.lumora-site .lumora-product-subnav a { min-height: 52px; padding-inline: 11px; font-size: .72rem; }
    body.lumora-site .lumora-structured-spec-groups { grid-template-columns: minmax(0, 1fr); }
    body.lumora-site .lumora-structured-spec-group:not([open]) dl { display: none; }
}
@media (max-width: 640px) {
    body.lumora-site .lumora-managed-product-grid { grid-template-columns: minmax(0, 1fr); }
    body.lumora-site .lumora-product-card__footer { align-items: flex-end; }
    body.lumora-site .lumora-product-card__details { min-width: 104px; }
    body.lumora-site .lumora-included-items { grid-template-columns: minmax(0, 1fr); }
    body.lumora-site .lumora-structured-spec-group dl > div { grid-template-columns: minmax(0, 1fr); gap: 6px; }
    body.lumora-site .lumora-structured-spec-group dd { text-align: left; }
    body.lumora-site .lumora-product-finish-track { margin-inline: -4px; padding: 4px; flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; }
    body.lumora-site .lumora-product-finish-track::-webkit-scrollbar { display: none; }
    body.lumora-site .lumora-product-finish { min-width: min(78vw, 220px); flex-basis: min(78vw, 220px); }
}
@media (prefers-reduced-motion: reduce) {
    body.lumora-site .lumora-product-hero__media img,
    body.lumora-site .lumora-product-subnav a::after { transition: none; }
}

/* --------------------------------------------------------------------------
   Lumora 4.1 decision support, energy planning and responsive navigation
   -------------------------------------------------------------------------- */
body.lumora-site {
    overflow-x: clip;
}

body.lumora-site :where(button, a, input, select, textarea):focus-visible {
    outline: 3px solid color-mix(in srgb, var(--lumora-accent) 54%, #fff);
    outline-offset: 3px;
}

body.lumora-site :where(.lumora-button, .lumora-header__cta, .lumora-language, .lumora-icon-button) {
    min-height: 44px;
}

.lumora-mega-mobile,
.lumora-nav-submenu {
    display: none;
}

@media (min-width: 1181px) {
    body.lumora-site .lumora-nav__item.has-submenu::before {
        content: "";
        position: absolute;
        top: calc(100% - 10px);
        left: -18px;
        right: -18px;
        height: 24px;
    }

    body.lumora-site .lumora-nav-submenu {
        width: min(320px, calc(100vw - 32px));
        margin: 0;
        padding: 10px;
        position: absolute;
        z-index: 10020;
        top: calc(100% - 2px);
        left: 50%;
        display: grid;
        gap: 2px;
        color: var(--lumora-text);
        background: color-mix(in srgb, var(--lumora-surface) 97%, transparent);
        border: 1px solid var(--lumora-line);
        border-radius: 17px;
        box-shadow: 0 24px 60px rgba(4, 24, 17, .16);
        list-style: none;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translate(-50%, -8px);
        transition: opacity .2s ease, visibility .2s ease, transform .25s var(--lumora-ease);
        -webkit-backdrop-filter: blur(20px) saturate(1.1);
        backdrop-filter: blur(20px) saturate(1.1);
    }

    body.lumora-site .lumora-nav__item.has-submenu:hover > .lumora-nav-submenu,
    body.lumora-site .lumora-nav__item.has-submenu:focus-within > .lumora-nav-submenu,
    body.lumora-site .lumora-nav__item.has-submenu.submenu-open > .lumora-nav-submenu {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translate(-50%, 0);
    }

    body.lumora-site .lumora-nav-submenu a {
        min-height: 45px;
        padding: 10px 12px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        color: var(--lumora-text);
        border-radius: 11px;
        font-size: .76rem;
        font-weight: 680;
        line-height: 1.35;
        text-decoration: none;
        overflow-wrap: anywhere;
    }

    body.lumora-site .lumora-nav-submenu a:hover,
    body.lumora-site .lumora-nav-submenu a:focus-visible {
        color: var(--lumora-accent);
        background: color-mix(in srgb, var(--lumora-accent) 8%, var(--lumora-surface));
    }

    body.lumora-site .lumora-nav-submenu a span {
        flex: 0 0 auto;
        color: var(--lumora-accent);
    }
}

@media (min-width: 1181px) and (max-width: 1390px) {
    body.lumora-site .lumora-header__inner {
        padding-inline: 18px;
        gap: 16px;
    }

    body.lumora-site .lumora-nav > ul {
        gap: 12px;
    }

    body.lumora-site .lumora-nav > ul > li > a {
        font-size: .67rem;
        letter-spacing: .025em;
    }

    body.lumora-site .lumora-header__cta {
        padding-inline: 15px;
    }

    body.lumora-site .lumora-brand img {
        max-width: 160px;
    }

    body.lumora-site .lumora-nav__item.has-submenu:nth-last-child(-n+3) > .lumora-nav-submenu {
        right: -10px;
        left: auto;
        transform: translateY(-8px);
    }

    body.lumora-site .lumora-nav__item.has-submenu:nth-last-child(-n+3):hover > .lumora-nav-submenu,
    body.lumora-site .lumora-nav__item.has-submenu:nth-last-child(-n+3):focus-within > .lumora-nav-submenu,
    body.lumora-site .lumora-nav__item.has-submenu:nth-last-child(-n+3).submenu-open > .lumora-nav-submenu {
        transform: translateY(0);
    }
}

/* Visible, image-first acrylic and cabinet selection beside the buying actions. */
body.lumora-site .lumora-product-finish-selector {
    margin: 24px 0 4px;
    padding: clamp(17px, 2vw, 24px);
    color: var(--lumora-text);
    background: color-mix(in srgb, var(--lumora-accent) 4%, var(--lumora-surface));
    border: 1px solid color-mix(in srgb, var(--lumora-accent) 17%, var(--lumora-line));
    border-radius: 20px;
}

body.lumora-site .lumora-product-finish-selector__head {
    margin-bottom: 17px;
    display: grid;
    gap: 5px;
}

body.lumora-site .lumora-product-finish-selector__head > strong {
    font-size: 1rem;
    line-height: 1.25;
}

body.lumora-site .lumora-product-finish-selector__head p {
    margin: 0;
    color: var(--lumora-muted);
    font-size: .78rem;
    line-height: 1.55;
}

body.lumora-site .lumora-product-finish-group + .lumora-product-finish-group {
    margin-top: 18px;
}

body.lumora-site .lumora-product-finish-group > span {
    margin-bottom: 9px;
    display: block;
    color: var(--lumora-muted);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

body.lumora-site .lumora-product-finish-track {
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

body.lumora-site .lumora-product-finish {
    min-width: 148px;
    max-width: 220px;
    position: relative;
    flex: 1 1 155px;
}

body.lumora-site .lumora-product-finish__select {
    width: 100%;
    min-height: 70px;
    padding: 7px 31px 7px 7px;
    display: grid;
    grid-template-columns: 55px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    color: var(--lumora-text);
    background: var(--lumora-surface);
    border: 1px solid var(--lumora-line);
    border-radius: 13px;
    cursor: pointer;
    text-align: left;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.lumora-site .lumora-product-finish__select:hover,
body.lumora-site .lumora-product-finish__select[aria-pressed="true"] {
    border-color: var(--lumora-accent);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--lumora-accent) 22%, transparent);
    transform: translateY(-1px);
}

body.lumora-site .lumora-product-finish__sample {
    width: 55px;
    height: 55px;
    display: block;
    overflow: hidden;
    background:
        linear-gradient(var(--lumora-swatch), var(--lumora-swatch)),
        linear-gradient(45deg, #dfe7e3 25%, transparent 25% 75%, #dfe7e3 75%),
        linear-gradient(45deg, #dfe7e3 25%, #f7f9f8 25% 75%, #dfe7e3 75%);
    background-position: 0 0, 0 0, 5px 5px;
    background-size: auto, 10px 10px, 10px 10px;
    border: 1px solid rgba(7, 29, 21, .14);
    border-radius: 10px;
}

body.lumora-site .lumora-product-finish__sample img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

body.lumora-site .lumora-product-finish__copy {
    min-width: 0;
    display: grid;
    gap: 4px;
}

body.lumora-site .lumora-product-finish__copy strong,
body.lumora-site .lumora-product-finish__copy small {
    overflow-wrap: anywhere;
}

body.lumora-site .lumora-product-finish__copy strong {
    font-size: .72rem;
    line-height: 1.25;
}

body.lumora-site .lumora-product-finish__copy small {
    color: var(--lumora-muted);
    font-size: .58rem;
    line-height: 1.3;
}

body.lumora-site .lumora-product-finish__zoom {
    width: 32px;
    height: 32px;
    padding: 0;
    position: absolute;
    top: 19px;
    right: 4px;
    display: grid;
    place-items: center;
    color: var(--lumora-accent);
    background: transparent;
    border: 0;
    border-radius: 50%;
    cursor: zoom-in;
}

body.lumora-site .lumora-product-finish__zoom svg {
    width: 15px;
    height: 15px;
}

body.lumora-site .lumora-product-finish.is-unavailable {
    opacity: .48;
}

body.lumora-site .lumora-product-finish.is-unavailable .lumora-product-finish__select {
    cursor: not-allowed;
}

body.lumora-site .lumora-product-finish-selector__selection {
    min-height: 1.35em;
    margin: 12px 0 0;
    color: var(--lumora-accent);
    font-size: .7rem;
    font-weight: 720;
}

/* Decision tools are intentionally lightweight and remain available for weeks. */
body.lumora-site .lumora-product-card__decision-tools,
body.lumora-site .lumora-product-decision-tools {
    margin-top: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

body.lumora-site .lumora-product-card__decision-tools button,
body.lumora-site .lumora-product-decision-tools button,
body.lumora-site .lumora-configurator__save-tools button {
    min-height: 42px;
    padding: 8px 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: var(--lumora-muted);
    background: var(--lumora-surface);
    border: 1px solid var(--lumora-line);
    border-radius: 999px;
    cursor: pointer;
    font-size: .65rem;
    font-weight: 720;
    line-height: 1.25;
}

body.lumora-site :where(.lumora-product-card__decision-tools, .lumora-product-decision-tools) button svg,
body.lumora-site .lumora-configurator__save-tools button svg {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
}

body.lumora-site :where(.lumora-product-card__decision-tools, .lumora-product-decision-tools) button.is-active,
body.lumora-site :where(.lumora-product-card__decision-tools, .lumora-product-decision-tools) button:hover {
    color: var(--lumora-accent);
    border-color: color-mix(in srgb, var(--lumora-accent) 38%, var(--lumora-line));
}

.lumora-compare-bar {
    min-width: min(420px, calc(100vw - 28px));
    min-height: 58px;
    padding: 8px 9px 8px 17px;
    position: fixed;
    z-index: 18000;
    right: max(18px, env(safe-area-inset-right));
    bottom: max(18px, env(safe-area-inset-bottom));
    display: flex;
    align-items: center;
    gap: 10px;
    color: #f5fbf8;
    background: rgba(7, 33, 25, .96);
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 18px;
    box-shadow: 0 20px 55px rgba(2, 17, 12, .32);
}

.lumora-compare-bar[hidden],
.lumora-compare-modal[hidden] {
    display: none !important;
}

.lumora-compare-bar > span {
    margin-right: auto;
    font-size: .7rem;
}

.lumora-compare-bar button {
    min-height: 40px;
    padding: 7px 13px;
    color: inherit;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 11px;
    cursor: pointer;
    font-size: .68rem;
    font-weight: 720;
}

.lumora-compare-bar [data-compare-clear] {
    width: 40px;
    padding: 0;
    font-size: 1.25rem;
}

.lumora-compare-bar.needs-more {
    animation: lumora-compare-nudge .38s ease 2 alternate;
}

@keyframes lumora-compare-nudge { to { transform: translateX(-7px); } }

.lumora-compare-modal {
    padding: 18px;
    position: fixed;
    z-index: 20050;
    inset: 0;
    display: grid;
    place-items: center;
}

.lumora-compare-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(2, 13, 9, .78);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.lumora-compare-modal__panel {
    width: min(1160px, 100%);
    max-height: calc(100dvh - 36px);
    padding: clamp(22px, 4vw, 44px);
    position: relative;
    overflow: auto;
    background: var(--lumora-surface);
    border-radius: 24px;
    box-shadow: 0 34px 100px rgba(0, 0, 0, .4);
}

.lumora-compare-modal__panel h2 {
    margin: 8px 50px 28px 0;
    font-size: clamp(1.8rem, 4vw, 3.4rem);
    line-height: 1.02;
}

.lumora-compare-modal__close {
    width: 44px;
    height: 44px;
    position: absolute;
    top: 15px;
    right: 15px;
    background: var(--lumora-surface-2);
    border: 1px solid var(--lumora-line);
    border-radius: 50%;
    cursor: pointer;
    font-size: 1.5rem;
}

.lumora-compare-grid {
    min-width: calc(180px + var(--compare-columns) * 180px);
    display: grid;
    grid-template-columns: minmax(145px, .7fr) repeat(var(--compare-columns), minmax(160px, 1fr));
    align-items: stretch;
}

.lumora-compare-grid > * {
    min-width: 0;
    padding: 15px;
    border-bottom: 1px solid var(--lumora-line);
}

.lumora-compare-grid > a {
    display: grid;
    align-content: start;
    gap: 10px;
    text-decoration: none;
}

.lumora-compare-grid img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: contain;
    background: var(--lumora-surface-2);
    border-radius: 11px;
}

.lumora-compare-grid > b {
    color: var(--lumora-muted);
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.lumora-compare-grid > span {
    font-size: .78rem;
    line-height: 1.45;
}

/* Insulation and energy are explanatory sections, not unsupported promises. */
body.lumora-site .lumora-product-insulation-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .72fr);
    gap: clamp(35px, 7vw, 100px);
    align-items: start;
}

body.lumora-site .lumora-product-insulation-lead {
    color: var(--lumora-muted);
    font-size: clamp(1rem, 1.4vw, 1.2rem);
}

body.lumora-site .lumora-product-insulation-facts {
    margin-top: 28px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

body.lumora-site .lumora-product-insulation-facts > div {
    padding: 17px;
    display: grid;
    gap: 5px;
    background: var(--lumora-surface-2);
    border: 1px solid var(--lumora-line);
    border-radius: 13px;
}

body.lumora-site .lumora-product-insulation-facts small,
body.lumora-site .lumora-product-energy-metrics small {
    color: var(--lumora-muted);
    font-size: .64rem;
    line-height: 1.35;
}

body.lumora-site .lumora-product-insulation-layers {
    margin: 26px 0 0;
    padding: 0;
    display: grid;
    gap: 10px;
    list-style: none;
}

body.lumora-site .lumora-product-insulation-layers li {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    line-height: 1.55;
}

body.lumora-site .lumora-product-insulation-layers svg {
    width: 19px;
    height: 19px;
    flex: 0 0 auto;
    color: var(--lumora-accent);
}

body.lumora-site .lumora-product-insulation-visual {
    min-height: 360px;
    padding: 24px;
    display: grid;
    align-content: center;
    gap: 18px;
    background: linear-gradient(145deg, #08271e, #0d4938);
    border-radius: 24px;
    box-shadow: var(--lumora-shadow-lg);
}

body.lumora-site .lumora-product-insulation-visual > img {
    width: 100%;
    max-height: 410px;
    object-fit: contain;
    background: rgba(255, 255, 255, .95);
    border-radius: 15px;
}

body.lumora-site .lumora-product-insulation-visual > span {
    display: grid;
    place-items: center;
    color: #9fe2cf;
}

body.lumora-site .lumora-product-insulation-visual > span svg {
    width: 110px;
    height: 110px;
}

body.lumora-site .lumora-product-insulation-visual p {
    margin: 0;
    display: grid;
    gap: 6px;
    color: rgba(245, 252, 249, .75);
    font-size: .78rem;
    line-height: 1.55;
}

body.lumora-site .lumora-product-insulation-visual strong {
    color: #fff;
}

body.lumora-site .lumora-product-energy-metrics {
    margin: 32px 0 20px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 9px;
}

body.lumora-site .lumora-product-energy-metrics > div {
    min-width: 0;
    min-height: 112px;
    padding: 17px;
    display: grid;
    align-content: center;
    gap: 8px;
    background: var(--lumora-surface);
    border: 1px solid var(--lumora-line);
    border-radius: 15px;
}

body.lumora-site .lumora-product-energy-metrics strong {
    font-size: clamp(1rem, 1.45vw, 1.35rem);
    line-height: 1.15;
    overflow-wrap: anywhere;
}

body.lumora-site .lumora-product-energy-metrics span {
    color: var(--lumora-muted);
    font-size: .6rem;
    line-height: 1.35;
}

body.lumora-site .lumora-product-energy-features {
    margin-bottom: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body.lumora-site .lumora-product-energy-technical {
    margin: 0 0 20px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    background: var(--lumora-line);
    border: 1px solid var(--lumora-line);
    border-radius: 14px;
}

body.lumora-site .lumora-product-energy-technical > div {
    min-width: 0;
    padding: 15px;
    display: grid;
    align-content: center;
    gap: 6px;
    background: var(--lumora-surface);
}

body.lumora-site .lumora-product-energy-technical dt {
    color: var(--lumora-muted);
    font-size: .61rem;
    line-height: 1.35;
}

body.lumora-site .lumora-product-energy-technical dd {
    margin: 0;
    font-size: .76rem;
    font-weight: 720;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

body.lumora-site .lumora-product-winter-note {
    margin-top: 28px;
    padding: 18px;
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    color: #315349;
    background: #eef7f4;
    border: 1px solid rgba(11, 130, 110, .16);
    border-radius: 14px;
}

body.lumora-site .lumora-product-winter-note > svg {
    width: 24px;
    height: 24px;
    color: var(--lumora-accent);
}

body.lumora-site .lumora-product-winter-note p {
    margin: 5px 0 0;
    font-size: .76rem;
    line-height: 1.6;
}

body.lumora-site .lumora-product-energy-features span {
    min-height: 42px;
    padding: 9px 13px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--lumora-surface);
    border: 1px solid var(--lumora-line);
    border-radius: 999px;
    font-size: .7rem;
}

body.lumora-site .lumora-product-energy-features svg {
    width: 17px;
    height: 17px;
    color: var(--lumora-accent);
}

body.lumora-site .lumora-product-heat-loss {
    color: var(--lumora-muted);
    line-height: 1.65;
}

body.lumora-site .lumora-energy-calculator {
    width: min(100%, 1280px);
    margin: clamp(35px, 5vw, 70px) auto 0;
    padding: clamp(22px, 4vw, 48px);
    color: var(--lumora-text);
    background: var(--lumora-surface);
    border: 1px solid var(--lumora-line);
    border-radius: 26px;
    box-shadow: var(--lumora-shadow-sm);
}

body.lumora-site .lumora-energy-calculator__intro {
    max-width: 760px;
    margin-bottom: 28px;
}

body.lumora-site .lumora-energy-calculator__intro h2 {
    margin: .25em 0 .3em;
    font-size: clamp(2rem, 4.5vw, 4.3rem);
    line-height: 1;
    letter-spacing: -.05em;
}

body.lumora-site .lumora-energy-calculator__intro p {
    color: var(--lumora-muted);
}

body.lumora-site .lumora-energy-calculator__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(300px, .62fr);
    gap: clamp(22px, 4vw, 48px);
}

body.lumora-site .lumora-energy-calculator__form {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

body.lumora-site .lumora-energy-field {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: 7px;
}

body.lumora-site .lumora-energy-field--wide {
    grid-column: 1 / -1;
}

body.lumora-site .lumora-energy-field > span {
    color: var(--lumora-muted);
    font-size: .67rem;
    font-weight: 680;
    line-height: 1.35;
}

body.lumora-site .lumora-energy-field :where(input, select) {
    width: 100%;
    min-width: 0;
    min-height: 50px;
    padding: 10px 13px;
    color: var(--lumora-text);
    background: var(--lumora-surface-2);
    border: 1px solid var(--lumora-line);
    border-radius: 11px;
}

body.lumora-site .lumora-energy-results {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

body.lumora-site .lumora-energy-results > div {
    min-width: 0;
    min-height: 115px;
    padding: 16px;
    display: grid;
    align-content: center;
    gap: 4px;
    background: var(--lumora-surface-2);
    border: 1px solid var(--lumora-line);
    border-radius: 14px;
}

body.lumora-site .lumora-energy-results > div.is-accent {
    color: #f4fcf8;
    background: linear-gradient(145deg, #0a382b, #0b7359);
    border-color: transparent;
}

body.lumora-site .lumora-energy-results small {
    color: var(--lumora-muted);
    font-size: .62rem;
    line-height: 1.35;
}

body.lumora-site .lumora-energy-results .is-accent small {
    color: rgba(244, 252, 248, .7);
}

body.lumora-site .lumora-energy-results strong {
    min-width: 0;
    font-size: clamp(1.35rem, 2.7vw, 2.2rem);
    line-height: 1.05;
    overflow-wrap: anywhere;
}

body.lumora-site .lumora-energy-results span {
    font-size: .68rem;
}

body.lumora-site .lumora-energy-results > p {
    grid-column: 1 / -1;
    margin: 8px 0 0;
    color: var(--lumora-muted);
    font-size: .72rem;
    line-height: 1.6;
}

body.lumora-site .lumora-energy-disclaimer {
    margin-top: 24px;
    padding: 17px;
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 12px;
    color: #315349;
    background: #eef7f4;
    border: 1px solid rgba(11, 130, 110, .16);
    border-radius: 14px;
}

body.lumora-site .lumora-energy-disclaimer > svg {
    width: 23px;
    height: 23px;
    color: #0b826e;
}

body.lumora-site .lumora-energy-disclaimer p {
    margin: 5px 0 0;
    font-size: .72rem;
    line-height: 1.6;
}

body.lumora-site .lumora-configurator__save-tools {
    margin-top: 17px;
    display: grid;
    gap: 7px;
}

body.lumora-site .lumora-configurator__save-tools button {
    width: 100%;
    border-radius: 12px;
}

body.lumora-site .lumora-configurator__quick-offer {
    margin-top: 14px;
    display: inline-block;
    color: var(--lumora-accent);
    font-size: .7rem;
    font-weight: 720;
    line-height: 1.45;
}

body.lumora-site .lumora-configurator__save-status {
    min-height: 1.5em;
    margin: 9px 0 0;
    color: var(--lumora-muted);
    font-size: .65rem;
    line-height: 1.45;
}

@media (max-width: 1180px) {
    .lumora-nav-submenu {
        width: 100%;
        margin: 0;
        padding: 0 0 12px 13px;
        list-style: none;
    }

    .lumora-nav__item.has-submenu.submenu-open > .lumora-nav-submenu {
        display: grid;
        gap: 4px;
    }

    .lumora-nav-submenu a {
        min-height: 47px;
        padding: 10px 13px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        color: var(--lumora-text);
        background: var(--lumora-surface-2);
        border: 1px solid var(--lumora-line);
        border-radius: 11px;
        font-size: .78rem;
        font-weight: 670;
        line-height: 1.35;
        text-decoration: none;
    }

    .lumora-nav__item.submenu-open > a .lumora-nav__chevron {
        transform: rotate(180deg);
    }

    .lumora-nav.products-open .lumora-nav__list > li:not(.has-mega),
    .lumora-nav.products-open .lumora-mobile-menu__footer,
    .lumora-nav.products-open .has-mega > a,
    .lumora-nav.products-open .lumora-mega__inner {
        display: none !important;
    }

    .lumora-nav.products-open .has-mega {
        border: 0;
    }

    .lumora-nav.products-open .lumora-mega {
        max-height: none !important;
        overflow: visible !important;
    }

    .lumora-mega-mobile {
        padding: 4px 0 26px;
    }

    .lumora-nav.products-open .lumora-mega-mobile {
        display: block;
    }

    .lumora-mega-mobile__head {
        min-height: 56px;
        position: sticky;
        z-index: 2;
        top: 0;
        display: grid;
        grid-template-columns: minmax(80px, 1fr) auto minmax(44px, 1fr);
        align-items: center;
        gap: 8px;
        background: var(--lumora-surface);
        border-bottom: 1px solid var(--lumora-line);
    }

    .lumora-mega-mobile__head button {
        min-height: 44px;
        padding: 6px 8px;
        display: inline-flex;
        align-items: center;
        gap: 7px;
        color: var(--lumora-text);
        background: transparent;
        border: 0;
        border-radius: 9px;
        cursor: pointer;
        font-size: .7rem;
        font-weight: 700;
    }

    .lumora-mega-mobile__head button:first-child {
        justify-self: start;
    }

    .lumora-mega-mobile__head button:last-child {
        width: 44px;
        justify-self: end;
        justify-content: center;
        font-size: 1.45rem;
    }

    .lumora-mega-mobile__head svg {
        width: 16px;
        transform: rotate(180deg);
    }

    .lumora-mega-mobile__head strong {
        font-size: .85rem;
        text-align: center;
    }

    .lumora-mega-mobile__categories {
        margin-top: 17px;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .lumora-mega-mobile__categories a {
        min-width: 0;
        min-height: 76px;
        padding: 12px;
        display: grid;
        grid-template-columns: 35px minmax(0, 1fr);
        align-items: center;
        gap: 10px;
        color: var(--lumora-text);
        background: var(--lumora-surface-2);
        border: 1px solid var(--lumora-line);
        border-radius: 13px;
        text-decoration: none;
    }

    .lumora-mega-mobile__categories a > span {
        width: 35px;
        height: 35px;
        display: grid;
        place-items: center;
        color: var(--lumora-accent);
        background: color-mix(in srgb, var(--lumora-accent) 9%, var(--lumora-surface));
        border-radius: 50%;
    }

    .lumora-mega-mobile__categories svg {
        width: 17px;
        height: 17px;
    }

    .lumora-mega-mobile__categories strong {
        min-width: 0;
        font-size: .72rem;
        line-height: 1.3;
        overflow-wrap: anywhere;
    }

    .lumora-mega-mobile__models {
        margin-top: 22px;
        display: grid;
        gap: 5px;
    }

    .lumora-mega-mobile__models > small {
        margin-bottom: 5px;
        color: var(--lumora-muted);
        font-size: .62rem;
        font-weight: 780;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .lumora-mega-mobile__models a {
        min-height: 48px;
        padding: 9px 11px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        color: var(--lumora-text);
        border-bottom: 1px solid var(--lumora-line);
        font-size: .72rem;
        line-height: 1.35;
        text-decoration: none;
    }

    .lumora-mega-mobile__models a span {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .lumora-mega-mobile__models a b {
        flex: 0 0 auto;
        color: var(--lumora-accent);
        font-size: .64rem;
    }

    body.lumora-site .lumora-product-insulation-grid,
    body.lumora-site .lumora-energy-calculator__layout {
        grid-template-columns: minmax(0, 1fr);
    }

    body.lumora-site .lumora-product-energy-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.lumora-site .lumora-product-energy-technical {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    body.lumora-site .lumora-product-finish-selector {
        margin-inline: -2px;
        padding-inline: 15px;
    }

    body.lumora-site .lumora-product-finish-track {
        margin-inline: -15px;
        padding: 2px 15px 10px;
        flex-wrap: nowrap;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
    }

    body.lumora-site .lumora-product-finish {
        min-width: min(210px, 72vw);
        flex: 0 0 min(210px, 72vw);
        scroll-snap-align: start;
    }

    body.lumora-site .lumora-product-decision-tools,
    body.lumora-site .lumora-product-card__decision-tools {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.lumora-site :where(.lumora-product-decision-tools, .lumora-product-card__decision-tools) button {
        width: 100%;
        min-height: 44px;
        white-space: normal;
    }

    body.lumora-site .lumora-product-insulation-facts,
    body.lumora-site .lumora-product-energy-metrics,
    body.lumora-site .lumora-product-energy-technical,
    body.lumora-site .lumora-energy-calculator__form,
    body.lumora-site .lumora-energy-results {
        grid-template-columns: minmax(0, 1fr);
    }

    body.lumora-site .lumora-product-insulation-visual {
        min-height: 260px;
        border-radius: 19px;
    }

    body.lumora-site .lumora-product-energy-metrics > div {
        min-height: 82px;
    }

    body.lumora-site .lumora-energy-field--wide,
    body.lumora-site .lumora-energy-results > p {
        grid-column: auto;
    }

    .lumora-compare-bar {
        min-width: 0;
        right: 10px;
        bottom: calc(76px + env(safe-area-inset-bottom));
        left: 10px;
    }

    .lumora-compare-bar > span {
        font-size: .62rem;
    }

    .lumora-compare-modal {
        padding: 7px;
    }

    .lumora-compare-modal__panel {
        max-height: calc(100dvh - 14px);
        padding: 20px 16px;
        border-radius: 17px;
    }

    .lumora-compare-grid {
        min-width: calc(115px + var(--compare-columns) * 142px);
        grid-template-columns: 105px repeat(var(--compare-columns), 132px);
    }

    .lumora-compare-grid > * {
        padding: 10px 8px;
    }
}

@media (max-width: 430px) {
    .lumora-mega-mobile__categories {
        grid-template-columns: minmax(0, 1fr);
    }

    .lumora-mega-mobile__categories a {
        min-height: 61px;
    }

    body.lumora-site .lumora-product-decision-tools,
    body.lumora-site .lumora-product-card__decision-tools {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media print {
    body.lumora-site .lumora-header,
    body.lumora-site .lumora-footer,
    body.lumora-site .lumora-floating-cta,
    body.lumora-site .lumora-sales-bar,
    body.lumora-site .lumora-product-actions,
    body.lumora-site .lumora-product-decision-tools,
    body.lumora-site .lumora-product-gallery-section,
    body.lumora-site .lumora-related-products,
    body.lumora-site .lumora-consent,
    .lumora-compare-bar,
    .lumora-compare-modal {
        display: none !important;
    }

    body.lumora-site,
    body.lumora-site #lumora-main {
        color: #111 !important;
        background: #fff !important;
    }

    body.lumora-site .lumora-section {
        padding-block: 20px;
        break-inside: avoid;
    }
}

@media (prefers-reduced-motion: reduce) {
    .lumora-native-catalog__filters,
    .lumora-native-catalog .lumora-product-card__media img,
    .lumora-product-card__configurator,
    .lumora-configurator__choices span { transition: none !important; }
}

/* =========================================================
   EDITORIAL MANAGED PAGES — 3.4.0
   Stable-random WordPress media, restrained visual hierarchy and reusable
   page components. The homepage and native product catalogue are untouched.
   ========================================================= */

.lumora-editorial-hero,
.lumora-editorial-section,
.lumora-editorial-cta,
.lumora-editorial-hero *,
.lumora-editorial-section *,
.lumora-editorial-cta * { box-sizing: border-box; }

.lumora-editorial-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 86% 12%, rgba(11,130,110,.12), transparent 31%),
        linear-gradient(180deg, #f4f9f6 0%, #fff 100%);
    border-bottom: 1px solid var(--lumora-line);
    isolation: isolate;
}
.lumora-editorial-hero::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -330px;
    right: -230px;
    width: 650px;
    height: 650px;
    border: 1px solid rgba(11,130,110,.08);
    border-radius: 50%;
    box-shadow: 0 0 0 75px rgba(11,130,110,.018), 0 0 0 150px rgba(11,130,110,.012);
    pointer-events: none;
}
.lumora-editorial-hero--dark {
    color: #f6fbf8;
    background:
        radial-gradient(circle at 82% 12%, rgba(11,130,110,.48), transparent 31%),
        linear-gradient(135deg, #071b15 0%, #0d2a22 55%, #082018 100%);
    border-bottom-color: rgba(255,255,255,.1);
}
.lumora-editorial-hero--dark::before { border-color: rgba(255,255,255,.055); box-shadow: 0 0 0 75px rgba(255,255,255,.012), 0 0 0 150px rgba(255,255,255,.008); }
.lumora-editorial-hero__grid {
    min-height: clamp(560px, 69vh, 820px);
    padding-block: clamp(68px, 8vw, 122px);
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(390px, .88fr);
    gap: clamp(46px, 7vw, 110px);
    align-items: center;
}
.lumora-editorial-hero--compact .lumora-editorial-hero__grid { min-height: 520px; }
.lumora-editorial-hero--text-only { padding-block: clamp(80px, 9vw, 138px); }
.lumora-editorial-hero--text-only .lumora-editorial-hero__copy { max-width: 980px; }
.lumora-editorial-hero__copy { position: relative; z-index: 2; max-width: 820px; }
.lumora-editorial-kicker {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    color: var(--lumora-accent);
    font-size: .72rem;
    font-weight: 780;
    line-height: 1;
    letter-spacing: .2em;
    text-transform: uppercase;
}
.lumora-editorial-kicker::before { content: ""; width: 38px; height: 1px; flex: 0 0 auto; background: currentColor; }
.lumora-editorial-hero--dark .lumora-editorial-kicker,
.lumora-editorial-section--dark .lumora-editorial-kicker,
.lumora-editorial-cta .lumora-editorial-kicker { color: #79d6bd; }
.lumora-editorial-hero h1 {
    max-width: 930px;
    margin: .28em 0 0;
    color: var(--lumora-deep);
    font-size: clamp(3rem, 6.2vw, 6.5rem);
    font-weight: 430;
    line-height: .94;
    letter-spacing: -.065em;
    text-wrap: balance;
}
.lumora-editorial-hero--dark h1 { color: #fff; }
.lumora-editorial-hero__copy > p {
    max-width: 760px;
    margin: 28px 0 0;
    color: var(--lumora-muted);
    font-size: clamp(1rem, 1.35vw, 1.2rem);
    line-height: 1.72;
}
.lumora-editorial-hero--dark .lumora-editorial-hero__copy > p { color: rgba(246,251,248,.7); }
.lumora-editorial-actions { margin-top: 34px; display: flex; align-items: center; flex-wrap: wrap; gap: 13px 22px; }
.lumora-editorial-actions .lumora-button {
    color: #fff;
    background: var(--lumora-accent);
    border-color: var(--lumora-accent);
}
.lumora-editorial-actions .lumora-button:hover { color: var(--lumora-accent); background: #fff; }
.lumora-editorial-hero--dark .lumora-text-link { color: #fff; }

.lumora-page-media {
    position: relative;
    min-width: 0;
    width: 100%;
    margin: 0;
    overflow: hidden;
    background: #dfeae5;
    border: 1px solid rgba(11,130,110,.16);
    border-radius: clamp(20px, 2.6vw, 36px);
    box-shadow: 0 28px 80px rgba(7,28,21,.16);
    isolation: isolate;
}
.lumora-page-media--hero { aspect-ratio: 4 / 5; min-height: 500px; }
.lumora-page-media--landscape { aspect-ratio: 4 / 3; }
.lumora-page-media--portrait { aspect-ratio: 4 / 5; }
.lumora-page-media--square { aspect-ratio: 1 / 1; }
.lumora-page-media--wide { aspect-ratio: 16 / 7; }
.lumora-page-media__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none !important;
    display: block;
    object-fit: cover;
    object-position: center;
    transform: scale(1.01);
    transition: transform .9s var(--lumora-ease), filter .45s ease;
}
.lumora-page-media__veil {
    position: absolute;
    z-index: 1;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(7,28,21,.02) 46%, rgba(7,28,21,.22) 100%);
}
.lumora-page-media::after {
    content: "";
    position: absolute;
    z-index: 2;
    top: 18px;
    right: 18px;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 50%;
    background: rgba(11,130,110,.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.lumora-page-media:hover .lumora-page-media__image { filter: saturate(1.04) contrast(1.02); transform: scale(1.045); }

.lumora-editorial-section { position: relative; padding-block: clamp(72px, 8vw, 126px); background: #fff; }
.lumora-editorial-section--soft { background: #f2f7f4; }
.lumora-editorial-section--dark {
    color: #f5faf7;
    background:
        radial-gradient(circle at 87% 15%, rgba(11,130,110,.3), transparent 30%),
        #0d2a22;
}
.lumora-editorial-heading { max-width: 920px; margin-bottom: clamp(38px, 5vw, 68px); }
.lumora-editorial-heading h2,
.lumora-editorial-copy h2,
.lumora-editorial-guide-summary h2 {
    margin: .3em 0 0;
    color: var(--lumora-deep);
    font-size: clamp(2.25rem, 4.7vw, 5rem);
    font-weight: 440;
    line-height: 1;
    letter-spacing: -.055em;
    text-wrap: balance;
}
.lumora-editorial-heading > p,
.lumora-editorial-copy > p,
.lumora-editorial-guide-summary > p {
    max-width: 780px;
    margin: 25px 0 0;
    color: var(--lumora-muted);
    font-size: clamp(1rem, 1.2vw, 1.13rem);
    line-height: 1.72;
}
.lumora-editorial-section--dark h2,
.lumora-editorial-section--dark h3 { color: #fff; }
.lumora-editorial-section--dark .lumora-editorial-copy > p,
.lumora-editorial-section--dark .lumora-editorial-muted { color: rgba(245,250,247,.69); }
.lumora-editorial-split {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(380px, .78fr);
    gap: clamp(48px, 8vw, 126px);
    align-items: center;
}
.lumora-editorial-split--media-left .lumora-page-media { order: -1; }
.lumora-editorial-copy { min-width: 0; }
.lumora-editorial-copy > :first-child { margin-top: 0; }
.lumora-editorial-copy > :last-child { margin-bottom: 0; }
.lumora-editorial-muted { font-size: .9rem !important; }

.lumora-editorial-card-grid { display: grid; gap: 18px; }
.lumora-editorial-card-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lumora-editorial-card-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lumora-editorial-card {
    position: relative;
    min-width: 0;
    min-height: 260px;
    padding: clamp(25px, 3vw, 39px);
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--lumora-line);
    border-radius: 22px;
    box-shadow: 0 12px 34px rgba(9,35,27,.04);
    transition: transform .32s var(--lumora-ease), border-color .25s ease, box-shadow .32s ease;
}
.lumora-editorial-card::after {
    content: "";
    position: absolute;
    right: -70px;
    bottom: -100px;
    width: 190px;
    height: 190px;
    border-radius: 50%;
    background: rgba(11,130,110,.055);
    pointer-events: none;
}
.lumora-editorial-card:hover { transform: translateY(-5px); border-color: rgba(11,130,110,.42); box-shadow: 0 22px 55px rgba(9,35,27,.09); }
.lumora-editorial-card small { color: var(--lumora-accent); font-size: .64rem; font-weight: 780; letter-spacing: .14em; }
.lumora-editorial-card__icon {
    width: 46px;
    height: 46px;
    margin-bottom: 31px;
    display: inline-grid;
    place-items: center;
    color: #fff;
    background: var(--lumora-accent);
    border-radius: 50%;
}
.lumora-editorial-card__icon svg { width: 22px; height: 22px; }
.lumora-editorial-card h3 { margin: 15px 0 0; color: var(--lumora-deep); font-size: clamp(1.35rem, 2vw, 2rem); line-height: 1.08; letter-spacing: -.035em; }
.lumora-editorial-card p { margin: 15px 0 0; color: var(--lumora-muted); font-size: .94rem; line-height: 1.66; }

.lumora-editorial-note {
    margin-top: 28px;
    padding: 20px 23px;
    color: var(--lumora-muted);
    background: rgba(11,130,110,.065);
    border: 1px solid rgba(11,130,110,.19);
    border-radius: 16px;
    font-size: .9rem;
    line-height: 1.62;
}
.lumora-editorial-section--dark .lumora-editorial-note { color: rgba(255,255,255,.72); background: rgba(255,255,255,.055); border-color: rgba(255,255,255,.13); }

.lumora-editorial-process { border-top: 1px solid var(--lumora-line); }
.lumora-editorial-process > article {
    min-height: 128px;
    padding: 24px 0;
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
    border-bottom: 1px solid var(--lumora-line);
}
.lumora-editorial-process > article > b { color: var(--lumora-accent); font-size: .72rem; letter-spacing: .15em; }
.lumora-editorial-process h3 { margin: 0; color: var(--lumora-deep); font-size: clamp(1.35rem, 2.3vw, 2.2rem); line-height: 1.1; letter-spacing: -.035em; }
.lumora-editorial-process p { max-width: 850px; margin: 10px 0 0; color: var(--lumora-muted); line-height: 1.66; }
.lumora-editorial-process--grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-left: 1px solid var(--lumora-line); }
.lumora-editorial-process--grid > article { min-height: 190px; padding: 28px; grid-template-columns: 48px minmax(0, 1fr); border-right: 1px solid var(--lumora-line); }
.lumora-editorial-process--long > article { min-height: 150px; }

.lumora-editorial-check-list { margin: 28px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--lumora-line); }
.lumora-editorial-check-list li { position: relative; min-height: 49px; padding: 12px 0 12px 34px; border-bottom: 1px solid var(--lumora-line); color: inherit; line-height: 1.5; }
.lumora-editorial-check-list li::before {
    content: "✓";
    position: absolute;
    top: 14px;
    left: 0;
    width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--lumora-accent);
    border-radius: 50%;
    font-size: .7rem;
    font-weight: 800;
}
.lumora-editorial-section--dark .lumora-editorial-check-list,
.lumora-editorial-section--dark .lumora-editorial-check-list li { border-color: rgba(255,255,255,.13); }

.lumora-editorial-mini-grid { margin-top: 29px; display: grid; gap: 9px; }
.lumora-editorial-mini-grid span { padding: 14px 16px; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 9px; color: rgba(255,255,255,.78); background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.11); border-radius: 12px; }
.lumora-editorial-mini-grid b { color: #79d6bd; font-size: .72rem; }

.lumora-editorial-compact-list { margin-top: 28px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--lumora-line); border-left: 1px solid var(--lumora-line); }
.lumora-editorial-compact-list p { min-height: 82px; margin: 0; padding: 17px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--lumora-line); border-bottom: 1px solid var(--lumora-line); }
.lumora-editorial-compact-list strong { color: var(--lumora-deep); }
.lumora-editorial-compact-list span { margin-top: 3px; color: var(--lumora-muted); font-size: .82rem; }

.lumora-editorial-guide-layout { display: grid; grid-template-columns: minmax(290px, .42fr) minmax(0, 1fr); gap: clamp(48px, 8vw, 120px); align-items: start; }
.lumora-editorial-guide-summary { position: sticky; top: calc(var(--lumora-header-height) + 35px); }
.lumora-editorial-guide-summary h2 { font-size: clamp(2.2rem, 4vw, 4.3rem); }

.lumora-editorial-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.lumora-editorial-service-grid article { min-height: 88px; padding: 18px 20px; display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid var(--lumora-line); border-radius: 16px; transition: transform .25s var(--lumora-ease), border-color .25s ease; }
.lumora-editorial-service-grid article:hover { transform: translateY(-3px); border-color: rgba(11,130,110,.4); }
.lumora-editorial-service-grid svg { width: 23px; height: 23px; flex: 0 0 23px; color: var(--lumora-accent); }
.lumora-editorial-service-grid span { color: var(--lumora-deep); font-weight: 620; }

.lumora-editorial-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--lumora-line); border-left: 1px solid var(--lumora-line); }
.lumora-editorial-stat-grid article { min-height: 180px; padding: 28px; display: flex; flex-direction: column; justify-content: flex-end; border-right: 1px solid var(--lumora-line); border-bottom: 1px solid var(--lumora-line); }
.lumora-editorial-stat-grid strong { color: var(--lumora-accent); font-size: clamp(2rem, 3.5vw, 4rem); line-height: .95; letter-spacing: -.055em; }
.lumora-editorial-stat-grid span { margin-top: 12px; color: var(--lumora-muted); font-size: .85rem; line-height: 1.45; }

.lumora-contact-layout--editorial { align-items: start; gap: clamp(42px, 7vw, 100px); }
.lumora-contact-layout--editorial .lumora-contact-copy { position: sticky; top: calc(var(--lumora-header-height) + 36px); }
.lumora-editorial-response { margin-top: 28px; padding: 20px; display: grid; gap: 5px; background: #f2f7f4; border: 1px solid var(--lumora-line); border-radius: 15px; }
.lumora-editorial-response strong { color: var(--lumora-deep); }
.lumora-editorial-response span { color: var(--lumora-muted); font-size: .84rem; line-height: 1.55; }

.lumora-editorial-cta {
    padding-block: clamp(58px, 7vw, 96px);
    color: #fff;
    background:
        radial-gradient(circle at 84% 20%, rgba(11,130,110,.43), transparent 32%),
        #071b15;
}
.lumora-editorial-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 38px; }
.lumora-editorial-cta h2 { max-width: 920px; margin: .3em 0 0; color: #fff; font-size: clamp(2rem, 4vw, 4.3rem); line-height: 1.02; letter-spacing: -.05em; }
.lumora-editorial-cta .lumora-button { flex: 0 0 auto; }

.lumora-reference-archive { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-rows: clamp(155px, 14vw, 220px); gap: 13px; }
.lumora-reference-archive__item {
    position: relative;
    grid-column: span 4;
    min-width: 0;
    overflow: hidden;
    background: #e8f0ec;
    border: 1px solid var(--lumora-line);
    border-radius: 18px;
    box-shadow: 0 9px 28px rgba(9,35,27,.045);
    text-decoration: none;
    isolation: isolate;
    transition: transform .33s var(--lumora-ease), box-shadow .33s ease, border-color .25s ease;
}
.lumora-reference-archive__item:nth-child(7n+1),
.lumora-reference-archive__item:nth-child(7n+5) { grid-column: span 8; }
.lumora-reference-archive__item:nth-child(9n+3) { grid-row: span 2; }
.lumora-reference-archive__item:hover { z-index: 2; transform: translateY(-5px); border-color: rgba(11,130,110,.48); box-shadow: 0 25px 60px rgba(9,35,27,.13); }
.lumora-reference-archive__image { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none !important; display: block; object-fit: cover; transition: transform .85s var(--lumora-ease), filter .4s ease; }
.lumora-reference-archive__item:hover .lumora-reference-archive__image { filter: saturate(1.04) contrast(1.02); transform: scale(1.055); }
.lumora-reference-archive__overlay { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; padding: 50px 20px 18px; display: flex; flex-direction: column; color: #fff; background: linear-gradient(180deg, transparent, rgba(5,22,16,.85)); }
.lumora-reference-archive__overlay strong { font-size: 1.15rem; line-height: 1.2; }
.lumora-reference-archive__overlay small { margin-top: 5px; color: rgba(255,255,255,.68); font-size: .68rem; letter-spacing: .07em; text-transform: uppercase; }

@media (max-width: 1180px) {
    .lumora-editorial-card-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lumora-editorial-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lumora-reference-archive__item { grid-column: span 6; }
    .lumora-reference-archive__item:nth-child(7n+1), .lumora-reference-archive__item:nth-child(7n+5) { grid-column: span 6; }
}

@media (max-width: 900px) {
    .lumora-editorial-hero__grid,
    .lumora-editorial-split,
    .lumora-editorial-guide-layout { grid-template-columns: 1fr; }
    .lumora-editorial-hero__grid { min-height: 0; padding-block: 70px; }
    .lumora-editorial-hero__copy { max-width: 860px; }
    .lumora-page-media--hero { min-height: 0; aspect-ratio: 16 / 10; }
    .lumora-editorial-split--media-left .lumora-page-media { order: 0; }
    .lumora-editorial-guide-summary,
    .lumora-contact-layout--editorial .lumora-contact-copy { position: static; }
    .lumora-editorial-card-grid--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lumora-editorial-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
    .lumora-editorial-hero__grid { padding-block: 52px 58px; gap: 34px; }
    .lumora-editorial-hero--text-only { padding-block: 62px; }
    .lumora-editorial-hero h1 { font-size: clamp(2.9rem, 14vw, 4.8rem); line-height: .98; }
    .lumora-editorial-hero__copy > p { margin-top: 21px; font-size: .96rem; }
    .lumora-editorial-actions { margin-top: 27px; display: grid; }
    .lumora-editorial-actions .lumora-button { width: 100%; }
    .lumora-page-media { border-radius: 18px; }
    .lumora-page-media--hero,
    .lumora-page-media--landscape,
    .lumora-page-media--portrait,
    .lumora-page-media--wide { aspect-ratio: 4 / 3; }
    .lumora-editorial-section { padding-block: 64px; }
    .lumora-editorial-heading h2,
    .lumora-editorial-copy h2,
    .lumora-editorial-guide-summary h2 { font-size: clamp(2.15rem, 10.5vw, 3.55rem); }
    .lumora-editorial-card-grid--three,
    .lumora-editorial-card-grid--four,
    .lumora-editorial-service-grid { grid-template-columns: 1fr; }
    .lumora-editorial-card { min-height: 0; padding: 25px 22px; border-radius: 17px; }
    .lumora-editorial-process--grid { grid-template-columns: 1fr; }
    .lumora-editorial-process > article,
    .lumora-editorial-process--grid > article { min-height: 0; padding: 22px 0; grid-template-columns: 48px minmax(0,1fr); border-left: 0; }
    .lumora-editorial-process--grid { border-left: 0; }
    .lumora-editorial-process--grid > article { border-right: 0; }
    .lumora-editorial-process h3 { font-size: 1.45rem; }
    .lumora-editorial-compact-list { grid-template-columns: 1fr; }
    .lumora-editorial-stat-grid { grid-template-columns: 1fr 1fr; }
    .lumora-editorial-stat-grid article { min-height: 130px; padding: 20px 17px; }
    .lumora-editorial-stat-grid strong { font-size: 2.2rem; }
    .lumora-editorial-cta__inner { align-items: flex-start; flex-direction: column; }
    .lumora-editorial-cta .lumora-button { width: 100%; }
    .lumora-reference-archive { grid-template-columns: 1fr; grid-auto-rows: auto; }
    .lumora-reference-archive__item,
    .lumora-reference-archive__item:nth-child(7n+1),
    .lumora-reference-archive__item:nth-child(7n+5) { grid-column: 1; grid-row: auto; aspect-ratio: 4 / 3; border-radius: 15px; }
}

@media (max-width: 420px) {
    .lumora-editorial-stat-grid { grid-template-columns: 1fr; }
}


/* =========================================================
   EDITORIAL LAYOUT SAFETY HOTFIX — 3.4.1
   Prevents wpautop/grid collisions, forces media to fill their cards and
   keeps all calls-to-action visible on every supported viewport.
   ========================================================= */

.lumora-editorial-hero,
.lumora-editorial-section,
.lumora-editorial-cta,
.lumora-cta-section {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
}

.lumora-editorial-hero .lumora-container,
.lumora-editorial-section .lumora-container,
.lumora-editorial-cta .lumora-container,
.lumora-cta-section .lumora-container {
    width: min(100%, var(--lumora-container));
    max-width: 100%;
}

.lumora-editorial-hero__grid,
.lumora-editorial-split,
.lumora-editorial-guide-layout,
.lumora-contact-layout--editorial,
.lumora-editorial-cta__inner,
.lumora-editorial-card-grid,
.lumora-editorial-process,
.lumora-editorial-service-grid,
.lumora-editorial-stat-grid {
    min-width: 0;
    max-width: 100%;
}

.lumora-editorial-hero__grid > *,
.lumora-editorial-split > *,
.lumora-editorial-guide-layout > *,
.lumora-contact-layout--editorial > *,
.lumora-editorial-cta__inner > *,
.lumora-editorial-card-grid > *,
.lumora-editorial-process > *,
.lumora-editorial-service-grid > *,
.lumora-editorial-stat-grid > * {
    min-width: 0;
    max-width: 100%;
}

/* Balanced desktop grids with no hard minimum that can force horizontal overflow. */
.lumora-editorial-hero__grid {
    min-height: clamp(500px, 64vh, 760px);
    grid-template-columns: minmax(0, 1fr) minmax(300px, .78fr);
    gap: clamp(34px, 5.5vw, 88px);
}

.lumora-editorial-hero--compact .lumora-editorial-hero__grid {
    min-height: clamp(440px, 55vh, 620px);
}

.lumora-editorial-split {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(38px, 6.5vw, 96px);
}

.lumora-editorial-guide-layout {
    grid-template-columns: minmax(260px, .4fr) minmax(0, 1fr);
    gap: clamp(38px, 6vw, 88px);
}

.lumora-contact-layout--editorial {
    display: grid !important;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr) !important;
    gap: clamp(38px, 6vw, 88px) !important;
}

/* Keep typography inside its column instead of overflowing into adjacent cards. */
.lumora-editorial-hero h1,
.lumora-editorial-heading h2,
.lumora-editorial-copy h2,
.lumora-editorial-guide-summary h2,
.lumora-editorial-card h3,
.lumora-editorial-process h3,
.lumora-editorial-cta h2 {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
}

.lumora-editorial-hero h1 {
    font-size: clamp(2.85rem, 5.4vw, 5.8rem);
    line-height: .98;
}

.lumora-editorial-heading h2,
.lumora-editorial-copy h2,
.lumora-editorial-guide-summary h2 {
    font-size: clamp(2.1rem, 4.15vw, 4.45rem);
    line-height: 1.03;
}

/* Media wrappers and images always occupy the complete visual card. */
.lumora-page-media {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 260px;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    line-height: 0;
}

.lumora-page-media > picture,
.lumora-page-media > a,
.lumora-page-media > span:not(.lumora-page-media__veil) {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.lumora-page-media__image,
.lumora-page-media > img,
.lumora-page-media > picture > img,
.lumora-page-media > a > img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
}

.lumora-page-media__veil {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

.lumora-page-media--hero { aspect-ratio: 4 / 5; min-height: 460px; }
.lumora-page-media--landscape { aspect-ratio: 4 / 3; min-height: 330px; }
.lumora-page-media--portrait { aspect-ratio: 4 / 5; min-height: 420px; }
.lumora-page-media--square { aspect-ratio: 1 / 1; min-height: 320px; }
.lumora-page-media--wide { aspect-ratio: 16 / 7; min-height: 300px; }

/* Card and process grids stay regular even when text lengths differ. */
.lumora-editorial-card-grid {
    align-items: stretch;
}

.lumora-editorial-card {
    width: 100%;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.lumora-editorial-card p {
    margin-bottom: 0;
}

.lumora-editorial-process--grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lumora-editorial-process > article,
.lumora-editorial-process--grid > article {
    min-width: 0;
}

/* All editorial buttons and text links remain visible and clickable. */
.lumora-editorial-actions,
.lumora-editorial-cta__inner,
.lumora-cta-card {
    position: relative;
    z-index: 4;
}

.lumora-editorial-actions .lumora-button,
.lumora-editorial-cta .lumora-button,
.lumora-editorial-section .lumora-button,
.lumora-cta-section .lumora-button,
.lumora-editorial-actions .lumora-text-link,
.lumora-editorial-section .lumora-text-link {
    position: relative !important;
    z-index: 5 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    pointer-events: auto !important;
    flex-shrink: 0;
    text-decoration: none !important;
}

.lumora-editorial-actions .lumora-button,
.lumora-editorial-actions .lumora-button:visited {
    min-height: 52px;
    padding-inline: 23px;
    color: #fff !important;
    background: #0b826e !important;
    border: 1px solid #0b826e !important;
    box-shadow: 0 12px 30px rgba(11,130,110,.2) !important;
}

.lumora-editorial-actions .lumora-button:hover,
.lumora-editorial-actions .lumora-button:focus-visible {
    color: #0b826e !important;
    background: #fff !important;
    border-color: #fff !important;
}

.lumora-editorial-actions .lumora-text-link,
.lumora-editorial-actions .lumora-text-link:visited {
    min-height: 44px;
    color: #0b826e !important;
}

.lumora-editorial-hero--dark .lumora-editorial-actions .lumora-text-link,
.lumora-editorial-section--dark .lumora-text-link {
    color: #fff !important;
}

.lumora-editorial-cta .lumora-button--light,
.lumora-editorial-section--dark .lumora-button--light,
.lumora-cta-section .lumora-button--light {
    color: #0d2a22 !important;
    background: #fff !important;
    border-color: #fff !important;
}

.lumora-editorial-cta .lumora-button--light:hover,
.lumora-editorial-section--dark .lumora-button--light:hover,
.lumora-cta-section .lumora-button--light:hover {
    color: #fff !important;
    background: #0b826e !important;
    border-color: #0b826e !important;
}

/* Reference images are real media cards and always cover their complete cell. */
.lumora-reference-archive__item {
    min-height: 220px;
}

.lumora-reference-archive__image,
.lumora-reference-archive__item > img,
.lumora-reference-archive__item picture,
.lumora-reference-archive__item picture img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* Form and contact elements cannot overflow their grid column. */
.lumora-contact-layout--editorial .lumora-form,
.lumora-contact-layout--editorial .lumora-contact-copy,
.lumora-contact-layout--editorial input,
.lumora-contact-layout--editorial select,
.lumora-contact-layout--editorial textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

@media (max-width: 1180px) {
    .lumora-editorial-card-grid--four {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* --------------------------------------------------------------------------
   Lumora 3.5 guided configurator
   -------------------------------------------------------------------------- */
.lumora-configurator__progress {
    margin: 0 0 24px;
    padding: 8px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    background: rgba(255, 255, 255, .78);
    border: 1px solid var(--lumora-line);
    border-radius: 18px;
    box-shadow: var(--lumora-shadow-sm);
    backdrop-filter: blur(18px);
}
.lumora-configurator__progress button {
    min-width: 0;
    min-height: 58px;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #587068;
    background: transparent;
    border: 0;
    border-radius: 12px;
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.lumora-configurator__progress button > span {
    width: 29px;
    height: 29px;
    flex: 0 0 29px;
    display: grid;
    place-items: center;
    color: #436158;
    background: #eaf1ee;
    border-radius: 50%;
    font-size: .66rem;
    font-weight: 800;
}
.lumora-configurator__progress button strong {
    min-width: 0;
    overflow: hidden;
    font-size: .74rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.lumora-configurator__progress button[aria-current="step"] {
    color: #fff;
    background: #0d2a22;
}
.lumora-configurator__progress button[aria-current="step"] > span {
    color: #0d2a22;
    background: #91ddc8;
}
.lumora-configurator__progress button.is-complete > span {
    color: #fff;
    background: #0b826e;
}
.lumora-configurator__form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 350px);
    gap: clamp(18px, 3vw, 32px);
    align-items: start;
}
.lumora-configurator__panels {
    min-width: 0;
}
.lumora-configurator fieldset {
    min-width: 0;
    padding: clamp(24px, 4vw, 46px);
}
.lumora-configurator fieldset[hidden] {
    display: none !important;
}
.lumora-configurator legend {
    max-width: calc(100% - 20px);
    display: flex;
    align-items: center;
    gap: 13px;
}
.lumora-configurator legend > span {
    color: #0b826e;
    font-size: .72rem;
    font-weight: 820;
    letter-spacing: .1em;
}
.lumora-configurator fieldset > p {
    max-width: 760px;
    margin: 0 0 26px;
    color: var(--lumora-muted);
}
.lumora-configurator__models {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 11px;
}
.lumora-configurator__model {
    min-width: 0;
    position: relative;
    overflow: hidden;
    background: #f6f9f8;
    border: 1px solid rgba(13, 42, 34, .13);
    border-radius: 15px;
    cursor: pointer;
    transition: transform .25s var(--lumora-ease), border-color .25s ease, box-shadow .25s ease;
}
.lumora-configurator__model:hover {
    transform: translateY(-3px);
    border-color: rgba(11, 130, 110, .42);
    box-shadow: 0 14px 35px rgba(7, 35, 27, .09);
}
.lumora-configurator__model > input {
    position: absolute;
    opacity: 0;
}
.lumora-configurator__model-media {
    aspect-ratio: 1.18 / 1;
    display: grid;
    place-items: center;
    overflow: hidden;
    color: #7d968e;
    background: #eaf1ee;
}
.lumora-configurator__model-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
.lumora-configurator__model-media svg {
    width: 48px;
    height: 48px;
}
.lumora-configurator__model-copy {
    min-height: 112px;
    padding: 14px;
    display: flex;
    flex-direction: column;
}
.lumora-configurator__model-copy small {
    color: #0b826e;
    font-size: .58rem;
    font-weight: 780;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.lumora-configurator__model-copy strong {
    margin-top: 5px;
    color: #0d2a22;
    font-size: .94rem;
}
.lumora-configurator__model-copy em {
    margin-top: auto;
    padding-top: 11px;
    color: #587068;
    font-size: .69rem;
    font-style: normal;
}
.lumora-configurator__model > i {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 27px;
    height: 27px;
    display: grid;
    place-items: center;
    color: transparent;
    background: rgba(255, 255, 255, .84);
    border: 1px solid rgba(13, 42, 34, .14);
    border-radius: 50%;
    font-size: .7rem;
    font-style: normal;
    backdrop-filter: blur(8px);
}
.lumora-configurator__model > input:checked ~ i {
    color: #fff;
    background: #0b826e;
    border-color: #0b826e;
}
.lumora-configurator__model:has(input:checked) {
    background: #f0faf6;
    border-color: #0b826e;
    box-shadow: 0 0 0 3px rgba(11, 130, 110, .09);
}
.lumora-configurator__model:has(input:focus-visible) {
    outline: 3px solid rgba(11, 130, 110, .17);
    outline-offset: 2px;
}
.lumora-configurator__question + .lumora-configurator__question {
    margin-top: 31px;
    padding-top: 29px;
    border-top: 1px solid var(--lumora-line);
}
.lumora-configurator__question h2,
.lumora-configurator__final h2,
.lumora-configurator__final-summary h2 {
    margin: 0 0 14px;
    color: #0d2a22;
    font-size: 1rem;
    letter-spacing: -.02em;
}
.lumora-configurator__extras {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.lumora-configurator__extras > label {
    min-width: 0;
    min-height: 94px;
    padding: 15px;
    position: relative;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 25px;
    gap: 12px;
    align-items: center;
    background: #f7faf8;
    border: 1px solid rgba(13, 42, 34, .12);
    border-radius: 14px;
    cursor: pointer;
}
.lumora-configurator__extras input {
    position: absolute;
    opacity: 0;
}
.lumora-configurator__extra-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    color: #0b826e;
    background: #e8f4ef;
    border-radius: 12px;
}
.lumora-configurator__extra-icon svg {
    width: 21px;
    height: 21px;
}
.lumora-configurator__extras strong,
.lumora-configurator__extras small {
    display: block;
}
.lumora-configurator__extras strong {
    color: #173e33;
    font-size: .78rem;
    line-height: 1.35;
}
.lumora-configurator__extras small {
    margin-top: 5px;
    color: #6a8179;
    font-size: .64rem;
}
.lumora-configurator__extras > label > i {
    width: 25px;
    height: 25px;
    display: grid;
    place-items: center;
    color: transparent;
    background: #fff;
    border: 1px solid rgba(13, 42, 34, .16);
    border-radius: 7px;
    font-size: .68rem;
    font-style: normal;
}
.lumora-configurator__extras > label:has(input:checked) {
    background: #eef9f4;
    border-color: #0b826e;
}
.lumora-configurator__extras input:checked ~ i {
    color: #fff;
    background: #0b826e;
    border-color: #0b826e;
}
.lumora-configurator__extras > label:has(input:focus-visible) {
    outline: 3px solid rgba(11, 130, 110, .17);
    outline-offset: 2px;
}
.lumora-configurator__final {
    display: grid;
    gap: 30px;
}
.lumora-configurator__final-summary {
    padding: 20px;
    background: #f5f8f7;
    border: 1px solid var(--lumora-line);
    border-radius: 14px;
}
.lumora-configurator__final-summary ul {
    margin: 0;
    padding: 0;
    display: grid;
    gap: 8px;
    list-style: none;
}
.lumora-configurator__final-summary li {
    padding-bottom: 8px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    color: #60776f;
    border-bottom: 1px solid rgba(13, 42, 34, .08);
    font-size: .72rem;
}
.lumora-configurator__final-summary li:last-child {
    padding-bottom: 0;
    border: 0;
}
.lumora-configurator__final-summary li strong {
    color: #173e33;
    text-align: right;
}
.lumora-configurator__notice {
    margin: 22px 0 0 !important;
    padding: 15px 17px;
    color: #5f756e !important;
    background: #fff8e7;
    border: 1px solid #eedba9;
    border-radius: 12px;
    font-size: .7rem;
    line-height: 1.55;
}
.lumora-configurator__navigation {
    margin-top: 30px;
    padding-top: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-top: 1px solid var(--lumora-line);
}
.lumora-configurator__error {
    margin: 13px 0 0 !important;
    color: #9a3d35 !important;
    font-size: .73rem;
    font-weight: 700;
}
.lumora-configurator fieldset.has-error {
    border-color: rgba(154, 61, 53, .55);
    box-shadow: 0 0 0 4px rgba(154, 61, 53, .06);
}
.lumora-configurator__estimate {
    padding: 25px;
    position: sticky;
    top: calc(var(--lumora-header-height, 88px) + 22px);
    overflow: hidden;
    color: rgba(255, 255, 255, .72);
    background: radial-gradient(circle at 90% 0, rgba(88, 209, 176, .18), transparent 35%), #0d2a22;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 18px;
    box-shadow: 0 25px 60px rgba(7, 24, 19, .18);
}
body.admin-bar .lumora-configurator__estimate {
    top: calc(var(--lumora-header-height, 88px) + 54px);
}
.lumora-configurator__estimate > span {
    display: block;
    color: #91ddc8;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .11em;
}
.lumora-configurator__estimate > strong {
    margin-top: 12px;
    display: block;
    color: #fff;
    font-size: clamp(1.65rem, 3vw, 2.35rem);
    line-height: 1;
    letter-spacing: -.045em;
}
.lumora-configurator__estimate > small {
    margin-top: 9px;
    display: block;
    font-size: .66rem;
    line-height: 1.5;
}
.lumora-configurator__estimate-model,
.lumora-configurator__estimate-count {
    margin-top: 24px;
    padding-top: 15px;
    display: flex;
    justify-content: space-between;
    gap: 15px;
    border-top: 1px solid rgba(255, 255, 255, .11);
    font-size: .69rem;
}
.lumora-configurator__estimate-model b,
.lumora-configurator__estimate-count b {
    color: #fff;
    text-align: right;
}
.lumora-configurator__estimate-bar {
    height: 5px;
    margin-top: 23px;
    overflow: hidden;
    background: rgba(255, 255, 255, .11);
    border-radius: 999px;
}
.lumora-configurator__estimate-bar i {
    width: 25%;
    height: 100%;
    display: block;
    background: linear-gradient(90deg, #91ddc8, #e3c871);
    border-radius: inherit;
    transition: width .35s var(--lumora-ease);
}
.lumora-configurator__empty {
    padding: 30px;
    color: var(--lumora-muted);
    background: #f5f8f7;
    border: 1px dashed rgba(13, 42, 34, .22);
    border-radius: 14px;
    text-align: center;
}

/* Reusable purchase journey on product pages. */
.lumora-purchase-process {
    color: #eaf4f0;
    background: radial-gradient(circle at 88% 5%, rgba(91, 205, 174, .16), transparent 30%), #0d2a22;
}
.lumora-purchase-process .lumora-section-heading h2 {
    color: #fff;
}
.lumora-purchase-process .lumora-section-heading > p {
    max-width: 720px;
    color: rgba(255, 255, 255, .65);
}
.lumora-purchase-process__grid {
    margin-top: 38px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 20px;
}
.lumora-purchase-process__grid article {
    min-height: 255px;
    padding: clamp(24px, 3vw, 36px);
    position: relative;
    background: rgba(10, 35, 28, .94);
}
.lumora-purchase-process__grid article > span {
    width: 49px;
    height: 49px;
    display: grid;
    place-items: center;
    color: #91ddc8;
    background: rgba(145, 221, 200, .09);
    border: 1px solid rgba(145, 221, 200, .16);
    border-radius: 14px;
}
.lumora-purchase-process__grid svg {
    width: 24px;
    height: 24px;
}
.lumora-purchase-process__grid small {
    position: absolute;
    top: 27px;
    right: 27px;
    color: rgba(255, 255, 255, .28);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .1em;
}
.lumora-purchase-process__grid h3 {
    margin: 40px 0 10px;
    color: #fff;
    font-size: 1.1rem;
}
.lumora-purchase-process__grid p {
    margin: 0;
    color: rgba(255, 255, 255, .6);
    font-size: .75rem;
    line-height: 1.6;
}
.lumora-related-products .lumora-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Product and reference lightbox. */
html.lumora-lightbox-open,
body.lumora-lightbox-open {
    overflow: hidden !important;
}
.lumora-lightbox[hidden] {
    display: none !important;
}
.lumora-lightbox {
    position: fixed;
    z-index: 100000;
    inset: 0;
    padding: clamp(18px, 4vw, 54px);
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) 54px;
    align-items: center;
    gap: clamp(8px, 2vw, 22px);
    color: #fff;
    background: rgba(2, 8, 6, .94);
    backdrop-filter: blur(18px);
}
.lumora-lightbox figure {
    min-width: 0;
    max-width: min(1300px, 100%);
    max-height: calc(100dvh - 70px);
    margin: auto;
    display: grid;
    justify-items: center;
    gap: 12px;
}
.lumora-lightbox img {
    max-width: 100%;
    max-height: calc(100dvh - 115px);
    display: block;
    object-fit: contain;
    border-radius: 12px;
    box-shadow: 0 25px 80px rgba(0, 0, 0, .35);
}
.lumora-lightbox figcaption {
    color: rgba(255, 255, 255, .66);
    font-size: .7rem;
    text-align: center;
}
.lumora-lightbox button {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    color: #fff;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 50%;
    font: inherit;
    font-size: 1.8rem;
    cursor: pointer;
}
.lumora-lightbox button:hover,
.lumora-lightbox button:focus-visible {
    color: #0d2a22;
    background: #91ddc8;
    border-color: #91ddc8;
}
.lumora-lightbox__close {
    position: absolute;
    top: max(16px, env(safe-area-inset-top));
    right: max(16px, env(safe-area-inset-right));
}

@media (max-width: 1000px) {
    .lumora-configurator__models {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .lumora-configurator__form {
        grid-template-columns: minmax(0, 1fr) 270px;
    }
    .lumora-purchase-process__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 820px) {
    .lumora-configurator__form {
        grid-template-columns: minmax(0, 1fr);
    }
    .lumora-configurator__estimate {
        position: static;
        grid-row: 1;
    }
    body.admin-bar .lumora-configurator__estimate {
        top: auto;
    }
}
@media (max-width: 620px) {
    .lumora-configurator {
        padding-block: 52px 75px;
    }
    .lumora-configurator__header {
        margin-bottom: 28px;
    }
    .lumora-configurator__progress {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
    }
    .lumora-configurator__progress button {
        min-width: 135px;
        scroll-snap-align: start;
    }
    .lumora-configurator fieldset {
        padding: 22px 17px;
        border-radius: 15px;
    }
    .lumora-configurator__models,
    .lumora-configurator__extras {
        grid-template-columns: minmax(0, 1fr);
    }
    .lumora-configurator__model {
        display: grid;
        grid-template-columns: 105px minmax(0, 1fr);
    }
    .lumora-configurator__model-media {
        aspect-ratio: auto;
        min-height: 118px;
    }
    .lumora-configurator__model-copy {
        min-height: 118px;
    }
    .lumora-configurator__navigation {
        align-items: stretch;
        flex-direction: column-reverse;
    }
    .lumora-configurator__navigation > span {
        display: none;
    }
    .lumora-configurator__navigation .lumora-button {
        width: 100%;
    }
    .lumora-configurator__final-summary li {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }
    .lumora-configurator__final-summary li strong {
        text-align: left;
    }
    .lumora-purchase-process__grid,
    .lumora-related-products .lumora-product-grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .lumora-purchase-process__grid article {
        min-height: 220px;
    }
    .lumora-lightbox {
        padding: 65px 10px 20px;
        grid-template-columns: 42px minmax(0, 1fr) 42px;
        gap: 4px;
    }
    .lumora-lightbox button {
        width: 39px;
        height: 39px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .lumora-configurator__model,
    .lumora-configurator__estimate-bar i {
        transition: none !important;
    }
}

@media (max-width: 1024px) {
    .lumora-editorial-hero__grid,
    .lumora-editorial-split,
    .lumora-editorial-guide-layout,
    .lumora-contact-layout--editorial {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .lumora-editorial-hero__grid {
        min-height: 0;
        padding-block: 66px;
    }

    .lumora-editorial-guide-summary,
    .lumora-contact-layout--editorial .lumora-contact-copy {
        position: static !important;
        top: auto !important;
    }

    .lumora-page-media--hero,
    .lumora-page-media--portrait {
        aspect-ratio: 16 / 10;
        min-height: 360px;
    }

    .lumora-editorial-card-grid--three,
    .lumora-editorial-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .lumora-editorial-hero__grid {
        padding-block: 48px 58px;
        gap: 31px;
    }

    .lumora-editorial-hero h1 {
        font-size: clamp(2.65rem, 13vw, 4.25rem);
        line-height: 1;
    }

    .lumora-editorial-heading h2,
    .lumora-editorial-copy h2,
    .lumora-editorial-guide-summary h2,
    .lumora-editorial-cta h2 {
        font-size: clamp(2rem, 9.5vw, 3.35rem);
        line-height: 1.04;
    }

    .lumora-editorial-section {
        padding-block: 58px;
    }

    .lumora-editorial-card-grid--three,
    .lumora-editorial-card-grid--four,
    .lumora-editorial-service-grid,
    .lumora-editorial-process--grid,
    .lumora-editorial-stat-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .lumora-page-media--hero,
    .lumora-page-media--landscape,
    .lumora-page-media--portrait,
    .lumora-page-media--square,
    .lumora-page-media--wide {
        aspect-ratio: 4 / 3;
        min-height: 250px;
        border-radius: 17px;
    }

    .lumora-editorial-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    .lumora-editorial-actions .lumora-button,
    .lumora-editorial-actions .lumora-text-link,
    .lumora-editorial-cta .lumora-button,
    .lumora-cta-section .lumora-button {
        width: 100% !important;
        max-width: 100% !important;
    }

    .lumora-editorial-cta__inner,
    .lumora-cta-card {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .lumora-reference-archive {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-rows: auto !important;
    }

    .lumora-reference-archive__item,
    .lumora-reference-archive__item:nth-child(n) {
        grid-column: 1 !important;
        grid-row: auto !important;
        min-height: 0;
        aspect-ratio: 4 / 3;
    }
}


/* =========================================================
   FRONTEND EXPERIENCE & RESPONSIVE STABILITY — 3.6.0
   Final, intentionally scoped layer for consistent buttons, readable grids,
   richer decision support and collision-free layouts.
   ========================================================= */

body.lumora-site {
    --lumora-focus: rgba(11, 130, 110, .26);
    --lumora-card-line: rgba(13, 42, 34, .12);
    --lumora-card-shadow: 0 18px 55px rgba(7, 28, 21, .08);
}

body.lumora-site .lumora-main,
body.lumora-site .lumora-main > *,
body.lumora-site :where(
    .lumora-section,
    .lumora-editorial-section,
    .lumora-editorial-hero,
    .lumora-editorial-cta,
    .lumora-cta-section,
    .lumora-product-hero,
    .lumora-native-catalog,
    .lumora-configurator,
    .lumora-footer
) {
    width: 100%;
    max-width: 100%;
}

body.lumora-site :where(
    .lumora-container,
    .lumora-header__inner,
    .lumora-footer__grid,
    .lumora-product-grid,
    .lumora-product-hero__grid,
    .lumora-native-catalog__hero-grid,
    .lumora-native-catalog__layout,
    .lumora-editorial-hero__grid,
    .lumora-editorial-split,
    .lumora-editorial-guide-layout,
    .lumora-contact-layout,
    .lumora-cta-card,
    .lumora-footer__assurance
) {
    min-width: 0;
}

body.lumora-site :where(
    .lumora-product-grid,
    .lumora-product-hero__grid,
    .lumora-native-catalog__hero-grid,
    .lumora-native-catalog__layout,
    .lumora-editorial-hero__grid,
    .lumora-editorial-split,
    .lumora-editorial-guide-layout,
    .lumora-contact-layout,
    .lumora-editorial-card-grid,
    .lumora-editorial-process,
    .lumora-purchase-process__grid,
    .lumora-footer__grid,
    .lumora-footer__assurance
) > * {
    min-width: 0;
    max-width: 100%;
}

body.lumora-site :where(h1, h2, h3, h4, p, li, strong, span, a) {
    overflow-wrap: break-word;
}

body.lumora-site :where(img, video, iframe, svg) {
    max-width: 100%;
}

body.lumora-site :where(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid var(--lumora-focus);
    outline-offset: 3px;
}

/* One reliable button system. Text remains visible even when a theme adds
   visited-link colors, fixed line heights or transparent text fills. */
body.lumora-site :where(a.lumora-button, button.lumora-button),
body.lumora-site :where(a.lumora-button, button.lumora-button):visited {
    width: auto;
    max-width: 100%;
    min-height: 52px;
    padding: 12px 24px;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    gap: 10px;
    overflow: visible;
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    background: linear-gradient(135deg, #0b8b75 0%, #086d5d 100%) !important;
    border: 1px solid #08715f !important;
    border-radius: 999px;
    box-shadow: 0 12px 34px rgba(7, 100, 83, .22);
    font-size: clamp(.76rem, .9vw, .84rem);
    font-weight: 780;
    letter-spacing: .025em;
    line-height: 1.25;
    text-align: center;
    text-decoration: none !important;
    white-space: normal;
    opacity: 1 !important;
    isolation: isolate;
}

body.lumora-site :where(a.lumora-button, button.lumora-button) svg {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
}

body.lumora-site :where(a.lumora-button, button.lumora-button):hover,
body.lumora-site :where(a.lumora-button, button.lumora-button):focus-visible {
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    background: linear-gradient(135deg, #0c977f 0%, #075f52 100%) !important;
    box-shadow: 0 18px 42px rgba(7, 100, 83, .29);
}

body.lumora-site :where(.lumora-button--light, a.lumora-button--light),
body.lumora-site :where(.lumora-button--light, a.lumora-button--light):visited {
    color: #0d2a22 !important;
    -webkit-text-fill-color: #0d2a22;
    background: #fff !important;
    border-color: rgba(255, 255, 255, .92) !important;
    box-shadow: 0 16px 42px rgba(0, 0, 0, .17);
}

body.lumora-site :where(.lumora-button--light, a.lumora-button--light):hover,
body.lumora-site :where(.lumora-button--light, a.lumora-button--light):focus-visible {
    color: #0b725f !important;
    -webkit-text-fill-color: #0b725f;
    background: #f4fffb !important;
    border-color: #f4fffb !important;
}

body.lumora-site :where(.lumora-button--outline, a.lumora-button--outline),
body.lumora-site :where(.lumora-button--outline, a.lumora-button--outline):visited {
    color: #0b725f !important;
    -webkit-text-fill-color: #0b725f;
    background: transparent !important;
    border-color: rgba(11, 130, 110, .48) !important;
    box-shadow: none;
}

body.lumora-site :where(.lumora-button--outline, a.lumora-button--outline):hover,
body.lumora-site :where(.lumora-button--outline, a.lumora-button--outline):focus-visible {
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    background: #0b826e !important;
    border-color: #0b826e !important;
}

body.lumora-site :where(.lumora-button--glass, a.lumora-button--glass),
body.lumora-site :where(.lumora-button--glass, a.lumora-button--glass):visited {
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    background: rgba(255, 255, 255, .1) !important;
    border-color: rgba(255, 255, 255, .48) !important;
    box-shadow: none;
}

body.lumora-site .lumora-text-link,
body.lumora-site .lumora-text-link:visited {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    color: #0b725f;
    font-weight: 760;
    line-height: 1.35;
    text-decoration: none;
}

body.lumora-site .lumora-text-link:hover {
    color: #075a4c;
    text-decoration: underline;
}

/* Shared section rhythm and readable headings. */
body.lumora-site .lumora-section-heading {
    max-width: 880px;
    margin: 0 0 clamp(34px, 5vw, 66px);
}

body.lumora-site .lumora-section-heading h2 {
    max-width: 850px;
    margin: .2em 0 0;
    font-size: clamp(2.15rem, 4.7vw, 5rem);
    font-weight: 480;
    line-height: .98;
    letter-spacing: -.055em;
    text-wrap: balance;
}

body.lumora-site .lumora-section-heading > p {
    max-width: 760px;
    margin: 20px 0 0;
    color: var(--lumora-muted);
    font-size: clamp(.96rem, 1.2vw, 1.1rem);
}

/* Catalogue: more decision support without changing the page's stored HTML. */
body.lumora-site .lumora-native-catalog__hero-grid {
    min-height: 470px;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 270px);
    align-items: center;
}

body.lumora-site .lumora-native-catalog__hero h1 {
    max-width: 850px;
    font-size: clamp(3.15rem, 6.4vw, 6.6rem);
    text-wrap: balance;
}

body.lumora-site .lumora-catalog-assurance {
    max-width: 880px;
    margin-top: 27px;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

body.lumora-site .lumora-catalog-assurance > span {
    min-height: 42px;
    padding: 9px 13px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #264a3f;
    background: rgba(255, 255, 255, .78);
    border: 1px solid rgba(11, 130, 110, .16);
    border-radius: 999px;
    box-shadow: 0 8px 25px rgba(7, 28, 21, .04);
    font-size: .7rem;
}

body.lumora-site .lumora-catalog-assurance svg {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    color: #0b826e;
}

body.lumora-site .lumora-catalog-assurance b {
    font-weight: 720;
}

body.lumora-site .lumora-catalog-hero-actions {
    margin-top: 22px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 20px;
}

body.lumora-site .lumora-native-catalog__hero-stat {
    min-height: 205px;
    position: relative;
    overflow: hidden;
    justify-content: center;
    background: rgba(255, 255, 255, .82);
    box-shadow: var(--lumora-card-shadow);
}

body.lumora-site .lumora-native-catalog__hero-stat::before {
    content: "";
    position: absolute;
    width: 130px;
    height: 130px;
    top: -70px;
    right: -55px;
    background: radial-gradient(circle, rgba(11, 130, 110, .2), transparent 70%);
    border-radius: 50%;
}

body.lumora-site .lumora-native-catalog__hero-stat small {
    margin-top: 16px;
    display: block;
    color: var(--catalog-muted);
    font-size: .72rem;
    line-height: 1.55;
}

body.lumora-site .lumora-native-catalog__toolbar {
    min-width: 0;
    box-shadow: 0 14px 42px rgba(7, 28, 21, .07);
}

body.lumora-site .lumora-native-catalog__search,
body.lumora-site .lumora-native-catalog__sort,
body.lumora-site .lumora-native-catalog__sort select {
    min-width: 0;
    max-width: 100%;
}

body.lumora-site .lumora-native-catalog :where(button, select, input) {
    opacity: 1;
}

body.lumora-site .lumora-native-catalog :where(
    .lumora-native-catalog__filter-open,
    .lumora-native-catalog__filter-footer button,
    .lumora-native-catalog__empty button
) {
    color: #fff;
    -webkit-text-fill-color: #fff;
}

body.lumora-site .lumora-native-catalog .lumora-product-card {
    min-width: 0;
}

body.lumora-site .lumora-native-catalog .lumora-product-card__body {
    min-height: 0;
}

body.lumora-site .lumora-product-card__body {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

body.lumora-site .lumora-product-card h3,
body.lumora-site .lumora-product-card h3 a {
    max-width: 100%;
}

body.lumora-site .lumora-product-card__energy {
    min-width: 0;
}

body.lumora-site .lumora-product-card__configurator,
body.lumora-site .lumora-product-card__configurator:visited {
    width: 100%;
    max-width: 100%;
    min-height: 44px;
    padding: 10px 15px;
    color: #0b725f;
    -webkit-text-fill-color: #0b725f;
    line-height: 1.25;
    text-align: center;
    white-space: normal;
}

body.lumora-site .lumora-product-card__configurator:hover,
body.lumora-site .lumora-product-card__configurator:focus-visible {
    color: #fff;
    -webkit-text-fill-color: #fff;
}

body.lumora-site .lumora-product-card__footer {
    min-width: 0;
    margin-top: auto !important;
    align-items: center;
}

body.lumora-site .lumora-product-card__footer > strong {
    min-width: 0;
    line-height: 1.25;
}

body.lumora-site .lumora-product-card__details,
body.lumora-site .lumora-product-card__details:visited {
    width: auto !important;
    min-width: 43px;
    min-height: 43px;
    height: auto !important;
    padding: 9px 13px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    gap: 7px;
    color: #0d2a22;
    -webkit-text-fill-color: #0d2a22;
    background: #fff;
    border: 1px solid rgba(13, 42, 34, .15) !important;
    border-radius: 999px !important;
    font-size: .68rem;
    font-weight: 760;
    line-height: 1.1;
    text-decoration: none;
}

body.lumora-site .lumora-product-card__details:hover,
body.lumora-site .lumora-product-card__details:focus-visible {
    color: #fff;
    -webkit-text-fill-color: #fff;
    background: #0b826e;
    border-color: #0b826e !important;
}

/* Product detail: stable hero, useful reassurance and readable data. */
body.lumora-site .lumora-product-hero__grid {
    grid-template-columns: minmax(0, 1.06fr) minmax(340px, .88fr);
}

body.lumora-site .lumora-product-hero__media {
    min-width: 0;
    min-height: 520px;
    position: relative;
}

body.lumora-site .lumora-product-hero h1 {
    max-width: 100%;
    font-size: clamp(3rem, 5.8vw, 6.5rem);
    line-height: .94;
    text-wrap: balance;
}

body.lumora-site .lumora-product-specs {
    min-width: 0;
}

body.lumora-site .lumora-product-specs div,
body.lumora-site .lumora-product-technical-table > div {
    min-width: 0;
}

body.lumora-site .lumora-product-specs strong,
body.lumora-site .lumora-product-technical-table :where(strong, span) {
    overflow-wrap: anywhere;
}

body.lumora-site .lumora-product-actions {
    align-items: stretch;
}

body.lumora-site .lumora-product-actions .lumora-button {
    min-width: min(100%, 185px);
}

body.lumora-site .lumora-product-confidence {
    margin-top: 28px;
    padding-top: 22px;
    display: grid;
    gap: 10px;
    border-top: 1px solid var(--lumora-line);
}

body.lumora-site .lumora-product-confidence > span {
    min-width: 0;
    display: grid;
    grid-template-columns: 25px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    color: #49645b;
    font-size: .72rem;
    line-height: 1.45;
}

body.lumora-site .lumora-product-confidence svg {
    width: 20px;
    height: 20px;
    color: #0b826e;
}

body.lumora-site .lumora-product-confidence b {
    font-weight: 650;
}

body.lumora-site .lumora-product-package-section {
  background:linear-gradient(180deg,#f7faf9 0%,#fff 100%);
}
body.lumora-site .lumora-product-package-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(16px,2vw,24px);
}
body.lumora-site .lumora-product-package-card {
  min-width:0;
  padding:clamp(22px,3vw,34px);
  border:1px solid rgba(19,54,49,.12);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 50px rgba(16,48,43,.07);
}
body.lumora-site .lumora-product-package-card--primary {
  background:linear-gradient(145deg,#103b35,#17665a);
  color:#fff;
  border-color:transparent;
}
body.lumora-site .lumora-product-package-card h3 {margin:0 0 16px;font-size:clamp(1.15rem,2vw,1.45rem)}
body.lumora-site .lumora-product-package-card p {margin:0 0 12px;color:#50615d;line-height:1.7}
body.lumora-site .lumora-product-package-card p:last-child {margin-bottom:0}
body.lumora-site .lumora-product-package-card ul {display:grid;gap:12px;margin:0;padding:0;list-style:none}
body.lumora-site .lumora-product-package-card li {display:flex;gap:10px;align-items:flex-start;line-height:1.55}
body.lumora-site .lumora-product-package-card li svg {width:20px;height:20px;flex:0 0 20px;color:#a6ead5}
body.lumora-site .lumora-product-package-card--primary p {color:rgba(255,255,255,.8)}

@media (max-width:760px) {
  body.lumora-site .lumora-product-package-grid {grid-template-columns:1fr}
  body.lumora-site .lumora-product-package-card {border-radius:19px;padding:21px}
}

body.lumora-site .lumora-product-gallery {
    min-width: 0;
}

body.lumora-site .lumora-product-gallery > a {
    min-width: 0;
}

/* 3.8 content-rich image stories and practical ownership guidance. */
.lumora-media-mosaic {
    position: relative;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-auto-rows: clamp(180px, 18vw, 255px);
    gap: clamp(10px, 1.2vw, 18px);
    margin-top: clamp(28px, 4vw, 54px);
}
.lumora-media-mosaic figure {
    position: relative;
    grid-column: span 5;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border-radius: clamp(18px, 2vw, 30px);
    background: var(--lumora-surface-soft);
    box-shadow: var(--lumora-shadow-soft);
    isolation: isolate;
}
.lumora-media-mosaic figure:first-child {
    grid-column: span 7;
    grid-row: span 2;
}
.lumora-media-mosaic--4 figure:last-of-type,
.lumora-media-mosaic--5 figure:nth-last-of-type(-n+2),
.lumora-media-mosaic--6 figure:nth-last-of-type(-n+3) { grid-column: span 4; }
.lumora-media-mosaic__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none !important;
    display: block;
    object-fit: cover;
    transform: scale(1.002);
    transition: transform .9s var(--lumora-ease), filter .45s ease;
}
.lumora-media-mosaic figure > span {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(145deg, transparent 52%, rgba(7, 28, 24, .18));
}
.lumora-media-mosaic figure:hover .lumora-media-mosaic__image {
    transform: scale(1.045);
    filter: saturate(1.06) contrast(1.02);
}
.lumora-media-mosaic__caption {
    grid-column: 1 / -1;
    margin: 0;
    color: var(--lumora-muted);
    font-size: .82rem;
    line-height: 1.5;
}

.lumora-resource-panel {
    position: relative;
    padding: clamp(76px, 9vw, 132px) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 88% 8%, rgba(37, 117, 92, .12), transparent 30%),
        linear-gradient(180deg, #f7faf8 0%, #fff 100%);
}
.lumora-resource-panel::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    left: -260px;
    bottom: -280px;
    border: 1px solid rgba(31, 107, 83, .12);
    border-radius: 50%;
    box-shadow: 0 0 0 62px rgba(31, 107, 83, .025), 0 0 0 124px rgba(31, 107, 83, .018);
    pointer-events: none;
}
.lumora-resource-panel__heading {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr);
    column-gap: clamp(40px, 8vw, 130px);
    align-items: end;
}
.lumora-resource-panel__heading > span { grid-column: 1 / -1; }
.lumora-resource-panel__heading h2,
.lumora-product-ownership__heading h2 {
    margin: 12px 0 0;
    max-width: 780px;
    color: var(--lumora-navy);
    font-size: clamp(2.05rem, 4.3vw, 4.6rem);
    line-height: .99;
    letter-spacing: -.045em;
    text-wrap: balance;
}
.lumora-resource-panel__heading p,
.lumora-product-ownership__heading p {
    margin: 16px 0 0;
    max-width: 690px;
    color: var(--lumora-muted);
    font-size: clamp(1rem, 1.25vw, 1.18rem);
    line-height: 1.75;
}
.lumora-resource-panel__items,
.lumora-product-ownership__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin-top: clamp(48px, 6vw, 82px);
    overflow: hidden;
    border: 1px solid rgba(16, 60, 49, .1);
    border-radius: 26px;
    background: rgba(16, 60, 49, .1);
    box-shadow: 0 24px 72px rgba(9, 40, 33, .08);
}
.lumora-resource-panel__items article,
.lumora-product-ownership__grid article {
    min-width: 0;
    padding: clamp(24px, 3vw, 42px);
    background: rgba(255, 255, 255, .96);
}
.lumora-resource-panel__items small,
.lumora-product-ownership__grid small {
    display: block;
    margin-bottom: 34px;
    color: var(--lumora-green);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .18em;
}
.lumora-resource-panel__items h3,
.lumora-product-ownership__grid h3 {
    margin: 0 0 12px;
    color: var(--lumora-navy);
    font-size: clamp(1.08rem, 1.45vw, 1.35rem);
    line-height: 1.2;
}
.lumora-resource-panel__items p,
.lumora-product-ownership__grid p {
    margin: 0;
    color: var(--lumora-muted);
    font-size: .94rem;
    line-height: 1.68;
}
.lumora-resource-panel__note,
.lumora-product-ownership__safety {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin-top: 24px;
    padding: 19px 22px;
    border: 1px solid rgba(31, 107, 83, .14);
    border-radius: 18px;
    background: rgba(234, 244, 239, .7);
    color: #24443b;
    font-size: .9rem;
    line-height: 1.65;
}
.lumora-resource-panel__note svg,
.lumora-product-ownership__safety svg {
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
    color: var(--lumora-green);
}

.lumora-product-ownership {
    position: relative;
    overflow: hidden;
    background: #fff;
}
.lumora-product-ownership__heading {
    max-width: 980px;
}
.lumora-product-ownership__heading h2 { max-width: 900px; }
.lumora-product-ownership__smart {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 20px;
    align-items: start;
    margin-top: 24px;
    padding: clamp(24px, 3vw, 38px);
    border-radius: 24px;
    background: var(--lumora-navy);
    color: #fff;
}
.lumora-product-ownership__smart > span {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 16px;
    background: rgba(255,255,255,.08);
}
.lumora-product-ownership__smart svg { width: 25px; height: 25px; }
.lumora-product-ownership__smart strong { display: block; margin: 2px 0 8px; font-size: 1.15rem; }
.lumora-product-ownership__smart p { max-width: 850px; margin: 0; color: rgba(255,255,255,.72); line-height: 1.65; }
.lumora-product-ownership__safety { margin-top: 12px; }

@media (max-width: 980px) {
    .lumora-resource-panel__heading { grid-template-columns: 1fr; }
    .lumora-resource-panel__heading > * { grid-column: auto; }
    .lumora-resource-panel__items,
    .lumora-product-ownership__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
    .lumora-resource-panel { padding: 68px 0; }
    .lumora-resource-panel__heading h2,
    .lumora-product-ownership__heading h2 { font-size: clamp(2rem, 10vw, 3.1rem); line-height: 1.02; }
    .lumora-media-mosaic {
        display: flex;
        gap: 12px;
        margin-right: calc(50% - 50vw);
        padding-right: 7vw;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }
    .lumora-media-mosaic::-webkit-scrollbar { display: none; }
    .lumora-media-mosaic figure,
    .lumora-media-mosaic figure:first-child,
    .lumora-media-mosaic--4 figure:last-of-type,
    .lumora-media-mosaic--5 figure:nth-last-of-type(-n+2),
    .lumora-media-mosaic--6 figure:nth-last-of-type(-n+3) {
        flex: 0 0 min(78vw, 360px);
        grid-column: auto;
        grid-row: auto;
        height: min(92vw, 430px);
        scroll-snap-align: start;
        border-radius: 20px;
    }
    .lumora-media-mosaic__caption {
        flex: 0 0 min(78vw, 360px);
        align-self: end;
        padding: 0 4px 6px;
    }
    .lumora-resource-panel__items,
    .lumora-product-ownership__grid {
        grid-template-columns: 1fr;
        border-radius: 20px;
    }
    .lumora-resource-panel__items article,
    .lumora-product-ownership__grid article { padding: 26px 24px; }
    .lumora-resource-panel__items small,
    .lumora-product-ownership__grid small { margin-bottom: 18px; }
    .lumora-product-ownership__smart { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .lumora-media-mosaic__image { transition: none; }
    .lumora-media-mosaic figure:hover .lumora-media-mosaic__image { transform: none; }
}

/* Editorial pages: calmer hierarchy and equal cards without hard minimums. */
body.lumora-site .lumora-editorial-section {
    padding-block: clamp(72px, 8vw, 126px);
}

body.lumora-site .lumora-editorial-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(300px, .76fr);
}

body.lumora-site .lumora-editorial-card {
    background:
        radial-gradient(circle at 100% 0, rgba(11, 130, 110, .07), transparent 32%),
        var(--lumora-surface);
    box-shadow: 0 12px 38px rgba(7, 28, 21, .055);
}

body.lumora-site .lumora-editorial-card__icon,
body.lumora-site .lumora-icon-chip {
    transition: color .3s ease, background-color .3s ease, transform .35s var(--lumora-ease);
}

body.lumora-site .lumora-editorial-process > article {
    position: relative;
}

body.lumora-site .lumora-editorial-process > article::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 2px;
    background: linear-gradient(180deg, #0b826e, rgba(11, 130, 110, .08));
    transform: scaleY(0);
    transform-origin: top;
    transition: transform .5s var(--lumora-ease);
}

body.lumora-site .lumora-editorial-process > article.is-visible::before {
    transform: scaleY(1);
}

body.lumora-site .lumora-editorial-note {
    max-width: 100%;
}

/* Richer CTA rendered by the existing shortcode. */
body.lumora-site .lumora-cta-card {
    align-items: center;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(190px, auto);
}

body.lumora-site .lumora-cta-card__copy {
    min-width: 0;
}

body.lumora-site .lumora-cta-card__copy > p {
    max-width: 760px;
}

body.lumora-site .lumora-cta-points {
    max-width: 880px;
    margin: 28px 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    list-style: none;
}

body.lumora-site .lumora-cta-points li {
    min-width: 0;
    min-height: 66px;
    padding: 13px;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    color: rgba(255, 255, 255, .76);
    background: rgba(255, 255, 255, .055);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 13px;
    font-size: .7rem;
    line-height: 1.45;
}

body.lumora-site .lumora-cta-points svg {
    width: 19px;
    height: 19px;
    color: #8edbc6;
}

body.lumora-site .lumora-cta-card__actions {
    min-width: 190px;
    display: grid;
    justify-items: stretch;
    gap: 9px;
}

body.lumora-site .lumora-cta-card__actions .lumora-button {
    width: 100%;
}

body.lumora-site .lumora-cta-card__actions .lumora-text-link,
body.lumora-site .lumora-cta-card__actions .lumora-text-link:visited {
    justify-content: center;
    color: #fff;
    text-align: center;
}

/* Forms and interactive panels cannot overrun their column. */
body.lumora-site .lumora-contact-layout {
    grid-template-columns: minmax(0, .8fr) minmax(380px, 1.1fr);
}

body.lumora-site :where(
    .lumora-form,
    .lumora-form-grid,
    .lumora-form label,
    .lumora-form input,
    .lumora-form select,
    .lumora-form textarea,
    .lumora-contact-details,
    .lumora-configurator,
    .lumora-configurator__form,
    .lumora-configurator fieldset
) {
    min-width: 0;
    max-width: 100%;
}

body.lumora-site .lumora-form input:not([type="checkbox"]),
body.lumora-site .lumora-form select,
body.lumora-site .lumora-form textarea {
    min-width: 0;
    max-width: 100%;
}

body.lumora-site .lumora-form .lumora-button {
    min-width: min(100%, 190px);
}

body.lumora-site .lumora-form__intro {
    margin: 0 0 clamp(22px, 3vw, 32px);
}

body.lumora-site .lumora-form__intro h2 {
    margin: 0 0 10px;
    font-size: clamp(1.45rem, 2.4vw, 2.15rem);
    line-height: 1.12;
    letter-spacing: -.025em;
}

body.lumora-site .lumora-form__intro p {
    margin: 0;
    color: var(--lumora-muted);
    font-size: .92rem;
    line-height: 1.65;
}

body.lumora-site .lumora-faq details {
    background: linear-gradient(90deg, rgba(11, 130, 110, .035), transparent 32%);
}

body.lumora-site .lumora-faq summary {
    padding-inline: clamp(0px, 1vw, 14px);
}

/* Corporate pre-footer and complete navigation. */
body.lumora-site .lumora-footer {
    padding-top: 0;
}

body.lumora-site .lumora-footer__assurance {
    padding-block: clamp(42px, 5.5vw, 76px);
    display: grid;
    grid-template-columns: minmax(230px, .9fr) minmax(360px, 1.1fr) auto;
    gap: clamp(24px, 4vw, 58px);
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
}

body.lumora-site .lumora-footer__assurance h2 {
    max-width: 580px;
    margin: .3em 0 0;
    color: #fff;
    font-size: clamp(1.75rem, 3vw, 3.25rem);
    font-weight: 490;
    line-height: 1;
    letter-spacing: -.045em;
    text-wrap: balance;
}

body.lumora-site .lumora-footer__assurance .lumora-kicker {
    color: #8edbc6;
}

body.lumora-site .lumora-footer__assurance-points {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

body.lumora-site .lumora-footer__assurance-points > span {
    min-width: 0;
    min-height: 84px;
    padding: 14px 12px;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 9px;
    color: rgba(255, 255, 255, .72);
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 13px;
    text-align: center;
}

body.lumora-site .lumora-footer__assurance-points svg {
    width: 22px;
    height: 22px;
    color: #8edbc6;
}

body.lumora-site .lumora-footer__assurance-points b {
    font-size: .66rem;
    line-height: 1.35;
}

body.lumora-site .lumora-footer__grid {
    padding-top: clamp(58px, 7vw, 100px);
    grid-template-columns: minmax(220px, 1.15fr) repeat(4, minmax(125px, .65fr));
    gap: clamp(30px, 4.5vw, 70px);
}

body.lumora-site .lumora-footer__grid > div {
    min-width: 0;
}

body.lumora-site .lumora-footer__company-note {
    max-width: 310px;
    display: block;
    color: rgba(245, 248, 246, .48);
    font-size: .72rem;
    line-height: 1.65;
}

body.lumora-site .lumora-footer__grid :where(a, span, button) {
    max-width: 100%;
    overflow-wrap: anywhere;
}

body.lumora-site .lumora-footer-consent {
    font: inherit;
    font-size: inherit;
    text-align: left;
}

body.lumora-site .lumora-floating-cta,
body.lumora-site .lumora-floating-cta:visited {
    max-width: calc(100vw - 36px);
    color: #07110e;
    -webkit-text-fill-color: #07110e;
    white-space: nowrap;
}

/* Refined interaction on devices that actually support hover. */
@media (hover: hover) and (pointer: fine) {
    body.lumora-site .lumora-editorial-card:hover .lumora-editorial-card__icon,
    body.lumora-site .lumora-trust-grid article:hover .lumora-icon-chip {
        color: #fff;
        background: #0b826e;
        transform: translateY(-4px) rotate(-2deg);
    }

    body.lumora-site .lumora-footer__assurance-points > span {
        transition: color .28s ease, background-color .28s ease, border-color .28s ease, transform .32s var(--lumora-ease);
    }

    body.lumora-site .lumora-footer__assurance-points > span:hover {
        color: #fff;
        background: rgba(255, 255, 255, .075);
        border-color: rgba(142, 219, 198, .28);
        transform: translateY(-4px);
    }
}

@media (max-width: 1180px) {
    body.lumora-site .lumora-native-catalog__hero-grid {
        grid-template-columns: minmax(0, 1fr) 220px;
    }

    body.lumora-site .lumora-product-hero__grid,
    body.lumora-site .lumora-editorial-hero__grid,
    body.lumora-site .lumora-editorial-split,
    body.lumora-site .lumora-editorial-guide-layout,
    body.lumora-site .lumora-contact-layout {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.lumora-site .lumora-product-hero__media,
    body.lumora-site .lumora-page-media--hero,
    body.lumora-site .lumora-page-media--portrait {
        min-height: 380px;
        aspect-ratio: 16 / 10;
    }

    body.lumora-site .lumora-footer__assurance {
        grid-template-columns: minmax(250px, .9fr) minmax(0, 1.1fr);
    }

    body.lumora-site .lumora-footer__assurance > .lumora-button {
        width: fit-content;
        grid-column: 1 / -1;
    }

    body.lumora-site .lumora-footer__grid {
        grid-template-columns: minmax(240px, 1.1fr) repeat(2, minmax(145px, .7fr));
    }

    body.lumora-site .lumora-footer__grid > div:nth-child(4),
    body.lumora-site .lumora-footer__grid > div:nth-child(5) {
        padding-top: 10px;
    }
}

@media (max-width: 900px) {
    body.lumora-site .lumora-native-catalog__hero-grid {
        min-height: 0;
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
    }

    body.lumora-site .lumora-native-catalog__hero-stat {
        min-height: 0;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        grid-template-rows: auto auto;
        column-gap: 17px;
        align-items: center;
    }

    body.lumora-site .lumora-native-catalog__hero-stat strong {
        grid-row: 1 / 3;
    }

    body.lumora-site .lumora-native-catalog__hero-stat span,
    body.lumora-site .lumora-native-catalog__hero-stat small {
        margin: 0;
    }

    body.lumora-site .lumora-cta-card {
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
    }

    body.lumora-site .lumora-cta-card__actions {
        width: min(100%, 380px);
        min-width: 0;
    }

    body.lumora-site .lumora-footer__assurance {
        grid-template-columns: minmax(0, 1fr);
    }

    body.lumora-site .lumora-footer__assurance > .lumora-button {
        grid-column: auto;
    }
}

@media (max-width: 760px) {
    body.lumora-site .lumora-container {
        padding-inline: clamp(17px, 5vw, 26px);
    }

    body.lumora-site .lumora-section,
    body.lumora-site .lumora-editorial-section {
        padding-block: clamp(56px, 13vw, 78px);
    }

    body.lumora-site :where(
        .lumora-product-grid,
        .lumora-native-catalog .lumora-product-grid,
        .lumora-related-products .lumora-product-grid,
        .lumora-post-grid,
        .lumora-feature-panels,
        .lumora-product-info-grid,
        .lumora-value-grid,
        .lumora-pricing-grid,
        .lumora-check-grid
    ) {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.lumora-site .lumora-native-catalog .lumora-product-card {
        padding: 0;
        overflow: hidden;
        background: #fff;
        border: 1px solid var(--catalog-line);
        border-radius: 18px;
        box-shadow: 0 14px 42px rgba(7, 28, 21, .07);
    }

    body.lumora-site .lumora-native-catalog .lumora-product-card__media {
        aspect-ratio: 4 / 3;
        border: 0;
        border-radius: 0;
    }

    body.lumora-site .lumora-native-catalog .lumora-product-card__body {
        min-height: 0;
        padding: 21px 19px 19px;
    }

    body.lumora-site .lumora-native-catalog .lumora-product-card__eyebrow {
        font-size: .64rem;
    }

    body.lumora-site .lumora-native-catalog .lumora-product-card h3 {
        min-height: 0;
        font-size: clamp(1.5rem, 7vw, 2rem);
    }

    body.lumora-site .lumora-native-catalog .lumora-product-card p {
        display: block;
        font-size: .87rem;
        -webkit-line-clamp: 3;
    }

    body.lumora-site .lumora-native-catalog .lumora-product-card__energy {
        padding: 11px 12px;
        grid-template-columns: 18px minmax(0, 1fr) auto;
        font-size: .66rem;
    }

    body.lumora-site .lumora-native-catalog .lumora-product-card__energy svg {
        width: 17px;
        height: 17px;
    }

    body.lumora-site .lumora-native-catalog .lumora-product-card__energy strong {
        grid-column: auto;
        font-size: .67rem;
    }

    body.lumora-site .lumora-native-catalog .lumora-product-card__configurator {
        min-height: 44px;
        padding-inline: 13px;
        font-size: .7rem;
    }

    body.lumora-site .lumora-native-catalog .lumora-product-card__footer > strong {
        font-size: .9rem;
    }

    body.lumora-site .lumora-native-catalog .lumora-product-card__details {
        min-width: 44px;
        min-height: 42px;
    }

    body.lumora-site .lumora-product-hero {
        padding-block: 38px 66px;
    }

    body.lumora-site .lumora-product-hero__grid {
        gap: 34px;
    }

    body.lumora-site .lumora-product-hero__media {
        min-height: 280px;
        aspect-ratio: 4 / 3;
        border-radius: 20px;
    }

    body.lumora-site .lumora-product-hero h1 {
        font-size: clamp(2.65rem, 12.5vw, 4.4rem);
    }

    body.lumora-site .lumora-product-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    body.lumora-site .lumora-product-actions .lumora-button {
        width: 100%;
    }

    body.lumora-site .lumora-product-technical-table {
        grid-template-columns: minmax(0, 1fr);
    }

    body.lumora-site .lumora-product-technical-table > div {
        padding: 17px 4px;
        grid-template-columns: minmax(0, 1fr);
        border-right: 0;
    }

    body.lumora-site .lumora-product-technical-table span {
        grid-column: 1;
        grid-row: auto;
        margin-top: 7px;
    }

    body.lumora-site .lumora-catalog-assurance {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    body.lumora-site .lumora-catalog-assurance > span {
        border-radius: 13px;
    }

    body.lumora-site .lumora-catalog-hero-actions,
    body.lumora-site .lumora-editorial-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    body.lumora-site .lumora-catalog-hero-actions > *,
    body.lumora-site .lumora-editorial-actions > * {
        width: 100% !important;
    }

    body.lumora-site .lumora-cta-points,
    body.lumora-site .lumora-footer__assurance-points {
        grid-template-columns: minmax(0, 1fr);
    }

    body.lumora-site .lumora-cta-card {
        padding: 29px 21px;
        border-radius: 22px;
    }

    body.lumora-site .lumora-cta-card h2 {
        font-size: clamp(2.2rem, 11vw, 3.6rem);
        line-height: .98;
    }

    body.lumora-site .lumora-cta-card__actions {
        width: 100%;
    }

    body.lumora-site .lumora-form-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body.lumora-site .lumora-form {
        padding: 22px 17px;
        border-radius: 18px;
    }

    body.lumora-site .lumora-form .lumora-button {
        width: 100%;
    }

    body.lumora-site .lumora-faq summary {
        padding-block: 20px;
        font-size: 1rem;
    }

    body.lumora-site .lumora-faq details p {
        padding-right: 0;
    }

    body.lumora-site .lumora-footer__assurance-points > span {
        min-height: 62px;
        grid-template-columns: 25px minmax(0, 1fr);
        justify-items: start;
        text-align: left;
    }

    body.lumora-site .lumora-footer__assurance > .lumora-button {
        width: 100%;
    }

    body.lumora-site .lumora-footer__grid {
        padding-top: 54px;
        grid-template-columns: minmax(0, 1fr);
        gap: 34px;
    }

    body.lumora-site .lumora-footer__grid > div:nth-child(4),
    body.lumora-site .lumora-footer__grid > div:nth-child(5) {
        padding-top: 0;
    }

    body.lumora-site .lumora-footer__bottom {
        margin-top: 48px;
        align-items: flex-start;
        flex-direction: column;
    }

    body.lumora-site .lumora-consent__card {
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
    }

    body.lumora-site .lumora-consent__icon {
        display: none;
    }

    body.lumora-site .lumora-consent__actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    body.lumora-site .lumora-consent__actions .lumora-button {
        width: 100%;
    }

    body.lumora-site .lumora-consent__settings {
        grid-column: 1;
    }
}

@media (max-width: 480px) {
    body.lumora-site .lumora-product-specs {
        grid-template-columns: minmax(0, 1fr);
    }

    body.lumora-site .lumora-product-card__footer {
        align-items: stretch;
        flex-direction: column;
    }

    body.lumora-site .lumora-product-card__details {
        width: 100% !important;
    }

    body.lumora-site .lumora-native-catalog__hero-stat {
        grid-template-columns: minmax(0, 1fr);
    }

    body.lumora-site .lumora-native-catalog__hero-stat strong {
        grid-row: auto;
    }

    body.lumora-site .lumora-native-catalog__hero-stat span,
    body.lumora-site .lumora-native-catalog__hero-stat small {
        margin-top: 8px;
    }

    body.lumora-site .lumora-configurator__model {
        grid-template-columns: 88px minmax(0, 1fr);
    }

    body.lumora-site .lumora-configurator__model-copy {
        padding-inline: 12px 42px;
    }

    body.lumora-site .lumora-floating-cta {
        right: 12px;
        bottom: max(12px, env(safe-area-inset-bottom));
        min-height: 46px;
        padding-inline: 15px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.lumora-site *,
    body.lumora-site *::before,
    body.lumora-site *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        transition-delay: 0ms !important;
    }
}

/* =========================================================
   HEADER MEGA MENU STABILITY & POLISH — 3.6.1
   ========================================================= */
@media (min-width: 1181px) {
    body.lumora-site .lumora-nav__item.has-mega::before {
        content: "";
        position: absolute;
        z-index: 2;
        top: calc(100% - 3px);
        right: -20px;
        left: -20px;
        height: 24px;
    }

    body.lumora-site .lumora-mega {
        top: calc(var(--lumora-header-height) - 1px);
        padding: 20px clamp(22px, 3.6vw, 64px) 30px;
        background:
            radial-gradient(circle at 13% 10%, color-mix(in srgb, var(--lumora-accent) 9%, transparent), transparent 24%),
            color-mix(in srgb, var(--lumora-surface) 97%, transparent);
        border-top-color: color-mix(in srgb, var(--lumora-line-strong) 66%, transparent);
        box-shadow: 0 28px 70px rgba(4, 19, 14, .17);
        transform: translateY(-10px);
        -webkit-backdrop-filter: blur(22px) saturate(1.12);
        backdrop-filter: blur(22px) saturate(1.12);
    }

    body.admin-bar.lumora-site .lumora-mega {
        top: calc(var(--lumora-header-height) + 31px);
    }

    body.lumora-site .lumora-mega__inner {
        width: min(100%, 1540px);
    }

    body.lumora-site .lumora-mega__surface {
        display: grid;
        grid-template-columns: minmax(250px, .76fr) minmax(0, 2.65fr);
        gap: clamp(20px, 2.2vw, 36px);
        align-items: stretch;
    }

    body.lumora-site .lumora-mega__intro {
        min-width: 0;
        padding: clamp(20px, 2vw, 30px);
        position: relative;
        overflow: hidden;
        color: #f5fbf8;
        background:
            radial-gradient(circle at 88% 12%, rgba(113, 226, 192, .25), transparent 27%),
            linear-gradient(145deg, #071a14 0%, #0b3a2e 100%);
        border: 1px solid rgba(255, 255, 255, .09);
        border-radius: 22px;
        box-shadow: 0 18px 42px rgba(4, 26, 19, .16);
        isolation: isolate;
    }

    body.lumora-site .lumora-mega__intro::after {
        content: "";
        position: absolute;
        z-index: -1;
        right: -58px;
        bottom: -88px;
        width: 220px;
        aspect-ratio: 1;
        border: 1px solid rgba(170, 239, 218, .17);
        border-radius: 50%;
        box-shadow:
            0 0 0 36px rgba(170, 239, 218, .035),
            0 0 0 72px rgba(170, 239, 218, .025);
    }

    body.lumora-site .lumora-mega__kicker {
        display: block;
        color: #a8e5d2;
        font-size: .62rem;
        font-weight: 820;
        letter-spacing: .16em;
        line-height: 1.3;
    }

    body.lumora-site .lumora-mega__intro h2 {
        max-width: 330px;
        margin: 13px 0 12px;
        color: #fff;
        font-size: clamp(1.35rem, 1.6vw, 1.8rem);
        font-weight: 520;
        letter-spacing: -.035em;
        line-height: 1.05;
        text-wrap: balance;
    }

    body.lumora-site .lumora-mega__intro > p {
        max-width: 360px;
        margin: 0;
        color: rgba(239, 250, 246, .7);
        font-size: .78rem;
        line-height: 1.55;
    }

    body.lumora-site .lumora-mega__catalog-link,
    body.lumora-site .lumora-mega__catalog-link:visited {
        width: fit-content;
        min-height: 42px;
        margin-top: 20px;
        padding: 0 17px;
        display: inline-flex;
        align-items: center;
        gap: 9px;
        color: #08261e;
        -webkit-text-fill-color: #08261e;
        background: #eafbf5;
        border-radius: 999px;
        font-size: .72rem;
        font-weight: 790;
        line-height: 1.2;
        text-decoration: none;
        transition: transform .25s var(--lumora-ease), background .25s ease;
    }

    body.lumora-site .lumora-mega__catalog-link:hover {
        color: #08261e;
        background: #fff;
        transform: translateY(-2px);
    }

    body.lumora-site .lumora-mega__catalog-link svg {
        width: 15px;
        height: 15px;
        transition: transform .25s var(--lumora-ease);
    }

    body.lumora-site .lumora-mega__catalog-link:hover svg {
        transform: translateX(3px);
    }

    body.lumora-site .lumora-mega__shortcuts {
        margin-top: 19px;
        padding-top: 15px;
        display: grid;
        gap: 8px;
        border-top: 1px solid rgba(255, 255, 255, .1);
    }

    body.lumora-site .lumora-mega__shortcuts > a {
        min-width: 0;
        padding: 5px 0;
        display: grid;
        grid-template-columns: 28px minmax(0, 1fr);
        align-items: center;
        gap: 10px;
        color: rgba(247, 253, 250, .9);
        text-decoration: none;
    }

    body.lumora-site .lumora-mega__shortcuts > a > svg {
        width: 17px;
        height: 17px;
        color: #8dd9c2;
    }

    body.lumora-site .lumora-mega__shortcuts span,
    body.lumora-site .lumora-mega__shortcuts small,
    body.lumora-site .lumora-mega__shortcuts strong {
        min-width: 0;
        display: block;
    }

    body.lumora-site .lumora-mega__shortcuts small {
        color: rgba(239, 250, 246, .53);
        font-size: .58rem;
        line-height: 1.2;
    }

    body.lumora-site .lumora-mega__shortcuts strong {
        margin-top: 2px;
        font-size: .7rem;
        line-height: 1.25;
        transition: color .2s ease;
    }

    body.lumora-site .lumora-mega__shortcuts > a:hover strong {
        color: #a8e5d2;
    }

    body.lumora-site .lumora-mega__products {
        min-width: 0;
        display: flex;
        flex-direction: column;
    }

    body.lumora-site .lumora-mega__head {
        min-height: 30px;
        margin: 0 0 12px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
        color: var(--lumora-muted);
        font-size: .65rem;
        font-weight: 800;
        letter-spacing: .13em;
        line-height: 1.3;
        text-transform: uppercase;
    }

    body.lumora-site .lumora-mega__head a,
    body.lumora-site .lumora-mega__head a:visited {
        min-height: 30px;
        display: inline-flex;
        align-items: center;
        color: var(--lumora-accent);
        text-decoration: none;
    }

    body.lumora-site .lumora-mega__head a:hover {
        color: color-mix(in srgb, var(--lumora-accent) 78%, #000);
    }

    body.lumora-site .lumora-mega__grid {
        min-width: 0;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: clamp(10px, 1.15vw, 17px);
    }

    body.lumora-site .lumora-mega__grid > a.lumora-mega__product {
        min-width: 0;
        padding: 0;
        display: block;
        overflow: hidden;
        color: var(--lumora-text);
        background: var(--lumora-surface);
        border: 1px solid var(--lumora-line);
        border-radius: 18px;
        box-shadow: 0 10px 28px rgba(5, 26, 19, .06);
        text-decoration: none;
        transform: none;
        transition:
            transform .28s var(--lumora-ease),
            border-color .28s ease,
            box-shadow .28s ease;
    }

    body.lumora-site .lumora-mega__grid > a.lumora-mega__product:hover,
    body.lumora-site .lumora-mega__grid > a.lumora-mega__product:focus-visible {
        background: var(--lumora-surface);
        border-color: color-mix(in srgb, var(--lumora-accent) 44%, var(--lumora-line));
        box-shadow: 0 20px 42px rgba(5, 36, 26, .12);
        transform: translateY(-4px);
    }

    body.lumora-site .lumora-mega__grid > a.lumora-mega__product > .lumora-mega__media {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        margin: 0;
        position: relative;
        display: grid;
        place-items: center;
        overflow: hidden;
        background: var(--lumora-surface-3);
        border-radius: 0;
    }

    body.lumora-site .lumora-mega__media::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, transparent 58%, rgba(3, 14, 10, .58));
        opacity: 0;
        transition: opacity .28s ease;
    }

    body.lumora-site .lumora-mega__media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transform: scale(1.001);
        transition: transform .55s var(--lumora-ease);
    }

    body.lumora-site .lumora-mega__product:hover .lumora-mega__media img,
    body.lumora-site .lumora-mega__product:focus-visible .lumora-mega__media img {
        transform: scale(1.045);
    }

    body.lumora-site .lumora-mega__product:hover .lumora-mega__media::after,
    body.lumora-site .lumora-mega__product:focus-visible .lumora-mega__media::after {
        opacity: 1;
    }

    body.lumora-site .lumora-mega__media > svg {
        width: 44px;
        height: 44px;
        color: var(--lumora-accent);
        opacity: .5;
    }

    body.lumora-site .lumora-mega__media > i {
        position: absolute;
        z-index: 1;
        right: 13px;
        bottom: 12px;
        left: 13px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        color: #fff;
        font-size: .61rem;
        font-style: normal;
        font-weight: 760;
        line-height: 1.2;
        opacity: 0;
        transform: translateY(7px);
        transition: opacity .25s ease, transform .25s var(--lumora-ease);
    }

    body.lumora-site .lumora-mega__media > i svg {
        width: 14px;
        height: 14px;
    }

    body.lumora-site .lumora-mega__product:hover .lumora-mega__media > i,
    body.lumora-site .lumora-mega__product:focus-visible .lumora-mega__media > i {
        opacity: 1;
        transform: none;
    }

    body.lumora-site .lumora-mega__grid > a.lumora-mega__product > .lumora-mega__product-body {
        width: 100%;
        height: auto;
        min-height: 94px;
        padding: 14px 15px 15px;
        display: block;
        overflow: visible;
        background: transparent;
        border-radius: 0;
    }

    body.lumora-site .lumora-mega__product-body > small {
        min-height: 1.2em;
        margin: 0 0 6px;
        display: block;
        overflow: hidden;
        color: var(--lumora-muted);
        font-size: .61rem;
        font-weight: 700;
        line-height: 1.2;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.lumora-site .lumora-mega__product-body > strong {
        min-height: 2.35em;
        display: -webkit-box;
        overflow: hidden;
        color: var(--lumora-text);
        font-size: clamp(.82rem, .9vw, 1rem);
        font-weight: 690;
        letter-spacing: -.015em;
        line-height: 1.16;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    body.lumora-site .lumora-mega__product-body > span {
        margin-top: 8px;
        display: block;
        color: var(--lumora-accent);
        font-size: .66rem;
        font-weight: 790;
        line-height: 1.2;
    }

    body.lumora-site .lumora-mega__empty {
        min-height: 250px;
        padding: 34px;
        display: grid;
        place-items: center;
        align-content: center;
        gap: 12px;
        text-align: center;
        background: var(--lumora-surface-2);
        border: 1px dashed var(--lumora-line-strong);
        border-radius: 18px;
    }

    body.lumora-site .lumora-mega__empty > svg {
        width: 44px;
        color: var(--lumora-accent);
    }

    body.lumora-site .lumora-mega__empty p {
        max-width: 440px;
        margin: 0;
        color: var(--lumora-muted);
        font-size: .82rem;
    }

    body.lumora-site .lumora-mega__empty a {
        color: var(--lumora-accent);
        font-size: .76rem;
        font-weight: 780;
        text-decoration: none;
    }
}

@media (max-width: 1180px) {
    body.lumora-site .lumora-mega__surface {
        display: block;
    }

    body.lumora-site .lumora-mega__intro,
    body.lumora-site .lumora-mega__head {
        display: none;
    }

    body.lumora-site .has-mega.submenu-open .lumora-mega {
        max-height: 1120px;
    }

    body.lumora-site .lumora-mega__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px;
    }

    body.lumora-site .lumora-mega__grid > a.lumora-mega__product {
        min-width: 0;
        padding: 8px;
        display: block;
        overflow: hidden;
        color: var(--lumora-text);
        background: var(--lumora-surface-2);
        border: 1px solid var(--lumora-line);
        border-radius: 14px;
        text-decoration: none;
    }

    body.lumora-site .lumora-mega__grid > a.lumora-mega__product > .lumora-mega__media {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        margin: 0 0 10px;
        display: grid;
        place-items: center;
        overflow: hidden;
        background: var(--lumora-surface-3);
        border-radius: 10px;
    }

    body.lumora-site .lumora-mega__media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    body.lumora-site .lumora-mega__media > i {
        display: none;
    }

    body.lumora-site .lumora-mega__grid > a.lumora-mega__product > .lumora-mega__product-body {
        width: 100%;
        height: auto;
        min-height: 0;
        display: block;
        overflow: visible;
        background: transparent;
        border-radius: 0;
    }

    body.lumora-site .lumora-mega__product-body > small {
        margin: 0 0 5px;
        display: block;
        overflow: hidden;
        color: var(--lumora-muted);
        font-size: .58rem;
        line-height: 1.2;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.lumora-site .lumora-mega__product-body > strong {
        display: block;
        color: var(--lumora-text);
        font-size: .78rem;
        line-height: 1.2;
    }

    body.lumora-site .lumora-mega__product-body > span {
        margin-top: 6px;
        display: block;
        color: var(--lumora-accent);
        font-size: .61rem;
        font-weight: 780;
        line-height: 1.2;
    }

    body.lumora-site .lumora-mega__empty {
        padding: 22px 12px;
        text-align: center;
        background: var(--lumora-surface-2);
        border-radius: 14px;
    }

    body.lumora-site .lumora-mega__empty > svg {
        width: 36px;
        color: var(--lumora-accent);
    }
}

@media (max-width: 420px) {
    body.lumora-site .lumora-mega__grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.lumora-site .lumora-mega__grid > a.lumora-mega__product {
        display: grid;
        grid-template-columns: 92px minmax(0, 1fr);
        align-items: center;
        gap: 12px;
    }

    body.lumora-site .lumora-mega__grid > a.lumora-mega__product > .lumora-mega__media {
        margin: 0;
    }
}

/* --------------------------------------------------------------------------
   Lumora 3.9 filename-aware product and reference media
   -------------------------------------------------------------------------- */
.lumora-reference-browser {
    min-width: 0;
}

.lumora-reference-filters {
    margin: 0 0 clamp(20px, 3vw, 34px);
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.lumora-reference-filters button {
    min-height: 43px;
    padding: 9px 17px;
    color: var(--lumora-text);
    background: var(--lumora-surface);
    border: 1px solid var(--lumora-line);
    border-radius: 999px;
    font: inherit;
    font-size: .76rem;
    font-weight: 760;
    cursor: pointer;
    transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}

.lumora-reference-filters button:hover,
.lumora-reference-filters button:focus-visible,
.lumora-reference-filters button.is-active {
    color: #fff;
    background: var(--lumora-accent);
    border-color: var(--lumora-accent);
    outline: none;
    transform: translateY(-1px);
}

.lumora-reference-archive__item[hidden] {
    display: none !important;
}

.lumora-product-gallery .lumora-product-gallery__image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.lumora-product-model-mosaic .lumora-media-mosaic__caption {
    max-width: 760px;
}

@media (max-width: 700px) {
    .lumora-reference-filters {
        margin-inline: -4px;
        padding: 4px;
        flex-wrap: nowrap;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
    }

    .lumora-reference-filters::-webkit-scrollbar {
        display: none;
    }

    .lumora-reference-filters button {
        flex: 0 0 auto;
    }
}

/* --------------------------------------------------------------------------
   Lumora 4.2.1 — plugin-owned mobile product rail and reference-card grid
   -------------------------------------------------------------------------- */
body.lumora-site .lumora-models__mobile-controls[hidden],
body.lumora-site .lumora-models__mobile-guide[hidden] {
    display: none !important;
}

body.lumora-site .lumora-models__mobile-controls {
    position: relative;
    z-index: 20;
    width: 100%;
    isolation: isolate;
}

body.lumora-site .lumora-models__mobile-progress-wrap {
    width: 100%;
    min-width: 0;
}

body.lumora-site .lumora-models__mobile-progress {
    min-width: 72px;
}

body.lumora-site .lumora-models__mobile-button,
body.lumora-site .lumora-models .lumora-card-gallery__prev,
body.lumora-site .lumora-models .lumora-card-gallery__next {
    pointer-events: auto !important;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
    -webkit-user-select: none;
}

body.lumora-site .lumora-reference-browser .lumora-reference-archive {
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-rows: auto !important;
    align-items: stretch;
    gap: clamp(15px, 2vw, 24px) !important;
}

body.lumora-site .lumora-reference-browser .lumora-reference-archive__item,
body.lumora-site .lumora-reference-browser .lumora-reference-archive__item:nth-child(n) {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100%;
    min-width: 0;
    min-height: 0;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #e8f0ec;
    border: 1px solid rgba(13, 42, 34, .13);
    border-radius: 18px;
    box-shadow: 0 12px 35px rgba(9, 35, 27, .07);
}

body.lumora-site .lumora-reference-browser .lumora-reference-archive__overlay {
    min-height: 42%;
    padding: 58px clamp(16px, 2vw, 22px) 18px;
    justify-content: flex-end;
}

body.lumora-site .lumora-reference-browser .lumora-reference-archive__overlay strong {
    overflow-wrap: anywhere;
}

body.lumora-site .lumora-reference-browser .lumora-reference-archive__item:focus-visible {
    outline: 3px solid rgba(11, 130, 110, .35);
    outline-offset: 3px;
}

@media (max-width: 1023px) {
    body.lumora-site .lumora-reference-browser .lumora-reference-archive {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    body.lumora-site .lumora-models__rail-shell {
        width: calc(100% + 18px);
        margin-right: -18px;
        overflow: visible;
    }

    body.lumora-site .lumora-models :where(.lumora-product-grid, .lumora-products-grid) {
        width: 100% !important;
        margin: 0 !important;
        padding: 6px 18px 14px 0 !important;
        display: flex !important;
        grid-template-columns: none !important;
        flex-flow: row nowrap !important;
        align-items: stretch !important;
        gap: 14px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;
        scroll-padding-left: 0;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
        touch-action: pan-x pan-y;
        scrollbar-width: none;
    }

    body.lumora-site .lumora-models :where(.lumora-product-grid, .lumora-products-grid)::-webkit-scrollbar {
        display: none;
    }

    body.lumora-site .lumora-models .lumora-product-card {
        width: min(86vw, 340px) !important;
        min-width: min(86vw, 340px) !important;
        max-width: min(86vw, 340px) !important;
        height: auto !important;
        flex: 0 0 min(86vw, 340px) !important;
        align-self: stretch;
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    body.lumora-site .lumora-models__mobile-controls:not([hidden]) {
        margin-top: 11px;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 15px;
    }

    body.lumora-site .lumora-models__mobile-button {
        position: relative;
        z-index: 21;
        min-width: 44px;
        min-height: 44px;
    }

    body.lumora-site .lumora-reference-browser .lumora-reference-archive {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px !important;
    }

    body.lumora-site .lumora-reference-browser .lumora-reference-archive__item,
    body.lumora-site .lumora-reference-browser .lumora-reference-archive__item:nth-child(n) {
        aspect-ratio: 4 / 3;
        border-radius: 15px;
    }
}
