/* =====================================================================
 * Dataveli Cart — Dark theme overrides
 * Loaded after the ownership CSS files and theme-mixed.css.
 * Only rules starting with body.theme-dark belong here.
 * ===================================================================== */

body.theme-dark {
    color-scheme: dark;
    --finland-blue: #003580;
    --finland-blue-600: #000731;
    --finland-blue-400: #94bfff;
    --header-accent: #b7d2ff;
    --ink: rgba(255, 255, 255, 0.96);
    --ink-transparent: rgba(255, 255, 255, 0.16);
    --muted-500: #c8d3e8;
    --muted-600: #d8e2f0;
    --muted-700: #e8eefb;
    --glass-bg: rgba(0, 31, 93, 0.382);
    --glass-border: rgba(255, 255, 255, 0.34);
    --glass-shadow: 0 18px 48px rgba(2, 6, 23, 0.42);
    --surface-soft: rgba(12, 24, 46, 0.72);
    --surface-strong: rgba(16, 28, 54, 0.88);
    --surface-accent: rgba(142, 174, 226, 0.18);
    --line-soft: rgba(255, 255, 255, 0.32);
    --button-border-soft: rgba(255, 255, 255, 0.36);
    --overlay-bg: rgba(2, 6, 23, 0.66);
    --datatable-row-bg: rgba(9, 18, 36, 0.74);
    --datatable-row-hover-bg: rgba(28, 44, 76, 0.98);
    --datatable-row-border: rgba(255, 255, 255, 0.5);
    --page-bg:
        radial-gradient(1200px 700px at 8% 10%, rgba(82, 122, 188, 0.24), transparent 62%),
        radial-gradient(900px 520px at 88% 12%, rgba(12, 30, 70, 0.7), transparent 58%),
        radial-gradient(780px 460px at 96% 92%, rgba(166, 193, 238, 0.18), transparent 58%),
        radial-gradient(1200px 680px at 50% 100%, rgba(24, 53, 112, 0.46), transparent 65%),
        linear-gradient(135deg, #020817 0%, #081126 46%, #0d1831 100%);
    --page-blob-a: radial-gradient(circle, rgba(84, 128, 225, 0.4), transparent 70%);
    --page-blob-b: radial-gradient(circle, rgba(20, 46, 92, 0.5), transparent 70%);
}

body.theme-dark h1,
body.theme-dark h2,
body.theme-dark h3,
body.theme-dark h4,
body.theme-dark h5,
body.theme-dark h6 {
    color: #ffffff !important;
    text-shadow: 0 0 1px black !important;
}

body.theme-dark .shop-hero-section {
    background-image: url(../img/hero-bg2.webp) !important;
    background-size: cover !important;
    background-position: center, center !important;
    background-repeat: no-repeat, no-repeat !important;
    border-color: rgba(142, 169, 220, 0.32);
    box-shadow:
        0 24px 54px rgba(2, 6, 23, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
body.theme-dark #hero-particles {
    background: linear-gradient(135deg, rgba(128,128,128,0.9) 0%, rgba(0,0,0,0.618) 38.2%, rgba(0,0,0,0.0) 100%);
}
body.theme-dark .shop-hero-section > .shop-hero-grid > div:first-child > p:first-child {
    color: rgba(255, 255, 255, 0.92) !important;
}
body.theme-dark #hero-sale-open {
    background: linear-gradient(145deg, #fef3c7 0%, #fbbf24 30%, #f59e0b 60%, #d97706 100%) !important;
    color: #7c2d00 !important;
}
body.theme-dark #hero-new-open {
    --hero-wave-color: rgba(255, 255, 255, 0.78);
}
/* Featured modal is always dark-navy — override any light-theme text/border */
body.theme-dark .featured-hero-modal-title {
    color: #ffffff;
}
body.theme-dark .featured-hero-modal-counter {
    color: rgba(255, 255, 255, 0.82);
}
body.theme-dark .featured-hero-modal-status {
    color: #ffffff;
}
body.theme-dark .checkout-secure-note span {
    color: inherit !important;
}

body.theme-dark .cart-backorder-banner,
body.theme-dark .cart-backorder-note {
    color: #fca5a5;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7);
}
body.theme-dark .header-cat-badge {
    background: rgba(126,184,247,.11);
    border-color: rgba(126,184,247,.22);
    color: var(--finland-blue-400);
}
body.theme-dark .header-cat-badge:hover {
    background: rgba(126,184,247,.2);
    border-color: rgba(126,184,247,.38);
}
body.theme-dark .header-cat-badge--more {
    background: var(--finland-blue-400);
    color: #001a40;
}
body.theme-dark .site-header-actions .site-header-ctrl:hover,
body.theme-dark .site-header-actions .site-header-ctrl-form .site-header-ctrl:hover {
    box-shadow: 0 0 4px var(--ink);
    background: rgba(255,255,255,0.16);

}
body.theme-dark .site-header-actions .theme-toggle:hover {
    background: rgba(255,255,255,0.16) !important;
    border: 1px solid var(--ink);
    box-shadow: 0 0 4px var(--ink);
}
body.theme-dark .site-header .site-header-panel .nav-link {
    color: white !important;
}
body.theme-dark .admin-header__title { color: #e2e8f0; }
body.theme-dark .admin-header__divider { background: rgba(255, 255, 255, 0.18); }
body.theme-dark .admin-header__select {
    background-color: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
    color: #e2e8f0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23cbd5e1' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M5 8l5 5 5-5'/%3E%3C/svg%3E");
}
body.theme-dark .admin-header__select:hover {
    background-color: rgba(255, 255, 255, 0);
    border-color: rgba(255, 255, 255, 0.382);
    color: #e2e8f0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23cbd5e1' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M5 8l5 5 5-5'/%3E%3C/svg%3E");
}
body.theme-dark .admin-header__icon-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.14);
}
body.theme-dark .admin-header__text-btn { color: #93c5fd; }
body.theme-dark .admin-header__text-btn:hover { background: rgba(147, 197, 253, 0.1); border: 1px solid rgba(148, 163, 184, 0.618); }
body.theme-dark .admin-header__user { border-left-color: rgba(255, 255, 255, 0.15); }
/* Dark mode — faccent on burger, nav links, cart link; active nav white */
body.theme-dark .burger {
    border-color: whitesmoke !important;
}

body.theme-dark .burger:hover {
    border-color: var(--finland-blue) !important;
    box-shadow: 0 0 1px black;
    text-shadow: 0 0 1px black;
}
body.theme-dark .burger:hover .burger-bar {
    background: whitesmoke !important;
    height: 2px !important;
}
body.theme-dark .site-header-brand .text-flag-blue.tracking-tight {
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.382);
}
body.theme-dark .site-header-panel {
    background: rgba(0, 30, 95, 0.55) !important;
    border-color: rgba(75, 140, 240, 0.18);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
    -webkit-backdrop-filter: blur(14px) saturate(160%) !important;
    backdrop-filter: blur(14px) saturate(160%) !important;
}
body.theme-dark .glass-dark {
    background: rgba(5, 12, 26, 0.618);
    border-color: rgba(142, 169, 220, 0.4);
}
body.theme-dark .btn-primary {
    background: rgba(0, 11, 133, 0.5) !important;
    border-color: rgba(188, 188, 188, 0.618) !important;
    text-shadow: 0 0 1px black !important;
    color: #ffffff !important;
}
body.theme-dark .btn-primary:hover {
    background: linear-gradient(135deg, var(--finland-blue-600) 0%, var(--finland-blue) 50%, var(--finland-blue-400) 100%) !important;
    border-color: rgba(88, 88, 88, 0.36) !important;
    color: var(--header-accent) !important;
    box-shadow: -1px -1px 1px rgba(255,255,255,0.7) !important;
    text-shadow: 0 0 1px black !important;
}
body.theme-dark .btn-ghost {
    background: linear-gradient(135deg, rgba(162, 162, 162, 0.25) 0%, rgba(0,0,0,0.25) 61.8%, rgba(0,0,0,0.1) 100%) !important;
    border-color: rgba(188, 188, 188, 0.618) !important;
    color: whitesmoke !important;
    text-shadow: 0 0 1px rgba(0,0,0,1) !important;
}
body.theme-dark .btn-ghost:hover {
    background: linear-gradient(135deg, var(--finland-blue) 0%, var(--finland-blue-600) 61.8%, var(--finland-blue-600) 100%) !important;
    border-color: rgba(188, 188, 188, 0.618) !important;
    color: var(--header-accent) !important;
    text-shadow: 0 0 1px rgba(0,0,0,1) !important;
    box-shadow: -1px -1px 1px rgba(255,255,255,0.7) !important;
}
body.theme-dark .theme-toggle__icon--sun {
    opacity: 0;
    transform: scale(.7) rotate(18deg);
}
body.theme-dark .theme-toggle__icon--moon {
    opacity: 1;
    transform: scale(1) rotate(0deg);
}
body.theme-dark .site-header-tooltip-toggle {
    background: rgba(16, 28, 54, 0.84);
    color: #e8eefb;
    border-color: rgba(122, 166, 255, 0.2);
}
body.theme-dark .site-header-tooltip-toggle:hover,
body.theme-dark .site-header-tooltip-toggle:focus-visible {
    background: rgba(22, 36, 66, 0.94);
    border-color: rgba(122, 166, 255, 0.618);
    box-shadow: 0 6px 16px rgba(2, 6, 23, 0.26);
}
body.theme-dark .site-header-tooltip-toggle__state {
    color: #f87171;
}
body.theme-dark .site-header-tooltip-toggle__ui {
    background: rgba(122, 166, 255, 0.16);
    border-color: rgba(122, 166, 255, 0.4);
}
body.theme-dark .site-header-tooltip-toggle__thumb {
    background: #f8fbff;
}
body.theme-dark .site-header-tooltip-toggle.is-active {
    background: rgba(24, 39, 68, 0.92);
    border-color: rgba(122, 166, 255, 0.618);
    color: #d9e7ff;
}
body.theme-dark .site-header-tooltip-toggle.is-active .site-header-tooltip-toggle__state {
    color: #4ade80;
}
body.theme-dark .site-header-tooltip-toggle.is-active .site-header-tooltip-toggle__ui {
    background: rgba(122, 166, 255, 0.26);
    border-color: rgba(122, 166, 255, 0.618);
}
body.theme-dark .site-header-tooltip-toggle.is-active .site-header-tooltip-toggle__thumb {
    background: #d9e7ff;
}
body.theme-dark .site-tooltip {
    background: rgba(248, 250, 252, 0.94);
    color: #0f172a;
    border-color: rgba(15, 23, 42, 0.24);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.28);
}
body.theme-dark .sidebar-audio-toggle {
    background: rgba(16, 28, 54, 0.84);
    color: #e8eefb;
    border-color: rgba(122, 166, 255, 0.2);
}
body.theme-dark .sidebar-audio-toggle:hover,
body.theme-dark .sidebar-audio-toggle:focus-visible {
    background: rgba(22, 36, 66, 0.94);
    border-color: rgba(122, 166, 255, 0.618);
    box-shadow: 0 6px 16px rgba(2, 6, 23, 0.26);
}
body.theme-dark .sidebar-audio-toggle__state {
    color: #f87171;
}
body.theme-dark .sidebar-audio-toggle__ui {
    background: rgba(122, 166, 255, 0.16);
    border-color: rgba(122, 166, 255, 0.4);
}
body.theme-dark .sidebar-audio-toggle__thumb {
    background: #f8fbff;
}
body.theme-dark .sidebar-audio-toggle.is-active {
    background: rgba(24, 39, 68, 0.92);
    border-color: rgba(122, 166, 255, 0.618);
    color: #d9e7ff;
}
body.theme-dark .sidebar-audio-toggle.is-active .sidebar-audio-toggle__state {
    color: #4ade80;
}
body.theme-dark .sidebar-audio-toggle.is-active .sidebar-audio-toggle__ui {
    background: rgba(122, 166, 255, 0.26);
    border-color: rgba(122, 166, 255, 0.618);
}
body.theme-dark .sidebar-audio-toggle.is-active .sidebar-audio-toggle__thumb {
    background: #d9e7ff;
}
/* Dark mode: bright-on-dark palette (higher specificity overrides the above) */
body.theme-dark #toast-host .glass.border-emerald-300 {
    background: rgba(5, 150, 105, 0.618) !important;
    color: #bbf7d0 !important;           /* emerald-200 */
    font-weight: 700 !important;
    border-color: #4ade80 !important;
}
body.theme-dark #toast-host .glass.border-red-300 {
    background: rgba(220, 38, 38, 0.618) !important;
    color: #fca5a5 !important;           /* red-300 */
    font-weight: 700 !important;
    border-color: #f87171 !important;
}
body.theme-dark #toast-host .glass.border-amber-300 {
    background: rgba(158, 113, 0, 0.382) !important;
    color: #fd8a8a !important;           /* amber-200 */
    font-weight: 700 !important;
    border-color: #fbbf24 !important;
}
body.theme-dark .text-amber-300 {
    background: rgba(158, 113, 0, 0.382) !important;
    color: #ea8435 !important;           /* amber-200 */
    font-weight: 700 !important;
    border-color: #fbbf24 !important;
}
body.theme-dark .text-amber-700 {
    background: rgba(158, 113, 0, 0.382) !important;
    color: #ea8435 !important;           /* amber-200 */
    font-weight: 700 !important;
    border-color: #fbbf24 !important;
}
body.theme-dark #toast-host .glass.border-blue-300 {
    background: rgba(96, 165, 250, 0.382) !important;
    color: #93c5fd !important;           /* blue-300 */
    font-weight: 700 !important;
    border-color: #60a5fa !important;
}

