/* Smart-Pi Lumen — Design System
 * Architectural glassmorphism — static frosted panels over visible structural grid.
 * Scoped via data-theme-layout/card/page="lumen". Prefix: lum-*
 * Default palette: ice-crystal (cool blue-silver #6366F1 on #F0F4FF)
 * Anti-rules: NO rose/pink hex, NO carb-*, NO border-radius 9999px, NO animated mesh.
 */

/* ========== Reset & tokens ========== */
:root {
    --lum-primary: #6366F1;
    --lum-primary-hover: #4F46E5;
    --lum-bg: #F0F4FF;
    --lum-text: #1E1B4B;
    --lum-text-muted: #64748B;
    --lum-surface: rgba(255, 255, 255, 0.72);
    --lum-surface-solid: #FFFFFF;
    --lum-border: rgba(99, 102, 241, 0.18);
    --lum-glass-bg: rgba(255, 255, 255, 0.55);
    --lum-glass-border: rgba(99, 102, 241, 0.22);
    --lum-glass-bg-dense: rgba(255, 255, 255, 0.78);
    --lum-blur: 16px;
    --lum-blur-mobile: 8px;
    --lum-blur-card: 12px;
    --lum-header-blur: 16px;
    --lum-grid-line: rgba(99, 102, 241, 0.12);
    --lum-radius: 1rem;
    --lum-radius-sm: 0.75rem;
    --lum-radius-pill: 0.5rem;
    --lum-footer-bg: rgba(15, 23, 42, 0.8);
    --lum-footer-text: #CBD5E1;
    --lum-ease: cubic-bezier(0.4, 0, 0.2, 1);
    --lum-sweep-duration: 250ms;
    --lum-focus-ring: 0 0 0 3px rgba(99, 102, 241, 0.35);
    --lum-shadow-soft: 0 4px 24px -8px rgba(30, 27, 75, 0.12);
    --lum-accent-gradient: linear-gradient(135deg, #6366F1 0%, #818CF8 100%);
}

html.dark,
.dark {
    --lum-bg: #0B1120;
    --lum-text: #E2E8F0;
    --lum-text-muted: #94A3B8;
    --lum-surface: rgba(15, 23, 42, 0.72);
    --lum-surface-solid: #0F172A;
    --lum-border: rgba(129, 140, 248, 0.2);
    --lum-glass-bg: rgba(15, 23, 42, 0.65);
    --lum-glass-border: rgba(129, 140, 248, 0.25);
    --lum-glass-bg-dense: rgba(15, 23, 42, 0.88);
    --lum-grid-line: rgba(129, 140, 248, 0.1);
    --lum-footer-bg: rgba(15, 23, 42, 0.92);
    --lum-footer-text: #CBD5E1;
    --lum-shadow-soft: 0 4px 24px -8px rgba(0, 0, 0, 0.45);
    --lum-focus-ring: 0 0 0 3px rgba(129, 140, 248, 0.4);
}

/* ========== Structural grid background ========== */
body:has(header[data-theme-layout="lumen"]) {
    background-color: var(--page-background, var(--lum-bg)) !important;
    color: var(--text-primary, var(--lum-text));
    min-height: 100vh;
}

body:has(header[data-theme-layout="lumen"])::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-color: var(--page-background, var(--lum-bg));
    background-image:
        repeating-linear-gradient(
            0deg,
            transparent,
            transparent 23px,
            var(--lum-grid-line) 23px,
            var(--lum-grid-line) 24px
        ),
        repeating-linear-gradient(
            90deg,
            transparent,
            transparent 23px,
            var(--lum-grid-line) 23px,
            var(--lum-grid-line) 24px
        );
    opacity: 0.85;
}

.lum-grid-bg {
    background-color: var(--lum-bg);
    background-image:
        repeating-linear-gradient(
            0deg,
            transparent,
            transparent 23px,
            var(--lum-grid-line) 23px,
            var(--lum-grid-line) 24px
        ),
        repeating-linear-gradient(
            90deg,
            transparent,
            transparent 23px,
            var(--lum-grid-line) 23px,
            var(--lum-grid-line) 24px
        );
}

/* ========== Glass primitives (solid fallback first) ========== */
.lum-glass {
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius);
    box-shadow: var(--lum-shadow-soft);
}

.lum-glass--dense {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius);
}

.dark .lum-glass {
    background: rgba(15, 23, 42, 0.9);
}

.dark .lum-glass--dense {
    background: rgba(15, 23, 42, 0.94);
}

/* Blur budget (max 3 layers): glass primitives stay glass via semi-transparent
   bg only — backdrop-filter is reserved for header shell, drawer/mobile-CTA
   and megamenu. */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .lum-glass {
        background: rgba(255, 255, 255, 0.94);
    }

    .lum-glass--dense {
        background: rgba(255, 255, 255, 0.96);
    }

    .dark .lum-glass,
    .dark .lum-glass--dense {
        background: rgba(15, 23, 42, 0.96);
    }
}

/* Contact map overlay — opaque glass, no backdrop-filter (blur budget) */
.lum-map-card {
    position: absolute;
    top: 15px;
    right: 15px;
    max-width: 250px;
    padding: 12px 15px;
    color: var(--lum-text);
    background: var(--lum-surface-solid);
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius-sm);
    box-shadow: var(--lum-shadow-soft);
    font-family: var(--font-body, 'Dana', sans-serif);
    direction: rtl;
}

.dark .lum-map-card {
    background: var(--lum-surface-solid);
    color: var(--lum-text);
}

/* ========== Typography & accent ========== */
[data-theme-page="lumen"] h1,
[data-theme-page="lumen"] h2,
[data-theme-page="lumen"] h3 {
    color: var(--text-primary, var(--lum-text));
    letter-spacing: -0.01em;
}

.lum-accent-text {
    color: var(--primary-600, var(--lum-primary));
}

.lum-gradient-text {
    background: var(--lum-accent-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

/* ========== Header — sticky glass shell ========== */
header[data-theme-layout="lumen"] {
    --lum-header-blur: 16px;
    transition: padding 0.25s var(--lum-ease);
}

header[data-theme-layout="lumen"] .lum-header-shell {
    position: relative;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius);
    box-shadow: var(--lum-shadow-soft);
    isolation: isolate;
    transition: box-shadow 0.25s var(--lum-ease), border-radius 0.25s var(--lum-ease);
}

.dark header[data-theme-layout="lumen"] .lum-header-shell {
    background: rgba(15, 23, 42, 0.9);
}

header[data-theme-layout="lumen"] .lum-header-shell::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    z-index: 0;
    pointer-events: none;
}

header[data-theme-layout="lumen"] .lum-header-shell > * {
    position: relative;
    z-index: 1;
}

/* backdrop-filter layer 2: header shell */
@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) {
    header[data-theme-layout="lumen"] .lum-header-shell {
        background: var(--lum-glass-bg);
    }

    header[data-theme-layout="lumen"] .lum-header-shell::before {
        backdrop-filter: blur(var(--lum-header-blur));
        -webkit-backdrop-filter: blur(var(--lum-header-blur));
    }

    .dark header[data-theme-layout="lumen"] .lum-header-shell {
        background: var(--lum-glass-bg);
    }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    header[data-theme-layout="lumen"] .lum-header-shell {
        background: var(--lum-surface-solid);
    }

    header[data-theme-layout="lumen"] .lum-header-shell::before {
        display: none;
    }
}

header[data-theme-layout="lumen"].lum-header--compact .lum-header-shell {
    box-shadow: 0 8px 32px -8px rgba(30, 27, 75, 0.18);
    border-radius: var(--lum-radius-sm);
}

