/* Golden Bull — temas globales */

.gb-theme-toggle {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-grid;
    place-items: center;
    padding: 0;
    border: 1px solid var(--border-subtle, var(--ca-border, var(--adm-border, rgba(148, 163, 184, .35))));
    border-radius: 10px;
    background: var(--bg-secondary, var(--ca-surface, var(--adm-surface, transparent)));
    color: var(--text-primary, var(--ca-text, var(--adm-text, currentColor)));
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.gb-theme-toggle:hover {
    border-color: var(--gold-mid, var(--ca-gold, var(--adm-gold, #d4af37)));
    color: var(--gold-dark, var(--ca-gold-dark, var(--adm-gold-light, #d4af37)));
}

.gb-theme-toggle:focus-visible {
    outline: 3px solid rgba(212, 175, 55, .4);
    outline-offset: 2px;
}

.gb-theme-toggle svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.gb-theme-toggle__moon { display: block; }
.gb-theme-toggle__sun { display: none; }
:root[data-theme="dark"] .gb-theme-toggle__moon { display: none; }
:root[data-theme="dark"] .gb-theme-toggle__sun { display: block; }

/* Sitio público */
:root[data-theme="dark"] {
    --bg-primary: #0b0f17;
    --bg-secondary: #111827;
    --bg-dark: #080b11;
    --bg-terminal: #080b11;
    --text-primary: #f1f5f9;
    --text-secondary: #cbd5e1;
    --text-muted: #94a3b8;
    --gold-dark: #e3bf55;
    --gold-mid: #d4af37;
    --border-subtle: rgba(148, 163, 184, .2);
    --border-glow: rgba(212, 175, 55, .45);
    --shadow-card: 0 8px 30px rgba(0, 0, 0, .28);
    --shadow-gold: 0 6px 24px rgba(212, 175, 55, .14);
}

:root[data-theme="dark"] body:not(.ca-app):not(.ca-auth):not(.ca-trader):not(.adm-app):not(.adm-auth) {
    background: var(--bg-primary);
    color: var(--text-primary);
}

:root[data-theme="dark"] .header {
    background: rgba(11, 15, 23, .94);
    border-color: var(--border-subtle);
}

:root[data-theme="dark"] .menu__sub,
:root[data-theme="dark"] .cookie-policy {
    background: rgba(17, 24, 39, .98);
    color: var(--text-primary);
    border-color: var(--border-subtle);
}

:root[data-theme="dark"] .hero-slide--community .hero-slide__bg,
:root[data-theme="dark"] .hero-slide--trust .hero-slide__bg,
:root[data-theme="dark"] .hero-slide--fees .hero-slide__bg {
    background:
        radial-gradient(ellipse 75% 55% at 88% 25%, rgba(212, 175, 55, .11) 0%, transparent 55%),
        linear-gradient(180deg, #111827 0%, #0b0f17 100%);
}

:root[data-theme="dark"] .hero-panel {
    box-shadow: var(--shadow-card), 0 0 0 1px rgba(255, 255, 255, .04) inset;
}

:root[data-theme="dark"] .btn--fill-gold {
    color: #111827;
}

:root[data-theme="dark"] .notify-form__input,
:root[data-theme="dark"] input,
:root[data-theme="dark"] select,
:root[data-theme="dark"] textarea {
    color-scheme: dark;
}

:root[data-theme="dark"] .swiper-pagination-bullet {
    background: #64748b;
}

/* Área cliente: se excluye deliberadamente body.ca-trader. */
:root[data-theme="dark"] body.ca-app,
:root[data-theme="dark"] body.ca-auth {
    --ca-bg: #0b0f17;
    --ca-surface: #111827;
    --ca-text: #f1f5f9;
    --ca-muted: #a7b3c5;
    --ca-border: #2b3648;
    --ca-gold-dark: #e3bf55;
    --ca-shadow: 0 8px 30px rgba(0, 0, 0, .28);
    color: var(--ca-text);
}

:root[data-theme="dark"] .ca-header {
    background: rgba(15, 23, 42, .94);
}

:root[data-theme="dark"] .ca-stat-card--gold,
:root[data-theme="dark"] .ca-card-highlight {
    background: linear-gradient(145deg, rgba(212, 175, 55, .1), var(--ca-surface));
}

:root[data-theme="dark"] .ca-form input,
:root[data-theme="dark"] .ca-form select,
:root[data-theme="dark"] .ca-form textarea,
:root[data-theme="dark"] .ca-support-compose textarea {
    background: #0b1220;
    color: var(--ca-text);
    border-color: var(--ca-border);
    color-scheme: dark;
}

:root[data-theme="dark"] .ca-chip,
:root[data-theme="dark"] .ca-demo-hint code,
:root[data-theme="dark"] .ca-kyc-upload-form input[type="file"],
:root[data-theme="dark"] .ca-kyc-file-preview,
:root[data-theme="dark"] .ca-badge {
    background: #1e293b;
    color: var(--ca-text);
}

:root[data-theme="dark"] .ca-alert-success,
:root[data-theme="dark"] .ca-badge-verified,
:root[data-theme="dark"] .ca-badge-completed,
:root[data-theme="dark"] .ca-badge-buy {
    background: rgba(16, 185, 129, .16);
    color: #6ee7b7;
}

:root[data-theme="dark"] .ca-alert-error,
:root[data-theme="dark"] .ca-badge-required,
:root[data-theme="dark"] .ca-badge-declined,
:root[data-theme="dark"] .ca-badge-sell {
    background: rgba(239, 68, 68, .16);
    color: #fca5a5;
}

:root[data-theme="dark"] .ca-badge-pending,
:root[data-theme="dark"] .ca-badge-under_review {
    background: rgba(245, 158, 11, .16);
    color: #fcd34d;
}

:root[data-theme="dark"] .ca-support-messages,
:root[data-theme="dark"] .ca-support-compose {
    background: #0b1220;
}

:root[data-theme="dark"] .ca-support-msg--client {
    background: var(--ca-surface);
}

:root[data-theme="dark"] .ca-file-drop:hover {
    background: rgba(212, 175, 55, .07);
}

/* Administración: el CSS nativo es oscuro; este bloque habilita la alternativa clara. */
:root[data-theme="light"] body.adm-app,
:root[data-theme="light"] body.adm-auth {
    --adm-bg: #eef1f6;
    --adm-bg-panel: #f8fafc;
    --adm-surface: #ffffff;
    --adm-surface-hover: #f1f5f9;
    --adm-text: #0f172a;
    --adm-muted: #64748b;
    --adm-border: #dbe2ea;
    --adm-gold-light: #8b6914;
    --adm-gold-glow: rgba(168, 134, 31, .12);
    --adm-shadow: 0 6px 24px rgba(15, 23, 42, .08);
    color: var(--adm-text);
}

:root[data-theme="light"] .adm-main {
    background: radial-gradient(ellipse at top right, rgba(212, 175, 55, .09), transparent 50%), var(--adm-bg);
}

:root[data-theme="light"] .adm-auth {
    background: linear-gradient(135deg, #e8edf4, #f8fafc);
}

:root[data-theme="light"] .adm-header h1,
:root[data-theme="light"] .adm-card h2,
:root[data-theme="light"] .adm-stat-card strong,
:root[data-theme="light"] .adm-profile-hero__name,
:root[data-theme="light"] .adm-profile-hero__stats strong,
:root[data-theme="light"] .adm-user-link {
    color: var(--adm-text);
}

:root[data-theme="light"] .adm-profile-hero {
    background: linear-gradient(135deg, var(--adm-surface), #fffaf0);
}

:root[data-theme="light"] .adm-badge {
    background: #eef2f7;
}

.adm-header-actions {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.adm-header .gb-theme-toggle {
    --border-subtle: var(--adm-border);
    --bg-secondary: var(--adm-surface);
    --text-primary: var(--adm-text);
}

.ca-header .gb-theme-toggle {
    --border-subtle: var(--ca-border);
    --bg-secondary: var(--ca-surface);
    --text-primary: var(--ca-text);
}

.ca-auth .gb-theme-toggle,
.adm-auth .gb-theme-toggle {
    position: fixed;
    top: 1rem;
    right: 1rem;
    z-index: 10;
}

@media (max-width: 768px) {
    .header__actions .gb-theme-toggle { order: -1; }
    .ca-header .gb-theme-toggle { width: 38px; height: 38px; flex-basis: 38px; }
    .adm-header-actions { width: 100%; justify-content: space-between; }
}

@media (prefers-reduced-motion: reduce) {
    .gb-theme-toggle { transition: none; }
}
