/* Enterprise theme: the mobile app's colours applied site-wide.
   Loaded last so it overrides style.min.css, Bootstrap and page styles. */
:root {
    --brand-navy: #0F3D91;
    --brand-navy-dark: #0B2E6F;
    --brand-blue: #1E5BD8;
    --brand-red: #E63946;
    --brand-yellow: #F3D672;
    --brand-sky: #EAF2FF;
    --brand-ink: #14213D;
    --brand-muted: #55617A;
    --brand-line: #DCE3EE;

    /* Existing tokens used throughout the site's CSS */
    --primary-blue: #0F3D91;
    --primary-blue-dark: #0B2E6F;
    --primary-blue-light: rgba(15, 61, 145, 0.07);
    --primary-blue-medium: rgba(15, 61, 145, 0.14);
    --secondary-purple: #1E5BD8;
    --secondary-purple-dark: #0F3D91;
    --secondary-purple-light: rgba(30, 91, 216, 0.07);
    --secondary-purple-medium: rgba(30, 91, 216, 0.14);
    --off-white: #F5F7FB;
    --silver-light: #DCE3EE;
    --dim-grey: #55617A;
    --dim-grey-dark: #414D66;
    --dim-grey-darker: #2B3650;
    --almost-black: #14213D;
    --focus-ring: 0 0 0 0.25rem rgba(30, 91, 216, 0.3);

    /* Bootstrap */
    --bs-primary: #0F3D91;
    --bs-primary-rgb: 15, 61, 145;
    --bs-danger: #E63946;
    --bs-danger-rgb: 230, 57, 70;
    --bs-warning: #F3D672;
    --bs-warning-rgb: 243, 214, 114;
    --bs-link-color: #1E5BD8;
    --bs-link-color-rgb: 30, 91, 216;
    --bs-link-hover-color: #0F3D91;
    --bs-link-hover-color-rgb: 15, 61, 145;
    --bs-body-font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

body {
    font-family: var(--bs-body-font-family);
    color: var(--dim-grey-darker);
    background: var(--off-white) !important;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--bs-body-font-family);
    color: var(--brand-ink);
    letter-spacing: -0.01em;
}