header[data-theme-layout="lumen"].lum-header--compact {
    --lum-header-blur: 24px;
}

@media (min-width: 1024px) {
    header[data-theme-layout="lumen"] .lum-header-sticky-wrap {
        position: sticky;
        top: calc(var(--site-top-inset, 0px) + 0.25rem);
        z-index: 40;
    }
}

/* Header actions & navbar */
header[data-theme-layout="lumen"] .lum-action {
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius-sm);
    background: rgba(255, 255, 255, 0.72);
    transition: border-color 0.2s var(--lum-ease), color 0.2s var(--lum-ease), box-shadow 0.2s var(--lum-ease);
}

.dark header[data-theme-layout="lumen"] .lum-action {
    background: rgba(15, 23, 42, 0.72);
}

header[data-theme-layout="lumen"] .lum-action:hover {
    border-color: var(--primary-400, #818CF8);
    color: var(--primary-600, var(--lum-primary));
    box-shadow: var(--lum-shadow-soft);
}

header[data-theme-layout="lumen"] .lum-navbar > div {
    background-color: transparent !important;
    color: var(--text-primary, var(--lum-text)) !important;
    border: none;
    border-radius: var(--lum-radius-sm);
    height: 3rem;
    padding-inline: 1rem;
}

header[data-theme-layout="lumen"] .lum-navbar .menu-item_link:hover {
    color: var(--primary-600, var(--lum-primary));
}

header[data-theme-layout="lumen"] .lum-category-pills {
    transition: max-height 0.3s var(--lum-ease), opacity 0.25s var(--lum-ease);
}

.lum-pill,
header[data-theme-layout="lumen"] .lum-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.375rem 0.875rem;
    border-radius: var(--lum-radius-pill);
    font-size: 0.8125rem;
    border: 1px solid var(--lum-glass-border);
    background: rgba(255, 255, 255, 0.72);
    color: var(--lum-text-muted);
    white-space: nowrap;
    transition: color 0.2s var(--lum-ease), border-color 0.2s var(--lum-ease), background 0.2s var(--lum-ease);
}

.lum-pill:hover,
header[data-theme-layout="lumen"] .lum-pill:hover {
    color: var(--primary-600, var(--lum-primary));
    border-color: var(--primary-400, #818CF8);
    background: rgba(238, 242, 255, 0.85);
}

.dark .lum-pill {
    background: rgba(15, 23, 42, 0.72);
}

/* Inline glass search field */
.lum-search-inline,
header[data-theme-layout="lumen"] .search-btn-open {
    border: 1px solid var(--lum-glass-border) !important;
    border-radius: var(--lum-radius-sm) !important;
    background: rgba(255, 255, 255, 0.72) !important;
    transition: border-color 0.2s var(--lum-ease), box-shadow 0.2s var(--lum-ease);
}

.dark header[data-theme-layout="lumen"] .search-btn-open {
    background: rgba(15, 23, 42, 0.72) !important;
}

header[data-theme-layout="lumen"] .search-btn-open:hover {
    border-color: var(--primary-300, #A5B4FC) !important;
    box-shadow: var(--lum-shadow-soft);
}

/* ========== Megamenu — frosted dropdown ========== */
.lum-megamenu {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: max-height 0.35s var(--lum-ease), opacity 0.25s var(--lum-ease), margin 0.25s var(--lum-ease);
    margin-top: 0;
    pointer-events: none;
}

.lum-megamenu.is-open {
    max-height: 24rem;
    opacity: 1;
    visibility: visible;
    margin-top: 0.5rem;
    pointer-events: auto;
}

.lum-megamenu__panel {
    border-radius: var(--lum-radius);
    padding: 0.75rem 1rem;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid var(--lum-glass-border);
    box-shadow: var(--lum-shadow-soft);
}

.dark .lum-megamenu__panel {
    background: rgba(15, 23, 42, 0.92);
}

@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) {
    .lum-megamenu__panel {
        background: var(--lum-glass-bg-dense);
        backdrop-filter: blur(var(--lum-blur));
        -webkit-backdrop-filter: blur(var(--lum-blur));
    }
}

.lum-megamenu__nav > div {
    background: rgba(238, 242, 255, 0.72) !important;
    color: var(--lum-text-muted) !important;
    border: 1px solid var(--lum-glass-border) !important;
    border-radius: var(--lum-radius-sm) !important;
    height: auto !important;
    min-height: 3rem;
    padding: 0.5rem 1.25rem !important;
    flex-wrap: wrap;
    gap: 0.25rem 1.25rem;
    box-shadow: none !important;
}

.dark .lum-megamenu__nav > div {
    background: rgba(15, 23, 42, 0.72) !important;
    color: var(--lum-text) !important;
}

.lum-megamenu__nav .menu-item_link {
    color: var(--lum-text-muted) !important;
    font-weight: 500;
    transition: color 0.2s var(--lum-ease);
}

.lum-megamenu__nav .menu-item_link:hover {
    color: var(--primary-600, var(--lum-primary)) !important;
}

.lum-megamenu__nav .menu-item svg {
    color: var(--primary-500, var(--lum-primary)) !important;
}

.lum-megamenu__nav .solid-menu {
    background: var(--lum-surface-solid) !important;
    border: 1px solid var(--lum-glass-border) !important;
    border-radius: var(--lum-radius-sm) !important;
    box-shadow: var(--lum-shadow-soft) !important;
}

.lum-megamenu__nav .solid-menu a {
    color: var(--lum-text-muted) !important;
}

.lum-megamenu__nav .solid-menu a:hover {
    color: var(--primary-600, var(--lum-primary)) !important;
    background: rgba(238, 242, 255, 0.6) !important;
}

.lum-megamenu-trigger[aria-expanded="true"] {
    border-color: var(--primary-400, #818CF8);
    color: var(--primary-600, var(--lum-primary));
    box-shadow: var(--lum-shadow-soft);
}

/* ========== Footer — dark frosted glass ========== */
footer[data-theme-layout="lumen"] {
    background: var(--lum-footer-bg) !important;
    color: var(--footer-text, var(--lum-footer-text));
    border-top: 1px solid rgba(129, 140, 248, 0.15);
}

footer[data-theme-layout="lumen"].lum-footer-glass {
    background: var(--lum-footer-bg) !important;
}

@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) {
    footer[data-theme-layout="lumen"].lum-footer-glass {
        backdrop-filter: blur(var(--lum-blur));
        -webkit-backdrop-filter: blur(var(--lum-blur));
    }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    footer[data-theme-layout="lumen"].lum-footer-glass {
        background: rgba(15, 23, 42, 0.97) !important;
    }
}

footer[data-theme-layout="lumen"] .lum-trust-bar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    padding: 1.25rem 0;
    border-bottom: 1px solid rgba(203, 213, 225, 0.15);
}