body.theme-dark .btn-fav-list { background: rgba(239,68,68,.75); border-color: #ef4444; color: #fff; }
body.theme-dark .btn-fav-list:hover { background: #ef4444; }
body.theme-dark .btn-fav-list.is-favourite { background: rgba(74,222,128,.7); color: #fff; border-color: #4ade80; }
body.theme-dark .btn-fav-list.is-favourite:hover { background: #4ade80; }
body.theme-dark .btn-ask-product { background: rgba(126,184,247,.55); border-color: #7eb8f7; color: #fff; }
body.theme-dark .btn-ask-product:hover { background: #7eb8f7; color: #003580; }
body.theme-dark input[type="checkbox"] {
    border-color: rgba(148, 163, 184, 0.45);
    background: rgba(255, 255, 255, 0.07);
}
body.theme-dark input[type="checkbox"]:checked {
    background: var(--finland-blue-400);
    border-color: var(--finland-blue-400);
}
body.theme-dark input[type="checkbox"]:focus-visible {
    box-shadow: 0 0 0 3px rgba(142, 174, 226, 0.25);
}
body.theme-dark .modal-panel {
    scrollbar-color: rgba(148, 174, 226, 0.40) transparent;
}
body.theme-dark .modal-panel::-webkit-scrollbar-thumb { background: rgba(148, 174, 226, 0.40); }
body.theme-dark  #welcome-modal .modal-panel {
    color: #ffffff;
}
body.theme-dark  #welcome-modal .text-flag-blue { color: #ffffff !important; }
body.theme-dark  #welcome-modal .text-gray-500 { color: rgba(255,255,255,1) !important; }
body.theme-dark  #welcome-modal .btn-primary {
    background: var(--finland-blue-600);
    border-color: rgba(255, 255, 255, 0.2);
    color: #e2e8f0;
}

body.theme-dark  .usm-opt-btn:not(.is-active) {
    border-color: rgba(226,232,240,.7);
}
body.theme-dark  .usm-opt-btn:not(.is-active):hover {
    border-color: rgba(255,255,255,.9);
}
body.theme-dark  .usm-opt-btn.is-active {
    background: rgba(96,165,250,.25);
    border-color: rgba(96,165,250,.6);
    color: #e2e8f0;
}
body.theme-dark  .usm-status--ok { color: #4ade80; }
body.theme-dark  .usm-status--err { color: #f87171; }

body.theme-dark .proc-scrollbar {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.09) 100%);
    border-left-color: rgba(255, 255, 255, 0.1);
}
body.theme-dark .quick-fulfilment-spinner {
    border-color: #d9e7ff;
    border-right-color: transparent;
}
/* Dark mode overrides — order modal */
body.theme-dark .order-modal-panel {
    --om-bg: rgba(8, 16, 32, 0.9);
    --om-border: rgba(191, 219, 254, 0.22);
    --om-ink: #f1f5fb;
    --om-muted: rgba(255, 255, 255, 0.65);
    color: var(--om-ink);
}
body.theme-dark .order-modal-header,
body.theme-dark .order-modal-footer {
    background: var(--om-bg);
    border-color: var(--om-border);
}
body.theme-dark .order-modal-header {
    border-bottom-color: var(--om-border);
}
body.theme-dark .order-modal-body {
    background: var(--om-bg);
    color: var(--om-ink);
}
body.theme-dark .order-modal-footer {
    border-top-color: var(--om-border);
}
body.theme-dark .order-modal-panel .order-modal-header-label {
    color: rgba(255, 255, 255, 0.55);
}
body.theme-dark .order-modal-panel .text-gray-500,
body.theme-dark .order-modal-panel .text-gray-600,
body.theme-dark .order-modal-panel .text-gray-700,
body.theme-dark .order-modal-panel label {
    color: rgba(255, 255, 255, 0.7) !important;
}
body.theme-dark #catalog-table thead {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
}
body.theme-dark  .admin-badge-active { color: #4de29f; background: rgba(6, 78, 59, 0); }
body.theme-dark  .admin-badge-inactive { color: #e4a460; background: rgba(120, 53, 15, 0); }
body.theme-dark .catalog-list-footer {
    border-top-color: rgba(255,255,255,0.08);
}
body.theme-dark .clf-btn {
    border-color: rgba(255,255,255,0.18);
    color: #e2e8f0;
}
body.theme-dark .clf-btn:hover:not(:disabled) {
    background: rgba(255,255,255,0.1);
    border-color: rgba(255,255,255,0.35);
}
body.theme-dark .paged-list-btn {
    border-color: rgba(255,255,255,0.18);
    color: #e2e8f0;
}
body.theme-dark .paged-list-btn:hover {
    background: rgba(255,255,255,0.1);
    border-color: rgba(255,255,255,0.35);
}
/* Dark theme tweaks */
body.theme-dark .dt-skeleton {
    background: rgba(15,25,45,0.85);
}
body.theme-dark .dt-skeleton__bar {
    background: linear-gradient(
        90deg,
        rgba(255,255,255,.05) 25%,
        rgba(255,255,255,.13) 50%,
        rgba(255,255,255,.05) 75%
    );
    background-size: 600px 100%;
    animation: dtShimmer 1.4s ease-in-out infinite;
}
body.theme-dark .dt-skeleton__row:nth-child(odd) {
    background: rgba(255,255,255,.025);
}
body.theme-dark  .dt-filter-chip {
    background: rgba(147, 197, 253, 0.12);
    border-color: rgba(147, 197, 253, 0.35);
    color: #93c5fd;
}
body.theme-dark .nav-link:hover {
    text-shadow: 0px 0px 4px var(--finland-blue-600) !important;
    color: var(--finland-blue-400) !important;
}
body.theme-dark .nav-link.is-active:hover {
    text-shadow: 0 0 14px white !important
}
body.theme-dark .nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: var(--finland-blue-600);
    border-radius: 3px;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .16s cubic-bezier(.65, 0, .35, 1);
    pointer-events: none;
    color: white;
}

body.theme-dark  .global-search-panel  {
    background: rgba(0, 53, 128, 0.82);
    -webkit-backdrop-filter: blur(22px) saturate(180%);
    backdrop-filter: blur(22px) saturate(180%);
    border-bottom: 1px solid rgba(96, 165, 250, 0.28);
    box-shadow:
        0 4px 18px rgba(0, 30, 90, 0.35),
        0 12px 40px rgba(0, 20, 70, 0.40),
        inset 0 1px 0 rgba(147, 197, 253, 0.12);
}
body.theme-dark .global-search-panel__icon { color: rgba(255, 255, 255, 0.55); }
body.theme-dark .global-search-panel__input {
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
}
body.theme-dark .global-search-panel__input:focus {
    border-color: rgba(96, 165, 250, 0.7) !important;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.2) !important;
}
body.theme-dark .global-search-panel__close { color: #fff !important; border: none !important; background: none !important; }
body.theme-dark .global-search-panel__close:hover { color: #fff !important; border: none !important; background: none !important; text-shadow: none !important; }
body.theme-dark .global-search-panel__close:focus-visible { color: #fff !important; border: none !important; background: none !important; }
body.theme-dark .global-search-panel__reset {
    color: rgba(255, 255, 255, 0.75);
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
}
body.theme-dark .global-search-panel__reset:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.55) !important;
    background: rgba(255, 255, 255, 0.1) !important;
}


body.theme-dark  .quick-start-toggle:hover  {
    color: var(--finland-blue-400) !important;
}
body.theme-dark .select2-custom-scrollbar {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.07) 0%, rgba(255, 255, 255, 0.11) 100%);
    border-left-color: rgba(255, 255, 255, 0.14);
}
body.theme-dark .select2-custom-scrollbar .custom-scrollbar__thumb {
    background: linear-gradient(180deg, rgba(142, 174, 226, 0.96) 0%, rgba(111, 145, 203, 0.96) 100%);
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.18),
        0 0 0 1px rgba(255, 255, 255, 0.08);
}
body.theme-dark .quick-start-dropdown {
    background: rgba(15, 23, 42, 0.96);
    border-color: rgba(148, 163, 184, 0.22);
    box-shadow: 0 18px 44px rgba(2, 6, 23, 0.42);
}
body.theme-dark .quick-start-scrollbar {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.12) 100%);
    border-left-color: rgba(255, 255, 255, 0.16);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}
body.theme-dark .quick-start-scrollbar .custom-scrollbar__thumb {
    background: linear-gradient(180deg, rgba(142, 174, 226, 0.96) 0%, rgba(111, 145, 203, 0.96) 100%);
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.18),
        0 0 0 1px rgba(255, 255, 255, 0.08);
}
body.theme-dark .quick-start-link {
    color: rgba(248, 250, 252, 0.92);
}
body.theme-dark .quick-start-sticky-group {
    border-bottom-color: rgba(148, 163, 184, 0.2);
}
body.theme-dark .quick-start-link--sticky {
    background: rgba(59, 130, 246, 0.08);
}
body.theme-dark .quick-start-link:hover,
body.theme-dark .quick-start-link:focus-visible {
    background: rgba(59, 130, 246, 0.16);
    color: #ffffff;
}

body.theme-dark .payment-secure-note {
    color: #8eaee2;
}

body.theme-dark .header-headline:hover {
    color: white;
    text-shadow: 0 0 1px black !important;
}
body.theme-dark .header-headline {
    text-shadow: 0 0 1px black !important;
    color: white !important;

}
body.theme-dark .header-headline:hover {
    text-shadow: 0 0 14px white !important;
    color: white !important;
    scale: 1.05;
}
body.theme-dark .nav-link {
    color: white !important;
    text-shadow: 0 0 1px black;
}

body.theme-dark .nav-link:hover {
 color: var(--finland-blue-400) !important;
 text-shadow: 0 0 14px white !important;
 transform: translateY(1px) scale(1.04);
}

body.theme-dark .nav-link.is-active{
  color: var(--header-accent) !important;
  text-shadow: 0 0 1px black;
}

body.theme-dark .manual-subheading {
    color: rgba(147, 197, 253, 0.95);
}
body.theme-dark .manual-list li {
    color: rgba(255, 255, 255, 0.92);
}
body.theme-dark .manual-copy-body {
    color: rgba(255, 255, 255, 0.92);
}
body.theme-dark .manual-copy-soft {
    color: rgba(226, 232, 240, 0.8);
}
body.theme-dark .manual-nav-link {
    color: rgba(255, 255, 255, 0.92);
    background: rgba(255, 255, 255, 0.06) !important;
}
body.theme-dark .manual-nav-link:hover,
body.theme-dark .manual-nav-link:focus-visible {
    background: rgba(255, 255, 255, 0.11) !important;
    transform: translateY(1px);
    color: rgba(255, 255, 255, 0.98);
    text-shadow: 0 0 2px var(--header-accent);
}

body.theme-dark .admin-sale-history-item {
    border-color: rgba(148, 163, 184, 0.24);
    background: rgba(15, 23, 42, 0.38);
}

body.theme-dark .admin-price-history-item {
    border-color: rgba(148, 163, 184, 0.20);
    background: rgba(15, 23, 42, 0.32);
}
body.theme-dark .admin-price-history-item__new {
    color: #93c5fd;
}
body.theme-dark .admin-scheduled-price-form {
    border-color: rgba(165, 180, 252, 0.25);
}

