/* Allied Health global theme overrides (Mary's typography + component notes) */

:root {
    --ah-brand-gold: #EAAA00;
    --ah-brand-blue: #004492;
    --ah-brand-navy: #002855;
    --ah-brand-dark: var(--ah-brand-navy);
    --ah-text: #2C2A29;
    --ah-muted: #524C47;
    --ah-border: #BFB8AF;
    --ah-surface: #F8F8F8;
    --ah-brand-light: #EAEFF5;
    --ah-font: 'Inter', sans-serif;
    --ah-container: 1400px;
    --ah-content-col: 1280px; /* body text column; hero card aligns its text to this (AlliedHealthHero/style.css) */

    /* WVUM design-token fallbacks: shared modules (Blurb, IconCta, etc.) style
       themselves with --wvu-* tokens from the wvumedicine.org child theme, which
       this site doesn't load. Mapped to Allied brand. */
    --wvu-color-primary-root: var(--ah-brand-blue);
    --wvu-color-primary-700: var(--ah-brand-navy);
    --wvu-color-primary-900: var(--ah-brand-navy);
    --wvu-color-primary-950: var(--ah-brand-navy);
    --wvu-color-primary-dark: var(--ah-brand-navy);
    --wvu-color-primary-500: var(--ah-brand-blue);
    --wvu-color-primary-200: #B9C9E4;
    --wvu-color-primary-50: var(--ah-brand-light);
    --wvu-color-secondary-root: var(--ah-brand-gold);
    --wvu-color-secondary-700: #C68700;
    --wvu-color-secondary-500: var(--ah-brand-gold);
    --wvu-color-secondary-400: #F0B733;
    --wvu-color-secondary-200: #F9E1A8;
    --wvu-color-primary-gold: var(--ah-brand-gold);
    --wvu-color-gold-700: #C68700;
    --wvu-color-white: #FFFFFF;
    --wvu-color-neutral-black: #2C2A29;
    --wvu-color-neutral-boldest: #2C2A29;
    --wvu-color-neutral-900: #2C2A29;
    --wvu-color-neutral-700: #404040;
    --wvu-color-neutral-600: #524C47;
    --wvu-color-neutral-500: #737373;
    --wvu-color-neutral-400: #A3A3A3;
    --wvu-color-neutral-200: #E5E5E5;
    --wvu-color-neutral-100: #F8F8F8;
    --wvu-color-neutral-50: #FAFAFA;
    --wvu-color-warm-gray-50: #FAFAF9;
    --wvu-color-warm-gray-100: #F5F5F4;
    --wvu-color-warm-gray-200: #E7E5E4;
    --wvu-color-warm-gray-300: #D6D3D1;
    --wvu-color-warm-gray-400: #A8A29E;
    --wvu-color-warm-gray-900: #1C1917;
    --wvu-color-gray-dark: #404040;
    --wvu-color-gray-light: #E5E5E5;
    --wvu-color-border: #BFB8AF;
    --wvu-color-blue-300: #7FA3D6;
    --wvu-color-blue-500: var(--ah-brand-blue);
    --wvu-color-blue-900: var(--ah-brand-navy);
    --wvu-color-dignity-blue-400: var(--ah-brand-blue);
    --wvu-color-solar-yellow-400: var(--ah-brand-gold);
    --wvu-color-solar-yellow-500: #C68700;
    --wvu-color-info-50: #EFF6FF;
    --wvu-color-info-100: #DBEAFE;
    --wvu-color-info-900: #1E3A8A;
    --wvu-color-error-50: #FEF2F2;
    --wvu-color-error-100: #FEE2E2;
    --wvu-color-error-900: #7F1D1D;

    --wvu-fw-normal: 400;
    --wvu-fw-medium: 500;
    --wvu-fw-semibold: 600;
    --wvu-fw-bold: 700;
    --wvu-font-size-14: 14px;
    --wvu-font-size-16: 16px;
    --wvu-body-xs: 12px;   --wvu-body-xs-lh: 1.5;
    --wvu-body-sm: 14px;   --wvu-body-sm-lh: 1.5;
    --wvu-body-md: 16px;   --wvu-body-md-lh: 1.6;
    --wvu-body-lg: 18px;   --wvu-body-lg-lh: 1.6;
    --wvu-body-2xl: 24px;  --wvu-body-2xl-lh: 1.4;
    --wvu-headline-xs: 20px;  --wvu-headline-xs-lh: 1.3;
    --wvu-headline-sm: 24px;  --wvu-headline-sm-lh: 1.25;
    --wvu-headline-md: 32px;  --wvu-headline-md-lh: 1.2;
    --wvu-headline-lg: 40px;  --wvu-headline-lg-lh: 1.2;
    --wvu-headline-xl: 48px;  --wvu-headline-xl-lh: 1.1;
    --wvu-headline-2xl: 56px; --wvu-headline-2xl-lh: 1.1;
    --wvu-icon-font-size-sm: 16px;
    --wvu-icon-font-size-base: 24px;
    --wvu-icon-font-size-md: 28px;
    --wvu-icon-font-size-lg: 32px;

    --wvu-spacing-base: 16px;
    --wvu-spacing-02: 2px;
    --wvu-spacing-04: 4px;  --wvu-spacing-4: 4px;
    --wvu-spacing-06: 6px;  --wvu-spacing-6: 6px;
    --wvu-spacing-08: 8px;  --wvu-spacing-8: 8px;
    --wvu-spacing-12: 12px;
    --wvu-spacing-16: 16px;
    --wvu-spacing-20: 20px;
    --wvu-spacing-24: 24px;
    --wvu-spacing-28: 28px;
    --wvu-spacing-32: 32px;
    --wvu-spacing-36: 36px;
    --wvu-spacing-40: 40px;
    --wvu-spacing-44: 44px;
    --wvu-spacing-48: 48px;
    --wvu-spacing-50: 50px;
    --wvu-spacing-60: 60px;
    --wvu-border-radius-04: 4px;
    --wvu-border-radius-08: 8px;
    --wvu-menu-transition: 0.2s ease;
}