@media (min-width: 768px) {
    footer[data-theme-layout="lumen"] .lum-trust-bar {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

footer[data-theme-layout="lumen"] .lum-trust-item {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    font-size: 0.8125rem;
    color: rgba(203, 213, 225, 0.92);
}

footer[data-theme-layout="lumen"] .lum-trust-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: var(--lum-radius-sm);
    background: rgba(99, 102, 241, 0.22);
    color: #E0E7FF;
    flex-shrink: 0;
}

footer[data-theme-layout="lumen"] .lum-footer-link {
    transition: color 0.2s var(--lum-ease);
}

footer[data-theme-layout="lumen"] .lum-footer-link:hover {
    color: #FFFFFF;
}

footer[data-theme-layout="lumen"] .lum-social {
    transition: color 0.2s var(--lum-ease), border-color 0.2s var(--lum-ease), background 0.2s var(--lum-ease);
    border-radius: var(--lum-radius-sm);
}

footer[data-theme-layout="lumen"] .lum-social:hover {
    color: #FFFFFF;
    border-color: var(--primary-400, #818CF8);
    background: rgba(99, 102, 241, 0.2);
}

/* ========== Product cards — glass 1:1 + highlight sweep ========== */
.lum-card {
    position: relative;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius);
    box-shadow: var(--lum-shadow-soft);
    transition: border-color 0.25s var(--lum-ease), box-shadow 0.25s var(--lum-ease), transform 0.25s var(--lum-ease);
}

.dark .lum-card {
    background: rgba(15, 23, 42, 0.88);
}

.lum-card::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(
        105deg,
        transparent 38%,
        rgba(255, 255, 255, 0.42) 50%,
        transparent 62%
    );
    transform: translateX(-120%);
    transition: transform var(--lum-sweep-duration) var(--lum-ease);
    pointer-events: none;
    z-index: 2;
}

.lum-card:hover::after,
.lum-card:focus-within::after {
    transform: translateX(120%);
}

[dir="rtl"] .lum-card::after {
    background: linear-gradient(
        -105deg,
        transparent 38%,
        rgba(255, 255, 255, 0.42) 50%,
        transparent 62%
    );
    transform: translateX(120%);
}

[dir="rtl"] .lum-card:hover::after,
[dir="rtl"] .lum-card:focus-within::after {
    transform: translateX(-120%);
}

.lum-card--hover:hover {
    border-color: var(--primary-400, #818CF8);
    box-shadow: 0 8px 32px -8px rgba(99, 102, 241, 0.22);
    transform: translateY(-2px);
}

.product-card[data-theme-card="lumen"] {
    position: relative;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.88) !important;
    border: 1px solid var(--lum-glass-border) !important;
    border-radius: var(--lum-radius) !important;
    box-shadow: var(--lum-shadow-soft) !important;
    transition: transform 0.3s var(--lum-ease), box-shadow 0.3s var(--lum-ease), border-color 0.3s var(--lum-ease);
}

.dark .product-card[data-theme-card="lumen"] {
    background: rgba(15, 23, 42, 0.88) !important;
}

.product-card[data-theme-card="lumen"]::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(
        105deg,
        transparent 38%,
        rgba(255, 255, 255, 0.38) 50%,
        transparent 62%
    );
    transform: translateX(-120%);
    transition: transform var(--lum-sweep-duration) var(--lum-ease);
    pointer-events: none;
    z-index: 2;
}

.product-card[data-theme-card="lumen"]:hover::after,
.product-card[data-theme-card="lumen"]:focus-within::after {
    transform: translateX(120%);
}

[dir="rtl"] .product-card[data-theme-card="lumen"]::after {
    background: linear-gradient(
        -105deg,
        transparent 38%,
        rgba(255, 255, 255, 0.38) 50%,
        transparent 62%
    );
    transform: translateX(120%);
}

[dir="rtl"] .product-card[data-theme-card="lumen"]:hover::after,
[dir="rtl"] .product-card[data-theme-card="lumen"]:focus-within::after {
    transform: translateX(-120%);
}

.product-card[data-theme-card="lumen"] .product-image-container {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: calc(var(--lum-radius) - 2px);
}

.product-card[data-theme-card="lumen"]:hover {
    transform: translateY(-4px);
    border-color: var(--primary-400, #818CF8) !important;
    box-shadow: 0 12px 36px -10px rgba(99, 102, 241, 0.28) !important;
}

.product-card[data-theme-card="lumen"] .product-card_header {
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 0.25s var(--lum-ease), transform 0.25s var(--lum-ease);
    z-index: 3;
    position: relative;
}

.product-card[data-theme-card="lumen"]:hover .product-card_header,
.product-card[data-theme-card="lumen"]:focus-within .product-card_header,
.product-card[data-theme-card="lumen"].lum-card--touch .product-card_header {
    opacity: 1;
    transform: translateY(0);
}

.product-card[data-theme-card="lumen"] .product-card_img {
    transition: transform 0.35s var(--lum-ease);
}

.product-card[data-theme-card="lumen"]:hover .product-card_img {
    transform: scale(1.04);
}

.lum-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    min-width: 2.75rem;
    min-height: 2.75rem;
    padding: 0;
    border-radius: var(--lum-radius-sm);
    border: 1px solid var(--lum-glass-border);
    background: rgba(255, 255, 255, 0.82);
    color: inherit;
    cursor: pointer;
    appearance: none;
    transition: border-color 0.2s var(--lum-ease), color 0.2s var(--lum-ease), box-shadow 0.2s var(--lum-ease);
}

.dark .lum-icon-btn {
    background: rgba(15, 23, 42, 0.82);
}

.lum-icon-btn:hover {
    border-color: var(--primary-400, #818CF8);
    color: var(--primary-600, var(--lum-primary));
    box-shadow: var(--lum-shadow-soft);
}

/* ========== Buttons — solid primary, glass ghost ========== */
.lum-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    height: 2.625rem;
    padding: 0 1rem;
    font-size: 0.875rem;
    font-weight: 500;
    border-radius: var(--lum-radius-sm);
    border: none;
    cursor: pointer;
    transition: transform 0.2s var(--lum-ease), filter 0.2s var(--lum-ease), box-shadow 0.2s var(--lum-ease);
}

.lum-btn--primary,
.lum-btn {
    background: var(--primary-600, var(--lum-primary));
    color: #FFFFFF;
    box-shadow: 0 4px 16px -4px rgba(99, 102, 241, 0.45);
}

.lum-btn--primary:hover,
.lum-btn:hover {
    filter: brightness(1.06);
    transform: translateY(-1px);
}

.lum-btn-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    height: 2.625rem;
    padding: 0 1rem;
    font-size: 0.875rem;
    border-radius: var(--lum-radius-sm);
    border: 1px solid var(--lum-glass-border);
    background: rgba(255, 255, 255, 0.72);
    color: var(--lum-text-muted);
    transition: color 0.2s var(--lum-ease), border-color 0.2s var(--lum-ease), box-shadow 0.2s var(--lum-ease);
}

.dark .lum-btn-ghost {
    background: rgba(15, 23, 42, 0.72);
    color: var(--lum-text);
}

.lum-btn-ghost:hover {
    color: var(--primary-600, var(--lum-primary));
    border-color: var(--primary-400, #818CF8);
    box-shadow: var(--lum-shadow-soft);
}

.lum-btn-full {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.75rem 1.25rem;
    font-weight: 500;
    border-radius: var(--lum-radius-sm);
    border: none;
    background: var(--primary-600, var(--lum-primary));
    color: #FFFFFF;
    box-shadow: 0 4px 16px -4px rgba(99, 102, 241, 0.45);
    transition: filter 0.2s var(--lum-ease), transform 0.2s var(--lum-ease);
}

.lum-btn-full:hover:not(:disabled) {
    filter: brightness(1.06);
    transform: translateY(-1px);
}

.lum-btn-full:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ========== Forms & inputs ========== */
.lum-input {
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius-sm);
    transition: border-color 0.2s var(--lum-ease), box-shadow 0.2s var(--lum-ease);
}

.dark .lum-input {
    background: rgba(15, 23, 42, 0.88);
    color: var(--lum-text);
}