body.theme-dark .back-to-top-btn {
    color: #4ade80; /* dark mode */
}
body.theme-dark .burger {
    background: rgba(255, 255, 255, 0.04);
    border-color: var(--header-accent);
    box-shadow:
        0 10px 24px rgba(2, 6, 23, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
body.theme-dark .burger:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.92);
}
body.theme-dark .burger:hover .burger-bar {
    background: rgba(209, 213, 219, 0.96) !important;
}
body.theme-dark .catalog-list-fav-badge {
    color: #fb7185;
}
/* White border on product card images in grid view */
body.theme-dark .catalog-media-wrap,
body.theme-dark .catalog-media-wrap > img {
    border: 1px solid rgba(255, 255, 255, 0.888);
    border-bottom: 1px solid rgba(255, 255, 255, 0.382);
    border-left: 1px solid rgba(255, 255, 255, 0.382);
}
body.theme-dark .catalog-flag-badge--cat {
    background: rgba(165, 180, 252, 0.12);
    border-color: rgba(165, 180, 252, 0.22);
    color: #e0e7ff;
}
body.theme-dark .catalog-price-original {
    color: rgba(226, 232, 240, 0.68);
}
body.theme-dark .catalog-price-current {
    color: #ffffff;
}
body.theme-dark .catalog-sale-badge,
body.theme-dark .catalog-flag-badge--sale {
    background: rgba(248, 113, 113, 0.16);
    border-color: rgba(248, 113, 113, 0.22);
    color: #fecaca;
}
body.theme-dark .catalog-sale-badge--overlay {
    background: linear-gradient(135deg, #ef4444 0%, #f87171 100%);
    border-color: rgba(255, 255, 255, 0.18);
    color: #fff;
    box-shadow: 0 14px 30px rgba(248, 113, 113, 0.24);
}
body.theme-dark .catalog-flag-badge--featured {
    background: rgba(251, 191, 36, 0.14);
    border-color: rgba(251, 191, 36, 0.2);
    color: #fde68a;
}

body.theme-dark .catalog-featured-badge {
    background: rgba(251, 191, 36, 0.14);
    border-color: rgba(251, 191, 36, 0.22);
    color: #fde68a;
}
body.theme-dark .catalog-featured-badge--overlay {
    background: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);
    border-color: rgba(255, 255, 255, 0.18);
    color: #fff;
    box-shadow: 0 14px 30px rgba(251, 191, 36, 0.22);
}

