/* ==========================================================================
   The Government of The Bahamas — Account Console Theme
   Overrides PatternFly v5 defaults to match the VAT Stamp design system.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700&family=Roboto:wght@400;500;700&display=swap');

/* ---------- Design tokens ---------- */
:root {
    --ta-brand:       #005A9E;
    --ta-brand-hover: #004A82;
    --ta-brand-ring:  rgba(0, 90, 158, 0.10);
    --ta-brand-300:   #0A8EF8;
    --ta-sidebar-bg:  #004278;
    --ta-text:        #020817;
    --ta-text-muted:  #6B7280;
    --ta-label:       #344054;
    --ta-border:      #E5E7EB;
    --ta-radius:      0.5rem;
    --ta-shadow-xs:   0px 1px 2px 0px rgba(16, 24, 40, 0.05);

    /* PatternFly overrides */
    --pf-v5-global--primary-color--100: var(--ta-brand);
    --pf-v5-global--primary-color--200: var(--ta-brand-hover);
    --pf-v5-global--link--Color: var(--ta-brand);
    --pf-v5-global--link--Color--hover: var(--ta-brand-hover);
    --pf-v5-global--FontFamily--sans-serif: 'Open Sans', system-ui, sans-serif;
}

/* ---------- Typography ---------- */
body {
    font-family: 'Open Sans', system-ui, sans-serif !important;
    color: var(--ta-text) !important;
    -webkit-font-smoothing: antialiased;
}

/* Headings: Roboto bold (matching VAT Stamp) */
h1, h2, h3, h4, h5, h6,
.pf-v5-c-title,
.pf-v5-c-content h1,
.pf-v5-c-content h2,
.pf-v5-c-content h3 {
    font-family: 'Roboto', system-ui, sans-serif !important;
    font-weight: 700 !important;
}

/* Body font on all PatternFly components */
.pf-v5-c-page,
.pf-v5-c-form__label,
.pf-v5-c-form-control,
.pf-v5-c-button,
.pf-v5-c-nav__link,
.pf-v5-c-card,
.pf-v5-c-description-list,
.pf-v5-c-page__main-section {
    font-family: 'Open Sans', system-ui, sans-serif !important;
}

/* Form label weight */
.pf-v5-c-form__label-text {
    font-weight: 600 !important;
}

/* ---------- Header / Masthead ---------- */
.pf-v5-c-masthead {
    background: var(--ta-brand) !important;
    --pf-v5-c-masthead--BackgroundColor: var(--ta-brand);
}

/* Replace Keycloak logo with Government brand */
.pf-v5-c-masthead__brand {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

/* Hide the default Keycloak logo */
.pf-v5-c-masthead__brand img,
.pf-v5-c-masthead__brand svg,
.pf-v5-c-brand {
    display: none !important;
}

/* Add Government branding via CSS */
.pf-v5-c-masthead__brand::before {
    content: '';
    display: block;
    width: 36px;
    height: 36px;
    background: url('../img/coat-of-arms.svg') center/contain no-repeat;
    flex-shrink: 0;
}

.pf-v5-c-masthead__brand::after {
    content: 'The Government of The Bahamas';
    color: #ffffff;
    font-size: 0.9375rem;
    font-weight: 600;
    font-family: 'Roboto', system-ui, sans-serif;
    white-space: nowrap;
}

/* User dropdown toggle in header — matching VAT Stamp nav style */
.pf-v5-c-masthead .pf-v5-c-dropdown__toggle,
.pf-v5-c-masthead .pf-v5-c-menu-toggle {
    color: rgba(255,255,255,0.9) !important;
    border: 0 !important;
    border-width: 0 !important;
    border-style: none !important;
    border-color: transparent !important;
    border-radius: var(--ta-radius) !important;
    padding: 0.375rem 0.75rem !important;
    background: transparent !important;
    outline: none !important;
    box-shadow: none !important;
    transition: background-color 0.15s !important;
    --pf-v5-c-menu-toggle--BorderTopWidth: 0;
    --pf-v5-c-menu-toggle--BorderRightWidth: 0;
    --pf-v5-c-menu-toggle--BorderBottomWidth: 0;
    --pf-v5-c-menu-toggle--BorderLeftWidth: 0;
    --pf-v5-c-menu-toggle--BorderColor: transparent;
}

.pf-v5-c-masthead .pf-v5-c-dropdown__toggle:hover,
.pf-v5-c-masthead .pf-v5-c-menu-toggle:hover {
    background: rgba(255,255,255,0.1) !important;
}

/* PF5 draws borders via ::before and ::after pseudo-elements — remove all */
.pf-v5-c-masthead .pf-v5-c-menu-toggle::before,
.pf-v5-c-masthead .pf-v5-c-menu-toggle::after,
.pf-v5-c-masthead .pf-v5-c-menu-toggle.pf-m-plain::before,
.pf-v5-c-masthead .pf-v5-c-menu-toggle.pf-m-plain::after,
.pf-v5-c-masthead .pf-v5-c-dropdown__toggle::before,
.pf-v5-c-masthead .pf-v5-c-dropdown__toggle::after {
    display: none !important;
    content: none !important;
}

/* User dropdown menu — styled to match VAT Stamp dropdowns */
.pf-v5-c-menu {
    border: 1px solid var(--ta-border) !important;
    border-radius: var(--ta-radius) !important;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1) !important;
    padding: 0.25rem !important;
    overflow: hidden;
}