.lum-input:focus-within,
.lum-input:focus,
.lum-input:focus-visible {
    border-color: var(--primary-400, #818CF8);
    box-shadow: var(--lum-focus-ring);
    outline: none;
}

/* Focus ring — glass frost (indigo token, not aurora rose glow) */
header[data-theme-layout="lumen"] a:focus-visible,
header[data-theme-layout="lumen"] button:focus-visible,
footer[data-theme-layout="lumen"] a:focus-visible,
footer[data-theme-layout="lumen"] button:focus-visible,
[data-theme-page="lumen"] a:focus-visible,
[data-theme-page="lumen"] button:focus-visible,
[data-theme-page="lumen"] input:focus-visible,
[data-theme-page="lumen"] select:focus-visible,
[data-theme-page="lumen"] textarea:focus-visible,
.product-card[data-theme-card="lumen"] a:focus-visible,
.product-card[data-theme-card="lumen"] button:focus-visible,
.lum-btn:focus-visible,
.lum-btn-ghost:focus-visible,
.lum-btn-full:focus-visible,
.lum-icon-btn:focus-visible,
.lum-action:focus-visible,
.lum-qty-stepper__btn:focus-visible {
    outline: 2px solid var(--primary-500, var(--lum-primary));
    outline-offset: 2px;
    box-shadow: var(--lum-focus-ring);
}

/* ========== Badges & chips ========== */
.lum-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 500;
    border-radius: var(--lum-radius-pill);
    border: 1px solid rgba(99, 102, 241, 0.25);
    background: rgba(238, 242, 255, 0.85);
    color: var(--primary-700, #4338CA);
}

.dark .lum-chip {
    background: rgba(30, 27, 75, 0.65);
    color: #C7D2FE;
    border-color: rgba(129, 140, 248, 0.3);
}

.lum-section-icon {
    background: var(--lum-accent-gradient) !important;
    border: none !important;
    border-radius: var(--lum-radius-sm);
    color: #FFFFFF !important;
    box-shadow: 0 4px 16px -4px rgba(99, 102, 241, 0.4) !important;
}

/* ========== Cart drawer — frosted slide-in ========== */
/* backdrop-filter layer 3: cart drawer */
.cart.lum-drawer,
.mobile-cart.lum-drawer {
    z-index: 1000045 !important;
}

header[data-theme-layout="lumen"] ~ .cart.lum-drawer,
header[data-theme-layout="lumen"] ~ .mobile-cart.lum-drawer {
    z-index: 1000045 !important;
}

header[data-theme-layout="lumen"] ~ .cart.lum-drawer {
    left: auto;
    right: 0;
    --tw-translate-x: 100%;
    transform: translateX(100%);
    border-radius: var(--lum-radius) 0 0 var(--lum-radius) !important;
}

header[data-theme-layout="lumen"] ~ .cart.lum-drawer.active {
    --tw-translate-x: 0;
    transform: translateX(0);
    visibility: visible;
    pointer-events: auto;
}

header[data-theme-layout="lumen"] ~ .cart.lum-drawer:not(.active) {
    visibility: hidden;
    pointer-events: none;
}

header[data-theme-layout="lumen"] ~ .lum-drawer {
    background: rgba(255, 255, 255, 0.94) !important;
    border: 1px solid var(--lum-glass-border) !important;
    border-radius: var(--lum-radius) !important;
    box-shadow: var(--lum-shadow-soft) !important;
}

.dark header[data-theme-layout="lumen"] ~ .lum-drawer {
    background: rgba(15, 23, 42, 0.94) !important;
}

@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) {
    header[data-theme-layout="lumen"] ~ .lum-drawer {
        background: var(--lum-glass-bg-dense) !important;
        backdrop-filter: blur(var(--lum-blur));
        -webkit-backdrop-filter: blur(var(--lum-blur));
    }
}

header[data-theme-layout="lumen"] ~ .lum-drawer .cart-footer,
header[data-theme-layout="lumen"] ~ .lum-drawer .mobile-cart-footer {
    border-color: var(--lum-glass-border) !important;
}

header[data-theme-layout="lumen"] ~ .mobile-cart.lum-drawer:not(.active) {
    visibility: hidden;
    pointer-events: none;
}

header[data-theme-layout="lumen"] ~ .mobile-cart.lum-drawer.active {
    visibility: visible;
    pointer-events: auto;
}

/* ========== Global page skin ========== */
[data-theme-page="lumen"] .shadow,
[data-theme-page="lumen"] .shadow-sm,
[data-theme-page="lumen"] .shadow-md,
[data-theme-page="lumen"] .shadow-lg,
[data-theme-page="lumen"] .shadow-xl,
[data-theme-page="lumen"] .child\:shadow > * {
    box-shadow: none !important;
}

[data-theme-page="lumen"] .child\:bg-white > *,
[data-theme-page="lumen"] .bg-white.shadow,
[data-theme-page="lumen"] .bg-white.shadow-lg,
[data-theme-page="lumen"] .bg-white.shadow-sm {
    border: 1px solid var(--lum-glass-border) !important;
    border-radius: var(--lum-radius);
}

/* ========== Home hero ========== */
.lum-home-hero {
    position: relative;
}

.lum-home-hero::before {
    content: "";
    position: absolute;
    inset: -1rem -0.5rem auto;
    height: 55%;
    background: radial-gradient(
        ellipse at 50% 0%,
        rgba(99, 102, 241, 0.14) 0%,
        transparent 70%
    );
    pointer-events: none;
    z-index: 0;
}

.lum-home-hero > * {
    position: relative;
    z-index: 1;
}

.lum-home-popup {
    border: 1px solid var(--lum-glass-border) !important;
    border-radius: var(--lum-radius) !important;
    box-shadow: var(--lum-shadow-soft) !important;
    background: var(--lum-surface-solid) !important;
}

.lum-feature-card::before {
    content: "";
    position: absolute;
    top: 0;
    inset-inline: 0;
    height: 3px;
    background: var(--lum-accent-gradient);
}

.lum-feature-card {
    position: relative;
    overflow: hidden;
}

/* ========== CMS page hero ========== */
.lum-page-hero-bg {
    background: linear-gradient(135deg, #EEF2FF 0%, #F0F4FF 50%, #E0E7FF 100%);
}

.dark .lum-page-hero-bg {
    background: linear-gradient(135deg, #0B1120 0%, #0F172A 50%, #1E1B4B 100%);
}

.lum-page-hero {
    text-align: center;
    padding: 2rem 1rem;
    border-radius: var(--lum-radius);
    border: 1px solid var(--lum-glass-border);
    background: rgba(255, 255, 255, 0.72);
}

.dark .lum-page-hero {
    background: rgba(15, 23, 42, 0.72);
}

.lum-page-hero__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.5rem;
    height: 4.5rem;
    border-radius: var(--lum-radius);
    background: var(--lum-accent-gradient);
    color: #fff;
    box-shadow: 0 4px 16px -4px rgba(99, 102, 241, 0.4);
    margin-bottom: 1rem;
}

/* ========== Category tiles ========== */
[data-theme-page="lumen"] .lum-category-tile {
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius);
    background: rgba(255, 255, 255, 0.88);
    box-shadow: var(--lum-shadow-soft) !important;
    transition: border-color 0.2s var(--lum-ease), box-shadow 0.2s var(--lum-ease), transform 0.2s var(--lum-ease);
}

.dark [data-theme-page="lumen"] .lum-category-tile {
    background: rgba(15, 23, 42, 0.88);
}

