/* ============================================================
   OneGate — base, nav, footer (Dark Infra Premium)
   Paletă beeSIM (honey): near-black + gold + espresso + cream
   Tipografie: Space Grotesk (titluri) + Inter (body)
   Pagina e dark-first; varianta light via [data-bs-theme="light"]
   ============================================================ */

:root {
    /* beeSIM honey palette */
    --og-bg-0: #121212;
    --og-bg-1: #1a1a1a;
    --og-bg-2: #1f1f1f;
    --og-bg-3: #262626;
    --og-espresso: #4a2500;
    --og-gold: #f5c400;
    --og-gold-600: #d9ad00;
    --og-gold-soft: rgba(245, 196, 0, 0.10);
    --og-gold-border: rgba(245, 196, 0, 0.18);
    --og-cream: #f5f0e8;
    --og-neutral: #f4f3f1;
    --og-ink: #1a1a1a;

    /* Aliase compat cu vechile nume folosite în template-uri */
    --primary-color: var(--og-gold);
    --secondary-color: var(--og-gold);
    --dark-color: var(--og-ink);

    --og-radius: 14px;
    --og-radius-sm: 10px;
}

/* ---- Bootstrap theme overrides ---- */
[data-bs-theme="dark"] {
    --bs-body-bg: #121212;
    --bs-body-bg-rgb: 18, 18, 18;
    --bs-body-color: #cfc9bd;
    --bs-body-color-rgb: 207, 201, 189;
    --bs-emphasis-color: #f5f0e8;
    --bs-secondary-color: rgba(245, 240, 232, 0.62);
    --bs-secondary-bg: #1a1a1a;
    --bs-tertiary-bg: #1f1f1f;
    --bs-border-color: rgba(245, 240, 232, 0.10);
    --bs-link-color: var(--og-gold);
    --bs-link-hover-color: var(--og-gold-600);

    /* Semantic surfaces (theme-aware) */
    --surface-0: #121212;
    --surface-1: #1a1a1a;
    --surface-2: #1f1f1f;
    --hero-bg: #121212;
    --hero-ink: #f5f0e8;
    --hero-ink-muted: rgba(245, 240, 232, 0.66);
    --grid-line: rgba(245, 240, 232, 0.045);
    --hero-glow: rgba(245, 196, 0, 0.16);
    --hairline: rgba(245, 240, 232, 0.18);
    --title-grad: linear-gradient(120deg, #f5c400 0%, #ffe27a 60%, #f5c400 100%);
    --adv-grad-top: rgba(74, 37, 0, 0.35);
    --cta-grad: linear-gradient(135deg, #4a2500 0%, #121212 70%);
    --node-shadow: 0 14px 40px rgba(0, 0, 0, 0.45);
}

[data-bs-theme="light"] {
    --bs-body-bg: #ffffff;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-body-color: #4a463e;
    --bs-body-color-rgb: 74, 70, 62;
    --bs-emphasis-color: #1a1a1a;
    --bs-secondary-color: rgba(26, 26, 26, 0.60);
    --bs-secondary-bg: #f6f1e9;
    --bs-tertiary-bg: #f6f1e9;
    --bs-border-color: rgba(26, 26, 26, 0.12);
    --bs-link-color: var(--og-gold-600);
    --bs-link-hover-color: var(--og-espresso);

    /* Semantic surfaces (theme-aware) */
    --surface-0: #ffffff;
    --surface-1: #f6f1e9;
    --surface-2: #ffffff;
    --hero-bg: #f6f1e9;
    --hero-ink: #1a1a1a;
    --hero-ink-muted: rgba(26, 26, 26, 0.62);
    --grid-line: rgba(26, 26, 26, 0.05);
    --hero-glow: rgba(245, 196, 0, 0.28);
    --hairline: rgba(26, 26, 26, 0.16);
    --title-grad: linear-gradient(115deg, #1a1a1a 0%, #1a1a1a 55%, #4a2500 100%);
    --adv-grad-top: rgba(245, 196, 0, 0.12);
    --cta-grad: linear-gradient(135deg, rgba(245, 196, 0, 0.20) 0%, #f6f1e9 70%);
    --node-shadow: 0 14px 36px rgba(26, 26, 26, 0.12);
}

/* ---- Typography ---- */
body {
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    letter-spacing: -0.01em;
}

h1, h2, h3, h4, h5, h6, .navbar-brand {
    font-family: "Space Grotesk", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    letter-spacing: -0.02em;
}

.font-mono {
    font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}

/* Selection */
::selection {
    background: var(--og-gold);
    color: var(--og-ink);
}

/* ---- Buttons ---- */
.btn {
    border-radius: var(--og-radius-sm);
    font-weight: 600;
    letter-spacing: -0.01em;
}

.btn-warning,
.btn-gold {
    --bs-btn-bg: var(--og-gold);
    --bs-btn-border-color: var(--og-gold);
    --bs-btn-color: var(--og-ink);
    --bs-btn-hover-bg: var(--og-gold-600);
    --bs-btn-hover-border-color: var(--og-gold-600);
    --bs-btn-hover-color: var(--og-ink);
    --bs-btn-active-bg: var(--og-gold-600);
    --bs-btn-active-border-color: var(--og-gold-600);
    --bs-btn-active-color: var(--og-ink);
    box-shadow: 0 8px 24px rgba(245, 196, 0, 0.18);
}

.btn-ghost {
    --bs-btn-color: var(--hero-ink);
    --bs-btn-border-color: var(--hairline);
    --bs-btn-bg: transparent;
    --bs-btn-hover-bg: var(--og-gold-soft);
    --bs-btn-hover-border-color: var(--og-gold);
    --bs-btn-hover-color: var(--hero-ink);
    --bs-btn-active-bg: var(--og-gold-soft);
    --bs-btn-active-border-color: var(--og-gold);
    --bs-btn-active-color: var(--hero-ink);
}

/* ============================================================
   Navbar
   ============================================================ */
#mainNav {
    background-color: rgba(18, 18, 18, 0.72) !important;
    backdrop-filter: saturate(180%) blur(14px);
    -webkit-backdrop-filter: saturate(180%) blur(14px);
    border-bottom: 1px solid transparent;
    transition: padding 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}

[data-bs-theme="light"] #mainNav {
    background-color: rgba(245, 240, 232, 0.78) !important;
}

#mainNav.navbar-scrolled {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    border-bottom-color: var(--og-gold-border);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35);
}

#mainNav .navbar-brand {
    font-weight: 700;
    font-size: 1.25rem;
    color: var(--bs-emphasis-color);
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

#mainNav .navbar-brand .brand-mark {
    color: var(--og-gold);
    display: inline-flex;
}

