/**
 * GEMS — Christchurch City Council (CCC) display theme (fifth option: light | dark | we | tewhatuora | ccc).
 * Scoped to html.gems-theme-ccc. Uses data-bs-theme="light" so Bootstrap surfaces stay readable.
 *
 * Palette sourced from CCC brand visual guidelines (public FYI release of “The way we look”):
 * - Corporate magenta #E11156 / soft #F05B72 / deep #B7274C
 * - Teal #12A4A4 / AA teal #098484 (white text on #098484 passes AA)
 * - Soft mint #A4DAD2 / #7CCCBF
 * - Charcoal shell #414042, black #000000, soft grey #E6E7E8
 *
 * Shell leans charcoal + magenta→teal accent bar (CCC signature). Primary buttons/links use
 * #098484 for WCAG AA on white (pure magenta fills can fail on light surfaces).
 *
 * Demo co-brand: `public/assets/images/partners/ccc-co-brand-demo.svg` — replace with approved
 * CCC logo when licensed. Official site assets were unavailable for local hosting at build time.
 */

html.gems-theme-ccc {
    --gems-ccc-magenta: #e11156;
    --gems-ccc-magenta-soft: #f05b72;
    --gems-ccc-magenta-deep: #b7274c;
    --gems-ccc-magenta-muted: rgba(225, 17, 86, 0.28);
    --gems-ccc-teal: #098484;
    --gems-ccc-teal-bright: #12a4a4;
    --gems-ccc-teal-hover: #076e6e;
    --gems-ccc-mint: #a4dad2;
    --gems-ccc-shell: #414042;
    --gems-ccc-shell-border: #2e2e30;
    --gems-ccc-ink: #1a1a1a;
    --gems-ccc-header-text: #ffffff;
    --gems-ccc-header-text-soft: rgba(255, 255, 255, 0.92);

    color-scheme: light;
}

html.gems-theme-ccc {
    --bs-primary: var(--gems-ccc-teal);
    --bs-primary-rgb: 9, 132, 132;
    --bs-link-color: var(--gems-ccc-teal);
    --bs-link-hover-color: var(--gems-ccc-teal-hover);
}

html.gems-theme-ccc .alert-warning {
    --bs-alert-color: var(--gems-ccc-ink);
    --bs-alert-bg: rgba(225, 17, 86, 0.1);
    --bs-alert-border-color: var(--gems-ccc-magenta);
    color: var(--gems-ccc-ink) !important;
}

html.gems-theme-ccc .alert-warning h1,
html.gems-theme-ccc .alert-warning h2,
html.gems-theme-ccc .alert-warning h3,
html.gems-theme-ccc .alert-warning h4,
html.gems-theme-ccc .alert-warning h5,
html.gems-theme-ccc .alert-warning h6 {
    color: var(--gems-ccc-ink) !important;
}

html.gems-theme-ccc body {
    background-color: #f4f6f7;
    color: var(--gems-ccc-ink);
}

html.gems-theme-ccc #main-wrapper {
    background-color: #f4f6f7;
}

/* ─── Chrome — charcoal shell + magenta→teal bar ─── */
html.gems-theme-ccc .nav-header {
    position: relative;
    background: var(--gems-ccc-shell);
    border-color: var(--gems-ccc-shell-border);
    border-bottom: 0;
}

html.gems-theme-ccc .nav-header::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--gems-ccc-magenta) 0%, var(--gems-ccc-teal-bright) 100%);
    pointer-events: none;
}

html.gems-theme-ccc .nav-header .hamburger .line svg path {
    fill: var(--gems-ccc-mint) !important;
}

html:not(.gems-theme-ccc) .gems-brand-ccc-mark {
    display: none !important;
}

html.gems-theme-ccc .gems-brand-stack > a.brand-logo.gems-brand-default {
    display: none !important;
}

html.gems-theme-ccc .gems-brand-ccc-mark {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    flex: 1 1 auto;
    min-height: 0;
    gap: 0.2rem;
    padding: 0.15rem 0 0.1rem;
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
    visibility: visible;
    opacity: 1;
}

html.gems-theme-ccc .nav-header .gems-brand-stack {
    align-items: flex-start;
    padding-left: 1.25rem;
    padding-right: 2.25rem;
    width: 100%;
    box-sizing: border-box;
}

@media only screen and (max-width: 87.5rem) {
    html.gems-theme-ccc .nav-header .gems-brand-stack {
        padding-left: 1.1rem;
        padding-right: 2rem;
    }
}

@media only screen and (max-width: 47.9375rem) {
    html.gems-theme-ccc .nav-header .gems-brand-stack {
        padding-left: 0.5rem;
        padding-right: 1.75rem;
    }
}

html.gems-theme-ccc .gems-brand-ccc-mark .gems-ccc-external-logo {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    line-height: 0;
}

html.gems-theme-ccc .gems-brand-ccc-mark .gems-ccc-external-logo:hover {
    opacity: 0.92;
}

html.gems-theme-ccc .gems-brand-ccc-mark .gems-ccc-external-logo img {
    height: 40px;
    width: auto;
    max-width: min(240px, 54vw);
    display: block;
}

html.gems-theme-ccc .gems-ccc-powered-label {
    font-size: inherit;
    letter-spacing: inherit;
}

html.gems-theme-ccc .gems-ccc-powered-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.25rem 0.35rem;
    font-size: 0.52rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.2;
}

html.gems-theme-ccc .gems-ccc-powered-gems-link {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    line-height: 1;
    border-radius: 4px;
    color: rgba(255, 255, 255, 0.82);
    text-decoration: none;
    font-weight: 500;
}