[data-theme-page="lumen"] .lum-category-tile:hover {
    border-color: var(--primary-400, #818CF8);
    box-shadow: 0 8px 28px -8px rgba(99, 102, 241, 0.24) !important;
    transform: translateY(-2px);
}

[data-theme-page="lumen"] .lum-category-tile__ring {
    padding: 2px;
    border-radius: var(--lum-radius);
    background: var(--lum-accent-gradient);
}

[data-theme-page="lumen"] .lum-category-tile__ring > div {
    border-radius: calc(var(--lum-radius) - 2px);
    overflow: hidden;
    background: var(--lum-surface-solid);
}

.lum-category-ring {
    position: relative;
    padding: 2px;
    border-radius: var(--lum-radius);
    background: var(--lum-accent-gradient);
}

.lum-category-ring__inner {
    width: 100%;
    height: 100%;
    border-radius: calc(var(--lum-radius) - 2px);
    overflow: hidden;
    background: var(--lum-surface-solid);
}

/* ========== Product listing ========== */
[data-theme-page="lumen"] .lum-shop-hero {
    padding: 1.5rem 1.25rem;
    border-radius: var(--lum-radius);
    border: 1px solid var(--lum-glass-border);
    margin-bottom: 0.5rem;
}

[data-theme-page="lumen"] .lum-shop-toolbar {
    padding: 0.75rem 1rem;
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius-sm);
    background: rgba(255, 255, 255, 0.88);
    margin-bottom: 1.25rem;
}

.dark [data-theme-page="lumen"] .lum-shop-toolbar {
    background: rgba(15, 23, 42, 0.88);
}

[data-theme-page="lumen"] .lum-shop-toolbar li[data-sort] {
    padding: 0.25rem 0.75rem;
    border-radius: var(--lum-radius-pill);
    transition: background 0.2s var(--lum-ease), color 0.2s var(--lum-ease);
}

[data-theme-page="lumen"] .lum-shop-toolbar li[data-sort].theme-text-primary-500,
[data-theme-page="lumen"] .lum-shop-toolbar li[data-sort]:hover {
    background: rgba(238, 242, 255, 0.75);
}

[data-theme-page="lumen"] .mobile-filters-container {
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius);
    padding: 0.75rem;
    background: rgba(255, 255, 255, 0.88);
    margin-bottom: 1rem;
}

[data-theme-page="lumen"] .filter-buttons-row button {
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius-pill);
    background: rgba(255, 255, 255, 0.88);
    transition: border-color 0.2s var(--lum-ease), color 0.2s var(--lum-ease);
}

[data-theme-page="lumen"] .filter-buttons-row button:hover {
    border-color: var(--primary-400, #818CF8);
    color: var(--primary-600, var(--lum-primary));
}

[data-theme-page="lumen"] .products-count-badge {
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius-pill);
    background: rgba(238, 242, 255, 0.75);
}

[data-theme-page="lumen"] #per-page-selector {
    border-color: var(--lum-glass-border) !important;
    border-radius: var(--lum-radius-pill) !important;
}

[data-theme-page="lumen"] .grid .product-card[data-theme-card="lumen"] {
    height: 100%;
}

/* ========== Product detail — spec panel & gallery ========== */
[data-theme-page="lumen"] .lum-purchase-box {
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius);
    background: rgba(255, 255, 255, 0.88);
}

.dark [data-theme-page="lumen"] .lum-purchase-box {
    background: rgba(15, 23, 42, 0.88);
}

[data-theme-page="lumen"] .lum-gallery-thumb {
    border: 2px solid var(--lum-glass-border);
    border-radius: var(--lum-radius-sm);
    transition: border-color 0.2s var(--lum-ease), box-shadow 0.2s var(--lum-ease);
}

[data-theme-page="lumen"] .lum-gallery-thumb:hover {
    border-color: var(--primary-400, #818CF8);
    box-shadow: var(--lum-shadow-soft);
}

[data-theme-page="lumen"] #add-to-cart-btn.lum-btn-full {
    width: 100%;
    height: 3rem;
    font-size: 1rem;
    font-weight: 500;
}

.lum-mobile-cta {
    background: rgba(255, 255, 255, 0.94);
    border-top: 1px solid var(--lum-glass-border);
    box-shadow: 0 -8px 24px -8px rgba(30, 27, 75, 0.14);
    padding: 0.75rem 1rem calc(0.75rem + env(safe-area-inset-bottom, 0px));
}

.dark .lum-mobile-cta {
    background: rgba(15, 23, 42, 0.94);
}

@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) {
    .lum-mobile-cta {
        background: var(--lum-glass-bg-dense);
        backdrop-filter: blur(var(--lum-blur));
        -webkit-backdrop-filter: blur(var(--lum-blur));
    }
}

/* ========== Cart page ========== */
[data-theme-page="lumen"] .lum-cart-layout {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

@media (min-width: 1024px) {
    [data-theme-page="lumen"] .lum-cart-layout {
        flex-direction: row;
        align-items: flex-start;
    }

    [data-theme-page="lumen"] .lum-cart-items {
        flex: 1 1 0%;
        min-width: 0;
    }

    [data-theme-page="lumen"] .lum-summary-box {
        flex: 0 0 22rem;
        max-width: 22rem;
    }
}

.lum-alert {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-radius: var(--lum-radius);
    border: 1px solid;
}

.lum-alert--warning {
    background: rgba(254, 243, 199, 0.65);
    border-color: #FCD34D;
    color: #92400E;
}

.dark .lum-alert--warning {
    background: rgba(69, 26, 3, 0.45);
    border-color: #B45309;
    color: #FDE68A;
}

.lum-line-item {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 1rem 1.25rem;
    padding: 1rem;
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius);
    background: rgba(255, 255, 255, 0.88);
    transition: border-color 0.2s var(--lum-ease), box-shadow 0.2s var(--lum-ease);
}

.dark .lum-line-item {
    background: rgba(15, 23, 42, 0.88);
}

.lum-line-item:hover {
    border-color: var(--primary-300, #A5B4FC);
}

.lum-line-item--unavailable {
    opacity: 0.75;
}

.lum-line-item__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.65);
    border-radius: inherit;
    pointer-events: none;
}

.dark .lum-line-item__overlay {
    background: rgba(15, 23, 42, 0.65);
}

.lum-line-item__media {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.lum-line-item__thumb {
    display: block;
    width: 7rem;
    border-radius: var(--lum-radius-sm);
    overflow: hidden;
    border: 1px solid var(--lum-glass-border);
}

.lum-line-item__thumb img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.lum-line-item__body {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    min-width: 0;
}

.lum-line-item__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    font-size: 0.8125rem;
    color: var(--lum-text-muted);
}

.lum-line-item__meta li {
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.lum-line-item__price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.25rem 0.5rem;
    margin-top: 0.25rem;
}

.lum-line-item__actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.5rem;
}

@media (max-width: 639px) {
    .lum-line-item {
        grid-template-columns: 1fr;
    }

    .lum-line-item__media {
        flex-direction: row;
        align-items: flex-start;
    }

    .lum-line-item__actions {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}

.lum-qty-stepper {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius-pill);
    padding: 0.125rem 0.375rem;
    background: rgba(255, 255, 255, 0.88);
}

.lum-qty-stepper__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: var(--lum-radius-sm);
    color: var(--primary-600, var(--lum-primary));
    transition: background 0.15s var(--lum-ease);
}

.lum-qty-stepper__btn:hover {
    background: rgba(238, 242, 255, 0.85);
}

.lum-qty-stepper__input {
    width: 2.5rem;
    text-align: center;
    background: transparent;
    border: none;
    font-size: 0.9375rem;
    -moz-appearance: textfield;
}

.lum-qty-stepper__input::-webkit-outer-spin-button,
.lum-qty-stepper__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.lum-summary-box__rows {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.lum-summary-box__rows li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    font-size: 0.875rem;
    color: var(--lum-text-muted);
}

.lum-summary-box__total {
    padding-top: 1rem;
    margin-top: 0.5rem;
    border-top: 2px dashed var(--lum-glass-border);
    color: var(--text-primary, var(--lum-text)) !important;
}