#mainNav .navbar-nav .nav-link {
    font-weight: 500;
    font-size: 0.9rem;
    color: var(--bs-secondary-color);
    padding: 0.5rem 0;
    transition: color 0.2s ease;
    display: flex;
    align-items: center;
}

#mainNav .navbar-nav .nav-link:hover,
#mainNav .navbar-nav .nav-link:focus {
    color: var(--bs-emphasis-color);
}

#mainNav .navbar-toggler {
    padding: 0.25rem 0.45rem;
    border-color: rgba(245, 240, 232, 0.2);
}

.theme-toggle {
    cursor: pointer;
    line-height: 1;
    color: var(--og-gold);
    transition: color 0.2s ease;
    -webkit-tap-highlight-color: transparent;
}

.theme-toggle:hover,
.theme-toggle:focus {
    color: var(--og-gold-600);
}

@media (min-width: 992px) {
    #mainNav .navbar-nav .nav-link {
        padding: 0 1rem;
    }
    #mainNav .navbar-nav .theme-toggle {
        line-height: normal;
    }
}

/* ============================================================
   Footer
   ============================================================ */
footer {
    background-color: #0e0e0e;
    color: rgba(245, 240, 232, 0.55);
    padding: 4rem 0 2rem;
    border-top: 1px solid var(--og-gold-border);
}

[data-bs-theme="light"] footer {
    background-color: #1a1a1a;
}

footer h5 {
    font-size: 0.95rem;
    color: var(--og-cream) !important;
    margin-bottom: 1rem;
}

footer a {
    color: rgba(245, 240, 232, 0.7);
    text-decoration: none;
    transition: color 0.2s ease;
}

footer a:hover {
    color: var(--og-gold);
}

footer .footer-brand {
    font-family: "Space Grotesk", sans-serif;
    font-weight: 700;
    font-size: 1.2rem;
    color: var(--og-cream);
}

footer abbr {
    text-decoration: none;
    cursor: help;
}

/* ---- Accessibility: focus rings ---- */
.btn:focus-visible,
a:focus-visible,
.theme-toggle:focus-visible {
    outline: 3px solid var(--og-gold);
    outline-offset: 3px;
}
