/* Yaqinly Design System - unified light/dark premium tokens */
:root {
    /* Core palette */
    --bg-primary: #f8f6f2;
    --bg-secondary: #ffffff;
    --bg-card: #ffffff;

    --text-primary: #1f2937;
    --text-secondary: #4b5563;
    --text-muted: #6b7280;

    --accent-gold: #c9a646;
    --accent-soft: rgba(201, 166, 70, 0.14);
    --border-color: rgba(0, 0, 0, 0.06);

    --success: #1f9d62;
    --danger: #dc4c64;
    --warning: #e49d20;

    /* UI tokens */
    --radius-lg: 18px;
    --radius-md: 12px;
    --shadow-soft: 0 10px 30px rgba(15, 23, 42, 0.08);

    /* Compatibility bridge — override style.css dark defaults */
    --gold: var(--accent-gold);
    --gold-light: #e5c97b;
    --bg-surface: var(--bg-secondary);
    --bg-elevated: var(--bg-card);
    --bg-deep: var(--bg-primary);        /* neutralize style.css #070A12 default */
    --bg-hover: #ede9e3;
    --border: var(--border-color);
    --header-bg: rgba(255, 255, 255, 0.88);
    --header-border: rgba(0, 0, 0, 0.08);
}

[data-theme="dark"] {
    --bg-primary: #0d1117;               /* slightly lighter base for depth */
    --bg-secondary: #151f2e;             /* clear step up */
    --bg-card: #1a2740;                  /* visibly elevated cards */

    --text-primary: #f1f0ee;
    --text-secondary: #c9d1d9;
    --text-muted: #8b949e;

    --accent-gold: #d4af37;
    --accent-soft: rgba(212, 175, 55, 0.16);
    --border-color: rgba(255, 255, 255, 0.10);

    --success: #22c55e;
    --danger: #f87171;
    --warning: #f59e0b;

    --gold: var(--accent-gold);
    --gold-light: #ebcd73;
    --bg-surface: var(--bg-secondary);
    --bg-elevated: var(--bg-card);
    --bg-deep: #08090e;                  /* darkest layer */
    --bg-hover: #1f2e45;
    --border: var(--border-color);
    --header-bg: rgba(10, 13, 18, 0.88);
    --header-border: rgba(255, 255, 255, 0.10);
    --shadow-soft: 0 8px 30px rgba(0, 0, 0, 0.45);
}

[data-theme="light"] {
    --bg-primary: #f8f6f2;
    --bg-secondary: #ffffff;
    --bg-card: #ffffff;

    --text-primary: #1f2937;
    --text-secondary: #4b5563;
    --text-muted: #6b7280;

    --accent-gold: #c9a646;
    --accent-soft: rgba(201, 166, 70, 0.14);
    --border-color: rgba(0, 0, 0, 0.06);

    --success: #1f9d62;
    --danger: #dc4c64;
    --warning: #e49d20;

    /* Bridge overrides for light mode */
    --bg-deep: #f8f6f2;
    --bg-hover: #ede9e3;
    --bg-surface: #ffffff;
    --bg-elevated: #ffffff;
    --border: rgba(0, 0, 0, 0.06);
    --shadow-soft: 0 8px 30px rgba(15, 23, 42, 0.08);
}

html,
body {
    background: var(--bg-primary);
    color: var(--text-primary);
}

body {
    transition: background-color 0.2s ease, color 0.2s ease;
}

a,
button,
input,
select,
textarea,
.auth-menu,
.acc-panel,
.site-header,
.nav-link,
.auth-menu-row,
.acc-btn {
    transition: all 0.2s ease;
}

/* WCAG-friendly focus */
:focus-visible {
    outline: 2px solid var(--accent-gold);
    outline-offset: 2px;
}

/* Unified form controls */
input,
select,
textarea {
    background: var(--bg-secondary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
}

input::placeholder,
textarea::placeholder {
    color: var(--text-muted);
}

/* Cards */
.card,
.acc-panel,
.acc-header,
.acc-hero,
.acc-data-card,
.auth-modal-card,
.auth-menu {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-soft);
}

/* Buttons */
.btn-primary,
.acc-btn-primary,
.auth-btn-gold,
.auth-submit.auth-btn-gold {
    background: linear-gradient(135deg, #e7cf8a, var(--accent-gold));
    color: #121212;
    border: 1px solid transparent;
}

/* Header / dropdown coherence */
.site-header[data-header="premium"]::before {
    background: var(--header-bg);
    border-color: var(--header-border);
}

.site-header[data-header="premium"] .nav-link {
    color: var(--text-secondary);
}

.site-header[data-header="premium"] .nav-link:hover {
    color: var(--text-primary);
    background: var(--accent-soft);
}

.site-header[data-header="premium"] .nav-link.active {
    color: #131313;
    background: linear-gradient(135deg, #e7cf8a, var(--accent-gold));
}

.auth-menu {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
}

.auth-menu-row:hover {
    background: var(--accent-soft);
}

/* Account forms, tabs and spacing */
.acc-tabs {
    background: color-mix(in srgb, var(--bg-card) 92%, transparent);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
}

.acc-tab {
    color: var(--text-secondary);
}

.acc-tab:hover {
    color: var(--text-primary);
    background: var(--accent-soft);
}

.acc-tab.is-active {
    color: #121212;
    background: linear-gradient(135deg, #e7cf8a, var(--accent-gold));
}

.acc-form label,
.auth-label {
    color: var(--text-secondary);
}

.acc-email,
.acc-since,
.acc-help,
.auth-modal-sub,
.auth-pane-intro,
.auth-menu-time,
.auth-menu-salam {
    color: var(--text-muted);
}

.acc-form input[type="text"],
.acc-form input[type="email"],
.acc-form input[type="url"],
.acc-form input[type="password"],
.acc-form select,
.acc-magic-form input[type="email"],
.auth-field input,
.auth-field select {
    background: var(--bg-secondary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
}

.acc-form input:focus,
.acc-form select:focus,
.acc-magic-form input[type="email"]:focus,
.auth-field input:focus,
.auth-field select:focus {
    border-color: var(--accent-gold);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent-gold) 20%, transparent);
    outline: none;
}

.auth-feedback.is-error,
.acc-msg.is-err {
    color: var(--danger);
    border-color: color-mix(in srgb, var(--danger) 34%, transparent);
}

.auth-feedback.is-ok,
.acc-msg.is-ok {
    color: var(--success);
    border-color: color-mix(in srgb, var(--success) 34%, transparent);
}

/* Dropdown opening animation */
.auth-menu {
    opacity: 0;
    transform: translateY(-8px);
}

.auth-menu:not([hidden]) {
    opacity: 1;
    transform: translateY(0);
}