.pf-v5-c-menu__item {
    border-radius: calc(var(--ta-radius) - 2px) !important;
    font-size: 0.875rem !important;
    padding: 0.5rem 0.75rem !important;
    color: var(--ta-text) !important;
    transition: background-color 0.1s !important;
}

.pf-v5-c-menu__item:hover,
.pf-v5-c-menu__item:focus {
    background-color: #F1F5FA !important;
    color: var(--ta-text) !important;
}

/* ---------- Sidebar navigation ---------- */
.pf-v5-c-page__sidebar {
    background: #F4F6F9 !important;
    --pf-v5-c-page__sidebar--BackgroundColor: #F4F6F9;
    border-right: 1px solid #E5E7EB !important;
}

/* Remove all PF5 pseudo-element borders/lines in nav */
.pf-v5-c-nav__link::before, .pf-v5-c-nav__link::after,
.pf-v5-c-nav__item::before, .pf-v5-c-nav__item::after,
.pf-v5-c-nav__list::before, .pf-v5-c-nav__list::after,
.pf-v5-c-nav__subnav::before, .pf-v5-c-nav__subnav::after {
    display: none !important;
    content: none !important;
    border: 0 !important;
}

.pf-v5-c-nav__item + .pf-v5-c-nav__item { border-top: none !important; }
.pf-v5-c-nav__link { border: none !important; }
.pf-v5-c-nav hr, .pf-v5-c-nav__separator { display: none !important; }

.pf-v5-c-nav {
    padding: 0.75rem 0.5rem !important;
}

/* Nav links — dark blue, semibold */
.pf-v5-c-nav__link.pf-v5-c-nav__link {
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    font-family: 'Open Sans', system-ui, sans-serif !important;
    padding: 0.5rem 1rem !important;
    margin: 0.0625rem 0.375rem !important;
    border-radius: 0.375rem !important;
    color: #003D6B !important;
    background: transparent !important;
}

.pf-v5-c-nav__link.pf-v5-c-nav__link:hover {
    color: #005A9E !important;
    background: rgba(0, 90, 158, 0.06) !important;
}

/* Active/current item — brighter blue, bold */
.pf-v5-c-nav__link.pf-m-current,
.pf-v5-c-nav__link.pf-m-current.pf-v5-c-nav__link {
    color: #005A9E !important;
    font-weight: 700 !important;
    background: rgba(0, 90, 158, 0.08) !important;
}

/* Expanded section header */
.pf-v5-c-nav__link.pf-m-expanded,
.pf-v5-c-nav__link.pf-m-expanded.pf-v5-c-nav__link {
    color: #005A9E !important;
    background: rgba(0, 90, 158, 0.06) !important;
}

/* Toggle arrow */
.pf-v5-c-nav__toggle { color: #003D6B !important; }
.pf-v5-c-nav__link:hover .pf-v5-c-nav__toggle,
.pf-v5-c-nav__link.pf-m-expanded .pf-v5-c-nav__toggle {
    color: #005A9E !important;
}

/* Subnav items — slightly lighter weight and indented */
.pf-v5-c-nav__subnav .pf-v5-c-nav__link.pf-v5-c-nav__link {
    padding-left: 2rem !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    color: #003D6B !important;
}

/* ---------- Main content area ---------- */
.pf-v5-c-page__main {
    background: #f9fafb;
}

/* Page title */
.pf-v5-c-title {
    color: var(--ta-text);
}

/* ---------- Buttons ---------- */
.pf-v5-c-button.pf-m-primary {
    --pf-v5-c-button--m-primary--BackgroundColor: var(--ta-brand);
    --pf-v5-c-button--m-primary--hover--BackgroundColor: var(--ta-brand-hover);
    --pf-v5-c-button--m-primary--active--BackgroundColor: var(--ta-brand-hover);
    --pf-v5-c-button--m-primary--focus--BackgroundColor: var(--ta-brand);
    border-radius: var(--ta-radius);
    font-weight: 500 !important;
}

.pf-v5-c-button.pf-m-link {
    --pf-v5-c-button--m-link--Color: var(--ta-brand);
    --pf-v5-c-button--m-link--hover--Color: var(--ta-brand-hover);
}

/* ---------- Form controls ---------- */
.pf-v5-c-form-control {
    --pf-v5-c-form-control--BorderRadius: var(--ta-radius);
}

.pf-v5-c-form-control:focus-within {
    --pf-v5-c-form-control--focus--BorderBottomColor: var(--ta-brand);
}

/* ---------- Cards ---------- */
.pf-v5-c-card {
    border-radius: var(--ta-radius);
    box-shadow: var(--ta-shadow-xs);
}

/* ---------- Hide unwanted sections (uncomment to hide) ---------- */
/*
.pf-v5-c-nav__link[href*="/applications"] { display: none !important; }
.pf-v5-c-nav__link[href*="/linked-accounts"] { display: none !important; }
*/

/* ---------- Responsive ---------- */
@media (max-width: 768px) {
    .pf-v5-c-masthead__brand::after {
        font-size: 0.8125rem;
    }
}