body.theme-dark .catalog-stock-text--good { color: #4ade80; }
body.theme-dark .catalog-stock-text--bad  { color: #f87171; }

body.theme-dark .stock-pill--ok   { background: #14532d; color: #86efac; }
body.theme-dark .stock-pill--low  { background: #422006; color: #fde68a; }
body.theme-dark .stock-pill--zero { background: #450a0a; color: #fca5a5; }
body.theme-dark .catalog-list-scramble {
    background: rgba(3, 10, 28, 0.86);
}
body.theme-dark .catalog-list-scramble::after {
    background-image: repeating-linear-gradient(
        0deg,
        transparent 0px, transparent 3px,
        rgba(80, 140, 255, 0.04) 3px, rgba(80, 140, 255, 0.04) 4px
    );
}
body.theme-dark .catalog-mode-badge--fast {
    background: rgba(74, 222, 128, .13);
    border-color: #4ade80;
    color: #4ade80;
}
body.theme-dark .catalog-mode-badge--medium {
    background: rgba(250, 204, 21, .13);
    border-color: #facc15;
    color: #fde047;
}
body.theme-dark .catalog-mode-badge--slow {
    background: rgba(248, 113, 113, .13);
    border-color: #f87171;
    color: #f87171;
}
body.theme-dark .catalog-mode-badge--idle {
    border-color: rgba(148, 163, 184, .28);
    color: rgba(148, 163, 184, .6);
}
body.theme-dark #catalog-load-more-sticky {
    background: linear-gradient(to top, var(--color-surface-dark, #1e1e2e) 60%, transparent);
}
body.theme-dark .catalog-load-more-dismiss:hover {
    background: rgba(255,255,255,.12);
}
body.theme-dark .catalog-lm-dismiss-btn {
    border-color: rgba(255,255,255,0.35);
    background: rgba(255,255,255,0.10);
    color: #fff;
}
body.theme-dark .catalog-lm-dismiss-btn:hover {
    background: rgba(255,255,255,0.25);
}
body.theme-dark .catalog-lm-expand-btn {
    border-color: rgba(255,255,255,0.35);
    background: rgba(255,255,255,0.12);
    color: #fff;
}
body.theme-dark .catalog-lm-expand-btn:hover {
    background: rgba(255,255,255,0.25);
}
body.theme-dark .catalog-bought-before {
    color: #7dd3fc;
}

body.theme-dark .text-finland-blue {
    color: var(--header-accent);
}
/* In dark mode the header brand text + nav active/hover use the lighter accent blue */
body.theme-dark .site-header .text-flag-blue {
    color: var(--header-accent);
}
body.theme-dark .admin-product-view-hero__image {
    border-color: rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.08);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.26);
}
/* Product page (dark / mixed themes) — comment rows inherit dark glass context */
body.theme-dark .product-page-comment-row {
    background: rgba(11, 29, 58, 0.42);
    border-color: rgba(255, 255, 255, 0.18);
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
body.theme-dark .product-page-comment-row:hover {
    background: rgba(43, 90, 168, 0.32);
    border-color: rgba(142, 174, 226, 0.45);
    box-shadow: 0 2px 12px rgba(43, 90, 168, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}
body.theme-dark .product-page-comment-row__meta {
    color: rgba(226, 232, 240, 0.82);
}
body.theme-dark .product-page-comment-row__body {
    color: #f8fafc;
}
body.theme-dark .product-page-comment-replies {
    border-left-color: rgba(255, 255, 255, 0.12);
}
body.theme-dark .product-page-comment-row--reply {
    background: rgba(255, 255, 255, 0.03);
}
body.theme-dark .comment-reply-btn {
    color: rgba(148, 163, 184, 0.7);
}
body.theme-dark .comment-reply-btn:hover {
    color: #f8fafc;
}
body.theme-dark .product-page-reply-form {
    background: rgba(255, 255, 255, 0.04);
    border-left-color: rgba(255, 255, 255, 0.15);
}
/* ── Dark-theme overrides: restore the original modal-oriented palette ── */
body.theme-dark .pm-modal-replies {
    border-left-color: rgba(99, 149, 237, 0.5);
}
body.theme-dark .pm-modal-replies--depth-2 {
    border-left-color: rgba(52, 187, 168, 0.5);
}
body.theme-dark .pm-modal-replies--depth-3 {
    border-left-color: rgba(167, 139, 250, 0.5);
}
body.theme-dark .pm-modal-replies--depth-4 {
    border-left-color: rgba(249, 168, 37, 0.45);
}
body.theme-dark .pm-modal-reply {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(142, 174, 226, 0.1);
}
body.theme-dark .pm-thread-at {
    color: rgba(147, 197, 253, 0.9);
    background: rgba(99, 149, 237, 0.1);
    border-color: rgba(99, 149, 237, 0.2);
}
body.theme-dark .pm-modal-reply .pm-comment-row__meta {
    color: rgba(226, 232, 240, 0.72);
}
body.theme-dark .pm-modal-reply .pm-comment-row__body {
    color: rgba(226, 232, 240, 0.88);
}
body.theme-dark .pm-modal-reply-textarea {
    background: rgba(15, 30, 58, 0.55);
    border-color: rgba(99, 132, 200, 0.3);
    color: #e2e8f0;
}

body.theme-dark .pm-review-readonly__edit-btn {
    background: rgba(15, 23, 42, 0.9) !important;
    border-color: rgba(15, 23, 42, 1) !important;
    color: #ffffff !important;
}
body.theme-dark .pm-review-readonly__delete-btn {
    background: rgba(127, 17, 17, 0.9) !important;
    border-color: rgba(127, 17, 17, 1) !important;
    color: #ffffff !important;
}
body.theme-dark .pm-review-readonly__delete-btn:hover {
    background: rgba(127, 17, 17, 1) !important;
}
body.theme-dark .pm-review-readonly__stars { color: #fbbf24; }
body.theme-dark .pm-review-readonly__title { color: #e2e8f0; }
body.theme-dark .pm-review-readonly__body  { color: #ffffff; }

body.theme-dark .pm-write-review {
    border-top-color: rgba(148, 163, 184, 0.18);
}
body.theme-dark .pm-write-review__title {
    color: var(--header-accent);
}
body.theme-dark .pm-star-btn {
    color: rgba(255, 255, 255, 0.22);
}
body.theme-dark .pm-star-btn.is-active,
body.theme-dark .pm-star-btn.is-hovered,
body.theme-dark .pm-star-btn:hover ~ .pm-star-btn,
body.theme-dark .pm-star-btn:hover {
    color: #fbbf24;
}
body.theme-dark .pm-write-review__status--ok {
    color: #34d399;
}
body.theme-dark .pm-write-review__status--err {
    color: #f87171;
}
body.theme-dark .product-quick-view-modal-footer .btn-primary {
    border-color: rgba(148, 163, 184, 0.45);
}
body.theme-dark .product-quick-view-modal-panel,
body.theme-dark .product-quick-view-modal-header,
body.theme-dark .product-quick-view-modal-body,
body.theme-dark .product-quick-view-modal-footer {
    background: #0b1d3a !important;
    color: #ffffff !important;
}
body.theme-dark .product-quick-view-modal-panel .text-gray-500,
body.theme-dark .product-quick-view-modal-panel .text-gray-600,
body.theme-dark .product-quick-view-modal-panel .text-gray-700,
body.theme-dark .product-quick-view-modal-panel .text-flag-blue,
body.theme-dark .product-quick-view-modal-panel .text-finland-blue {
    color: #ffffff !important;
}
body.theme-dark .product-quick-view-modal-panel {
    border-color: rgba(142, 174, 226, 0.28);
    box-shadow:
        0 24px 56px rgba(2, 6, 23, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}
body.theme-dark .product-quick-view-modal-header {
    border-bottom-color: rgba(142, 174, 226, 0.24);
}
body.theme-dark .product-quick-view-modal-footer {
    border-top-color: rgba(142, 174, 226, 0.24);
}
body.theme-dark .product-quick-view-modal-body {
    scrollbar-color: #3b82f6 rgba(59, 130, 246, 0.14);
}
body.theme-dark .product-quick-view-modal-body::-webkit-scrollbar-track { background: rgba(59, 130, 246, 0.10); }
body.theme-dark .product-quick-view-modal-body::-webkit-scrollbar-thumb { background: #3b82f6; }
body.theme-dark .product-quick-view-modal-body::-webkit-scrollbar-thumb:hover { background: #60a5fa; }
body.theme-dark .product-quick-view-modal-panel .text-gray-800,
body.theme-dark .product-quick-view-modal-panel .text-gray-900 {
    color: #ffffff !important;
}
body.theme-dark .product-variant-group__label {
    color: rgba(255, 255, 255, 0.72);
}
body.theme-dark #product-variant-picker .product-variant-group__select {
    border-color: #94a3b8 !important;
}
body.theme-dark #pm-in-cart {
    color: #7dd3fc;
}
body.theme-dark .pm-cart-qty-btn {
    color: #7dd3fc;
    border-color: rgba(125, 211, 252, .35);
    background: rgba(125, 211, 252, .08);
}
body.theme-dark .pm-cart-qty-btn:hover {
    background: rgba(125, 211, 252, .18);
    border-color: rgba(125, 211, 252, .65);
}
body.theme-dark .pm-cart-qty-btn--down {
    color: #fca5a5;
    border-color: rgba(252, 165, 165, .35);
    background: rgba(252, 165, 165, .08);
}
body.theme-dark .pm-cart-qty-btn--down:hover {
    background: rgba(252, 165, 165, .18);
    border-color: rgba(252, 165, 165, .65);
}
body.theme-dark .cart-quick-add-card .cart-quick-add-select2 .select2-selection--single,
body.theme-dark .cart-quick-add-qty {
    background: rgba(15, 27, 51, 0.7) !important;
    border-color: rgba(122, 166, 255, 0.24) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 12px 28px rgba(2, 6, 23, 0.22);
}
body.theme-dark .cart-quick-add-card .cart-quick-add-select2.select2-container--open .select2-selection--single,
body.theme-dark .cart-quick-add-card .cart-quick-add-select2.select2-container--focus .select2-selection--single {
    background: rgba(22, 38, 68, 0.92) !important;
    border-color: rgba(122, 166, 255, 0.56) !important;
    box-shadow: 0 0 0 3px rgba(122, 166, 255, 0.16);
}
body.theme-dark .cart-quick-add-dropdown.select2-dropdown {
    background: rgba(8, 16, 32, 0.96) !important;
    border-color: rgba(122, 166, 255, 0.22) !important;
    box-shadow: 0 24px 52px rgba(2, 6, 23, 0.48);
}
body.theme-dark .cart-quick-add-dropdown.select2-dropdown .select2-search--dropdown .select2-search__field {
    background: rgba(15, 27, 51, 0.82) !important;
    border-color: rgba(122, 166, 255, 0.24) !important;
}
body.theme-dark .cart-quick-add-dropdown.select2-dropdown .select2-results__option--highlighted.select2-results__option--selectable {
    background: rgba(122, 166, 255, 0.17) !important;
    color: var(--ink) !important;
}
body.theme-dark .cart-quick-add-dropdown.select2-dropdown .select2-results__option--selected,
body.theme-dark .cart-quick-add-dropdown.select2-dropdown .select2-results__option[aria-selected="true"] {
    background: rgba(45, 212, 191, 0.14) !important;
    color: var(--ink) !important;
}
body.theme-dark .cart-quick-add-result__placeholder {
    background:
        linear-gradient(135deg, rgba(122, 166, 255, 0.18), rgba(45, 212, 191, 0.12)),
        rgba(15, 27, 51, 0.72);
    border-color: rgba(122, 166, 255, 0.18);
}
body.theme-dark .cart-quick-add-result__badge {
    background: rgba(122, 166, 255, 0.14);
    color: #d8e7ff;
}
body.theme-dark .cart-quick-add-options-title,
body.theme-dark .cart-quick-add-options-price {
    color: #d8e7ff;
}
body.theme-dark .cart-quick-add-options-summary,
body.theme-dark .cart-quick-add-options-picker {
    background: rgba(15, 27, 51, 0.56);
    border-color: rgba(122, 166, 255, 0.18);
}
body.theme-dark .cart-quick-add-options-placeholder {
    background:
        linear-gradient(135deg, rgba(122, 166, 255, 0.18), rgba(45, 212, 191, 0.12)),
        rgba(15, 27, 51, 0.72);
    border-color: rgba(122, 166, 255, 0.18);
}
body.theme-dark .cart-qty-input {
    background: rgba(15, 23, 42, 0.45);
    border-color: rgba(148, 163, 184, 0.28);
    color: #e2e8f0;
}
body.theme-dark .cart-qty-input:focus {
    border-color: var(--header-accent);
    box-shadow: 0 0 0 2px rgba(142, 174, 226, 0.2);
}
body.theme-dark .card-in-cart {
    color: #7dd3fc;
}
body.theme-dark .catalog-heading-search-input {
    background: rgba(30,41,59,.65) !important;
    color: #e2e8f0;
}
body.theme-dark .catalog-heading-search-input:focus {
    background: rgba(30,41,59,.9) !important;
}

body.theme-dark .catalog-collapse-btn {
    background: rgba(30, 41, 59, .65);
    border-color: rgba(148, 163, 184, .3);
}
body.theme-dark .catalog-collapse-btn:hover {
    background: rgba(51, 65, 85, .85);
    border-color: rgba(148, 163, 184, .55);
}
body.theme-dark .catalog-collapse-icon {
    color: #cbd5e1;
}
body.theme-dark .catalog-secondary-collapse-icon {
    color: #cbd5e1;
}

body.theme-dark .catalog-filters-card .input,
body.theme-dark .catalog-filters-card .select,
body.theme-dark .catalog-filters-card .textarea,
body.theme-dark .catalog-filters-card .catalog-filter-toggle,
body.theme-dark .catalog-filters-card .catalog-filter-tile,
body.theme-dark .catalog-filters-card .select2-container--default .select2-selection--single {
    border-color: rgba(148, 163, 184, 0.26) !important;
}
body.theme-dark .admin-order-filters-card .input,
body.theme-dark .admin-order-filters-card .select,
body.theme-dark .admin-order-filters-card .select2-container--default .select2-selection--single,
body.theme-dark .admin-category-filters-card .input,
body.theme-dark .admin-category-filters-card .select,
body.theme-dark .admin-category-filters-card .select2-container--default .select2-selection--single,
body.theme-dark .admin-product-filters-card .input,
body.theme-dark .admin-product-filters-card .select,
body.theme-dark .admin-product-filters-card .select2-container--default .select2-selection--single,
body.theme-dark .admin-subscriber-filters-card .input,
body.theme-dark .admin-subscriber-filters-card .select,
body.theme-dark .admin-subscriber-filters-card .select2-container--default .select2-selection--single {
    background: rgba(15, 23, 42, 0.58) !important;
    border-color: var(--line-soft) !important;
}
body.theme-dark .catalog-subcategory-chip {
    background: rgba(15, 23, 42, 0.64);
    border-color: rgba(148, 163, 184, 0.24);
    color: lightgray;
}
body.theme-dark .catalog-subcategory-chip:hover,
body.theme-dark .catalog-subcategory-chip:focus-visible {
    border-color: rgba(125, 211, 252, 0.28);
    color: #f8fbff;
    box-shadow: 0 10px 24px rgba(2, 6, 23, 0.34);
}
body.theme-dark .catalog-subcategory-chip.is-active {
    background: rgba(37, 99, 235, 0.9);
    border-color: rgba(125, 211, 252, 0.32);
    color: #fff;
}
body.theme-dark .catalog-filter-tile:hover,
body.theme-dark .catalog-filter-tile:focus-within {
    box-shadow: 0 16px 34px rgba(2, 6, 23, 0.34);
}
body.theme-dark .site-main .catalog-filters-card .input,
body.theme-dark .site-main .catalog-filters-card .select,
body.theme-dark .site-main .catalog-filters-card .select2-container--default .select2-selection--single,
body.theme-dark .site-main .catalog-filters-card .select2-container--default .select2-selection--multiple {
    background: rgba(8, 16, 32, 0.72) !important;
}
body.theme-dark .site-main .catalog-filters-card .select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 20 20' fill='none' stroke='%2394a3b8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 8 5 5 5-5'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right .6rem center !important;
}
body.theme-dark .site-main .catalog-filters-card .catalog-subcategory-wrap:has(select:disabled) .select2-container--default .select2-selection--single,
body.theme-dark .site-main .catalog-filters-card .catalog-subcategory-wrap:has(select:disabled) .select2-container--default .select2-selection--multiple {
    background: rgba(15, 23, 42, 0.28) !important;
    opacity: 0.5;
}
body.theme-dark .site-main .catalog-filters-card .catalog-subcategory-wrap:has(select:disabled) .select2-container--default .select2-selection--single .select2-selection__rendered,
body.theme-dark .site-main .catalog-filters-card .catalog-subcategory-wrap:has(select:disabled) .select2-container--default .select2-selection--multiple .select2-selection__rendered,
body.theme-dark .site-main .catalog-filters-card .catalog-subcategory-wrap:has(select:disabled) .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: rgba(148, 163, 184, 0.45) !important;
    font-weight: 400 !important;
}
body.theme-dark .admin-order-filters-card .admin-filters-always-visible,
body.theme-dark .admin-category-filters-card .admin-filters-always-visible,
body.theme-dark .admin-product-filters-card .admin-filters-always-visible,
body.theme-dark .admin-customer-filters-card .admin-filters-always-visible,
body.theme-dark .admin-subscriber-filters-card .admin-filters-always-visible,
body.theme-dark .catalog-filters-card:not(.admin-order-filters-card):not(.admin-category-filters-card):not(.admin-product-filters-card):not(.admin-customer-filters-card):not(.admin-subscriber-filters-card) .admin-filters-always-visible {
    background: rgba(20, 30, 50, 1) !important;
    border-color: rgba(148, 163, 184, 0.4) !important;
    color: #e2e8f0 !important;
    box-shadow: 0 2px 10px rgba(220, 230, 255, 0.382) !important;
}
body.theme-dark .admin-customer-bulk-bar {
    box-shadow:
        0 18px 34px rgba(2, 6, 23, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
body.theme-dark .admin-product-filters-card .catalog-toolbar-body .admin-product-subcategory-wrap .select:disabled {
    color: rgba(148, 163, 184, 0.55) !important;
}
body.theme-dark .view-toggle {
    border-radius: 1px;
    box-shadow: 0 0 10px rgba(128,128,128,0.382);
}
body.theme-dark .view-toggle-btn {
    display: inline-flex;
    align-items: center;
    padding: .45rem .75rem;
    border-radius: 1px;
    background: rgba(255,255,255,0);
    color: var(--ink);
    font-size: .8rem;
    font-weight: 600;
    border: 1px solid rgba(128,128,128,0.16);
    cursor: pointer;
    height: 28px !important;
    transition: background .25s ease, color .25s ease, transform .25s ease;
    box-shadow: none !important;
}
body.theme-dark .view-toggle-btn:hover {
    transform: scale(0.9);
    box-shadow: 0 0 8px rgba(255,255,255,1) !important;
 }
body.theme-dark .view-toggle-btn.is-active {
    background: black;
    color: #fff;
    box-shadow: 0 0 8px rgba(255,255,255,1) !important;
    transform: scale(0.96);
    border-color: rgba(96,165,250,.72);
}
body.theme-dark .view-toggle-btn.is-active:hover {
    background: black;
    color: #fff;
    box-shadow: 0 0 10px rgba(255,255,255,.5) !important;
    transform: scale(0.92);
    border-color: rgba(96,165,250,.72);
}
body.theme-dark .category-chip {
    transition: background .16s ease, transform .16s linear, box-shadow .16s ease, min-height .3s cubic-bezier(0.22, 1, 0.36, 1), margin-top .3s cubic-bezier(0.22, 1, 0.36, 1);
    border: thin solid rgba(255,255,255,0.382) !important;
    box-shadow: 0 0 1px black !important;
    color: white !important;
}
body.theme-dark .category-chip:hover,
body.theme-dark .category-chip:focus-visible {
    overflow: visible;
    background-image: linear-gradient(135deg, rgba(0,27,69,.72) 0%, rgba(0,35,128,.65) 38.2%, rgba(0,53,180,.6) 100%), var(--chip-card-url, none);
    box-shadow: -1px -1px 5px lightgray;
    color: white !important;
    text-shadow: 0 0 1px black !important;
    border: thin solid white !important;
}

body.theme-dark .btn-chip-arrow {
    border-color: rgba(255,255,255,.72);
    color: rgba(255,255,255,.85);
}
body.theme-dark .btn-chip-arrow:hover {
    background: rgba(255,255,255,.18);
    color: #fff;
}

body.theme-dark .btn-chip-info {
    color: rgba(255,255,255,.75);
}
body.theme-dark .btn-chip-info[aria-pressed="true"] {
    background: rgba(255,255,255,.18);
    color: #fff;
}

body.theme-dark .cat-ps-price {
    color: var(--muted-400, #9ca3af);
}

body.theme-dark .category-chips-toggle {
    color: var(--header-accent) !important;
}
body.theme-dark .category-chips-toggle.is-expanded {
    box-shadow: 0 14px 30px rgba(96, 165, 250, 0.14);
}
body.theme-dark .catalog-heading-reset {
    background: rgba(0,0,0,.32);
    border-color: rgba(255,255,255,.18);
    color: var(--header-accent);
}
body.theme-dark .category-header-overlay-toggle {
    background: rgba(0,0,0,.46);
    border-color: rgba(255,255,255,.24);
    color: rgba(255,255,255,.9);
}
body.theme-dark .category-header-clear {
    background: rgba(0,0,0,.46);
    border-color: rgba(255,255,255,.24);
    color: rgba(255,255,255,.9);
}
body.theme-dark .category-selection-overlay {
    background: linear-gradient(135deg, rgba(0,18,48,.95), rgba(0,53,128,.92));
    box-shadow: 0 22px 46px rgba(0,0,0,.42);
}
body.theme-dark .category-selection-overlay-select2-container .select2-selection--multiple {
    background: rgba(255,255,255,.1) !important;
}
body.theme-dark .catalog-category-overlay-toggle {
    background: rgba(30,41,59,.66);
    border-color: rgba(148,163,184,.26);
    color: #e2e8f0;
}
body.theme-dark .catalog-category-overlay-toggle:hover,
body.theme-dark .catalog-category-overlay-toggle:focus-visible {
    background: rgba(255,255,255,.18);
}
body.theme-dark .catalog-category-overlay-toggle.is-active {
    background: rgb(0, 53, 128);
    color: #fff;
}
body.theme-dark .catalog-category-overlay-toggle.has-selection {
    border: 3px solid #60a5fa !important;
    color: #dbeafe !important;
    animation: catalog-cat-btn-glow-dark 2.4s ease-in-out infinite !important;
}
body.theme-dark section#categories .category-chip.is-active {
    background-color: #001b45 !important;
    background-image: linear-gradient(135deg, rgba(0,27,69,0.85) 0%, rgba(0,72,160,0.85) 38.2%, rgba(0,53,128,0.85) 100%), var(--chip-card-url, none);
    background-size: cover;
    background-position: center;
    border: 3px solid #15803d !important;
    outline: 2px solid #4ade80;
    outline-offset: 1px;
    color: #fff;
    box-shadow: 0 10px 28px rgba(0,53,128,.28);
}
body.theme-dark section#categories .category-chip > div + div {
    text-shadow: 0 0 1px black !important;
    color: white !important;
}
body.theme-dark section#categories .category-chip > div {
    text-shadow: 0 0 1px black !important;
    color: var(--header-accent) !important;
}
body.theme-dark .interaction-report-pill {
    background: rgba(15, 23, 42, 0.76);
    border-color: rgba(148, 163, 184, 0.18);
    color: rgba(241, 245, 249, 0.92);
}
body.theme-dark .interaction-report-pill--ok {
    background: rgba(16, 185, 129, 0.16);
    border-color: rgba(16, 185, 129, 0.20);
    color: #6ee7b7;
}
body.theme-dark .interaction-report-pill--muted {
    color: rgba(226, 232, 240, 0.72);
}
body.theme-dark .interaction-report-range__link {
    background: rgba(15, 23, 42, 0.76);
    border-color: rgba(148, 163, 184, 0.18);
    color: rgba(241, 245, 249, 0.95);
}
body.theme-dark .interaction-report-range__link.is-active {
    background: rgba(59, 130, 246, 0.18);
    border-color: rgba(96, 165, 250, 0.24);
    color: #bfdbfe;
}
body.theme-dark .interaction-summary-card__meta,
body.theme-dark .interaction-heatmap__corner,
body.theme-dark .interaction-heatmap__hour,
body.theme-dark .interaction-heatmap__day,
body.theme-dark .interaction-heatmap__total-label,
body.theme-dark .interaction-heatmap-legend,
body.theme-dark .interaction-report-note--muted,
body.theme-dark .interaction-report-empty,
body.theme-dark .interaction-chart-empty {
    color: rgba(226, 232, 240, 0.72);
}
body.theme-dark .interaction-report-note,
body.theme-dark .interaction-report-empty,
body.theme-dark .interaction-chart-empty {
    background: rgba(15, 23, 42, 0.76);
    border-color: rgba(148, 163, 184, 0.18);
    color: rgba(241, 245, 249, 0.92);
}
body.theme-dark .interaction-heatmap__row-total {
    color: rgba(241, 245, 249, 0.95);
}
body.theme-dark .interaction-heatmap-legend__scale {
    background: linear-gradient(90deg, rgba(142, 174, 226, 0.12), rgba(142, 174, 226, 0.92));
}
body.theme-dark .interaction-heatmap__cell {
    border-color: rgba(148, 163, 184, 0.16);
    background: rgba(142, 174, 226, calc(0.08 + (var(--heat, 0) * 0.72)));
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, calc(0.16 + (var(--heat, 0) * 0.18)));
}
/* ---------- Admin generic view modal ---------- */
/* Title colours — light mode: flag-blue, dark mode: soft blue */
body.theme-dark #product-modal-title,
body.theme-dark #om-title,
body.theme-dark #aprcm-title {
    text-shadow: 0 0 1px black !important;
}

body.theme-dark .admin-form-modal-body {
    scrollbar-color: rgba(148, 174, 226, 0.40) transparent;
}
body.theme-dark .admin-form-modal-body::-webkit-scrollbar-thumb { background: rgba(148, 174, 226, 0.40); }
body.theme-dark .admin-image-status {
    color: rgba(255, 255, 255, 0.78);
}
body.theme-dark .admin-image-status--convertible {
    color: #93c5fd;
}
body.theme-dark .admin-image-status--webp {
    color: #6ee7b7;
}
body.theme-dark .admin-image-status--missing {
    color: #fca5a5;
}
body.theme-dark .admin-image-status--gif {
    color: #fcd34d;
}
body.theme-dark .admin-image-status--svg {
    color: #c4b5fd;
}

body.theme-dark .pf-upload-timeline {
    background: rgba(30,41,59,0.55);
    border-color: rgba(255,255,255,0.10);
}
body.theme-dark .pf-upload-step__icon { border-color: currentColor; }
body.theme-dark .pf-upload-step-sep   { background: rgba(255,255,255,0.15); }
body.theme-dark .pf-upload-step-sep.is-done { background: #16a34a; }
body.theme-dark .profile-pic-preview-wrap {
    background: rgba(30,41,59,0.55);
    border-color: rgba(255,255,255,0.10);
}

body.theme-dark .pf-section-hd {
    color: rgba(255,255,255,0.48) !important;
}

body.theme-dark .pf-footer-nav-btn {
    border: solid 1px white !important;
    background: rgba(23,48,82,0.14);
    color: white;
}
body.theme-dark .pf-footer-nav-btn:hover {
    background: rgba(23,48,82,0.14);
    color: #aaa !important;
}

body.theme-dark .pf-footer-nav-btn:hover {
    background: rgba(23,48,82,0.14);
    color: #aaa !important;
}

body.theme-dark .pf-tz-badge { color: #64748b; }

/* Dark theme overrides for tabs */
body.theme-dark .pf-tab-rail { background: rgba(0,0,0,.18); }
body.theme-dark .pf-tab-btn { color: #cbd5e1; }
body.theme-dark .pf-tab-btn:hover { background: rgba(255,255,255,.07); color: #e2e8f0; }
body.theme-dark .pf-tab-btn.is-active { background: rgba(0,91,187,.25); color: #93c5fd; }
body.theme-dark .pf-pane-title { color: #93c5fd; }
body.theme-dark .pf-subsection-hd { color: #93c5fd; }
body.theme-dark .pf-label { color: #94a3b8; }
body.theme-dark .pf-stat-val { color: #93c5fd; }
body.theme-dark .pf-info-val { color: #e2e8f0; }

body.theme-dark #customer-favourites-modal .admin-customer-modal-subtitle {
    color: rgba(255, 255, 255, 0.82);
}
/* Dark mode overrides — admin view modal */
body.theme-dark .admin-view-modal-panel {
    --avm-bg: rgba(8, 16, 32, 0.618);
    --avm-border: rgba(255, 255, 255, 0.14);
    --avm-ink: #f1f5fb;
    --avm-muted: rgba(255, 255, 255, 0.65);
    color: var(--avm-ink);
}
body.theme-dark .admin-view-modal-header,
body.theme-dark .admin-view-modal-footer {
    background: var(--avm-bg);
    border-color: var(--avm-border);
}
body.theme-dark .admin-view-modal-header {
    border-bottom-color: var(--avm-border);
}
body.theme-dark .admin-view-modal-body {
    background: var(--avm-bg);
    color: var(--avm-ink);
}
body.theme-dark .admin-view-modal-footer {
    border-top-color: var(--avm-border);
}
body.theme-dark .admin-view-modal-panel .text-gray-500,
body.theme-dark .admin-view-modal-panel .text-gray-600,
body.theme-dark .admin-view-modal-panel .text-gray-700,
body.theme-dark .admin-view-modal-panel label {
    color: rgba(255, 255, 255, 0.7) !important;
}
/* dark theme: same blue glass as base (already set above, just ensure sub-sections clear bg) */
body.theme-dark .admin-view-modal-panel--product {
    background: rgba(11, 29, 58, 0.72) !important;
    border-color: rgba(142, 174, 226, 0.28) !important;
}
body.theme-dark .admin-view-modal-panel--product .admin-view-modal-header,
body.theme-dark .admin-view-modal-panel--product .admin-view-modal-body,
body.theme-dark .admin-view-modal-panel--product .admin-view-modal-footer {
    background: rgba(0, 0, 0, 0) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}
body.theme-dark .admin-view-grid dt {
    color: rgba(255, 255, 255, 0.55);
}
body.theme-dark .admin-view-audit {
    color: rgba(255, 255, 255, 0.55);
}
body.theme-dark .admin-view-audit-label {
    color: rgba(255, 255, 255, 0.45);
}
body.theme-dark .admin-view-audit-value { color: rgba(255, 255, 255, 0.85); }

body.theme-dark .avm-bool-no { color: rgba(255, 255, 255, 0.45); }

/* Modal text — override Tailwind grey classes to be readable on dark glass bg (dark mode only) */
body.theme-dark .admin-form-modal-body .text-gray-500,
body.theme-dark .admin-form-modal-body .text-gray-600,
body.theme-dark .admin-form-modal-body .text-gray-700,
body.theme-dark .admin-form-modal-header .text-gray-500,
body.theme-dark .admin-form-modal-header .text-gray-600,
body.theme-dark .admin-form-modal-header .text-gray-700,
body.theme-dark .admin-view-modal-body .text-gray-500,
body.theme-dark .admin-view-modal-body .text-gray-600,
body.theme-dark .admin-view-modal-body .text-gray-700,
body.theme-dark .admin-view-modal-header .text-gray-500,
body.theme-dark .admin-view-modal-header .text-gray-600,
body.theme-dark .admin-view-modal-header .text-gray-700,
body.theme-dark .order-modal-body .text-gray-500,
body.theme-dark .order-modal-body .text-gray-600,
body.theme-dark .order-modal-body .text-gray-700,
body.theme-dark .order-modal-header .text-gray-500,
body.theme-dark .order-modal-header .text-gray-600,
body.theme-dark .order-modal-header .text-gray-700 {
    color: rgba(255, 255, 255, 0.7) !important;
}
/* Order modal — additional text / label overrides (dark mode only) */
body.theme-dark .order-modal-panel .text-gray-500,
body.theme-dark .order-modal-panel .text-gray-600,
body.theme-dark .order-modal-panel .text-gray-700,
body.theme-dark .order-modal-panel label {
    color: rgba(255, 255, 255, 0.7) !important;
}
body.theme-dark .order-modal-panel .order-modal-header-label {
    color: rgba(255, 255, 255, 0.55) !important;
}
/* Admin view modal — additional text / label overrides (dark mode only) */
body.theme-dark .admin-view-modal-panel .text-gray-500,
body.theme-dark .admin-view-modal-panel .text-gray-600,
body.theme-dark .admin-view-modal-panel .text-gray-700,
body.theme-dark .admin-view-modal-panel label {
    color: rgba(255, 255, 255, 0.7) !important;
}
body.theme-dark .admin-form-modal-body label.text-gray-600,
body.theme-dark .admin-form-modal-body label.text-gray-500,
body.theme-dark .admin-view-modal-body label.text-gray-600,
body.theme-dark .admin-view-modal-body label.text-gray-500,
body.theme-dark .order-modal-body label.text-gray-600,
body.theme-dark .order-modal-body label.text-gray-500 {
    color: rgba(255, 255, 255, 0.65) !important;
}

body.theme-dark .account-stock-badge--in  { background:rgba(74,222,128,.1);  color:#4ade80;  border-color:rgba(74,222,128,.28); }
body.theme-dark .account-stock-badge--low { background:rgba(250,204,21,.1);  color:#fde047;  border-color:rgba(250,204,21,.28); }
body.theme-dark .account-stock-badge--out { background:rgba(248,113,113,.1); color:#f87171;  border-color:rgba(248,113,113,.25); }
body.theme-dark .account-card .dt-buttons .dt-button {
    background: rgba(255,255,255,.07);
    border-color: rgba(255,255,255,.15);
    color: var(--ink);
}
body.theme-dark .account-card .dt-buttons .dt-button:hover {
    background: rgba(255,255,255,.14);
}
body.theme-dark .catalog-thumb-placeholder,
body.theme-dark .img-placeholder {
    color: rgba(168, 199, 255, 0.72);
    background: linear-gradient(135deg, rgba(122,166,255,0.18), rgba(122,166,255,0.04));
}
/* ---------- Dark theme utility remaps ---------- */
body.theme-dark,
body.theme-dark .dt-container,
body.theme-dark table.dataTable,
body.theme-dark .select2-container {
    color: var(--ink);
}
body.theme-dark .text-gray-500 { color: var(--muted-500) !important; }
body.theme-dark .text-gray-400 { color: #b0bdd0 !important; }
body.theme-dark .text-gray-600 { color: var(--muted-600) !important; }
body.theme-dark .text-gray-700 { color: var(--muted-700) !important; }
body.theme-dark .text-gray-800 { color: #eef2fb !important; }
body.theme-dark .text-gray-900 { color: #ffffff !important; }
body.theme-dark .bg-white\/10,
body.theme-dark .bg-white\/20,
body.theme-dark .bg-white\/25,
body.theme-dark .bg-white\/40,
body.theme-dark .bg-white\/45,
body.theme-dark .bg-white\/50,
body.theme-dark .bg-white\/60,
body.theme-dark .bg-white\/70 {
    background-color: rgba(15, 27, 51, 0.72) !important;
}
body.theme-dark .border-white\/20,
body.theme-dark .border-white\/30,
body.theme-dark .border-white\/40,
body.theme-dark .border-white\/50,
body.theme-dark .border-white\/60 {
    border-color: var(--line-soft) !important;
}
body.theme-dark .border-gray-100,
body.theme-dark .border-gray-200,
body.theme-dark .border-gray-300,
body.theme-dark .border-gray-400,
body.theme-dark .border-gray-500,
body.theme-dark .border-gray-600 {
    border-color: var(--line-soft) !important;
}

/* Dark mode flash boxes — restore bright-on-dark colours */
body.theme-dark .bg-emerald-50.border-emerald-300 {
    background: rgba(6, 78, 59, 0.30) !important;
    border-color: #4ade80 !important;
    color: #bbf7d0 !important;
}

body.theme-dark .bg-green-50\/60,
body.theme-dark .bg-green-100,
body.theme-dark .bg-emerald-100 {
    background-color: rgba(6, 78, 59, 0.3) !important;
}
body.theme-dark .text-green-800,
body.theme-dark .text-emerald-700,
body.theme-dark .text-emerald-800 {
    color: #bbf7d0 !important;
    font-weight: 700 !important;
}
/* Flash message containers — bright green on dark backgrounds */
body.theme-dark .glass.border-green-300 {
    color: #bbf7d0 !important;
    font-weight: 700 !important;
    border-color: #4ade80 !important;
}
body.theme-dark .border-green-300 {
    border-color: rgba(52, 211, 153, 0.35) !important;
}
body.theme-dark .bg-red-50\/60,
body.theme-dark .bg-red-100\/70 {
    background-color: rgba(127, 29, 29, 0.3) !important;
}
body.theme-dark .text-red-800,
body.theme-dark .text-red-700,
body.theme-dark .text-red-600 {
    color: #fecaca !important;
}
body.theme-dark .border-red-300,
body.theme-dark .border-red-200 {
    border-color: rgba(248, 113, 113, 0.34) !important;
}
body.theme-dark .bg-amber-100 {
    background-color: rgba(120, 53, 15, 0.34) !important;
}
body.theme-dark .text-amber-800 {
    color: #fcd34d !important;
}
body.theme-dark .dt-container .dt-info,
body.theme-dark .dt-container .dt-length,
body.theme-dark .dt-container .dt-search,
body.theme-dark .dt-container .dt-paging {
    color: var(--muted-600) !important;
}
body.theme-dark .dt-search input,
body.theme-dark .dt-length select {
    border-color: var(--line-soft);
}
body.theme-dark .dt-container .dt-button,
body.theme-dark .dt-container button.dt-button,
body.theme-dark .dt-container div.dt-button,
body.theme-dark .dt-container a.dt-button {
    background: rgba(15, 23, 42, 0.62) !important;
    border-color: var(--line-soft) !important;
    color: var(--ink) !important;
}
body.theme-dark .dt-container .dt-button:hover,
body.theme-dark .dt-container button.dt-button:hover,
body.theme-dark .dt-container div.dt-button:hover,
body.theme-dark .dt-container a.dt-button:hover,
body.theme-dark .dt-container .dt-button:focus-visible,
body.theme-dark .dt-container button.dt-button:focus-visible,
body.theme-dark .dt-container div.dt-button:focus-visible,
body.theme-dark .dt-container a.dt-button:focus-visible {
    background: rgba(24, 39, 68, 0.9) !important;
    border-color: rgba(122, 166, 255, 0.32) !important;
    color: #d9e7ff !important;
}
body.theme-dark .dt-button-collection {
    background: rgba(10, 18, 38, 0.98) !important;
    border-color: rgba(100, 140, 220, 0.22) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.32), 0 1px 4px rgba(0, 0, 0, 0.18) !important;
}
body.theme-dark .dt-button-collection .dt-button {
    color: #c0d4f4 !important;
}
body.theme-dark .dt-button-collection .dt-button::before {
    border-color: rgba(120, 160, 240, 0.38);
}
body.theme-dark .dt-button-collection .dt-button-active::before {
    background: #4a7fd4 !important;
    border-color: #4a7fd4 !important;
}
body.theme-dark .dt-button-collection .dt-button:not(.disabled):hover {
    background: rgba(100, 150, 255, 0.11) !important;
    color: #ddeaff !important;
}
body.theme-dark .dt-button-collection .colvis-restore-btn {
    border-top-color: rgba(100, 140, 220, 0.18) !important;
    color: #7ab2f8 !important;
}
body.theme-dark .dt-container .datatable-total-count {
    color: var(--muted-700);
}
body.theme-dark .order-status-filter-bar,
body.theme-dark .order-status-filter-bar.glass {
    background: rgba(8, 16, 32, 0.52);
    border-color: var(--line-soft) !important;
    box-shadow:
        0 20px 38px rgba(2, 6, 23, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
body.theme-dark .order-status-switch {
    background: rgba(15, 23, 42, 0.58);
    border-color: var(--line-soft);
    color: var(--ink);
}
body.theme-dark .order-status-switch:hover,
body.theme-dark .order-status-switch:focus-visible {
    border-color: rgba(122, 166, 255, 0.32);
    box-shadow: 0 10px 24px rgba(2, 6, 23, 0.24);
}
body.theme-dark .order-status-switch__ui {
    background: rgba(71, 85, 105, 0.8);
}
body.theme-dark .order-status-switch__thumb {
    background: #f8fbff;
}
body.theme-dark .order-status-switch.is-active {
    background: rgba(15, 23, 42, 0.58);
    border-color: #ffffff;
    color: var(--ink);
}
body.theme-dark .order-status-switch.is-active .order-status-switch__ui {
    background: rgba(122, 166, 255, 0.9);
}
body.theme-dark .dt-container .dt-paging .paginate_button {
    color: var(--muted-700) !important;
}
body.theme-dark .modal-panel .input,
body.theme-dark .modal-panel .select,
body.theme-dark .modal-panel .textarea,
body.theme-dark .modal-panel .select2-container--default .select2-selection--single,
body.theme-dark .modal-panel .select2-dropdown {
    border-color: var(--line-soft) !important;
}
body.theme-dark .back-to-top-dismiss {
    color: rgba(248, 251, 255, 0.92);
}

body.theme-dark .select2-container--default .select2-results__option {
    color: var(--ink);
}
body.theme-dark .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background: rgba(122, 166, 255, 0.18) !important;
    color: #f8fbff !important;
}
body.theme-dark .select2-container--default .select2-results__option--selected,
body.theme-dark .select2-container--default .select2-results__option[aria-selected="true"] {
    background: rgba(0, 53, 128, 0.5) !important;
    color: #ffffff !important;
}
body.theme-dark code {
    background: rgba(15, 27, 51, 0.7);
    color: #dbeafe;
    padding: .1rem .28rem;
    border-radius: .3rem;
}
body.theme-dark .audit-action-badge--create {
    background: rgba(16, 185, 129, 0.18);
    color: #6ee7b7;
}
body.theme-dark .audit-action-badge--update {
    background: rgba(59, 130, 246, 0.2);
    color: #93c5fd;
}
body.theme-dark .audit-action-badge--delete {
    background: rgba(239, 68, 68, 0.18);
    color: #fca5a5;
}
body.theme-dark .audit-summary-card,
body.theme-dark .audit-change-card,
body.theme-dark .audit-meta-item,
body.theme-dark .audit-snapshot,
body.theme-dark .audit-structured-item,
body.theme-dark .audit-structured-array-card,
body.theme-dark .audit-value-card,
body.theme-dark .audit-json,
body.theme-dark .audit-meta-empty,
body.theme-dark .audit-empty-state {
    background: rgba(15, 23, 42, 0.74);
    border-color: rgba(148, 163, 184, 0.18);
}
body.theme-dark .audit-summary-card__label,
body.theme-dark .audit-value-card__label,
body.theme-dark .audit-meta-label,
body.theme-dark .audit-structured-item__label,
body.theme-dark .audit-structured-array-card__title,
body.theme-dark .audit-summary-card__meta,
body.theme-dark .audit-meta-empty,
body.theme-dark .audit-empty-state {
    color: rgba(226, 232, 240, 0.7);
}
body.theme-dark .audit-summary-card__value,
body.theme-dark .audit-change-card__header,
body.theme-dark .audit-value-card__value,
body.theme-dark .audit-meta-value,
body.theme-dark .audit-structured-item__value,
body.theme-dark .audit-structured-primitive,
body.theme-dark .audit-json,
body.theme-dark .audit-snapshot summary {
    color: rgba(241, 245, 249, 0.95);
}
body.theme-dark .audit-change-card__header,
body.theme-dark .audit-snapshot[open] summary {
    border-color: rgba(148, 163, 184, 0.16);
}

/* Dark theme */
body.theme-dark .admin-sf-section__header {
    background: rgba(255, 255, 255, 0.025);
}
body.theme-dark .admin-sf-section__icon {
    background: rgba(255, 255, 255, 0.1);
    color: #a5c0f0;
}
body.theme-dark .admin-sf-section__title { color: #d9e7ff; }
body.theme-dark .admin-sf-row__label { color: rgba(255,255,255,0.88); }
body.theme-dark .admin-sf-row__desc { color: rgba(255,255,255,0.48); }
body.theme-dark .admin-sf-nav__item { color: rgba(255,255,255,0.72); }
body.theme-dark .admin-sf-nav__item:hover,
body.theme-dark .admin-sf-nav__item.is-active {
    background: rgba(255, 255, 255, 0.09);
    color: #d9e7ff;
}
body.theme-dark .admin-sf-nav__item:hover .admin-sf-nav__icon,
body.theme-dark .admin-sf-nav__item.is-active .admin-sf-nav__icon {
    color: #a5c0f0;
}
body.theme-dark .admin-sf-toggle__track { background: rgba(255,255,255,0.2); }
body.theme-dark .admin-sf-toggle__input:checked + .admin-sf-toggle__track { background: #3b82f6; }
body.theme-dark .admin-sf-save-bar__status { color: rgba(255,255,255,0.45); }
body.theme-dark .admin-sf-save-bar__status--hint { color: rgba(255,255,255,0.35); }

body.theme-dark .admin-sf-checkbox-item { color: rgba(255,255,255,0.88); }
body.theme-dark button.js-apsm-period{
    background-color: rgba(255,255,255,0.382) !important;
}
body.theme-dark button.js-apsm-period.is-active {
    background: rgba(0,0,0,0.382) !important;
    color: white !important;
}
body.theme-dark button.js-psm-period {
    background-color: rgba(255,255,255,0.382) !important;
}
body.theme-dark button.js-psm-period.is-active {
    background: rgba(0,0,0,0.382) !important;
    color: white !important;
}
body.theme-dark .btn.btn-primary.text-xs.is-active {
    background: rgba(0, 0, 0, 0.382) !important;
    color: white !important;
    box-shadow: 0 0 5px white !important;
}
body.theme-dark .btn.btn-primary.text-xs:hover {
    background: rgba(0, 0, 0, 0.382) !important;
    color: white !important;
    box-shadow: 0 0 3px white !important;
}
body.theme-dark #page-loader-bar {
    background: linear-gradient(90deg, #60a5fa 0%, #818cf8 60%, #c084fc 100%);
    box-shadow: 0 0 10px rgba(129, 140, 248, 0.7);
}
body.theme-dark #page-transition-overlay {
    background: #030a1c;
}
body.theme-dark #page-transition-overlay::after {
    background-image: repeating-linear-gradient(
        0deg,
        transparent 0px, transparent 3px,
        rgba(80, 140, 255, 0.04) 3px, rgba(80, 140, 255, 0.04) 4px
    );
}
body.theme-dark  .pt-spinner-ring {
    border-color: rgba(60, 100, 200, 0.16);
    border-top-color: rgba(120, 170, 255, 0.72);
}
body.theme-dark .image-fx-chip       { background: rgba(0,0,0,.18); border-color: rgba(255,255,255,.12); }
body.theme-dark .image-fx-chip.active { background: rgba(30,64,175,.85); border-color: rgba(99,171,255,.8); color: #fff; box-shadow: 0 0 0 2px rgba(99,171,255,.25); }
body.theme-dark h1.leading-tight {
    text-shadow: 0 0 1px black !important;
}
body.theme-dark .fav-card__name-link:hover .fav-card__name {
    color: var(--finland-blue-400);
}
body.theme-dark .fav-card__price {
    color: var(--finland-blue-400);
}
/* Dark / mixed theme adjustments */
body.theme-dark .fav-card__rank,
body.theme-dark .fav-card__control-btn {
    background: rgba(0, 0, 0, 0.72);
}
body.theme-dark .fav-card:hover {
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45);
}
body.theme-dark a.fav-tbl__name:hover { color: var(--finland-blue-400); }
/* Dark theme — light text on tinted dark bg */
body.theme-dark .admin-mod-badge--approved {
    background: rgba(16, 185, 129, 0.18);
    border-color: rgba(16, 185, 129, 0.42);
    color: #6ee7b7;
}
body.theme-dark .admin-mod-badge--pending {
    background: rgba(251, 191, 36, 0.18);
    border-color: rgba(251, 191, 36, 0.45);
    color: #fcd34d;
}
body.theme-dark .admin-mod-badge--declined {
    background: rgba(239, 68, 68, 0.18);
    border-color: rgba(239, 68, 68, 0.4);
    color: #fca5a5;
}
body.theme-dark .admin-mod-badge--deleted {
    background: rgba(107, 114, 128, 0.22);
    border-color: rgba(107, 114, 128, 0.35);
    color: #d1d5db;
}
body.theme-dark .admin-mod-badge--type-review {
    background: rgba(251, 191, 36, 0.18);
    border-color: rgba(251, 191, 36, 0.4);
    color: #fcd34d;
}
body.theme-dark .admin-mod-badge--type-comment {
    background: rgba(99, 102, 241, 0.18);
    border-color: rgba(99, 102, 241, 0.4);
    color: #a5b4fc;
}
body.theme-dark .admin-mod-badge--type-reply {
    background: rgba(16, 185, 129, 0.18);
    border-color: rgba(16, 185, 129, 0.38);
    color: #6ee7b7;
}
/* Dark theme */
body.theme-dark .cqa-btn--approve {
    background: rgba(16,185,129,0.18);
    border-color: rgba(16,185,129,0.42);
    color: #6ee7b7;
}
body.theme-dark .cqa-btn--approve:hover:not(:disabled) { background: rgba(16,185,129,0.32); }
body.theme-dark .cqa-btn--decline {
    background: rgba(239,68,68,0.18);
    border-color: rgba(239,68,68,0.40);
    color: #fca5a5;
}
body.theme-dark .cqa-btn--decline:hover:not(:disabled) { background: rgba(239,68,68,0.30); }


body.theme-dark .admin-table-link {
    color: #93c5fd;
}
body.theme-dark .admin-table-link:hover {
    color: #bfdbfe;
}

body.theme-dark .btn-primary:hover {
    color: #ffffff !important;
}
body.theme-dark .btn-ghost {
    color: #ffffff !important;
}
body.theme-dark .catalog-card-fav-btn.is-favourite {
    background: transparent;
}
body.theme-dark .catalog-card-fav-btn.is-favourite .catalog-card-fav-icon {
    color: #4ade80;
    filter: drop-shadow(0 0 5px rgba(74, 222, 128, 0.6));
}

/* ── Dark / mixed theme overrides ────────────────────────────────── */
body.theme-dark .cat-tree__root,
body.theme-dark .cat-tree__child {
    background: rgba(255,255,255,0.06);
    border-color: rgba(255,255,255,0.12);
}

body.theme-dark .cat-tree__row:hover {
    background: rgba(255,255,255,0.08);
}

body.theme-dark .cat-tree__thumb-placeholder {
    background: rgba(255,255,255,0.1);
}

body.theme-dark .cat-tree__product:hover {
    background: rgba(255,255,255,0.08);
}

body.theme-dark .cat-tree__body {
    border-top-color: rgba(255,255,255,0.12);
}

/* Dark theme overrides for detail modal */
body.theme-dark .cat-detail-modal__panel {
    background: rgba(30,30,40,0.88);
    border-color: rgba(255,255,255,0.12);
}

body.theme-dark .cat-detail-modal__header,
body.theme-dark .cat-detail-modal__body {
    background: rgba(30,30,40,0.88);
}

body.theme-dark .cat-detail-prod:hover {
    background: rgba(255,255,255,0.08);
}

body.theme-dark .cat-page-tree-panel {
    background: rgba(255,255,255,0.06);
    border-color: rgba(255,255,255,0.12);
}

body.theme-dark .js-cat-row.is-active {
    background: rgba(255,255,255,0.12) !important;
}

body.theme-dark .cat-tree__product-row:hover {
    background: rgba(255,255,255,0.08);
}

body.theme-dark .cat-page-viewer {
    background: rgba(255,255,255,0.06);
    border-color: rgba(255,255,255,0.12);
}

body.theme-dark .cat-vp-sibling-btn {
    background: rgba(147, 197, 253, 0.08);
    border-color: rgba(147, 197, 253, 0.28);
    color: rgba(219, 234, 254, 0.75);
}
body.theme-dark .cat-vp-sibling-btn:hover {
    background: rgba(147, 197, 253, 0.18);
    border-color: rgba(147, 197, 253, 0.55);
    color: #bfdbfe;
    box-shadow: 0 2px 8px rgba(2, 6, 23, 0.35);
}
body.theme-dark .cat-vp-sibling-pos { color: rgba(147, 197, 253, 0.55); }

body.theme-dark .cat-vp-btn-fav { border-color: rgba(255,255,255,.25); color: #fca5a5; }
body.theme-dark .cat-vp-btn-fav--active { border-color: #4ade80; color: #4ade80; }
body.theme-dark .cat-vp-btn-fav--active .cat-vp-fav-icon { color: #4ade80; }

body.theme-dark.cat-categories-page {
    background:
        radial-gradient(circle at 18% 12%, rgba(96, 165, 250, 0.24), transparent 28rem),
        radial-gradient(circle at 78% 2%, rgba(14, 165, 233, 0.2), transparent 24rem),
        linear-gradient(135deg, rgba(2, 6, 23, 0.96), rgba(10, 35, 78, 0.92) 48%, rgba(4, 47, 82, 0.9));
}

body.theme-dark.cat-categories-page .cat-page-hero,
body.theme-dark.cat-categories-page .cat-page-tree-panel,
body.theme-dark.cat-categories-page .cat-page-viewer,
body.theme-dark.cat-categories-page .catpage-cart-card {
    background: linear-gradient(145deg, rgba(12, 38, 82, 0.78), rgba(8, 55, 112, 0.58));
    border-color: rgba(147, 197, 253, 0.26);
    box-shadow: 0 24px 80px rgba(2, 6, 23, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

body.theme-dark.cat-categories-page .cat-page-kicker,
body.theme-dark.cat-categories-page .cat-page-stat__value,
body.theme-dark.cat-categories-page .cat-detail-metric strong,
body.theme-dark.cat-categories-page .cat-viewer-cat__eyebrow,
body.theme-dark.cat-categories-page .cat-detail-section-title,
body.theme-dark.cat-categories-page .cat-viewer-prod__price,
body.theme-dark.cat-categories-page .cat-detail-prod__price,
body.theme-dark.cat-categories-page .catpage-cart-card__subtotal {
    color: #93c5fd;
}

body.theme-dark.cat-categories-page .cat-page-subtitle,
body.theme-dark.cat-categories-page .cat-page-stat__label,
body.theme-dark.cat-categories-page .cat-detail-metric span,
body.theme-dark.cat-categories-page .cat-viewer-cat__desc,
body.theme-dark.cat-categories-page .cat-vp-short,
body.theme-dark.cat-categories-page .cat-vp-rating,
body.theme-dark.cat-categories-page .cat-detail-branch__label,
body.theme-dark.cat-categories-page .cat-detail-prod__action,
body.theme-dark.cat-categories-page .cat-tree__kind,
body.theme-dark.cat-categories-page .cat-tree__product-price,
body.theme-dark.cat-categories-page .cat-tree__empty,
body.theme-dark.cat-categories-page .cat-viewer-welcome__stats {
    color: rgba(219, 234, 254, 0.68);
}

body.theme-dark.cat-categories-page .cat-page-back,
body.theme-dark.cat-categories-page .cat-viewer-back,
body.theme-dark.cat-categories-page .cat-tree-action,
body.theme-dark.cat-categories-page .cat-tree__row,
body.theme-dark.cat-categories-page .cat-tree__product-row,
body.theme-dark.cat-categories-page .cat-tree__name,
body.theme-dark.cat-categories-page .cat-tree__product-name,
body.theme-dark.cat-categories-page .cat-viewer-welcome__text,
body.theme-dark.cat-categories-page .cat-viewer-cat__name,
body.theme-dark.cat-categories-page .cat-viewer-prod__name,
body.theme-dark.cat-categories-page .cat-detail-prod__name,
body.theme-dark.cat-categories-page .cat-detail-branch__node,
body.theme-dark.cat-categories-page .cat-tree-search__input {
    color: #f8fafc !important;
}

body.theme-dark.cat-categories-page .cat-page-stat,
body.theme-dark.cat-categories-page .cat-detail-metric,
body.theme-dark.cat-categories-page .cat-tree-search,
body.theme-dark.cat-categories-page .cat-tree-empty-search,
body.theme-dark.cat-categories-page .cat-tree__root,
body.theme-dark.cat-categories-page .cat-tree__child,
body.theme-dark.cat-categories-page .cat-viewer-welcome__stats span,
body.theme-dark.cat-categories-page .cat-viewer-cat__image-wrap,
body.theme-dark.cat-categories-page .cat-viewer-prod__image-wrap,
body.theme-dark.cat-categories-page .cat-detail-branch__node,
body.theme-dark.cat-categories-page .cat-detail-prod {
    background: rgba(15, 23, 42, 0.2);
    border-color: rgba(147, 197, 253, 0.18);
}

body.theme-dark.cat-categories-page .catpage-cart-card__header,
body.theme-dark.cat-categories-page .catpage-cart-card__actions,
body.theme-dark.cat-categories-page .product-quick-view-modal-header,
body.theme-dark.cat-categories-page .product-quick-view-modal-body,
body.theme-dark.cat-categories-page .product-quick-view-modal-footer,
body.theme-dark.cat-categories-page .pcm-panel__header,
body.theme-dark.cat-categories-page .pcm-panel__body,
body.theme-dark.cat-categories-page .pcm-panel__footer {
    background: rgba(8, 39, 88, 0.48) !important;
    border-color: rgba(147, 197, 253, 0.18) !important;
}

body.theme-dark.cat-categories-page .modal-backdrop {
    background: rgba(2, 6, 23, 0.7);
}

body.theme-dark.cat-categories-page .modal-panel,
body.theme-dark.cat-categories-page .pcm-panel,
body.theme-dark.cat-categories-page .product-quick-view-modal-panel {
    background: linear-gradient(145deg, rgba(10, 35, 76, 0.92), rgba(8, 55, 112, 0.82)) !important;
    border-color: rgba(147, 197, 253, 0.28) !important;
    color: #e0f2fe;
    box-shadow: 0 26px 90px rgba(2, 6, 23, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

body.theme-dark.cat-categories-page .modal-panel h3,
body.theme-dark.cat-categories-page .modal-panel h4,
body.theme-dark.cat-categories-page .modal-panel .text-flag-blue,
body.theme-dark.cat-categories-page .modal-panel .text-gray-700,
body.theme-dark.cat-categories-page .modal-panel .text-gray-600,
body.theme-dark.cat-categories-page .modal-panel .text-gray-500 {
    color: #dbeafe !important;
}

body.theme-dark.cat-categories-page {
    --cat-page-ink: #f8fafc;
    --cat-page-muted: rgba(219, 234, 254, 0.68);
    --cat-page-accent: var(--finland-blue-400);
    --cat-page-glass: rgba(0, 31, 93, 0.382);
    --cat-page-glass-strong: rgba(15, 23, 42, 0.2);
    --cat-page-glass-line: rgba(147, 197, 253, 0.24);
    --cat-page-glass-shadow: 0 24px 80px rgba(2, 6, 23, 0.32);
}

body.theme-dark.cat-categories-page .catpage-cart-card,
body.theme-dark.cat-categories-page .catpage-cart-card__title,
body.theme-dark.cat-categories-page .catpage-cart-card__items,
body.theme-dark.cat-categories-page .catpage-cart-empty,
body.theme-dark.cat-categories-page .catpage-cart-item__name {
    color: #f8fafc !important;
}

body.theme-dark.cat-categories-page .catpage-cart-item__price,
body.theme-dark.cat-categories-page .catpage-cart-card__subtotal {
    color: #bfdbfe !important;
}

body.theme-dark.cat-categories-page .catpage-cart-card__action--ghost,
body.theme-dark.cat-categories-page .catpage-cart-card__action--ghost:hover,
body.theme-dark.cat-categories-page .catpage-cart-card__action--ghost:focus-visible {
    color: #fff !important;
}

body.theme-dark.cat-categories-page .cat-tree-search__input::placeholder {
    color: rgba(226, 232, 240, 0.68) !important;
}

body.theme-dark.cat-categories-page .cat-tree__row:hover,
body.theme-dark.cat-categories-page .cat-tree__product-row:hover,
body.theme-dark.cat-categories-page .js-cat-row.is-active,
body.theme-dark.cat-categories-page .cat-detail-prod:hover,
body.theme-dark.cat-categories-page button.cat-detail-branch__node:hover {
    background: rgba(147, 197, 253, 0.14) !important;
    border-color: rgba(147, 197, 253, 0.28) !important;
    color: #f8fafc !important;
}

body.theme-dark .comment-action-btn {
    border-color: rgba(96, 165, 250, 0.6);
    background: rgba(96, 165, 250, 0.18);
    color: #60a5fa;
    box-shadow: 0 0 0 1px rgba(96, 165, 250, 0.14), 0 1px 4px rgba(96, 165, 250, 0.18);
}
body.theme-dark .comment-action-btn:hover {
    background: rgba(96, 165, 250, 0.3);
    border-color: rgba(96, 165, 250, 0.8);
    box-shadow: 0 0 0 2px rgba(96, 165, 250, 0.2), 0 2px 6px rgba(96, 165, 250, 0.24);
}
body.theme-dark .comment-action-btn--danger {
    border-color: rgba(248, 113, 113, 0.55);
    background: rgba(248, 113, 113, 0.14);
    color: #f87171;
    box-shadow: 0 0 0 1px rgba(248, 113, 113, 0.12), 0 1px 4px rgba(248, 113, 113, 0.16);
}
body.theme-dark .comment-action-btn--danger:hover {
    background: rgba(248, 113, 113, 0.26);
    border-color: rgba(248, 113, 113, 0.75);
}
body.theme-dark .pp-card-bg {
    background-image:
        linear-gradient(135deg,
            rgba(8, 13, 28, 0.93) 0%,
            rgba(10, 16, 34, 0.88) 45%,
            rgba(12, 19, 42, 0.83) 100%),
        var(--pp-bg-img, none);
}

/* ───────────────── Category Directory (dark theme) ───────────────── */
body.theme-dark .cat-simple-view-link {
    border-color: rgba(96, 165, 250, 0.24);
    background: rgba(15, 23, 42, 0.56);
    color: #e2e8f0;
}
body.theme-dark .cat-simple-view-link:hover,
body.theme-dark .cat-simple-view-link:focus-visible {
    border-color: rgba(96, 165, 250, 0.48);
    background: rgba(15, 23, 42, 0.82);
    box-shadow: 0 18px 34px -22px rgba(96, 165, 250, 0.45);
}
body.theme-dark .cat-simple-view-link__preview {
    border-color: rgba(96, 165, 250, 0.2);
    background: linear-gradient(180deg, rgba(30, 41, 59, 0.96), rgba(15, 23, 42, 0.95));
}
body.theme-dark .cat-simple-view-link__preview::before {
    border-left-color: rgba(147, 197, 253, 0.28);
}
body.theme-dark .cat-simple-view-link__root {
    background: rgba(147, 197, 253, 0.82);
}
body.theme-dark .cat-simple-view-link__branch {
    background: rgba(147, 197, 253, 0.42);
}
body.theme-dark .cat-simple-view-link__title {
    color: #93c5fd;
}
body.theme-dark .cat-simple-view-link__text {
    color: #94a3b8;
}
body.theme-dark .cat-dir__col {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(148, 163, 184, 0.14);
}
body.theme-dark .cat-dir__col:hover {
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(96, 165, 250, 0.32);
}
body.theme-dark .cat-dir__col.is-active {
    background: rgba(96, 165, 250, 0.12);
    border-color: rgba(96, 165, 250, 0.55);
    box-shadow: 0 1px 0 rgba(96, 165, 250, 0.08), 0 10px 24px -14px rgba(96, 165, 250, 0.45);
}
body.theme-dark .cat-dir__thumb {
    background: rgba(96, 165, 250, 0.15);
    color: #93c5fd;
}
body.theme-dark .cat-dir__name {
    color: #e2e8f0;
}
body.theme-dark .cat-dir__count,
body.theme-dark .cat-dir__sub-count,
body.theme-dark .cat-dir__more,
body.theme-dark .cat-dir__meta {
    color: #94a3b8;
}
body.theme-dark .cat-dir__sub {
    color: #cbd5e1;
}
body.theme-dark .cat-dir__rule {
    background: rgba(96, 165, 250, 0.18);
}
body.theme-dark .cat-dir__sub:hover,
body.theme-dark .cat-dir__sub:focus-visible {
    background: rgba(96, 165, 250, 0.12);
    border-left-color: rgba(96, 165, 250, 0.5);
    color: #f1f5f9;
}
body.theme-dark .cat-dir__sub.is-active {
    background: rgba(96, 165, 250, 0.18);
    border-left-color: #60a5fa;
    color: #f8fafc;
}
body.theme-dark .cat-dir__sub-count {
    background: rgba(96, 165, 250, 0.1);
}
body.theme-dark .cat-dir__sub:hover .cat-dir__sub-count,
body.theme-dark .cat-dir__sub:focus-visible .cat-dir__sub-count,
body.theme-dark .cat-dir__sub.is-active .cat-dir__sub-count {
    background: rgba(96, 165, 250, 0.28);
    color: #93c5fd;
}
body.theme-dark .cat-dir__header:hover,
body.theme-dark .cat-dir__header:focus-visible {
    background: rgba(96, 165, 250, 0.1);
}
body.theme-dark .cat-dir__col.is-active .cat-dir__header {
    background: rgba(96, 165, 250, 0.14);
}
body.theme-dark .cat-dir__more:hover,
body.theme-dark .cat-dir__more:focus-visible,
body.theme-dark .cat-dir__see-all {
    color: #93c5fd;
}
body.theme-dark .cat-dir__more:hover,
body.theme-dark .cat-dir__more:focus-visible,
body.theme-dark .cat-dir__see-all:hover,
body.theme-dark .cat-dir__see-all:focus-visible {
    background: rgba(96, 165, 250, 0.12);
}
body.theme-dark .cat-dir__reset {
    border-color: rgba(96, 165, 250, 0.32);
    background: rgba(96, 165, 250, 0.1);
    color: #93c5fd;
}
body.theme-dark .cat-dir__reset:hover,
body.theme-dark .cat-dir__reset:focus-visible {
    background: rgba(96, 165, 250, 0.18);
    border-color: rgba(96, 165, 250, 0.5);
}
body.theme-dark .cat-dir__search {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(96, 165, 250, 0.2);
    color: #e2e8f0;
}
body.theme-dark .cat-dir__search:focus-visible {
    border-color: #60a5fa;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.22);
}
body.theme-dark .cat-dir__controls-label {
    color: #94a3b8;
}
body.theme-dark .cat-dir__chips-toggle {
    border-color: rgba(96, 165, 250, 0.24);
    background: rgba(15, 23, 42, 0.55);
    color: #e2e8f0;
}
body.theme-dark .cat-dir__chips-toggle:hover,
body.theme-dark .cat-dir__chips-toggle:focus-visible,
body.theme-dark .cat-dir__chips-toggle.is-open {
    border-color: rgba(96, 165, 250, 0.46);
    background: rgba(96, 165, 250, 0.14);
}
body.theme-dark .cat-dir__chips-toggle svg {
    color: #93c5fd;
}
body.theme-dark .cat-dir__search-icon,
body.theme-dark .cat-dir__search-clear {
    color: #94a3b8;
}
body.theme-dark .cat-dir__search-clear:hover,
body.theme-dark .cat-dir__search-clear:focus-visible {
    background: rgba(96, 165, 250, 0.16);
    color: #93c5fd;
}
body.theme-dark .cat-dir__indicator {
    background: rgba(96, 165, 250, 0.16);
    color: #93c5fd;
}
body.theme-dark .cat-dir__header:hover .cat-dir__indicator,
body.theme-dark .cat-dir__header:focus-visible .cat-dir__indicator,
body.theme-dark .cat-dir__col.is-expanded .cat-dir__indicator--toggle {
    background: rgba(96, 165, 250, 0.28);
}
body.theme-dark .cat-dir__col.is-active--root .cat-dir__indicator,
body.theme-dark .cat-dir__col.is-active--sub .cat-dir__indicator {
    background: #60a5fa;
    color: #0b1220;
}
body.theme-dark .cat-dir-floating__inner {
    border-color: rgba(96, 165, 250, 0.32);
    background: rgba(15, 23, 42, 0.97);
    box-shadow: 0 24px 48px -22px rgba(0, 0, 0, 0.7),
                0 6px 14px -6px rgba(96, 165, 250, 0.22);
}
body.theme-dark .cat-dir-floating__label {
    color: #e2e8f0;
}
body.theme-dark .cat-dir-floating__icon,
body.theme-dark .cat-dir-floating__clear {
    color: #93c5fd;
}
body.theme-dark .cat-dir-floating__clear {
    background: rgba(96, 165, 250, 0.18);
}
body.theme-dark .cat-dir-floating__clear:hover,
body.theme-dark .cat-dir-floating__clear:focus-visible {
    background: rgba(96, 165, 250, 0.32);
}
body.theme-dark .cat-dir-floating__token {
    border-color: rgba(96, 165, 250, 0.32);
    background: rgba(30, 41, 59, 0.85);
    color: #e2e8f0;
}
body.theme-dark .cat-dir-floating__token--sub {
    background: rgba(96, 165, 250, 0.18);
}
body.theme-dark .cat-dir-floating__token-x {
    background: rgba(96, 165, 250, 0.24);
    color: #93c5fd;
}
body.theme-dark .cat-dir-floating__token:hover .cat-dir-floating__token-x,
body.theme-dark .cat-dir-floating__token:focus-visible .cat-dir-floating__token-x {
    background: #60a5fa;
    color: #0b1220;
}

/* Journey 2.0 dark overrides */
body.theme-dark .jrn-ring-card,
body.theme-dark .jrn-chart-panel,
body.theme-dark .jrn-beat-card {
    background: rgba(15, 23, 42, 0.72);
    border-color: rgba(96, 165, 250, 0.18);
}
body.theme-dark .jrn-beat-card:hover {
    background: rgba(30, 41, 59, 0.9);
    border-color: rgba(96, 165, 250, 0.35);
}
body.theme-dark .jrn-ring-track { stroke: rgba(148, 163, 184, 0.15); }
body.theme-dark .jrn-ring-num { fill: #93c5fd; }
body.theme-dark .jrn-ring-label { color: #93c5fd; }
body.theme-dark .jrn-beat-card__title { color: #93c5fd; }
body.theme-dark .jrn-section-label,
body.theme-dark .jrn-chart-title,
body.theme-dark .jrn-dna-sectionlabel { color: #93c5fd; }
body.theme-dark .jrn-dna { background: rgba(15, 23, 42, 0.5); }
body.theme-dark .jrn-narrative {
    background: rgba(15, 23, 42, 0.65);
    border-left-color: #3b82f6;
    border-top-color: rgba(96, 165, 250, 0.18);
    border-right-color: rgba(96, 165, 250, 0.18);
    border-bottom-color: rgba(96, 165, 250, 0.18);
}
body.theme-dark .jrn-narrative p { color: #cbd5e1; }

/* §34 Shop Section Banner — dark theme */
body.theme-dark .shop-section-banner {
    border-bottom-color: rgba(147, 197, 253, 0.14);
}
body.theme-dark .shop-section-banner__title { color: #e0f2fe; }
body.theme-dark .shop-section-banner__desc  { color: #94a3b8; }
body.theme-dark .shop-section-banner__link  { color: #93c5fd; }
body.theme-dark .shop-section-banner__link:hover,
body.theme-dark .shop-section-banner__link:focus-visible {
    color: #bfdbfe;
    border-bottom-color: #93c5fd;
}
body.theme-dark .shop-section-banner__sep  { color: #475569; }
body.theme-dark .jrn-narrative p:first-child { color: #93c5fd; }

/* §35b POTD Carousel — dark theme */
body.theme-dark .shop-potd-card {
    background: rgba(15, 23, 42, 0.72);
    border-color: rgba(96, 165, 250, 0.18);
}
body.theme-dark .shop-potd-card:hover,
body.theme-dark .shop-potd-card:focus-visible {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.45);
}
body.theme-dark .shop-potd-card__badge {
    background: rgba(15, 23, 42, 0.78);
    color: #93c5fd;
}
body.theme-dark .shop-potd-card__img-wrap {
    background: rgba(30, 41, 59, 0.8);
}
body.theme-dark .shop-potd-card__img-placeholder {
    background: rgba(51, 65, 85, 0.6);
}
body.theme-dark .shop-potd-card__name { color: #e2e8f0; }
body.theme-dark .shop-potd-card__price { color: #93c5fd; }
body.theme-dark .shop-potd-title { color: #e0f2fe; }
body.theme-dark .shop-potd-subtitle { color: #94a3b8; }
body.theme-dark .shop-potd-nav {
    background: rgba(15, 23, 42, 0.72);
    border-color: rgba(96, 165, 250, 0.22);
    color: #93c5fd;
}
body.theme-dark .shop-potd-nav:hover,
body.theme-dark .shop-potd-nav:focus-visible {
    background: #1d4ed8;
    border-color: #1d4ed8;
    color: #fff;
}

/* §51 News / Outlet canvas — dark theme */
body.theme-dark .news-outlet-canvas-wrap {
    background: linear-gradient(145deg, rgba(15,31,77,0.60) 0%, rgba(30,64,175,0.38) 42%, rgba(37,99,235,0.22) 72%, rgba(96,165,250,0.10) 100%);
    border-color: rgba(59,130,246,0.22);
}
body.theme-dark .news-outlet-shimmer {
    background: radial-gradient(ellipse at 38% 32%, rgba(96,165,250,0.20) 0%, rgba(37,99,235,0.09) 48%, transparent 72%);
}
