:root {
    --bosstheme-bg: #020714;
    --bosstheme-surface: #08112a;
    --bosstheme-card: #0d1b3d;
    --bosstheme-card-2: #13234d;
    --bosstheme-border: #1e2a44;
    --bosstheme-accent: #ffc531;
    --bosstheme-accent-2: #ff9f00;
    --bosstheme-gold: var(--bosstheme-accent);
    --bosstheme-text: #ffffff;
    --bosstheme-muted: #a6b0c3;
    --bosstheme-success: #22c55e;
    --bosstheme-danger: #ef4444;
    --bosstheme-shadow: rgba(0, 0, 0, 0.4);
}

body {
    margin: 0;
    background: var(--bosstheme-bg);
    color: var(--bosstheme-text);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.6;
}

a {
    color: inherit;
}

.bosstheme-container {
    width: min(1160px, calc(100% - 32px));
    margin-inline: auto;
}

.bosstheme-site-header {
    background: var(--bosstheme-header-bg, var(--bosstheme-surface));
    border-bottom: 1px solid var(--bosstheme-header-border, var(--bosstheme-border));
    backdrop-filter: blur(12px);
    z-index: 50;
}

.bosstheme-site-header.is-sticky {
    position: sticky;
    top: 0;
}

.bosstheme-header-inner {
    max-width: 1200px;
    width: min(calc(100% - 48px), 1200px);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    min-height: 72px;
    display: flex;
    align-items: center;
    gap: 24px;
}

/* Explicit boxed layout anchor — higher specificity so no later rule or cached
   stylesheet can let the header inner content go full-width fluid. */
.bosstheme-header--boxed > .bosstheme-header-inner {
    max-width: 1200px;
    width: min(calc(100% - 48px), 1200px);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

/* Desktop header zones: brand left, nav center, actions right */
.bosstheme-header-brand {
    flex: 0 0 auto;
}

/* Desktop sticky-shrink: 72px normal -> 60px on scroll. Gated to desktop so
   the mobile header height (handled in responsive.css) is unaffected. */
@media (min-width: 901px) {
    @media (prefers-reduced-motion: no-preference) {
        .bosstheme-header-inner,
        .bosstheme-logo img {
            transition: min-height .2s ease, max-height .2s ease;
        }
    }

    .bosstheme-site-header.is-shrinkable.is-shrunk .bosstheme-header-inner {
        min-height: 60px;
    }

    .bosstheme-site-header.is-shrinkable.is-shrunk .bosstheme-logo img {
        max-height: 36px;
    }
}

.bosstheme-logo {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    font-size: 24px;
    font-weight: 800;
    color: var(--bosstheme-gold);
    flex-shrink: 0;
    max-width: 220px;
}

.bosstheme-logo img {
    max-height: 44px;
    max-width: 220px;
    width: auto;
    object-fit: contain;
}

/* Brand-name text fallback must not overflow the logo zone */
.bosstheme-logo span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bosstheme-primary-nav {
    flex: 1;
}

.bosstheme-primary-nav ul {
    display: flex;
    justify-content: center;
    gap: 18px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.bosstheme-primary-nav a {
    text-decoration: none;
    color: var(--bosstheme-header-text, var(--bosstheme-text));
    padding: 4px 2px;
    border-bottom: 2px solid transparent;
}

/* Active/current menu item: gold text + gold underline */
.bosstheme-primary-nav .current-menu-item > a,
.bosstheme-primary-nav .current_page_item > a,
.bosstheme-primary-nav .current-menu-ancestor > a {
    color: var(--bosstheme-header-active, var(--bosstheme-accent));
    border-bottom-color: var(--bosstheme-header-active, var(--bosstheme-accent));
}

@media (prefers-reduced-motion: no-preference) {
    .bosstheme-primary-nav a,
    .bosstheme-login-link,
    .bosstheme-footer-column a {
        transition: color .15s ease;
    }
}

.bosstheme-primary-nav a:hover,
.bosstheme-primary-nav a:focus-visible {
    color: var(--bosstheme-header-active, var(--bosstheme-accent));
}

/* Accessible focus ring for all interactive elements */
.bosstheme-primary-nav a:focus-visible,
.bosstheme-login-link:focus-visible,
.bosstheme-footer-column a:focus-visible,
.bosstheme-logo:focus-visible {
    outline: 2px solid var(--bosstheme-gold);
    outline-offset: 3px;
    border-radius: 4px;
}

.bosstheme-header-actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 12px;
}

.bosstheme-login-link {
    color: var(--bosstheme-muted);
    text-decoration: none;
}

.bosstheme-main {
    min-height: 60vh;
}

.bosstheme-content {
    padding: 48px 0;
}

.bosstheme-entry-content {
    color: var(--bosstheme-text);
}

.bosstheme-article-card,
.bosstheme-page,
.bosstheme-post {
    background: var(--bosstheme-card);
    border: 1px solid var(--bosstheme-border);
    border-radius: 18px;
    padding: 28px;
    margin-bottom: 24px;
}

.bosstheme-site-footer {
    background: #050b18;
    border-top: 1px solid var(--bosstheme-border);
    padding: 42px 0 90px;
    color: var(--bosstheme-muted);
}