/* Header */
.top-bar {
    background: var(--brand-navy-dark) !important;
    border: 0;
    padding: 0.2rem 0;
}
.top-bar .top-nav-link, .top-bar .text-dim-grey, .top-bar strong { color: #fff !important; }
.top-bar .top-nav-link:hover { color: var(--brand-yellow) !important; background: transparent; }

.main-nav {
    background: #fff;
    border-bottom: 3px solid var(--brand-red);
    box-shadow: 0 2px 10px rgba(15, 61, 145, 0.08);
}
.site-brand img { display: block; height: 52px; width: auto; }
.main-nav-link {
    color: var(--brand-ink) !important;
    font-size: 0.9rem;
    border-radius: 0 !important;
}
.main-nav-link:hover, .main-nav-link.active {
    color: var(--brand-navy) !important;
    background: transparent !important;
    box-shadow: inset 0 -3px 0 var(--brand-yellow);
}
.dropdown-menu { border: 1px solid var(--brand-line) !important; border-radius: 0.375rem; }
.dropdown-item:hover { background: var(--brand-sky); color: var(--brand-navy); }

.featured-strip { background: #fff; border-bottom: 1px solid var(--brand-line); padding: 0.4rem 0; }
.featured-strip .featured-posts-mini { background: transparent; border: 0; box-shadow: none; }
.featured-strip .featured-posts-label { background: var(--brand-yellow); color: var(--brand-ink); border-radius: 0.25rem; }
.featured-strip .featured-posts-label i { color: var(--brand-navy) !important; }

/* Flat, consistent controls */
.btn { border-radius: 0.375rem; font-weight: 600; transform: none !important; }
.btn-primary {
    background: var(--brand-navy) !important;
    border: 1px solid var(--brand-navy) !important;
    color: #fff !important;
    box-shadow: none !important;
}
.btn-primary::before { display: none; }
.btn-primary:hover, .btn-primary:focus { background: var(--brand-navy-dark) !important; }
.btn-outline-primary { border-color: var(--brand-navy); color: var(--brand-navy); }
.btn-outline-primary:hover { background: var(--brand-navy) !important; border-color: var(--brand-navy) !important; color: #fff !important; }
.btn-accent, .btn-accent:hover, .btn-accent:focus { background: var(--brand-red); border: 1px solid var(--brand-red); color: #fff; }
.btn-accent:hover, .btn-accent:focus { background: #C92F3B; border-color: #C92F3B; }
.pagination .page-item.active .page-link { background: var(--brand-navy) !important; }

/* Cards */
.card { border: 1px solid var(--brand-line) !important; border-radius: 0.5rem; box-shadow: none !important; }
.card:hover { transform: none !important; }
.card-header { background: #fff !important; border-bottom: 1px solid var(--brand-line); }
.bg-gradient-primary, .bg-gradient-secondary { background: var(--brand-navy) !important; }
.icon-box, .icon-box-sm { background: var(--brand-sky) !important; }
.icon-box i, .icon-box-sm i { color: var(--brand-navy) !important; }
.text-primary { color: var(--brand-navy) !important; }
.text-warning { color: #B8901F !important; }
a { color: var(--brand-blue); }

/* Home hero */
.hero-section {
    background: var(--brand-navy) !important;
    border-bottom: 4px solid var(--brand-yellow);
    padding: 0 !important;
}
.hero-pattern, .hero-wave { display: none !important; }
.hero-section h1, .hero-section .hero-title {
    color: #fff !important;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    line-height: 1.15;
    text-shadow: none;
    animation: none;
}
.hero-section .hero-subtitle { color: #fff !important; animation: none; }
.hero-eyebrow { color: var(--brand-yellow); font-size: 0.8rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.hero-buttons .btn { animation: none; }
.hero-panel { background: #fff; border-radius: 0.5rem; padding: 1.25rem; box-shadow: 0 16px 36px rgba(11, 46, 111, 0.35); }
.hero-panel-title { color: var(--brand-ink) !important; font-size: 1rem; font-weight: 700; margin-bottom: 0.5rem; }
.hero-panel a { display: flex; align-items: center; gap: 0.75rem; padding: 0.7rem 0.25rem; border-top: 1px solid var(--brand-line); color: var(--brand-ink); font-weight: 600; text-decoration: none; }
.hero-panel a:hover { color: var(--brand-blue); }
.hero-panel a > i:first-child { width: 1.25rem; color: var(--brand-navy); text-align: center; }
.hero-panel a > i:last-child { margin-left: auto; color: var(--brand-muted); font-size: 0.75rem; }

/* Province portals */
.featured-links-section { margin-top: 0 !important; padding: 2.5rem 0 0; }
.section-heading { color: var(--brand-ink) !important; font-size: 1.5rem; font-weight: 700; margin-bottom: 0.25rem; }
.section-subheading { color: var(--brand-muted); margin-bottom: 1.25rem; }
.featured-links-card { border: 1px solid var(--brand-line); border-radius: 0.5rem !important; box-shadow: none !important; }
.featured-link-item:hover { background: var(--brand-sky); transform: none; }
.featured-icon-wrapper { background: var(--brand-sky) !important; }
.featured-link-item:hover .featured-icon-wrapper { background: var(--brand-navy) !important; }
.featured-link-item:hover .featured-icon-wrapper i { color: #fff !important; }

/* Notice above the footer */
.site-notice { background: #fff; border-top: 1px solid var(--brand-line); padding: 1.25rem 0; color: var(--brand-muted); font-size: 0.85rem; }
.site-notice strong { color: var(--brand-ink); }
.site-notice > .container > i { color: var(--brand-navy); }

/* Footer */
.site-footer { background: var(--brand-navy-dark); border-top: 4px solid var(--brand-yellow); color: #fff; }
.site-footer h6, .site-footer small, .site-footer .text-almost-black, .site-footer .text-dim-grey { color: #fff !important; }
.site-footer .border-top { border-color: rgba(255, 255, 255, 0.2) !important; }
.site-footer .btn-outline-secondary { border-color: rgba(255, 255, 255, 0.5); color: #fff; }
.site-footer .btn-outline-secondary:hover { background: var(--brand-yellow); border-color: var(--brand-yellow); color: var(--brand-ink); }

/* Keep anchor targets clear of the sticky header */
#province-portals { scroll-margin-top: 90px; }

/* The logo has a white background, so give it a white plate on the navy footer */
.site-footer img { background: #fff; border-radius: 0.375rem; padding: 0.35rem 0.5rem; height: auto; box-sizing: content-box; }
