/*
 * NCCAA HQ — brand color overrides on top of Sneat core.css
 *
 * Palette (from branding/hex codes.txt):
 *   Dark Teal/Blue  #2B6080   — primary
 *   Light Blue      #8CBFCF   — accent / soft
 *   Red             #C1342E   — danger / alerts
 */

:root {
    --nccaa-primary: #2B6080;
    --nccaa-primary-rgb: 43, 96, 128;
    --nccaa-primary-dark: #1F4A63;
    --nccaa-primary-light: #8CBFCF;
    --nccaa-primary-light-rgb: 140, 191, 207;
    --nccaa-danger: #C1342E;
    --nccaa-danger-rgb: 193, 52, 46;

    --bs-primary: var(--nccaa-primary);
    --bs-primary-rgb: var(--nccaa-primary-rgb);
    --bs-danger: var(--nccaa-danger);
    --bs-danger-rgb: var(--nccaa-danger-rgb);
}

/* Card section headings on the reports page — NCCAA dark navy, bold,
 * sentence-case (not uppercase). Slightly larger than body text but not
 * as assertive as a full h5. */
.nccaa-section-heading {
    color: var(--nccaa-primary-dark);
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: 0;
    margin-bottom: 1rem;
}

/* Alert variant painted in NCCAA's light blue (#8CBFCF). Bootstrap's
 * stock alert-info is a cyan/teal that doesn't match our palette, so
 * give it a proper brand-aligned option. Concrete hex values instead of
 * rgba(var(), ...) because some browsers / parsers drop the multi-value
 * substitution silently and you end up with a transparent background. */
.alert-nccaa-light {
    background-color: #E8F2F6 !important; /* #8CBFCF at ~20% over white */
    border-color: #8CBFCF !important;
    color: #1F4A63 !important;
}
.alert-nccaa-light .pp-announcement-icon,
.alert-nccaa-light .pp-announcement-title,
.alert-nccaa-light .pp-announcement-body {
    color: #1F4A63;
}

.btn-primary {
    background-color: var(--nccaa-primary) !important;
    border-color: var(--nccaa-primary) !important;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--nccaa-primary-dark) !important;
    border-color: var(--nccaa-primary-dark) !important;
}

.btn-outline-primary {
    color: var(--nccaa-primary) !important;
    border-color: var(--nccaa-primary) !important;
}
.btn-outline-primary:hover {
    background-color: var(--nccaa-primary) !important;
    color: #fff !important;
}

.text-primary,
.text-primary a {
    color: var(--nccaa-primary) !important;
}

.bg-primary {
    background-color: var(--nccaa-primary) !important;
}

.badge.bg-primary,
.badge.text-bg-primary {
    background-color: var(--nccaa-primary) !important;
}

/* Danger accents use NCCAA red */
.text-danger {
    color: var(--nccaa-danger) !important;
}
.bg-danger {
    background-color: var(--nccaa-danger) !important;
}

/* Active menu items: light-blue tint background, dark-teal text */
.layout-menu .menu-inner > .menu-item.active > .menu-link,
.layout-menu .menu-inner .menu-item .menu-link.active {
    color: var(--nccaa-primary) !important;
    background: rgba(var(--nccaa-primary-light-rgb), 0.3) !important;
}
.layout-menu .menu-inner > .menu-item.active > .menu-link:hover,
.layout-menu .menu-inner .menu-item .menu-link.active:hover {
    background: rgba(var(--nccaa-primary-light-rgb), 0.45) !important;
}
.layout-menu .menu-inner > .menu-item.active > .menu-link::before {
    background: var(--nccaa-primary) !important;
}

/* App brand: breathing room around logo + text */
.app-brand {
    padding: 1.25rem 1.25rem 1rem 1.25rem !important;
}
.app-brand .app-brand-logo img {
    margin-right: 0.25rem;
}
.app-brand .app-brand-text {
    color: var(--nccaa-primary) !important;
    margin-left: 0.75rem !important;
    letter-spacing: 0.02em;
}

/* Footer small touches */
.content-footer {
    border-top: 1px solid rgba(var(--nccaa-primary-rgb), 0.08);
}

/* Navbar avatar circle with user initials */
.nccaa-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--nccaa-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background-color 0.15s ease-in-out;
}
.nccaa-avatar .nccaa-avatar-initial {
    color: #fff;
    font-weight: 600;
    font-size: 0.95rem;
    letter-spacing: 0.02em;
    line-height: 1;
}
.nav-link:hover .nccaa-avatar {
    background: var(--nccaa-primary-dark);
}
.nccaa-avatar.nccaa-avatar-sm {
    width: 40px;
    height: 40px;
}

/* Dropdown-user menu spacing */
.navbar .dropdown-user .dropdown-menu {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}
.navbar .dropdown-user .dropdown-item {
    padding: 0.625rem 1rem;
}
