/* =====================================================
   VUEAX — Light Theme (Premium Edition)
   Palette: #222222 #FA8112 #F5E7C6 #FAF3E1
   Activated by body.theme-light — overrides dark.css.
   ===================================================== */

body.theme-light {
    --c-bg-0: #FAF3E1;
    --c-bg-1: #F5E7C6;
    --c-bg-2: #FFF6DC;
    --c-bg-3: #F0DCAA;
    --c-surface: #F5E7C6;
    --c-text: #222222;
    --c-text-mute: rgba(34, 34, 34, 0.62);
    --c-accent: #FA8112;
    --c-accent-2: #FF9B3D;
    --c-accent-glow: rgba(250, 129, 18, 0.35);
    --c-accent-soft: rgba(250, 129, 18, 0.10);
    --c-border: rgba(34, 34, 34, 0.10);
    --c-border-strong: rgba(34, 34, 34, 0.18);
    --c-success: #1f9d63;
    --c-danger: #d43838;
    --c-gold: #c89342;

    --grad-accent:        linear-gradient(135deg, #FA8112 0%, #FF9B3D 100%);
    --grad-accent-vivid:  linear-gradient(135deg, #FFB66B 0%, #FA8112 50%, #C44A02 100%);
    --grad-surface:       linear-gradient(155deg, rgba(245,231,198,0.85) 0%, rgba(250,243,225,0.95) 100%);
    --grad-surface-deep:  linear-gradient(155deg, #FFF8E8 0%, #F5E7C6 100%);
    --grad-hero:          radial-gradient(ellipse at 20% 30%, rgba(250,129,18,0.16) 0%, transparent 60%),
                          radial-gradient(ellipse at 80% 70%, rgba(245,231,198,0.50) 0%, transparent 55%);

    --shadow-soft:    0 10px 30px rgba(34, 34, 34, 0.12);
    --shadow-card:    0 12px 40px rgba(34, 34, 34, 0.14), 0 0 0 1px rgba(34, 34, 34, 0.04) inset;
    --shadow-glow:    0 0 40px rgba(250, 129, 18, 0.20);
    --shadow-premium: 0 20px 60px rgba(34, 34, 34, 0.16), 0 0 80px rgba(250, 129, 18, 0.08);

    background: var(--c-bg-0);
    color: var(--c-text);
    background-image:
        radial-gradient(circle at 15% 10%, rgba(250, 129, 18, 0.05) 0%, transparent 35%),
        radial-gradient(circle at 85% 80%, rgba(245, 231, 198, 0.40) 0%, transparent 40%);
}

body.theme-light ::selection { background: var(--c-accent); color: #fff; }
body.theme-light ::-webkit-scrollbar-track { background: var(--c-bg-1); }
body.theme-light ::-webkit-scrollbar-thumb { background: #d6c79d; }
body.theme-light ::-webkit-scrollbar-thumb:hover { background: var(--c-accent); }

/* ===== HEADER / NAV ===== */
body.theme-light .site-header {
    background: rgba(250, 243, 225, 0.82);
    border-bottom: 1px solid var(--c-border);
}
body.theme-light .site-header.scrolled { background: rgba(250, 243, 225, 0.96); }
body.theme-light .site-header.is-static { background: rgba(250, 243, 225, 0.96); }

body.theme-light .nav-link:hover { background: rgba(250, 129, 18, 0.08); color: var(--c-accent); }
body.theme-light .nav-link.active,
body.theme-light .nav-link.is-active,
body.theme-light .nav-link-page.is-active {
    color: var(--c-accent);
    background: linear-gradient(135deg, rgba(250,129,18,0.18) 0%, rgba(250,129,18,0.04) 100%);
    border-color: rgba(250,129,18,0.32);
    box-shadow: 0 4px 14px rgba(250,129,18,0.10), inset 0 1px 0 rgba(255,255,255,0.4);
}
body.theme-light .nav-link.active::before {
    background: var(--c-accent);
    box-shadow: 0 0 10px var(--c-accent), 0 0 20px rgba(250,129,18,0.55);
}

/* ===== THEME TOGGLE ===== */
.theme-toggle {
    width: 40px; height: 40px;
    border-radius: 50%;
    background: rgba(255,255,255,0.06);
    border: 1px solid var(--c-border-strong);
    color: var(--c-text);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all .25s ease;
    flex-shrink: 0;
    padding: 0;
}
.theme-toggle:hover {
    color: var(--c-accent);
    border-color: var(--c-accent);
    transform: rotate(12deg);
}
.theme-toggle .material-symbols-outlined { font-size: 22px; }
.theme-toggle .theme-ico-light { display: none; }
.theme-toggle .theme-ico-dark  { display: inline-flex; }
body.theme-light .theme-toggle .theme-ico-light { display: inline-flex; }
body.theme-light .theme-toggle .theme-ico-dark  { display: none; }

body.theme-light .theme-toggle {
    background: rgba(34,34,34,0.04);
    color: var(--c-text);
}
body.theme-light .theme-toggle:hover {
    color: var(--c-accent);
    border-color: var(--c-accent);
}

/* mobile drawer theme toggle */
.drawer-theme-toggle {
    width: 100%;
    height: auto;
    border-radius: 14px;
    padding: 13px 18px;
    background: rgba(255,255,255,0.04);
    border: 1px solid var(--c-border-strong);
    color: var(--c-text);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 0.92rem;
    font-weight: 600;
    cursor: pointer;
    transition: all .25s ease;
    transform: none !important;
}
.drawer-theme-toggle:hover { color: var(--c-accent); border-color: var(--c-accent); }
.drawer-theme-toggle .theme-toggle-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.drawer-theme-toggle .material-symbols-outlined { font-size: 20px; color: var(--c-accent); }
.theme-toggle-text .theme-text-light { display: none; }
.theme-toggle-text .theme-text-dark  { display: inline; }
body.theme-light .theme-toggle-text .theme-text-light { display: inline; }
body.theme-light .theme-toggle-text .theme-text-dark  { display: none; }

body.theme-light .nav-toggle { color: var(--c-text); }

/* ===== HERO ===== */
body.theme-light .hero-overlay {
    background:
        linear-gradient(90deg, rgba(250,243,225,0.95) 0%, rgba(250,243,225,0.62) 50%, rgba(245,231,198,0.92) 100%),
        var(--grad-hero);
}
body.theme-light .hero-video { opacity: 0.45; filter: saturate(0.75) contrast(1.0) brightness(1.2); }
body.theme-light .hero-grid {
    background-image:
        linear-gradient(rgba(34,34,34,0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(34,34,34,0.05) 1px, transparent 1px);
}
body.theme-light .hero-orb.o1 { background: radial-gradient(circle, rgba(250,129,18,0.20) 0%, transparent 70%); }
body.theme-light .hero-orb.o2 { background: radial-gradient(circle, rgba(255,182,107,0.15) 0%, transparent 70%); }

body.theme-light .hero-eyebrow {
    background: rgba(250,129,18,0.10);
    border-color: var(--c-accent);
    color: var(--c-accent);
}
body.theme-light .hero-eyebrow .pulse-dot { background: var(--c-accent); box-shadow: 0 0 0 0 rgba(250,129,18,0.6); }
@keyframes pulseDotLight {
    0%   { box-shadow: 0 0 0 0 rgba(250,129,18,0.6); }
    70%  { box-shadow: 0 0 0 12px rgba(250,129,18,0); }
    100% { box-shadow: 0 0 0 0 rgba(250,129,18,0); }
}
body.theme-light .hero-eyebrow .pulse-dot { animation: pulseDotLight 2s infinite; }

body.theme-light .hero-stat {
    background: rgba(255,255,255,0.45);
    border: 1px solid var(--c-border);
    backdrop-filter: blur(10px);
}
body.theme-light .hero-stat:hover { border-color: var(--c-accent); }
body.theme-light .hero-card { background: rgba(255,253,247,0.92); border-color: var(--c-border-strong); }

/* ===== TICKER ===== */
body.theme-light .fin-divider .ticker-wrap {
    border-block: 1px solid var(--c-border);
    background: linear-gradient(90deg, transparent, rgba(245,231,198,0.55), transparent);
}

/* ===== SECTION DIVIDER ===== */
body.theme-light .section-divider::before,
body.theme-light .section-divider::after {
    background: linear-gradient(90deg, transparent, var(--c-border-strong), transparent);
}
body.theme-light .section-divider .badge-icon {
    background: var(--grad-surface);
    border-color: var(--c-border-strong);
    box-shadow: 0 8px 24px rgba(34,34,34,0.10);
}

/* ===== ABOUT ===== */
body.theme-light .about-visual { background: var(--grad-surface); border-color: var(--c-border); }
body.theme-light .about-visual::after { background: linear-gradient(180deg, transparent 30%, rgba(34,34,34,0.18) 100%); }
body.theme-light .about-visual img { opacity: 1; }
body.theme-light .about-badge {
    background: rgba(255,253,247,0.92);
    border-color: var(--c-border-strong);
    backdrop-filter: blur(8px);
    color: var(--c-text);
}
body.theme-light .about-feature {
    background: rgba(245,231,198,0.40);
    border-color: var(--c-border);
}
body.theme-light .about-feature:hover {
    border-color: var(--c-accent);
    background: rgba(250,129,18,0.06);
}

/* ===== PRICING ===== */
body.theme-light .pricing-toggle {
    background: rgba(255,255,255,0.55);
    border-color: var(--c-border-strong);
}
body.theme-light .pricing-toggle button { color: var(--c-text-mute); }
body.theme-light .pricing-toggle button.active { color: #fff; }
body.theme-light .pricing-toggle button .save { background: rgba(34,34,34,0.10); }

body.theme-light .price-card {
    background: var(--grad-surface);
    border-color: var(--c-border-strong);
}
body.theme-light .price-card::before { background: radial-gradient(ellipse at top, rgba(250,129,18,0.10) 0%, transparent 60%); }
body.theme-light .price-card:hover { border-color: var(--c-accent); box-shadow: var(--shadow-glow); }

/* ===== BROKERS ===== */
body.theme-light .broker-card {
    background: linear-gradient(160deg, rgba(245,231,198,0.55) 0%, rgba(250,243,225,0.95) 100%);
    border-color: var(--c-border-strong);
    color: var(--c-text);
}
body.theme-light .broker-card:hover {
    border-color: var(--c-accent);
    box-shadow: var(--shadow-glow);
    color: var(--c-text);
}
body.theme-light .broker-card::before { background: radial-gradient(ellipse at 80% -20%, rgba(250,129,18,0.16) 0%, transparent 55%); }
body.theme-light .broker-card .broker-rank {
    background: rgba(250,129,18,0.10);
    border-color: var(--c-accent);
    color: var(--c-accent);
}

/* ===== COPY TRADING ===== */
body.theme-light .ct-image { border-color: var(--c-border-strong); box-shadow: var(--shadow-card); }
body.theme-light .ct-image::after { background: linear-gradient(135deg, rgba(250,129,18,0.16) 0%, transparent 60%); }
body.theme-light .ct-feature {
    background: rgba(255,255,255,0.55);
    border-color: var(--c-border);
}
body.theme-light .ct-feature:hover { border-color: var(--c-accent); }
body.theme-light .ct-info-banner {
    background: var(--grad-surface);
    border-color: var(--c-border-strong);
}
body.theme-light .ct-banner-pills .pill {
    background: rgba(250,129,18,0.08);
    border-color: var(--c-accent);
    color: var(--c-accent);
}

body.theme-light .trader-card {
    background: var(--grad-surface);
    border-color: var(--c-border);
}
body.theme-light .trader-card:hover { border-color: var(--c-accent); box-shadow: var(--shadow-glow); }
body.theme-light .trader-avatar { background: var(--c-bg-2); border-color: var(--c-accent); }
body.theme-light .trader-stat {
    background: rgba(255,255,255,0.55);
    border-color: var(--c-border);
}

/* ===== EAS / PRODUCTS / INDICATORS ===== */
body.theme-light .product-card {
    background: var(--grad-surface);
    border-color: var(--c-border);
}
body.theme-light .product-card:hover { border-color: var(--c-accent); box-shadow: var(--shadow-glow); }
body.theme-light .product-thumb { background: var(--c-bg-2); }
body.theme-light .product-thumb::after { background: linear-gradient(180deg, transparent 50%, rgba(34,34,34,0.30) 100%); }
body.theme-light .product-meta { border-top-color: var(--c-border); }

body.theme-light #indicators { background: linear-gradient(180deg, transparent 0%, rgba(245,231,198,0.30) 50%, transparent 100%); }
body.theme-light #indicators::before {
    background:
        radial-gradient(circle at 20% 20%, rgba(250,129,18,0.08) 0%, transparent 40%),
        radial-gradient(circle at 80% 80%, rgba(250,129,18,0.06) 0%, transparent 40%);
}
body.theme-light .indicator-card {
    background: linear-gradient(160deg, rgba(255,253,247,0.95) 0%, rgba(245,231,198,0.55) 100%);
    border-color: var(--c-border-strong);
}
body.theme-light .indicator-card:hover { border-color: var(--c-accent); box-shadow: var(--shadow-premium); }
body.theme-light .indicator-card .ind-thumb { background: linear-gradient(135deg, var(--c-bg-2), var(--c-bg-1)); }
body.theme-light .indicator-card .ind-thumb img { opacity: 1; }
body.theme-light .indicator-card .ind-thumb::after { background: linear-gradient(180deg, rgba(34,34,34,0) 40%, rgba(34,34,34,0.45) 100%); }
body.theme-light .indicator-card .ind-tag {
    background: rgba(255,253,247,0.85);
    color: var(--c-accent);
    border-color: var(--c-accent);
}
body.theme-light .indicator-card .ind-foot { border-top-color: var(--c-border); }
body.theme-light .indicator-card .ind-cta {
    background: rgba(34,34,34,0.04);
    border-color: var(--c-border-strong);
    color: var(--c-text);
}
body.theme-light .indicator-card .ind-cta:hover { background: var(--grad-accent); color: #fff; border-color: transparent; }

/* ===== RESULTS TABLE ===== */
body.theme-light .results-filters select,
body.theme-light .results-filters input {
    background-color: rgba(255,255,255,0.55);
    border-color: var(--c-border-strong);
    color: var(--c-text);
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23222222'%3e%3cpath d='M7 10l5 5 5-5z'/%3e%3c/svg%3e");
}
body.theme-light .results-filters select:focus,
body.theme-light .results-filters input:focus { border-color: var(--c-accent); }
body.theme-light .results-filters select option { background: #fff; color: var(--c-text); }
body.theme-light .results-summary { color: var(--c-text-mute); }
body.theme-light .results-table-wrap { background: var(--grad-surface); border-color: var(--c-border-strong); box-shadow: var(--shadow-card); }
body.theme-light .results-table thead th {
    background: rgba(245,231,198,0.65);
    color: var(--c-accent);
    border-bottom-color: var(--c-border-strong);
}
body.theme-light .results-table tbody td {
    color: var(--c-text);
    border-bottom-color: var(--c-border);
}
body.theme-light .results-table tbody tr:hover { background: rgba(250,129,18,0.06); }
body.theme-light .results-table .col-ticket { color: var(--c-text-mute); }

body.theme-light .results-pagination {
    background: rgba(245,231,198,0.45);
    border-top-color: var(--c-border);
}
body.theme-light .results-pagination .page-info { color: var(--c-text-mute); }
body.theme-light .results-pagination button {
    background: rgba(255,255,255,0.5);
    border-color: var(--c-border-strong);
    color: var(--c-text);
}
body.theme-light .results-pagination button:hover:not(:disabled) {
    background: var(--c-accent-soft);
    color: var(--c-accent);
    border-color: var(--c-accent);
}
body.theme-light .results-pagination button.active {
    background: var(--grad-accent);
    color: #fff;
    border-color: transparent;
}
body.theme-light .results-empty { color: var(--c-text-mute); }
body.theme-light .results-chart-wrap { background: var(--grad-surface); border-color: var(--c-border-strong); }
body.theme-light .results-chart-legend {
    background: rgba(255,255,255,0.5);
    border-color: var(--c-border);
    color: var(--c-text-mute);
}

/* ===== MARKET ANALYSIS ===== */
body.theme-light .analysis-stage {
    background: var(--grad-surface);
    border-color: var(--c-border-strong);
    box-shadow: var(--shadow-card);
}
body.theme-light .analysis-tab {
    background: rgba(255,255,255,0.55);
    border-color: var(--c-border);
    color: var(--c-text-mute);
}
body.theme-light .analysis-tab:hover { color: var(--c-accent); border-color: var(--c-accent); }
body.theme-light .analysis-tab.active { background: var(--grad-accent); color: #fff; border-color: transparent; }
body.theme-light .comparison-wrap {
    background: var(--c-bg-1);
    border-color: var(--c-border-strong);
}
body.theme-light .comparison .label {
    background: rgba(255,253,247,0.85);
    color: var(--c-text);
    border-color: var(--c-border);
    backdrop-filter: blur(8px);
}
body.theme-light .comparison .label.after { color: var(--c-accent); border-color: var(--c-accent); }
body.theme-light .analysis-nav button {
    background: rgba(255,255,255,0.55);
    border-color: var(--c-border-strong);
    color: var(--c-text);
}
body.theme-light .analysis-nav button:hover { background: var(--c-accent); border-color: var(--c-accent); color: #fff; }

/* ===== FAQ ===== */
body.theme-light .faq-cat {
    background: rgba(245,231,198,0.55);
    border-color: var(--c-border);
    color: var(--c-text-mute);
}
body.theme-light .faq-cat:hover { color: var(--c-accent); border-color: var(--c-accent); }
body.theme-light .faq-cat.active { background: var(--grad-accent); color: #fff; border-color: transparent; }
body.theme-light .faq-item {
    background: var(--grad-surface);
    border-color: var(--c-border);
}
body.theme-light .faq-item.open { border-color: var(--c-accent); box-shadow: 0 8px 28px rgba(250,129,18,0.12); }
body.theme-light .faq-q { color: var(--c-text); }

/* ===== CONTACT ===== */
body.theme-light .contact-card {
    background: var(--grad-surface);
    border-color: var(--c-border);
}
body.theme-light .contact-card:hover { border-color: var(--c-accent); }
body.theme-light .contact-form {
    background: var(--grad-surface);
    border-color: var(--c-border-strong);
    box-shadow: var(--shadow-card);
}
body.theme-light .form-control {
    background-color: rgba(255,255,255,0.7);
    border-color: var(--c-border-strong);
    color: var(--c-text);
}
body.theme-light .form-control:focus {
    border-color: var(--c-accent);
    background-color: rgba(250,129,18,0.06);
    box-shadow: 0 0 0 3px var(--c-accent-soft);
}
body.theme-light .form-control::placeholder { color: rgba(34,34,34,0.45); }
body.theme-light select.form-control {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23222222'%3e%3cpath d='M7 10l5 5 5-5z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 14px center;
}
body.theme-light select.form-control option { background: #fff; color: var(--c-text); }
body.theme-light .captcha-img { background: #fff; }
body.theme-light .captcha-refresh {
    background: rgba(255,255,255,0.5);
    border-color: var(--c-border-strong);
    color: var(--c-text);
}
body.theme-light .form-alert.success { background: rgba(31,157,99,0.10); border-color: var(--c-success); color: var(--c-success); }
body.theme-light .form-alert.error   { background: rgba(212,56,56,0.10);  border-color: var(--c-danger);  color: var(--c-danger); }

/* ===== FOOTER ===== */
body.theme-light .site-footer { background: var(--c-bg-1); border-top: 1px solid var(--c-border); }
body.theme-light .footer-brand p { color: var(--c-text-mute); }
body.theme-light .footer-col h6 { color: var(--c-accent); }
body.theme-light .footer-col ul a { color: var(--c-text-mute); }
body.theme-light .footer-col ul a:hover { color: var(--c-accent); }
body.theme-light .footer-bottom { border-top-color: var(--c-border); color: var(--c-text-mute); }
body.theme-light .footer-socials a {
    background: rgba(255,255,255,0.55);
    color: var(--c-text);
}

/* ===== SCROLL-TOP & FLOAT ===== */
body.theme-light #scrollTopBtn {
    background: linear-gradient(135deg, rgba(255,253,247,0.95) 0%, rgba(245,231,198,0.95) 100%);
    color: var(--c-accent);
    border-color: var(--c-accent);
    box-shadow: 0 10px 28px rgba(34,34,34,0.18);
}
body.theme-light #scrollTopBtn:hover { background: var(--grad-accent); color: #fff; box-shadow: 0 14px 36px var(--c-accent-glow); }

/* ===== PAGE LOADER ===== */
body.theme-light #page-loader { background: var(--c-bg-0); }
body.theme-light .loader-spinner { border-color: var(--c-surface); border-top-color: var(--c-accent); }

/* ===== MOBILE DRAWER ===== */
body.theme-light .mobile-drawer {
    background: linear-gradient(170deg, #fff8e4 0%, var(--c-bg-1) 60%, #f1de9d 100%);
    border-left-color: var(--c-border-strong);
    box-shadow: -20px 0 60px rgba(34,34,34,0.15);
}
body.theme-light .mobile-backdrop {
    background: rgba(34, 34, 34, 0.48);
}
body.theme-light .drawer-head { border-bottom-color: var(--c-border); }
body.theme-light .drawer-section-title { color: var(--c-text-mute); }
body.theme-light .mobile-drawer .nav-link { color: var(--c-text); }
body.theme-light .mobile-drawer .nav-link:hover,
body.theme-light .mobile-drawer .nav-link.active {
    color: var(--c-accent);
    background: linear-gradient(135deg, rgba(250,129,18,0.18) 0%, rgba(250,129,18,0.04) 100%);
    border-color: rgba(250,129,18,0.28);
}
body.theme-light .mobile-drawer-foot { border-top-color: var(--c-border); }
body.theme-light .drawer-close {
    background: rgba(255,255,255,0.55);
    border-color: var(--c-border-strong);
    color: var(--c-text);
}
body.theme-light .drawer-close:hover { color: var(--c-accent); border-color: var(--c-accent); }

/* ===== MODALS ===== */
body.theme-light .modal-backdrop { background: rgba(34, 34, 34, 0.55); }
body.theme-light .modal-shell {
    background: linear-gradient(160deg, #fff8e4 0%, var(--c-bg-0) 60%, var(--c-bg-1) 100%);
    border-color: var(--c-border-strong);
    box-shadow: 0 30px 80px rgba(34,34,34,0.20), 0 0 60px rgba(250,129,18,0.08);
    color: var(--c-text);
}
body.theme-light .modal-close {
    background: rgba(34,34,34,0.04);
    border-color: var(--c-border-strong);
    color: var(--c-text);
}
body.theme-light .modal-close:hover { background: var(--c-accent); color: #fff; border-color: transparent; }
body.theme-light .modal-head .avatar { background: var(--c-bg-2); border-color: var(--c-accent); }
body.theme-light .modal-head .sub { color: var(--c-text-mute); }
body.theme-light .modal-badge { background: var(--c-accent-soft); color: var(--c-accent); }
body.theme-light .modal-block {
    background: rgba(255,255,255,0.55);
    border-color: var(--c-border);
}
body.theme-light .modal-stat-row { border-bottom-color: var(--c-border); }
body.theme-light .modal-stat-row .l { color: var(--c-text-mute); }
body.theme-light .modal-stat-row .v { color: var(--c-text); }
body.theme-light .modal-foot { border-top-color: var(--c-border); }
body.theme-light .asset-bar .track { background: rgba(34,34,34,0.08); }
body.theme-light .ea-quick-cell {
    background: rgba(255,255,255,0.55);
    border-color: var(--c-border);
}
body.theme-light .ea-quick-cell .l { color: var(--c-text-mute); }
body.theme-light .ea-quick-cell .v { color: var(--c-text); }
body.theme-light .ea-stat-card {
    background: rgba(255,255,255,0.55);
    border-color: var(--c-border);
}
body.theme-light .ea-stat-card .l { color: var(--c-text-mute); }
body.theme-light .ea-hero-img { border-color: var(--c-border-strong); }
body.theme-light .ea-modal-body p { color: var(--c-text-mute); }

/* ===== BUTTONS ===== */
body.theme-light .btn-ghost {
    background: rgba(255,255,255,0.55);
    color: var(--c-text);
    border-color: var(--c-border-strong);
    backdrop-filter: blur(10px);
}
body.theme-light .btn-ghost:hover {
    background: rgba(250,129,18,0.10);
    border-color: var(--c-accent);
    color: var(--c-accent);
}

/* ===== BLOG ===== */
body.theme-light .blog-hero { background: radial-gradient(ellipse at top, rgba(250,129,18,0.10) 0%, transparent 60%); }
body.theme-light .blog-search-form {
    background-color: rgba(255,255,255,0.55);
    border-color: var(--c-border-strong);
}
body.theme-light .blog-search-form:focus-within { border-color: var(--c-accent); box-shadow: 0 0 0 4px rgba(250,129,18,0.12); }
body.theme-light .blog-search-form .material-symbols-outlined { color: var(--c-text-mute); }
body.theme-light .blog-search-form input { color: var(--c-text); }

body.theme-light .blog-feed-head { color: var(--c-text-mute); }
body.theme-light .blog-feed-count strong { color: var(--c-text); }
body.theme-light .blog-clear-filter { color: var(--c-text-mute); }
body.theme-light .blog-clear-filter:hover { color: var(--c-accent); }

body.theme-light .bs-panel {
    background: var(--grad-surface-deep);
    border-color: var(--c-border);
}
body.theme-light .bs-title { color: var(--c-accent); }
body.theme-light .bs-search input {
    background-color: rgba(255,255,255,0.55);
    border-color: var(--c-border-strong);
    color: var(--c-text);
}
body.theme-light .bs-search input:focus { border-color: var(--c-accent); }

body.theme-light .bs-cats a { color: var(--c-text); }
body.theme-light .bs-cats a:hover { background: rgba(250,129,18,0.06); color: var(--c-accent); }
body.theme-light .bs-cats a.is-active { background: var(--c-accent-soft); color: var(--c-accent); }
body.theme-light .bs-cats .ct {
    background: rgba(34,34,34,0.08);
    color: var(--c-text-mute);
}
body.theme-light .bs-empty { color: var(--c-text-mute); }
body.theme-light .bs-cal-nav button {
    background: rgba(255,255,255,0.5);
    border-color: var(--c-border-strong);
    color: var(--c-text);
}
body.theme-light .bs-cal-label { color: var(--c-text); }
body.theme-light .bs-cal-dow { color: var(--c-text-mute); }
body.theme-light .bs-cal-day { color: var(--c-text-mute); }
body.theme-light .bs-cal-day.has-posts {
    background: rgba(250,129,18,0.10);
    border-color: rgba(250,129,18,0.35);
    color: var(--c-text);
}
body.theme-light .bs-cal-day.has-posts:hover { background: var(--c-accent); color: #fff; border-color: var(--c-accent); }

body.theme-light .bs-icon {
    background: rgba(255,255,255,0.5);
    border-color: var(--c-border-strong);
    color: var(--c-text);
}

body.theme-light .latest-blog-card,
body.theme-light .blog-card {
    background: var(--grad-surface-deep);
    border-color: var(--c-border);
}
body.theme-light .latest-blog-card:hover,
body.theme-light .blog-card:hover {
    border-color: rgba(250,129,18,0.40);
    box-shadow: 0 18px 50px rgba(34,34,34,0.14), 0 0 30px rgba(250,129,18,0.10);
}
body.theme-light .latest-blog-card .lb-thumb,
body.theme-light .blog-card .bc-thumb { background: var(--c-bg-2); }
body.theme-light .latest-blog-card .lb-thumb-fallback,
body.theme-light .blog-card .bc-thumb-fallback {
    background: linear-gradient(135deg, var(--c-bg-2), var(--c-bg-1));
    color: var(--c-accent);
}
body.theme-light .latest-blog-card .lb-date,
body.theme-light .blog-card .bc-meta,
body.theme-light .latest-blog-card .lb-excerpt,
body.theme-light .blog-card .bc-excerpt { color: var(--c-text-mute); }
body.theme-light .latest-blog-card .lb-title a,
body.theme-light .blog-card .bc-title a { color: var(--c-text); }
body.theme-light .latest-blog-card .lb-title a:hover,
body.theme-light .blog-card .bc-title a:hover { color: var(--c-accent); }
body.theme-light .blog-card .bc-cat { background: var(--c-accent-soft); color: var(--c-accent); }

body.theme-light .blog-empty {
    background: var(--grad-surface-deep);
    border-color: var(--c-border-strong);
    color: var(--c-text-mute);
}
body.theme-light .blog-empty .material-symbols-outlined { color: var(--c-accent); }
body.theme-light .blog-empty h2,
body.theme-light .blog-empty h3 { color: var(--c-text); }
body.theme-light .blog-feed-status,
body.theme-light .blog-feed-end { color: var(--c-text-mute); }

/* Blog post body */
body.theme-light .blog-section--post { background: radial-gradient(ellipse at top, rgba(250,129,18,0.08) 0%, transparent 60%); }
body.theme-light .post-back { color: var(--c-text-mute); }
body.theme-light .post-back:hover { color: var(--c-accent); }
body.theme-light .post-cats a { background: var(--c-accent-soft); color: var(--c-accent); }
body.theme-light .post-title { color: var(--c-text); }
body.theme-light .post-meta { color: var(--c-text-mute); border-bottom-color: var(--c-border); }
body.theme-light .post-meta .pm-author { color: var(--c-text); }
body.theme-light .post-excerpt { color: var(--c-text-mute); }
body.theme-light .post-cover { border-color: var(--c-border-strong); }
body.theme-light .post-body-card { border-color: var(--c-border-strong); }
body.theme-light .post-body { color: var(--c-text); }
body.theme-light .post-body h2,
body.theme-light .post-body h3 { color: var(--c-text); }
body.theme-light .post-body blockquote {
    border-left-color: var(--c-accent);
    background: rgba(250,129,18,0.06);
    color: var(--c-text);
}
body.theme-light .post-body hr { background: var(--c-border-strong); }
body.theme-light .post-body .post-figure {
    background: var(--c-bg-2);
    border-color: var(--c-border);
}
body.theme-light .post-body .post-figure figcaption {
    background: rgba(34,34,34,0.04);
    color: var(--c-text-mute);
}
body.theme-light .post-body .post-video { border-color: var(--c-border-strong); }
body.theme-light .post-body .post-file {
    background: var(--grad-surface-deep);
    border-color: var(--c-border-strong);
    color: var(--c-text);
}
body.theme-light .post-body .post-file:hover { border-color: var(--c-accent); color: var(--c-accent); }
body.theme-light .post-body .post-chart {
    background: var(--grad-surface-deep);
    border-color: var(--c-border);
}
body.theme-light .post-body .post-chart .post-chart-title { color: var(--c-text-mute); }
body.theme-light .post-keywords {
    background: var(--grad-surface-deep);
    border-color: var(--c-border);
    color: var(--c-text-mute);
}
body.theme-light .post-keywords strong { color: var(--c-text); }
body.theme-light .post-keywords a { background: var(--c-accent-soft); color: var(--c-accent); }
body.theme-light .post-share-inline { border-top-color: var(--c-border); }
body.theme-light .post-share-inline .ps-label { color: var(--c-text-mute); }

/* ===== HERO TYPOGRAPHY (light text-colour fix) ===== */
body.theme-light .hero-sentence { color: var(--c-text); }
body.theme-light .hero-sub { color: var(--c-text-mute); }
body.theme-light .hero-scroll { color: var(--c-text-mute); }
body.theme-light .hero-card .hc-label { color: var(--c-text-mute); }
body.theme-light .hero-card .hc-value { color: var(--c-text); }
body.theme-light .hero-card .hc-pair-name { color: var(--c-text); }
body.theme-light .hero-card.h-signal p { color: var(--c-text-mute); }
body.theme-light .hero-stat-label { color: var(--c-text-mute); }

/* ===== LEGAL PAGES ===== */
body.theme-light .legal-section { color: var(--c-text); }
body.theme-light .legal-section .legal-content {
    background: var(--grad-surface);
    border: 1px solid var(--c-border-strong);
    border-radius: var(--radius-lg);
    padding: 38px 42px;
    box-shadow: var(--shadow-card);
}
body.theme-light .legal-section h2 { color: var(--c-text); }
body.theme-light .legal-section h3 { color: var(--c-text); }
body.theme-light .legal-section p,
body.theme-light .legal-section li { color: var(--c-text); }

/* ===== Misc ===== */
body.theme-light .lang-btn {
    background: rgba(255,255,255,0.55);
    border-color: var(--c-border-strong);
    color: var(--c-text);
}
body.theme-light .lang-menu {
    background: #fff8e4;
    border-color: var(--c-border-strong);
}
body.theme-light .lang-menu li button { color: var(--c-text); }
body.theme-light .lang-menu li button:hover { background: var(--c-accent-soft); color: var(--c-accent); }

/* ===== Ticker / live values ===== */
body.theme-light .ticker-item .ti-symbol { color: var(--c-text); }
body.theme-light .ticker-item { color: var(--c-text-mute); }

/* ===== Edu (if used) ===== */
body.theme-light .edu-step .num {
    background: var(--c-bg-2);
    box-shadow: 0 0 0 4px rgba(250,243,225,0.85);
}
body.theme-light .edu-hex {
    background: linear-gradient(160deg, rgba(245,231,198,0.55) 0%, rgba(255,253,247,0.95) 100%);
    border-color: var(--c-border-strong);
}
body.theme-light .edu-hex .hex-icon {
    background: rgba(250,129,18,0.10);
    color: var(--c-accent);
    border-color: rgba(250,129,18,0.3);
}
body.theme-light .edu-hex .hex-num { color: var(--c-text-mute); }

/* ===== Footer brand text gradient stays vibrant ===== */
body.theme-light .brand .brand-text {
    background: var(--grad-accent);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

/* ===== 3-card pricing layout ===== */
.pricing-grid.pricing-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 360px));
    gap: 24px;
}

/* ===== Legal page hero ===== */
.legal-hero {
    padding: calc(var(--header-h) + 56px) 0 30px;
    text-align: center;
    background: radial-gradient(ellipse at top, rgba(250,129,18,0.10) 0%, transparent 60%);
}
.legal-hero .eyebrow { margin-bottom: 1.25rem; }
.legal-hero h1 {
    font-family: var(--font-serif);
    font-weight: 700;
    font-size: clamp(2rem, 4.5vw, 3.2rem);
    margin: 14px 0 14px;
    letter-spacing: -0.035em;
}
.legal-hero h1 .accent { color: var(--c-accent); }
.legal-hero p {
    color: var(--c-text-mute);
    max-width: 680px;
    margin: 0 auto;
    font-size: 1.02rem;
}

.legal-section { padding: 30px 0 90px; }
.legal-content {
    background: var(--grad-surface);
    border: 1px solid var(--c-border-strong);
    border-radius: var(--radius-lg);
    padding: 38px 42px;
    box-shadow: var(--shadow-card);
    max-width: 960px;
    margin: 0 auto;
    color: var(--c-text);
    line-height: 1.75;
}
.legal-content h2 {
    font-family: var(--font-serif);
    font-size: 1.5rem;
    margin: 1.8em 0 0.6em;
    color: var(--c-text);
}
.legal-content h2:first-child { margin-top: 0; }
.legal-content h3 {
    font-size: 1.15rem;
    margin: 1.4em 0 0.5em;
    color: var(--c-text);
}
.legal-content p { margin: 0 0 1em; color: var(--c-text); }
.legal-content ul, .legal-content ol { padding-left: 22px; margin: 0 0 1.2em; }
.legal-content li { margin: 0.3em 0; }
.legal-content a { color: var(--c-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.legal-content a:hover { color: var(--c-accent-2); }
.legal-content strong { color: var(--c-text); }
.legal-content .updated-on {
    display: inline-block;
    margin-bottom: 1.6em;
    padding: 6px 14px;
    background: var(--c-accent-soft);
    color: var(--c-accent);
    border-radius: 999px;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 700;
}
.legal-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 1.4em;
    font-size: 0.92rem;
}
.legal-content table th,
.legal-content table td {
    text-align: left;
    padding: 10px 14px;
    border: 1px solid var(--c-border-strong);
}
.legal-content table th {
    background: rgba(250,129,18,0.08);
    color: var(--c-accent);
    font-weight: 700;
}

@media (max-width: 768px) {
    .legal-content { padding: 26px 22px; }
    .legal-content h2 { font-size: 1.3rem; }
}

/* ============================================================
   LANGUAGE SWITCH — desktop + drawer, light & dark
   ============================================================ */
.lang-switch { position: relative; }
.lang-btn {
    cursor: pointer;
    padding: 6px 10px 6px 8px;
    gap: 8px;
}
.lang-btn .flag,
.lang-menu li button .flag {
    width: 22px;
    height: 15px;
    border-radius: 3px;
    overflow: hidden;
    box-shadow: 0 0 0 1px rgba(255,255,255,0.12);
    flex-shrink: 0;
    display: inline-flex;
    background: #222;
}
.lang-btn .flag svg,
.lang-menu li button .flag svg {
    width: 100%;
    height: 100%;
    display: block;
}
.lang-btn .lang-current-code {
    font-family: var(--font-mono);
    letter-spacing: 0.06em;
    font-size: 0.75rem;
}
.lang-btn .lang-chev {
    transition: transform .25s var(--ease-out);
    opacity: .7;
}
.lang-switch:has(.lang-menu.open) .lang-btn .lang-chev,
.lang-switch.is-open .lang-btn .lang-chev { transform: rotate(180deg); }

.lang-menu {
    min-width: 200px;
}
.lang-menu li { margin: 0; padding: 0; }
.lang-menu li button {
    cursor: pointer;
    font-size: 0.88rem;
    letter-spacing: 0.01em;
    text-transform: none;
}
.lang-menu li button .flag {
    box-shadow: 0 0 0 1px rgba(255,255,255,0.18);
}

/* Light theme overrides */
body.theme-light .lang-btn {
    background-color: rgba(34,34,34,0.04);
    border-color: var(--c-border-strong);
    color: var(--c-text);
}
body.theme-light .lang-btn:hover { border-color: var(--c-accent); color: var(--c-accent); }
body.theme-light .lang-btn .flag,
body.theme-light .lang-menu li button .flag {
    box-shadow: 0 0 0 1px rgba(34,34,34,0.18);
}
body.theme-light .lang-menu {
    background-color: #fff8e4;
    border-color: var(--c-border-strong);
    box-shadow: 0 14px 36px rgba(34,34,34,0.18);
}
body.theme-light .lang-menu li button { color: var(--c-text); }
body.theme-light .lang-menu li button:hover { background: var(--c-accent-soft); color: var(--c-accent); }
body.theme-light .lang-menu li button.active { background: var(--c-accent); color: #fff; }

/* Mobile drawer language switch — full-width accordion (no popover,
   because the drawer's overflow-y:auto would clip an absolute menu). */
.drawer-lang-switch {
    width: 100%;
}
.drawer-lang-switch .lang-btn {
    width: 100%;
    justify-content: space-between;
    padding: 12px 16px;
    border-radius: 14px;
    font-size: 0.9rem;
}
.drawer-lang-switch .lang-menu {
    position: static;
    opacity: 1;
    visibility: hidden;
    transform: none;
    transition: max-height .3s var(--ease-out), margin-top .3s var(--ease-out), padding .3s var(--ease-out), visibility .3s;
    max-height: 0;
    margin: 0;
    padding: 0 8px;
    overflow: hidden;
    box-shadow: none;
    border: 0;
    background: transparent;
}
.drawer-lang-switch .lang-menu.open {
    visibility: visible;
    max-height: 260px;
    margin-top: 8px;
    padding: 8px;
    border: 1px solid var(--c-border-strong);
    background: rgba(255,255,255,0.04);
    border-radius: 14px;
}
body.theme-light .drawer-lang-switch .lang-menu.open {
    background: rgba(34,34,34,0.03);
    border-color: var(--c-border-strong);
}

/* ============================================================
   RESPONSIVE — keep the language switch usable across widths
   ============================================================ */
@media (max-width: 1280px) {
    /* The base responsive rule hides .nav-tools .lang-switch in the original
       theme. Re-show it: it's compact (flag + 2-letter code) and useful next
       to the theme toggle. */
    .nav-tools .lang-switch { display: inline-block; }
    .lang-btn .lang-current-code { display: inline; }
}
@media (max-width: 576px) {
    /* On phones, prefer the drawer language switch — hide the desktop one. */
    .nav-tools .lang-switch { display: none; }
    .nav-tools { gap: 6px; }
}