.lum-loyalty-box {
    padding: 1rem;
    border-radius: var(--lum-radius);
    border: 1px solid rgba(99, 102, 241, 0.25);
    background: linear-gradient(
        135deg,
        rgba(238, 242, 255, 0.85) 0%,
        rgba(255, 255, 255, 0.88) 100%
    );
}

.dark .lum-loyalty-box {
    background: linear-gradient(
        135deg,
        rgba(30, 27, 75, 0.55) 0%,
        rgba(15, 23, 42, 0.88) 100%
    );
}

.lum-loyalty-box__item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.625rem;
    border-radius: var(--lum-radius-sm);
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid var(--lum-glass-border);
}

.dark .lum-loyalty-box__item {
    background: rgba(15, 23, 42, 0.88);
}

.lum-cart-mobile-bar {
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: 35;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 1rem calc(0.75rem + env(safe-area-inset-bottom, 0px));
    background: rgba(255, 255, 255, 0.94);
    border-top: 1px solid var(--lum-glass-border);
    box-shadow: 0 -8px 24px -8px rgba(30, 27, 75, 0.12);
}

.dark .lum-cart-mobile-bar {
    background: rgba(15, 23, 42, 0.94);
}

@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) {
    .lum-cart-mobile-bar {
        background: var(--lum-glass-bg-dense);
        backdrop-filter: blur(var(--lum-blur));
        -webkit-backdrop-filter: blur(var(--lum-blur));
    }
}

/* ========== Checkout ========== */
[data-theme-page="lumen"] .lum-checkout-stepper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin: 1.5rem 0;
}

[data-theme-page="lumen"] .lum-checkout-step {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.8125rem;
    color: var(--lum-text-muted);
}

[data-theme-page="lumen"] .lum-checkout-step--active {
    color: var(--primary-600, var(--lum-primary));
    font-weight: 500;
}

[data-theme-page="lumen"] .lum-checkout-step__dot {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: var(--lum-radius-pill);
    background: var(--lum-glass-border);
}

[data-theme-page="lumen"] .lum-checkout-step--active .lum-checkout-step__dot {
    background: var(--primary-600, var(--lum-primary));
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.25);
}

[data-theme-page="lumen"] .lum-address-card {
    border: 1px solid var(--lum-glass-border) !important;
    border-radius: var(--lum-radius) !important;
    transition: border-color 0.2s var(--lum-ease), box-shadow 0.2s var(--lum-ease);
}

[data-theme-page="lumen"] .lum-address-card:hover,
[data-theme-page="lumen"] .lum-address-card.selected {
    border-color: var(--primary-400, #818CF8) !important;
    box-shadow: var(--lum-shadow-soft);
}

/* ========== Blog & CMS ========== */
[data-theme-page="lumen"] .faq-item,
[data-theme-page="lumen"] .lum-faq-item {
    box-shadow: none !important;
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius) !important;
    background: rgba(255, 255, 255, 0.88);
    transition: border-color 0.2s var(--lum-ease), box-shadow 0.2s var(--lum-ease);
}

.dark [data-theme-page="lumen"] .faq-item,
.dark [data-theme-page="lumen"] .lum-faq-item {
    background: rgba(15, 23, 42, 0.88);
}

[data-theme-page="lumen"] .faq-item:hover,
[data-theme-page="lumen"] .lum-faq-item:hover {
    border-color: var(--primary-400, #818CF8);
    box-shadow: var(--lum-shadow-soft) !important;
}

[data-theme-page="lumen"] .accordion-icon-container {
    background: rgba(238, 242, 255, 0.75) !important;
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius-sm);
}

[data-theme-page="lumen"] .faq-answer {
    border-color: var(--lum-glass-border) !important;
}

.lum-blog-page.blog-page,
.blog-page.lum-blog-page {
    --blog-shadow: none;
    --blog-radius: var(--lum-radius);
}

.lum-blog-page .blog-card,
.lum-blog-page article,
[data-theme-page="lumen"] .blog-page .blog-card,
[data-theme-page="lumen"] .blog-page article {
    box-shadow: none !important;
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius);
    transition: border-color 0.2s var(--lum-ease), box-shadow 0.2s var(--lum-ease), transform 0.2s var(--lum-ease);
}

.lum-blog-page .blog-card:hover,
.lum-blog-page article:hover,
[data-theme-page="lumen"] .blog-page .blog-card:hover,
[data-theme-page="lumen"] .blog-page article:hover {
    border-color: var(--primary-400, #818CF8);
    box-shadow: var(--lum-shadow-soft) !important;
    transform: translateY(-2px);
}

.lum-blog-page .blog-search-highlight,
[data-theme-page="lumen"] .blog-search-highlight {
    border: 1px solid var(--lum-glass-border) !important;
    border-radius: var(--lum-radius) !important;
    background: rgba(238, 242, 255, 0.65) !important;
}

[data-theme-page="lumen"] .about-card,
[data-theme-page="lumen"] .contact-card {
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius);
}

.dark [data-theme-page="lumen"] .about-card,
.dark [data-theme-page="lumen"] .contact-card {
    background: rgba(15, 23, 42, 0.88);
}

[data-theme-page="lumen"] .feature-item,
[data-theme-page="lumen"] .contact-info-item {
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius);
    transition: border-color 0.2s var(--lum-ease), box-shadow 0.2s var(--lum-ease), transform 0.2s var(--lum-ease);
}

[data-theme-page="lumen"] .feature-item:hover,
[data-theme-page="lumen"] .contact-info-item:hover {
    transform: translateY(-3px);
    border-color: var(--primary-400, #818CF8);
    box-shadow: var(--lum-shadow-soft);
}

[data-theme-page="lumen"] .stats-card,
[data-theme-page="lumen"] .gradient-bg,
[data-theme-page="lumen"] .social-link {
    background: var(--lum-accent-gradient) !important;
    border-radius: var(--lum-radius);
    box-shadow: 0 4px 16px -4px rgba(99, 102, 241, 0.35);
}

[data-theme-page="lumen"] .image-container {
    background: var(--lum-accent-gradient);
    border-radius: var(--lum-radius);
}

[data-theme-page="lumen"] .map-container {
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius);
}

[data-theme-page="lumen"] .lum-search-hero {
    padding: 1.5rem;
    border-radius: var(--lum-radius);
    border: 1px solid var(--lum-glass-border);
    margin-bottom: 2rem;
}

[data-theme-page="lumen"] .lum-result-group {
    border: 1px solid var(--lum-glass-border) !important;
    border-radius: var(--lum-radius) !important;
    box-shadow: none !important;
    background: rgba(255, 255, 255, 0.88);
}

.dark [data-theme-page="lumen"] .lum-result-group {
    background: rgba(15, 23, 42, 0.88);
}

[data-theme-page="lumen"] .lum-result-item {
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius-sm);
    transition: border-color 0.2s var(--lum-ease), box-shadow 0.2s var(--lum-ease);
}

[data-theme-page="lumen"] .lum-result-item:hover {
    border-color: var(--primary-400, #818CF8);
    box-shadow: var(--lum-shadow-soft);
}

/* ========== Slider & hero strip ========== */
[data-theme-page="lumen"] .header-slider {
    border: 1px solid var(--lum-glass-border) !important;
    border-radius: var(--lum-radius) !important;
}

[data-theme-page="lumen"] .header-slider .slider-link::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(30, 27, 75, 0.42) 0%, transparent 55%);
    pointer-events: none;
    border-radius: inherit;
}