html.gems-theme-ccc .gems-ccc-powered-gems-link:hover {
    color: #fff;
}

html.gems-theme-ccc .gems-ccc-powered-name {
    font-size: inherit;
    letter-spacing: inherit;
}

html.gems-theme-ccc .gems-ccc-powered-gems-link img {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    opacity: 0.88;
}

html.gems-theme-ccc .gems-ccc-powered-gems-link:focus-visible {
    outline: 2px solid var(--gems-ccc-mint);
    outline-offset: 2px;
}

html.gems-theme-ccc .gems-ccc-powered-gems-link:hover img {
    filter: brightness(1.12);
    opacity: 1;
}

html.gems-theme-ccc .header {
    background: var(--gems-ccc-shell);
    border-color: var(--gems-ccc-shell-border);
}

html.gems-theme-ccc .header .dashboard_bar {
    color: var(--gems-ccc-header-text) !important;
    font-weight: 600;
}

html.gems-theme-ccc .header .navbar-nav .nav-link {
    color: var(--gems-ccc-header-text-soft) !important;
}

html.gems-theme-ccc .header .navbar-nav .nav-link:hover,
html.gems-theme-ccc .header .navbar-nav .nav-link:focus {
    color: var(--gems-ccc-mint) !important;
}

html.gems-theme-ccc .header .navbar-nav .nav-link.btn {
    color: var(--gems-ccc-header-text) !important;
    border-color: rgba(255, 255, 255, 0.55) !important;
    background-color: transparent !important;
}

html.gems-theme-ccc .header .navbar-nav .nav-link.btn:hover,
html.gems-theme-ccc .header .navbar-nav .nav-link.btn:focus {
    color: var(--gems-ccc-ink) !important;
    background-color: var(--gems-ccc-mint) !important;
    border-color: var(--gems-ccc-mint) !important;
}

html.gems-theme-ccc .header .form-control,
html.gems-theme-ccc .header .input-group-text {
    background-color: rgba(255, 255, 255, 0.08);
    border-color: var(--gems-ccc-shell-border);
    color: var(--gems-ccc-header-text);
}

html.gems-theme-ccc .header .search-area .form-control::placeholder {
    color: rgba(255, 255, 255, 0.55);
}

html.gems-theme-ccc .header .search-area .input-group-text a svg path {
    fill: rgba(255, 255, 255, 0.75) !important;
}

html.gems-theme-ccc .header .search-area .input-group-text a:hover svg path {
    fill: var(--gems-ccc-mint) !important;
}

html.gems-theme-ccc .header .header-profile2 > a.nav-link,
html.gems-theme-ccc .header .header-profile2 > a.nav-link .header-info2,
html.gems-theme-ccc .header .header-profile2 > a.nav-link .header-info2 span,
html.gems-theme-ccc .header .header-profile2 > a.nav-link .header-info2 strong {
    color: var(--gems-ccc-header-text) !important;
}

html.gems-theme-ccc .header .header-profile2 > a.nav-link .header-info2 small,
html.gems-theme-ccc .header .header-profile2 > a.nav-link .header-info2 .small {
    color: rgba(255, 255, 255, 0.78) !important;
}

html.gems-theme-ccc .deznav {
    background: var(--gems-ccc-shell);
    border-right: 1px solid var(--gems-ccc-shell-border);
}

html.gems-theme-ccc .deznav .metismenu > li > a {
    color: #cfd6df;
}

html.gems-theme-ccc .deznav .metismenu > li:hover > a {
    background: rgba(225, 17, 86, 0.12);
    color: #fff;
}

html.gems-theme-ccc .deznav .metismenu > li.mm-active > a {
    background: rgba(225, 17, 86, 0.2);
    color: var(--gems-ccc-mint);
    box-shadow: inset 3px 0 0 var(--gems-ccc-magenta);
}

html.gems-theme-ccc .content-body {
    background-color: #f4f6f7;
    color: var(--gems-ccc-ink);
}

html.gems-theme-ccc .content-body .card {
    border-color: rgba(65, 64, 66, 0.12);
    box-shadow: 0 0.125rem 0.35rem rgba(65, 64, 66, 0.06);
}

html.gems-theme-ccc .footer,
html.gems-theme-ccc #footer {
    background: #fff;
    border-color: rgba(65, 64, 66, 0.08);
}

html.gems-theme-ccc .btn-primary {
    background-color: var(--gems-ccc-teal);
    border-color: var(--gems-ccc-teal);
}

html.gems-theme-ccc .btn-primary:hover,
html.gems-theme-ccc .btn-primary:focus {
    background-color: var(--gems-ccc-teal-hover);
    border-color: var(--gems-ccc-teal-hover);
}

html.gems-theme-ccc .btn-outline-primary {
    color: var(--gems-ccc-teal);
    border-color: var(--gems-ccc-teal);
}

html.gems-theme-ccc .btn-outline-primary:hover {
    background-color: var(--gems-ccc-teal);
    border-color: var(--gems-ccc-teal);
}

html.gems-theme-ccc a:not(.btn):not(.nav-link):not(.dropdown-item) {
    color: var(--gems-ccc-teal);
}

html.gems-theme-ccc a:not(.btn):not(.nav-link):not(.dropdown-item):hover {
    color: var(--gems-ccc-teal-hover);
}

html.gems-theme-ccc .badge.bg-warning.text-dark {
    background-color: var(--gems-ccc-mint) !important;
    color: var(--gems-ccc-ink) !important;
}

html.gems-theme-ccc .gems-theme-menu {
    background: #fff;
    border: 1px solid rgba(65, 64, 66, 0.12);
}