/* Typography */
#et-main-area p,
#et-main-area li,
#et-main-area .et_pb_text {
    font-family: var(--ah-font);
    font-size: 16px;
    font-weight: 400;
}

/* divi-wvu child theme (shared with wvumedicine.org) sets `body .et_pb_text_inner` and h1–h6
   on its --wvu-headline-* clamp() scale; pin ours explicitly so the cascade doesn't depend
   on whether that theme is active. */
#et-main-area .et_pb_text_inner {
    font-size: 16px;
    line-height: 1.6;
}

#et-main-area h2 {
    font-family: var(--ah-font);
    font-size: 34px;
    font-weight: 400;
    line-height: 1.2;
    color: var(--ah-brand-navy);
}

/* h3 = person name on Our Team (mockup: 34px; title line 24px) */
#et-main-area h3 {
    font-family: var(--ah-font);
    font-size: 34px;
    font-weight: 400;
    line-height: 1.2;
    color: var(--ah-brand-navy);
}

#et-main-area h4 {
    font-family: var(--ah-font);
    font-size: 56px;
    font-weight: 400;
    line-height: 1.1;
    color: var(--ah-brand-navy);
}

/* Mary 8/11 asks for an <h4> on the bid-schedule section (Vendors / Membership), but her
   mockups draw that heading at 34px — 56px is only used for stats numbers. Add this class
   to the Text module to keep the h4 semantics at mockup size. Confirm with Mary. */
#et-main-area .ah-h4-section h4 {
    font-size: 34px;
    line-height: 1.2;
}

@media (max-width: 980px) {
    #et-main-area .ah-h4-section h4 {
        font-size: 28px;
    }
}

