/* ── Header ── */
header.site-header {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
    position: relative;
}
header.site-header::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0L60 30L30 60L0 30Z' fill='none' stroke='%23ffffff' stroke-opacity='0.03' stroke-width='1'/%3E%3C/svg%3E");
    pointer-events: none;
}
header.site-header nav { position: relative; z-index: 10; }

/* Nav links */
.nav-link {
    color: rgba(255,255,255,0.85);
    font-size: 0.9rem;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.15s;
    padding: 0.35rem 0.5rem;
    border-radius: 6px;
    white-space: nowrap;
}
.nav-link:hover { background: rgba(255,255,255,0.07); }
.nav-link:hover { color: #ff6b00; }
.nav-link-active { color: #ff6b00 !important; font-weight: 700; }

/* Brand */
.nav-brand {
    font-size: 1.4rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #fff;
    text-decoration: none;
}
.nav-brand span { color: #ff6b00; }

/* Dropdown */
.nav-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 1000;
    background: #16213e;
    border: 1px solid rgba(255,255,255,0.08);
    padding: 0.4rem 0;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.3);
    min-width: 11rem;
}
.relative.group:hover .nav-dropdown,
.nav-dropdown:hover { display: block; }
.nav-dropdown a {
    display: block;
    padding: 0.5rem 1rem;
    color: rgba(255,255,255,0.7);
    font-size: 0.85rem;
    text-decoration: none;
    transition: all 0.15s;
}
.nav-dropdown a:hover { background: rgba(255,107,0,0.12); color: #ff6b00; }

/* Card hover effect */
.card-hover { transition: all 0.3s ease; }
.card-hover:hover { transform: translateY(-5px); box-shadow: 0 20px 40px rgba(0,0,0,0.1); }

a.block { display: block; text-decoration: none; color: inherit; }
a.block:hover { text-decoration: none; color: inherit; }

/* Hero bg default */
.hero-bg {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
    position: relative;
    overflow: hidden;
}
.hero-bg::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0L60 30L30 60L0 30Z' fill='none' stroke='%23ffffff' stroke-opacity='0.03' stroke-width='1'/%3E%3C/svg%3E");
    pointer-events: none;
}

.dark div.ck.ck-editor__main div.ck.ck-editor__editable_inline {
    background-color: #1a202c !important;
    color: #e2e8f0 !important;
}
.ck.ck-button.ck-button_with-text.ck-reset_all-excluded.ck-disabled {
    display: none !important;
}

/* Mobile menu */
#mobile-menu {
    background: #0d1526;
    border-top: 1px solid rgba(255,255,255,0.1);
    border-radius: 0 0 12px 12px;
}
#mobile-menu .nav-link {
    font-size: 1.1rem;
    font-weight: 600;
    padding: 0.75rem 1rem;
    display: block;
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}
#mobile-menu .nav-link:last-child { border-bottom: none; }
#mobile-menu .nav-link:hover,
#mobile-menu .nav-link:active {
    background: rgba(255,107,0,0.15);
    color: #ff6b00;
}

/* ── Global body backgrounds ── */
body { background-color: #e2e4e9; }
body.dark { background-color: #0a0e17; }

/* ── Breadcrumbs ── */
.breadcrumbs {
    padding: 0.6rem 0;
    font-size: 0.82rem;
    color: rgba(100,100,120,0.7);
}
.dark .breadcrumbs { color: rgba(255,255,255,0.4); }
.breadcrumbs a {
    color: rgba(100,100,120,0.8);
    text-decoration: none;
    transition: color 0.15s;
}
.dark .breadcrumbs a { color: rgba(255,255,255,0.5); }
.breadcrumbs a:hover { color: #ff6b00; }
.breadcrumbs .sep { margin: 0 0.4rem; opacity: 0.5; }

/* ── Banner slots ── */
.banner-slot {
    max-width: 728px;
    margin: 0.5rem auto;
    text-align: center;
    min-height: 0;
}
.banner-slot.active {
    display: block !important;
    min-height: 90px;
    background: rgba(0,0,0,0.03);
    border: 1px dashed rgba(0,0,0,0.08);
    border-radius: 6px;
}
.dark .banner-slot.active {
    background: rgba(255,255,255,0.02);
    border-color: rgba(255,255,255,0.05);
}