[data-theme-page="lumen"] .slider-navigate_btn,
.lum-slider-nav {
    background-color: rgba(255, 255, 255, 0.88) !important;
    border: 1px solid var(--lum-glass-border) !important;
    color: var(--lum-text-muted) !important;
    box-shadow: none !important;
    border-radius: var(--lum-radius-sm) !important;
    transition: color 0.2s var(--lum-ease), border-color 0.2s var(--lum-ease), box-shadow 0.2s var(--lum-ease);
}

[data-theme-page="lumen"] .slider-navigate_btn:hover,
.lum-slider-nav:hover {
    color: var(--primary-600, var(--lum-primary)) !important;
    border-color: var(--primary-400, #818CF8) !important;
    box-shadow: var(--lum-shadow-soft) !important;
}

/* ========== Mobile header glass ========== */
@media (max-width: 1023px) {
    header[data-theme-layout="lumen"] .lum-mobile-topbar {
        background: rgba(255, 255, 255, 0.92) !important;
        border-bottom: 1px solid var(--lum-glass-border) !important;
        isolation: isolate;
    }

    .dark header[data-theme-layout="lumen"] .lum-mobile-topbar {
        background: rgba(15, 23, 42, 0.92) !important;
    }

    header[data-theme-layout="lumen"] .lum-mobile-topbar::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 0;
        pointer-events: none;
    }

    @supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) {
        header[data-theme-layout="lumen"] .lum-mobile-topbar::before {
            backdrop-filter: blur(var(--lum-blur-card));
            -webkit-backdrop-filter: blur(var(--lum-blur-card));
        }
    }

    header[data-theme-layout="lumen"] .lum-mobile-topbar > * {
        position: relative;
        z-index: 1;
    }

    header[data-theme-layout="lumen"] .open-mobile_search-modal {
        border-color: var(--lum-glass-border) !important;
        border-radius: var(--lum-radius-sm) !important;
    }
}

/* ========== RTL adjustments ========== */
[dir="rtl"] header[data-theme-layout="lumen"] ~ .cart.lum-drawer {
    right: auto;
    left: 0;
    border-radius: 0 var(--lum-radius) var(--lum-radius) 0 !important;
    --tw-translate-x: -100%;
    transform: translateX(-100%);
}

[dir="rtl"] header[data-theme-layout="lumen"] ~ .cart.lum-drawer.active {
    --tw-translate-x: 0;
    transform: translateX(0);
}

/* ========== prefers-reduced-motion ========== */
@media (prefers-reduced-motion: reduce) {
    .lum-card::after,
    .product-card[data-theme-card="lumen"]::after {
        display: none;
        transition: none;
    }

    .lum-card,
    .product-card[data-theme-card="lumen"],
    .lum-btn,
    .lum-btn-ghost,
    .lum-btn-full {
        transition: none;
    }
}

/* ========== Performance — mobile blur reduction ========== */
@media (max-width: 768px) {
    :root {
        --lum-blur: var(--lum-blur-mobile);
        --lum-header-blur: var(--lum-blur-mobile);
    }

    body:has(header[data-theme-layout="lumen"])::before {
        opacity: 0.55;
    }
}

/* ========== Wave 11 — signature inventions ========== */
/* Faceted static glass (not morph, not mesh) */
.lum-facet {
    box-shadow:
        inset 1px 1px 0 rgba(255, 255, 255, 0.62),
        inset -1px -1px 0 rgba(99, 102, 241, 0.14),
        var(--lum-shadow-soft);
}

.dark .lum-facet {
    box-shadow:
        inset 1px 1px 0 rgba(199, 210, 254, 0.18),
        inset -1px -1px 0 rgba(15, 23, 42, 0.55),
        var(--lum-shadow-soft);
}

.lum-hit {
    min-width: 2.75rem;
    min-height: 2.75rem;
}

/* Fixed glass navbar */
.lum-nav,
.lum-nav-dock .lum-nav {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    min-height: 3.25rem;
    padding: 0.35rem 1rem;
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius);
    background: rgba(255, 255, 255, 0.72);
    overflow: hidden;
}

.dark .lum-nav {
    background: rgba(15, 23, 42, 0.78);
}

.lum-nav__grid {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image:
        repeating-linear-gradient(
            0deg,
            transparent,
            transparent 11px,
            var(--lum-grid-line) 11px,
            var(--lum-grid-line) 12px
        ),
        repeating-linear-gradient(
            90deg,
            transparent,
            transparent 11px,
            var(--lum-grid-line) 11px,
            var(--lum-grid-line) 12px
        );
    opacity: 0.7;
}

.lum-nav__track {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    width: 100%;
}

.lum-nav__col {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.lum-nav__col--center {
    justify-content: center;
    flex: 1;
}

.lum-nav__item {
    position: relative;
    list-style: none;
}

.lum-nav__link {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    color: var(--lum-text);
    font-size: 0.875rem;
    letter-spacing: 0.03em;
}

.lum-nav__link:hover {
    color: var(--primary-600, var(--lum-primary));
}

.lum-nav__submenu {
    background: rgba(255, 255, 255, 0.94) !important;
    border: 1px solid var(--lum-glass-border) !important;
    border-radius: var(--lum-radius-sm) !important;
}

.dark .lum-nav__submenu {
    background: rgba(15, 23, 42, 0.94) !important;
}

.lum-nav-dock {
    margin-top: 0.5rem;
}

.lum-megamenu__cats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.25rem;
}

/* Matte popup — solid panel, no blur (anti-Fluid / anti-Aurora glass popup) */
.lum-popup {
    position: fixed;
    inset: 0;
    z-index: 50;
    background: rgba(15, 23, 42, 0.46);
}

.lum-popup__matte {
    position: relative;
    width: min(28rem, calc(100vw - 2rem));
    padding: 1.5rem;
    background: #F8FAFC;
    border: 1px solid rgba(99, 102, 241, 0.22);
    border-radius: var(--lum-radius);
    color: var(--lum-text);
}

.dark .lum-popup__matte {
    background: #0F172A;
    color: #E2E8F0;
    border-color: rgba(129, 140, 248, 0.28);
}

.lum-popup__facet {
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    box-shadow:
        inset 1px 1px 0 rgba(255, 255, 255, 0.7),
        inset -1px -1px 0 rgba(99, 102, 241, 0.16);
}

.lum-popup__close {
    position: absolute;
    top: 0.5rem;
    inset-inline-end: 0.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--lum-text-muted);
}

.lum-popup__photo {
    width: 100%;
    height: 12rem;
    object-fit: cover;
    border-radius: var(--lum-radius-sm);
    margin-bottom: 1rem;
}

.lum-popup__title {
    font-size: 1.25rem;
    font-weight: 500;
    margin-bottom: 0.5rem;
}

.lum-popup__body {
    color: var(--lum-text-muted);
    margin-bottom: 1rem;
}

.lum-popup__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

/* Banner sitting on visible structural grid */
.lum-banner {
    position: relative;
    isolation: isolate;
}

.lum-banner__grid {
    position: absolute;
    inset: -0.75rem;
    z-index: 0;
    pointer-events: none;
    border-radius: var(--lum-radius);
    background-image:
        repeating-linear-gradient(
            0deg,
            transparent,
            transparent 23px,
            var(--lum-grid-line) 23px,
            var(--lum-grid-line) 24px
        ),
        repeating-linear-gradient(
            90deg,
            transparent,
            transparent 23px,
            var(--lum-grid-line) 23px,
            var(--lum-grid-line) 24px
        );
    opacity: 0.8;
}

.lum-banner__stage {
    position: relative;
    z-index: 1;
}

.lum-banner__frame {
    position: relative;
    display: block;
    overflow: hidden;
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius);
    background: rgba(255, 255, 255, 0.35);
}