#et-main-area .allied_health_hero h1,
#et-main-area .allied_health_hero h2,
#et-main-area .allied_health_hero h3,
#et-main-area .allied_health_hero h4,
#et-main-area .ah-bg-navy h1,
#et-main-area .ah-bg-navy h2,
#et-main-area .ah-bg-navy h3,
#et-main-area .ah-bg-navy h4,
#et-main-area .ah-stats h2,
#et-main-area .ah-stats__heading,
#et-main-area .allied_health_footer h2,
#et-main-area .allied_health_footer h3,
#et-main-area .allied_health_footer h4 {
    color: #FFFFFF;
}

/* Body CTAs (Divi buttons inside page content) */
#et-main-area .et_pb_button_module_wrapper {
    margin-top: 32px;
}

#et-main-area .et_pb_button,
#et-main-area .et_pb_button:hover {
    background: var(--ah-brand-blue);
    color: #FFFFFF !important;
    font-family: var(--ah-font);
    font-size: 16px;
    font-weight: 700;
    padding: 12px 16px !important;
    border: 0;
    border-radius: 4px;
}

#et-main-area .et_pb_button:after,
#et-main-area .et_pb_button:before {
    display: none !important;
}

/* Same look as the Divi body CTA, for links rendered by our modules */
#et-main-area .ah-btn-primary,
#et-main-area .ah-btn-primary:visited {
    display: inline-block;
    background: var(--ah-brand-blue);
    color: #FFFFFF !important;
    font-family: var(--ah-font);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    padding: 12px 16px;
    border: 0;
    border-radius: 4px;
    text-decoration: none;
    transition: background-color .2s;
}

#et-main-area .ah-btn-primary:hover,
#et-main-area .ah-btn-primary:focus {
    background: var(--ah-brand-navy);
    color: #FFFFFF !important;
    text-decoration: none;
}

/* Back link on detail pages: small navy outline pill with a chevron */
#et-main-area .ah-back {
    margin: 0 0 24px;
}

#et-main-area .ah-back__link,
#et-main-area .ah-back__link:visited {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px 8px 12px;
    border: 1px solid var(--ah-brand-navy);
    border-radius: 999px;
    background: transparent;
    color: var(--ah-brand-navy) !important;
    font-family: var(--ah-font);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color .2s, color .2s;
}

#et-main-area .ah-back__link::before {
    content: "";
    width: 7px;
    height: 7px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    margin-left: 2px;
}

#et-main-area .ah-back__link:hover,
#et-main-area .ah-back__link:focus {
    background: var(--ah-brand-navy);
    color: #FFFFFF !important;
    text-decoration: none;
}

/* Body content column — Figma text edge is 320px on a 1920 canvas (1280px col).
   Divi default is 80% / 1080px; the hero card mirrors this exact formula. */
#et-main-area .et_pb_row {
    width: 80%;
    max-width: var(--ah-content-col);
}

/* Section background utilities (add as CSS class on the Divi section) */
.ah-bg-light {
    background-color: var(--ah-brand-light) !important;
}

.ah-bg-navy {
    background-color: var(--ah-brand-navy) !important;
}

.ah-bg-navy h1,
.ah-bg-navy h2,
.ah-bg-navy h3,
.ah-bg-navy h4,
.ah-bg-navy p,
.ah-bg-navy li {
    color: #FFFFFF;
}

/* Centered section title (Explore Resources) */
#et-main-area .ah-section-title,
#et-main-area .ah-section-title .et_pb_text_inner {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

#et-main-area .ah-section-title h1,
#et-main-area .ah-section-title h2,
#et-main-area .ah-section-title h3,
#et-main-area .ah-section-title h4,
#et-main-area .ah-section-title .et_pb_module_header {
    margin: 0 0  16px;
    font-family: var(--ah-font);
    font-size: 40px;
    font-weight: 400;
    line-height: 1.2;
    color: var(--ah-brand-navy);
    text-align: center;
}

