/*
 * Light theme — component overrides for Tailwind utilities & legacy markup
 * Tokens live in theme-tokens.css; this file handles hard-coded utility classes.
 */

/* ─── Global base (mirrors editorial dark base) ─── */
html.light-theme {
    background-color: var(--hx-bg);
    scrollbar-color: var(--hx-accent) var(--hx-elevated);
}

html.light-theme body {
    background-color: var(--hx-bg);
    color: var(--hx-text);
}

html.light-theme body::before {
    opacity: var(--hx-grain-opacity);
}

html.light-theme ::-webkit-scrollbar-track { background: var(--hx-elevated); }

/* Menu loading overlay (base.html inline styles) */
html.light-theme .menu-loading-overlay {
    background: rgba(241, 245, 249, 0.92) !important;
}

html.light-theme .menu-loading-content {
    background: #fff !important;
    border-color: var(--hx-border-soft) !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08) !important;
}

html.light-theme .menu-loading-text {
    color: var(--hx-text) !important;
}

/* Form preview modals */
html.light-theme .form-preview-modal-content,
html.light-theme .form-preview-modal-header,
html.light-theme .form-preview-field {
    background: var(--hx-surface) !important;
    color: var(--hx-text) !important;
    border-color: var(--hx-border-soft) !important;
}

html.light-theme .form-preview-modal-title,
html.light-theme .form-preview-form-title h2,
html.light-theme .form-preview-field label {
    color: var(--hx-text) !important;
}

html.light-theme .form-preview-field input,
html.light-theme .form-preview-field textarea,
html.light-theme .form-preview-field select {
    background: var(--hx-surface) !important;
    border-color: var(--hx-border-soft) !important;
    color: var(--hx-text) !important;
}

/* ─── Tailwind slate / white utilities used in blog & shop pages ─── */
html.light-theme .text-slate-100,
html.light-theme .text-slate-200 { color: var(--hx-text) !important; }

html.light-theme .text-slate-300,
html.light-theme .text-slate-400,
html.light-theme .text-slate-500 { color: var(--hx-text-muted) !important; }

html.light-theme .border-white\/10,
html.light-theme [class*="border-white/10"] {
    border-color: var(--hx-border) !important;
}

html.light-theme .border-white\/15,
html.light-theme [class*="border-white/15"] {
    border-color: var(--hx-border-soft) !important;
}

html.light-theme .bg-white\/5,
html.light-theme [class*="bg-white/5"] {
    background-color: var(--hx-accent-dim) !important;
}

html.light-theme .bg-dark-950\/30,
html.light-theme .bg-dark-950\/50,
html.light-theme .bg-dark-950\/60,
html.light-theme [class*="bg-dark-950/"] {
    background-color: color-mix(in srgb, var(--hx-surface) 85%, transparent) !important;
}

html.light-theme .hover\:bg-dark-accent\/10:hover,
html.light-theme .hover\:bg-dark-accent\/15:hover {
    background-color: var(--hx-accent-dim) !important;
}

html.light-theme .hover\:text-dark-accent:hover {
    color: var(--hx-accent) !important;
}

/* Sticky header scrolled state (news-design-system) */
html.light-theme .site-header-sticky.is-scrolled .site-header-nav-bar {
    background: var(--hx-header-glass-scrolled) !important;
    box-shadow: var(--hx-header-shadow-soft) !important;
}

/* Mobile menu backdrop (redesign.js) */
html.light-theme #mobile-menu-backdrop {
    background: var(--hx-overlay-backdrop) !important;
}

/* Footer partners — slightly stronger logos on light */
html.light-theme .footer-partners-link {
    opacity: 0.55;
}

html.light-theme .footer-partners-link:hover {
    opacity: 0.9;
}

/* SweetAlert */
html.light-theme .swal2-popup {
    background: var(--news-surface) !important;
    color: var(--hx-text) !important;
    border: 1px solid var(--hx-border-soft) !important;
}

/* Bootstrap / legacy (subset — complements redesign-dark scoping) */
html.light-theme .card,
html.light-theme .card-body,
html.light-theme .list-group-item {
    background-color: var(--news-surface) !important;
    border-color: var(--hx-border) !important;
    color: var(--hx-text) !important;
}

html.light-theme .modal-content {
    background: var(--news-surface) !important;
    border-color: var(--hx-border-soft) !important;
    color: var(--hx-text) !important;
}

html.light-theme .page-link {
    background: var(--news-surface) !important;
    border-color: var(--hx-border-soft) !important;
    color: var(--hx-text-muted) !important;
}

html.light-theme .page-item.active .page-link {
    background: var(--hx-accent) !important;
    border-color: var(--hx-accent) !important;
    color: #fff !important;
}

html.light-theme footer input[type="email"] {
    background: var(--hx-surface) !important;
    border-color: var(--hx-border-soft) !important;
    color: var(--hx-text) !important;
}

html.light-theme footer button[type="submit"] {
    color: #fff !important;
}

/* Homepage editorial — light-specific text on cards (not hero overlay) */
html.light-theme .ed-section-kicker--light {
    color: var(--hx-accent) !important;
}

html.light-theme .ed-latest--aurora .ed-latest-head {
    border-bottom-color: var(--hx-border) !important;
}

html.light-theme .ed-latest-card-num {
    color: rgba(15, 23, 42, 0.04) !important;
}

html.light-theme .ed-featured-bg-word {
    -webkit-text-stroke-color: var(--hx-stroke-decorative);
}

/* Product / shop pages with indigo gradients */
html.light-theme .min-h-screen.bg-gradient-to-br {
    background: linear-gradient(to bottom right, var(--hx-bg), var(--hx-elevated)) !important;
}

html.light-theme .bg-gradient-to-r.from-indigo-600 {
    background: linear-gradient(to right, var(--hx-accent), var(--hx-accent-2)) !important;
}