.dark .lum-banner__frame {
    background: rgba(15, 23, 42, 0.35);
}

.lum-banner__media {
    width: 100%;
    height: 100%;
}

.lum-banner__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lum-banner__caption {
    position: absolute;
    inset-inline: 0.75rem;
    bottom: 0.75rem;
    padding: 0.75rem 1rem;
    color: var(--lum-text);
}

.lum-banner__title {
    font-size: 1rem;
    font-weight: 500;
}

.lum-banner__desc {
    font-size: 0.8125rem;
    opacity: 0.85;
    margin-top: 0.25rem;
}

.lum-banner__cta {
    margin-top: 0.5rem;
}

.lum-banner__cell {
    min-width: 0;
}

/* Features glass spec strip */
.lum-features,
.lum-home {
    width: 100%;
}

.lum-features__strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    padding: 1rem;
}

@media (min-width: 768px) {
    .lum-features__strip {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.lum-features__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 6.5rem;
    padding: 0.75rem;
    text-align: center;
}

.lum-features__icon img {
    width: 2.5rem;
    height: 2.5rem;
    object-fit: contain;
}

.lum-features__label {
    font-size: 0.8125rem;
    color: var(--lum-text-muted);
}

.lum-home-features {
    margin-top: 2.5rem;
}

/* Layout blocks */
.lum-layout-panel {
    padding: 1.5rem 1.25rem;
}

.lum-layout-crumb {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8125rem;
    color: var(--lum-text-muted);
    margin-bottom: 0.75rem;
}

.lum-layout-title {
    font-size: 1.75rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    color: var(--lum-text);
}

.lum-layout-excerpt {
    margin-top: 0.5rem;
    color: var(--lum-text-muted);
    line-height: 1.7;
}

.lum-layout-hero {
    margin-top: 1.25rem;
    overflow: hidden;
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius);
}

.lum-layout-hero img {
    width: 100%;
    height: 20rem;
    object-fit: cover;
}

.lum-layout-prose {
    line-height: 1.85;
}

.lum-layout-meta {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    font-size: 0.8125rem;
    color: var(--lum-text-muted);
}

.lum-html-block {
    position: relative;
    isolation: isolate;
    width: 100%;
}

.lum-html-block::before {
    content: "";
    position: absolute;
    inset: -0.5rem;
    z-index: 0;
    pointer-events: none;
    border-radius: var(--lum-radius);
    background-image:
        repeating-linear-gradient(
            0deg,
            transparent,
            transparent 23px,
            var(--lum-grid-line) 23px,
            var(--lum-grid-line) 24px
        ),
        repeating-linear-gradient(
            90deg,
            transparent,
            transparent 23px,
            var(--lum-grid-line) 23px,
            var(--lum-grid-line) 24px
        );
    opacity: 0.55;
}

.lum-html-block__panel {
    position: relative;
    z-index: 1;
    padding: 1.25rem;
}

.lum-spacer {
    width: 100%;
}

.lum-spacer--sm,
.layout-spacer--sm {
    height: 1.5rem;
}

.lum-spacer--md,
.layout-spacer--md {
    height: 3rem;
}

.lum-spacer--lg,
.layout-spacer--lg {
    height: 5rem;
}

/* Search overlay / empty states */
.lum-search-sheet {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius);
    padding: 1rem;
}

.dark .lum-search-sheet {
    background: rgba(15, 23, 42, 0.94);
}

@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) {
    .lum-search-sheet {
        background: var(--lum-glass-bg-dense);
        backdrop-filter: blur(var(--lum-blur));
        -webkit-backdrop-filter: blur(var(--lum-blur));
    }
}

.lum-search-sheet__row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
}

.lum-search-sheet__label {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.875rem;
    color: var(--lum-text-muted);
}

.lum-search-suggest {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding-top: 1rem;
    color: var(--lum-text-muted);
}

.lum-search-suggest__link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 2.75rem;
}

.lum-mobile-search {
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius);
    color: var(--lum-text-muted);
}

.dark .lum-mobile-search {
    background: rgba(15, 23, 42, 0.88);
}

.lum-account-menu {
    position: absolute;
    top: 3.25rem;
    inset-inline-end: 0;
    z-index: 30;
    width: 13rem;
    padding: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius-sm);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.dark .lum-account-menu {
    background: rgba(15, 23, 42, 0.96);
}

.group:hover .lum-account-menu,
.group:focus-within .lum-account-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.lum-account-menu a {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 2.75rem;
    padding: 0.35rem 0.5rem;
    border-radius: var(--lum-radius-sm);
}

.lum-empty {
    text-align: center;
}

.lum-empty--panel {
    padding: 3rem 1.25rem;
}

.lum-empty__icon {
    width: 3rem;
    height: 3rem;
    margin: 0 auto 0.75rem;
    color: var(--lum-text-muted);
}

.lum-empty__title {
    font-size: 1.125rem;
    font-weight: 500;
    color: var(--lum-text);
}

.lum-empty__copy,
.lum-empty__hints {
    color: var(--lum-text-muted);
    font-size: 0.875rem;
}

.lum-drawer-empty {
    padding: 2rem 0.5rem;
}

.lum-bottom-nav {
    background: rgba(255, 255, 255, 0.92);
    border-top: 1px solid var(--lum-glass-border);
}

.dark .lum-bottom-nav {
    background: rgba(15, 23, 42, 0.92);
}

/* Slider glass panel over grid */
.lum-slider {
    position: relative;
}

.lum-slider__stage {
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius);
}

.lum-slider__glass {
    position: absolute;
    inset-inline: 1.25rem;
    bottom: 1.25rem;
    max-width: 22rem;
    padding: 1rem 1.25rem;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid var(--lum-glass-border);
    border-radius: var(--lum-radius);
    color: var(--lum-text);
}

.dark .lum-slider__glass {
    background: rgba(15, 23, 42, 0.82);
    color: #E2E8F0;
}

.lum-slider__title {
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: 0.03em;
}

.lum-slider__copy {
    text-align: start;
}

.lum-brands,
.lum-testimonials,
.lum-blog-strip,
.lum-carousel {
    position: relative;
}

.lum-brands--plp {
    margin-bottom: 1rem;
}

.lum-card--product {
    height: 100%;
}

.lum-cart-desktop {
    /* hook wrapper — drawer glass already on .lum-drawer */
}

.lum-contact-form {
    margin-bottom: 2.5rem;
}

.lum-layout-content,
.lum-layout-header {
    width: 100%;
}

.lum-link {
    color: var(--lum-text);
    transition: color 0.2s var(--lum-ease);
}

.lum-link:hover {
    color: var(--primary-600, var(--lum-primary));
}

.lum-search-sheet--mobile {
    padding: 1rem;
}

.lum-quick-view {
    overflow: hidden;
}

.lum-contact-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
}

@media (min-width: 768px) {
    .lum-contact-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.lum-contact-field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    font-size: 0.8125rem;
    color: var(--lum-text-muted);
}

.lum-contact-field--wide {
    grid-column: 1 / -1;
}

.lum-contact-field .lum-input,
.lum-contact-field textarea.lum-input {
    width: 100%;
    min-height: 2.75rem;
    padding: 0.6rem 0.85rem;
}

.lum-directions {
    position: absolute;
    bottom: 15px;
    left: 15px;
}

.lum-qty-stepper__btn {
    width: 2.75rem;
    height: 2.75rem;
}

@media (prefers-reduced-motion: reduce) {
    .lum-banner__img,
    .lum-nav,
    .lum-popup__matte,
    .lum-account-menu,
    .lum-search-sheet {
        transition: none;
    }
}