/* Left-aligned variant (Our Team: Leadership / Sales / Staff) */
#et-main-area .ah-section-title--left h1,
#et-main-area .ah-section-title--left h2,
#et-main-area .ah-section-title--left h3,
#et-main-area .ah-section-title--left h4,
#et-main-area .ah-section-title--left .et_pb_module_header {
    text-align: left;
}

/* Our Team bios — section CSS class `ah-team` (mockup: name 34px, title 24px) */
#et-main-area .ah-team .et_pb_text_inner h3 {
    margin: 0 0 8px;
}

#et-main-area .ah-team .et_pb_text_inner h3 + p {
    margin: 0 0 16px;
    padding-bottom: 0 !important;
    font-size: 24px;
    line-height: 1.3;
    color: var(--ah-muted);
}

#et-main-area .ah-team .et_pb_text_inner h3 + p strong {
    font-weight: 500;
}

#et-main-area .ah-team .et_pb_text_inner {
    max-width: 72ch;
}

/* Navy band text (after .ah-section-title so it wins on blurb headers) */
#et-main-area .ah-bg-navy .et_pb_module_header,
#et-main-area .ah-bg-navy .et_pb_blurb_description,
#et-main-area .ah-bg-navy .et_pb_blurb_description p,
#et-main-area .ah-bg-navy .et_pb_blurb_description li,
#et-main-area .ah-bg-navy .et_pb_text_inner,
#et-main-area .ah-bg-navy .et_pb_text_inner p,
#et-main-area .ah-bg-navy .et_pb_text_inner li,
#et-main-area .ah-bg-navy .ah-section-title h1,
#et-main-area .ah-bg-navy .ah-section-title h2,
#et-main-area .ah-bg-navy .ah-section-title h3,
#et-main-area .ah-bg-navy .ah-section-title h4 {
    color: #FFFFFF;
}

/* Member portal outline buttons — Mary 8/11: no fill, 1px #002855 stroke, 8px radius,
   40px/20px padding, Inter 24/500, no shadow, 20px between buttons.
   `.ah-btn-resource` is the legacy class name; both render identically. */
#et-main-area .ah-btn-outline,
#et-main-area .ah-btn-outline.et_pb_button,
#et-main-area .ah-btn-outline .et_pb_button,
#et-main-area .ah-btn-resource,
#et-main-area .ah-btn-resource.et_pb_button,
#et-main-area .ah-btn-resource .et_pb_button {
    display: inline-block;
    box-sizing: border-box;
    max-width: 100%;
    background: none !important;
    border: 1px solid var(--ah-brand-navy) !important;
    border-radius: 8px;
    padding: 20px 40px !important;
    font-family: var(--ah-font);
    font-size: 24px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--ah-brand-navy) !important;
    text-align: center;
    text-decoration: none;
    box-shadow: none !important;
}

#et-main-area .ah-btn-outline:after,
#et-main-area .ah-btn-outline .et_pb_button:after,
#et-main-area .ah-btn-resource:after,
#et-main-area .ah-btn-resource .et_pb_button:after {
    display: none !important;
}

/* Divi re-pads .et_pb_button on hover to make room for its icon — pin ours */
body #page-container #et-main-area .et_pb_section .ah-btn-outline,
body #page-container #et-main-area .et_pb_section .ah-btn-outline.et_pb_button,
body #page-container #et-main-area .et_pb_section .ah-btn-outline .et_pb_button,
body #page-container #et-main-area .et_pb_section .ah-btn-outline:hover,
body #page-container #et-main-area .et_pb_section .ah-btn-outline.et_pb_button:hover,
body #page-container #et-main-area .et_pb_section .ah-btn-outline .et_pb_button:hover,
body #page-container #et-main-area .et_pb_section .ah-btn-resource,
body #page-container #et-main-area .et_pb_section .ah-btn-resource.et_pb_button,
body #page-container #et-main-area .et_pb_section .ah-btn-resource .et_pb_button,
body #page-container #et-main-area .et_pb_section .ah-btn-resource:hover,
body #page-container #et-main-area .et_pb_section .ah-btn-resource.et_pb_button:hover,
body #page-container #et-main-area .et_pb_section .ah-btn-resource .et_pb_button:hover {
    padding: 20px 40px !important;
    line-height: 1.2 !important;
    border-width: 1px !important;
    border-style: solid !important;
    box-shadow: none !important;
    transition: background-color 0.15s ease, color 0.15s ease !important;
}

