/* =========================================
   LCNL HEADER + NAVIGATION
   -----------------------------------------
   Logo sizing, navbar layout, dropdowns,
   socials, and admin bar
   ========================================= */

/* --- Header Layout --- */
.lcnl-header .lcnl-logo {
    height: clamp(80px, 10vw, 110px);
}

.lcnl-header a {
    color: #222;
    text-decoration: none;
    transition: color .2s ease;
}

.lcnl-header a:hover {
    color: var(--brand);
}

.lcnl-header .fs-4 {
    line-height: 1.15;
}

.lcnl-header .site-title {
    margin-bottom: .5rem;
}

@media (min-width:992px) {
    .lcnl-header .site-title {
        margin-bottom: 1rem;
    }
}

.lcnl-header .socials a {
    line-height: 1;
}

/* --- Social Brand Colours --- */
.socials a[aria-label="Facebook"] i {
    color: #1877F2 !important;
}

.socials a[aria-label="Instagram"] i {
    color: #E4405F !important;
}

.socials a[aria-label="Vimeo"] i {
    color: #19b7ea !important;
}

.socials a[aria-label="YouTube"] i {
    color: #FF0000 !important;
}

.socials a:hover i,
.lcnl-header .socials a:hover i {
    color: var(--brand) !important;
}

/* --- Navbar (Gold Theme) --- */
.bg-lcnl {
    background-color: var(--accent1) !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .25);
}

.navbar {
    border-radius: 0;
}

.lcnl-nav {
    gap: 2rem;
}

/* Nav links */
.navbar-light .navbar-nav .nav-link {
    color: #fff !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .25);
    padding: .75rem 1rem;
    transition: all .2s ease;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .nav-link.active {
    color: #fff !important;
    background-color: rgba(255, 255, 255, .2);
    border-radius: var(--radius);
}

.navbar-light .navbar-nav .nav-link.active {
    font-weight: 600;
    text-decoration: underline;
}

/* Toggler + Dropdowns */
.navbar-light .navbar-toggler {
    border-color: rgba(255, 255, 255, .7);
}

.navbar-light .navbar-toggler-icon {
    filter: invert(1);
}

.navbar-light .dropdown-toggle::after {
    border-top-color: #fff !important;
}

.navbar-light .dropdown-menu {
    background: #fff;
    border: none;
    border-radius: var(--radius);
    box-shadow: 0 6px 20px rgba(0, 0, 0, .1);
}

.navbar-light .dropdown-item {
    color: #222 !important;
    transition: background-color .2s ease;
}

.navbar-light .dropdown-item:hover,
.navbar-light .dropdown-item:focus,
.navbar-light .dropdown-item.active {
    background-color: var(--accent1) !important;
    color: #fff !important;
}

/* --- Desktop Dropdown Hover --- */
@media (min-width:992px) {
    .navbar .dropdown:hover .dropdown-menu {
        display: block;
        margin-top: 0;
    }

    .navbar .dropdown-toggle::after {
        vertical-align: .15em;
    }
}

/* --- Mobile Adjustments --- */
@media (max-width:991.98px) {
    .lcnl-nav {
        gap: .5rem !important;
    }

    .navbar-nav .nav-link {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important;
        line-height: 1.2 !important;
    }

    .navbar-nav .dropdown-menu .dropdown-item {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important;
    }
}

/* --- Toggler Label Text (Menu/Close) --- */
.navbar-toggler-text {
    font-size: 1rem;
    line-height: 1.1;
    letter-spacing: .02em;
    font-weight: 600;
    color: #fff;
}

@media (max-width:360px) {
    .navbar-toggler-text {
        font-size: .75rem;
    }
}

/* --- Admin Bar (Dark) --- */
.bg-darkblue {
    background-color: #0d1b3d !important;
}

.navbar-dark .nav-link {
    color: #f8f9fa !important;
    transition: color .2s ease;
}

.navbar-dark .nav-link:hover {
    color: var(--accent1);
}

#adminNav .navbar-nav {
    justify-content: center;
    width: 100%;
}

#adminNav .nav-item {
    text-align: center;
}

/* --- Header Buttons (Login/Register) --- */
.lcnl-header .btn-brand,
.lcnl-header .btn-outline-brand {
    --btn-py: .35rem;
    --btn-px: .9rem;
    padding: var(--btn-py) var(--btn-px);
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: .01em;
    border-width: 1px;
    transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.lcnl-header .btn-brand {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: #fff !important;
    background-color: var(--brand) !important;
    border: 1px solid var(--brand) !important;
    border-radius: var(--radius);
}

.lcnl-header .btn-brand:hover,
.lcnl-header .btn-brand:focus {
    background-color: var(--brand-600) !important;
    border-color: var(--brand-600) !important;
}

.lcnl-header .btn-brand:active {
    background-color: var(--brand-700) !important;
    border-color: var(--brand-700) !important;
}

.lcnl-header .btn-outline-brand {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    border: 2px solid var(--brand);
    color: var(--brand);
    border-radius: var(--radius);
}

.lcnl-header .btn-outline-brand:hover,
.lcnl-header .btn-outline-brand:focus {
    color: #fff !important;
    background-color: var(--brand) !important;
    border-color: var(--brand) !important;
}

/* --- Header Button Sizing --- */
.lcnl-header .btn {
    font-size: .85rem;
    padding: .25rem .6rem;
    line-height: 1.2;
}

.lcnl-header .btn i {
    font-size: .95rem;
}

@media (max-width:420px) {
    .lcnl-header .btn {
        font-size: .75rem;
        padding: .2rem .5rem;
    }
}