body #page-container #et-main-area .et_pb_section .ah-btn-outline:hover,
body #page-container #et-main-area .et_pb_section .ah-btn-outline.et_pb_button:hover,
body #page-container #et-main-area .et_pb_section .ah-btn-outline .et_pb_button:hover,
body #page-container #et-main-area .et_pb_section .ah-btn-resource:hover,
body #page-container #et-main-area .et_pb_section .ah-btn-resource.et_pb_button:hover,
body #page-container #et-main-area .et_pb_section .ah-btn-resource .et_pb_button:hover {
    background: var(--ah-brand-navy) !important;
    border-color: var(--ah-brand-navy) !important;
    color: #FFFFFF !important;
}

/* Current page in the Contracts / Videos toggle — add `ah-btn-outline--active` to that button */
body #page-container #et-main-area .et_pb_section .ah-btn-outline--active,
body #page-container #et-main-area .et_pb_section .ah-btn-outline--active.et_pb_button,
body #page-container #et-main-area .et_pb_section .ah-btn-outline--active .et_pb_button,
body #page-container #et-main-area .et_pb_section .ah-btn-outline--active:hover,
body #page-container #et-main-area .et_pb_section .ah-btn-outline--active.et_pb_button:hover,
body #page-container #et-main-area .et_pb_section .ah-btn-outline--active .et_pb_button:hover {
    background: var(--ah-brand-blue) !important;
    border-color: var(--ah-brand-blue) !important;
    color: #FFFFFF !important;
}

/* 20px between buttons: add `ah-btn-group` to the row (or column) holding them */
#et-main-area .ah-btn-group .et_pb_column,
#et-main-area .et_pb_column.ah-btn-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

#et-main-area .ah-btn-group .et_pb_button_module_wrapper {
    margin: 0;
    width: auto;
}

@media (max-width: 980px) {
    #et-main-area .ah-btn-group .et_pb_column,
    #et-main-area .et_pb_column.ah-btn-group {
        flex-direction: column;
        align-items: stretch;
    }

    #et-main-area .ah-btn-outline,
    #et-main-area .ah-btn-outline.et_pb_button,
    #et-main-area .ah-btn-outline .et_pb_button,
    #et-main-area .ah-btn-resource,
    #et-main-area .ah-btn-resource.et_pb_button,
    #et-main-area .ah-btn-resource .et_pb_button {
        width: 100%;
        font-size: 20px;
    }
}

/* WVUM Blurb CTA "Primary Blue Button" on Allied */
#et-main-area .wvu_blurb a.btn.btn-primary.et_pb_blurb_cta {
    display: inline-flex;
    margin-top: 32px;
    align-items: center;
    background: var(--ah-brand-blue) !important;
    color: #FFFFFF !important;
    border: 1px solid var(--ah-brand-blue);
    border-radius: 8px;
    padding: 12px 16px;
    font-family: var(--ah-font);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}

#et-main-area .wvu_blurb a.btn.btn-primary.et_pb_blurb_cta:after {
    display: none !important;
}

#et-main-area .wvu_blurb a.btn.btn-primary.et_pb_blurb_cta:hover {
    background: var(--ah-brand-navy) !important;
    border-color: var(--ah-brand-navy);
}

/* Footer: contact block ↔ page index gap */
.allied_health_footer .ah-footer__top {
    gap: 160px;
}

@media (max-width: 980px) {
    .allied_health_footer .ah-footer__top {
        gap: 8px;
    }
}
