/*
Custom CSS for website theme
Version: 1.0
Description: Used to establish the look and feel for the custom website
Author: Full Spectrum Marketing
Author URL: http://www.fsm.agency

DEVELOPER NOTES:
- #page-container selector is intentionally used throughout for scoping to override
  Divi and WordPress core styles. This ensures proper specificity and prevents
  style conflicts with parent theme and plugin styles.
- Empty button style declarations (fsm-btn-*) are framework placeholders for
  custom website implementations. Fill these in per project requirements.
- Transition syntax: Property-specific transitions (e.g., "border-color 0.2s ease")
  are preferred for performance and clarity, but "ease all" is acceptable for
  simple cases where multiple properties need the same transition.
- Copy variables from theme.css to variables.css when ready to organize per project.
- Use only semantic variables in CSS (e.g. --text-link, --background-tertiary). Do not use
  primitive tokens (e.g. --blue-500, --gray-200) outside of :root. Primitives are only used
  to define semantic variables inside :root.
- If a semantic is missing (e.g. --text-link-hover, --btn-primary-bg-lighter,
  --background-brand-subtle), add it to :root and use it here. Typography tokens
  (--font-size-*, --font-weight-*, --line-height-*, --font-family-sans) are still used
  where no semantic equivalent exists (e.g. --form-label-font-size, --heading-size-h3).
*/
:root {
    --font-family-heading: "Barlow Condensed", sans-serif;
    --font-family-body: "Source Sans 3", sans-serif;
    --font-family-sans: var(--font-family-body);
    --font-family-serif: Roboto Serif;

    --font-weight-extra-light: 100;
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-bold: 700;

    --font-size-50: 12px;
    --font-size-100: 14px;
    --font-size-200: 16px;
    --font-size-300: 20px;
    --font-size-400: 24px;
    --font-size-500: 32px;
    --font-size-600: 40px;
    --font-size-700: 48px;
    --font-size-800: 64px;
    --font-size-900: 72px;

    --line-height-xs: 1.25;
    --line-height-sm: 1.5;

    --size-0: 0px;
    --size-1: 1px;
    --size-2: 2px;
    --size-4: 4px;
    --size-6: 6px;
    --size-8: 8px;
    --size-10: 10px;
    --size-12: 12px;
    --size-16: 16px;
    --size-20: 20px;
    --size-24: 24px;
    --size-28: 28px;
    --size-32: 32px;
    --size-40: 40px;
    --size-48: 48px;
    --size-56: 56px;
    --size-64: 64px;
    --size-80: 80px;
    --size-96: 96px;
    --size-100: 100px;
    --size-120: 120px;
    --size-160: 160px;
    --size-999: 999px;
    --size-negative-4: -4px;
    --size-negative-8: -8px;
    --size-negative-12: -12px;
    --size-negative-16: -16px;
    --size-negative-24: -24px;

    --white: #FFFFFF;
    --black: #000000;
    --gray-50: #FBFCFDFF;
    --gray-100: #F1F5F9FF;
    --gray-200: #E2E8F0FF;
    --gray-300: #CBD5E1FF;
    --gray-400: #94A3B8FF;
    --gray-500: #64748BFF;
    --gray-600: #475569FF;
    --gray-700: #334155FF;
    --gray-800: #1F2937FF;
    --gray-900: #0F172AFF;

    --blue-50: #EFF6FFFF;
    --blue-100: #DBEAFEFF;
    --blue-200: #BFDBFEFF;
    --blue-300: #93C5FDFF;
    --blue-400: #60A5FAFF;
    --blue-500: #3B82F6FF;
    --blue-600: #2563EBFF;
    --blue-700: #1D4ED8FF;
    --blue-800: #1E40AFFF;
    --blue-900: #1E3A8AFF;

    --teal-50: #F0FDFAFF;
    --teal-100: #CCFBF1FF;
    --teal-200: #99F6E4FF;
    --teal-300: #5EEAD4FF;
    --teal-400: #2DD4BFFF;
    --teal-500: #14B8A6FF;
    --teal-600: #0D9488FF;
    --teal-700: #0F766EFF;
    --teal-800: #115E59FF;
    --teal-900: #134E4AFF;

    --orange-50: #FFF7ED;
    --orange-100: #FFEDD5;
    --orange-400: #FB923C;
    --orange-500: #F97316;
    --orange-600: #EA580C;
    --orange-700: #C2410C;

    --purple-50: #EEF2FF;
    --purple-100: #E0E7FF;
    --purple-400: #818CF8;
    --purple-500: #6366F1;
    --purple-600: #4F46E5;
    --purple-700: #4338CA;

    --feedback-green-50: #F0FDF4;
    --feedback-green-100: #DCFCE7;
    --feedback-green-500: #22C55E;
    --feedback-green-700: #15803D;

    --feedback-red-50: #FEF2F2;
    --feedback-red-100: #FEE2E2;
    --feedback-red-500: #EF4444;
    --feedback-red-700: #B91C1C;

    --radius-none: var(--size-0);
    --radius-sm: var(--size-4);
    --radius-md: var(--size-8);
    --radius-lg: var(--size-16);
    --radius-xl: var(--size-24);
    --radius-full: var(--size-999);

    --border-width-none: var(--size-0);
    --border-width-default: var(--size-1);
    --border-width-strong: var(--size-2);
    --border-width-heavy: var(--size-4);

    --space-none: var(--size-0);
    --space-xs: var(--size-4);
    --space-sm: var(--size-8);
    --space-md: var(--size-12);
    --space-lg: var(--size-16);

    --space-card-sm: var(--size-20);
    --space-card-md: var(--size-24);
    --space-card-lg: var(--size-32);
    --space-card-xl: var(--size-40);

    --space-section-sm: var(--size-48);
    --space-section-md: var(--size-64);
    --space-section-lg: var(--size-80);
    --space-section-hero: var(--size-96);

    --background-primary: var(--gray-50);
    --background-secondary: var(--gray-100);
    --background-tertiary: var(--gray-200);
    --background-inverse: var(--gray-800);

    --text-default: var(--gray-800);
    --color-text-default: var(--text-default);
    --text-heading: var(--gray-900);
    --text-muted: var(--gray-500);
    --text-link: var(--blue-500);
    --text-on-action: var(--gray-50);
    --text-inverse: var(--gray-50);

    /* Icon tokens aligned to Figma Semantic Color (icon.*) */
    --icon-default: #000090;
    --icon-muted: #7A7570;
    --icon-accent: #A07D00;
    --icon-disabled: #B8B2A9;
    --icon-brand: var(--blue-500);
    --icon-on-brand: #FEC901;
    --icon-on-brand-secondary: #FFFFFF;

    --border-default: var(--gray-200);
    --border-interactive: var(--blue-500);
    --border-accent: #FEC901;
    --border-focus: var(--orange-400);

    --feedback-success-bg: var(--feedback-green-50);
    --feedback-success-text: var(--feedback-green-700);
    --feedback-destructive-bg: var(--feedback-red-50);
    --feedback-destructive-text: var(--feedback-red-700);

    --form-field-label: var(--text-default);
    --form-field-border: var(--border-default);
    --form-field-background: var(--background-primary);
    --form-field-focus: var(--border-focus);
    --form-field-text: var(--text-default);
    --form-icon: var(--icon-default);
    --form-placeholder-text: #B8B2A9;
    --form-required-error: var(--feedback-destructive-text);
    --form-success: var(--feedback-success-text);

    --btn-radius: var(--radius-md);
    --btn-padding-x: var(--space-lg);
    --btn-padding-y: var(--space-md);
    --btn-gap: var(--size-8);
    --btn-font-size: 16px;
    --btn-font-weight: 700px;
    --btn-border-width: var(--size-2);
    --btn-focus-ring-width: var(--size-2);
    --btn-focus-ring-offset: 0px;
    --btn-focus-ring-radius: 0px;
    --btn-primary-bg: var(--blue-500);
    --btn-primary-bg-hover: var(--blue-600);
    --btn-primary-text: var(--white);
    --btn-outlined-border: var(--blue-500);
    --btn-outlined-border-hover: var(--blue-600);
    --btn-outlined-text: var(--blue-500);
    --btn-outlined-text-hover: var(--blue-600);
    --btn-primary-outlined-border: #000090;
    --btn-primary-outlined-ghost-bg-hover: #fef6dc;
    --btn-primary-outlined-ghost-text: #000090;
    /* Filled surface for outline/ghost CTAs (not pure white) */
    --btn-outlined-surface: #f5f5f5;
    /* Solid secondary CTA (matches gold accent used on secondary-outline) */
    --color-action-secondary-default: #fec901;
    --color-action-secondary-hover: #e6b800;
    --color-action-secondary-text: #000090;
    --btn-secondary-outlined-border: #fec901;
    --btn-secondary-outlined-ghost-text: #fec901;
    --btn-secondary-outlined-ghost-bg-hover: #000090;
    --btn-inverse-outlined-border: #fff;
    --btn-inverse-outlined-ghost-text: #fff;
    --btn-inverse-outlined-ghost-bg-hover: #0a1230;
    --btn-ghost-text: var(--blue-500);
    --btn-ghost-text-hover: var(--blue-600);
    --btn-ghost-bg-hover: var(--blue-100);
    --var---color-action-secondary-default-: var(--teal-500);
    --var---color-action-secondary-hover-: var(--teal-600);
    --var---color-action-secondary-text-: var(--white);
    --var---color-action-accent-default-: var(--orange-500);
    --var---color-action-accent-hover-: var(--orange-600);
    --var---color-action-accent-text-: var(--white);

    /* Focus ring & skip-link (used by core.css) */
    --focus-ring-outer: #109cde;
    --focus-ring-inner: #ffffff;
    --border-focus: #109cde;

    /* Video control theming (used by core.css) */
    --video-control-bg: rgba(0, 0, 0, 0.6);
    --video-control-bg-hover: rgba(0, 0, 0, 0.8);
    --video-control-shadow: rgba(0, 0, 0, 0.4);
    --video-control-shadow-hover: rgba(0, 0, 0, 0.6);
    --video-control-focus: var(--orange-400);
    --video-control-icon: var(--white);
}

.skip-link {
    background: var(--btn-primary-bg);
    color: var(--text-inverse);
}

.et_pb_section {
    background-color: #F4F2ED; /* Replace with your hex code */
}

/* BUTTON TEXT IS DARK - PRIMARY */
#page-container .et_pb_button.fsm-btn-primary,
#page-container .et_pb_button.et_pb_button_one {}

#page-container .et_pb_button.fsm-btn-primary:hover,
#page-container .et_pb_button.et_pb_button_one:hover {}

#page-container .et_pb_button.fsm-btn-primary:focus,
#page-container .et_pb_button.et_pb_button_one:focus {}

/* BUTTON TEXT IS DARK - SECONDARY */
#page-container .et_pb_button.fsm-btn-secondary,
#page-container .et_pb_button.et_pb_button_two {}

#page-container .et_pb_button.fsm-btn-secondary:hover,
#page-container .et_pb_button.et_pb_button_two:hover {}

#page-container .et_pb_button.fsm-btn-secondary:focus,
#page-container .et_pb_button.et_pb_button_two:focus {}

/* BUTTON TEXT IS LIGHT - PRIMARY */
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-primary,
#page-container .et_pb_button.et_pb_bg_layout_dark.et_pb_button_one {}

#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-primary:hover,
#page-container .et_pb_button.et_pb_bg_layout_dark.et_pb_button_one:hover {}

#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-primary:focus,
#page-container .et_pb_button.et_pb_bg_layout_dark.et_pb_button_one:focus {}

/* BUTTON TEXT IS LIGHT - SECONDARY*/
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-secondary,
#page-container .et_pb_button.et_pb_bg_layout_dark.et_pb_button_two {}

#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-secondary:hover,
#page-container .et_pb_button.et_pb_bg_layout_dark.et_pb_button_two:hover {}

#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-secondary:focus,
#page-container .et_pb_button.et_pb_bg_layout_dark.et_pb_button_two:focus {}

/* WHITE BUTTON*/
#page-container .et_pb_button.fsm-btn-white {}

#page-container .et_pb_button.fsm-btn-white:hover {}

#page-container .et_pb_button.fsm-btn-white:focus {}

/* LARGE BUTTON SIZING */
#page-container .et_pb_button.large,
#page-container .et_pb_button.large:hover {
    padding: 1em 2em;
    font-size: var(--font-size-200);
}

/* SMALL BUTTON SIZING */
#page-container .et_pb_button.small,
#page-container .et_pb_button.small:hover {
    padding: .7em 1.3em;
    font-size: 14px;
}

/* All Divi buttons — default padding matches Divi hover (room for ::after chevron), no shift on hover */
#page-container #main-content .et_pb_button,
#page-container #main-content .et_pb_button:hover,
#page-container .et_pb_button,
#page-container .et_pb_button:hover {
    padding: 0.3em 2em 0.3em 0.7em;
}

.et_button_left #page-container #main-content .et_pb_button,
.et_button_left #page-container #main-content .et_pb_button:hover,
.et_button_left #page-container .et_pb_button,
.et_button_left #page-container .et_pb_button:hover {
    padding: 0.3em 0.7em 0.3em 2em;
}

.rtl #page-container #main-content .et_pb_button,
.rtl #page-container #main-content .et_pb_button:hover,
.rtl #page-container .et_pb_button,
.rtl #page-container .et_pb_button:hover {
    padding: 0.3em 0.7em 0.3em 2em;
}

/* Primary solid CTA — add class `primary-solid` (e.g. Divi button module → Advanced → CSS ID & Classes).
   #main-content chain beats core.css `#page-container #main-content .et_pb_button` (same fill/border as default). */
#page-container #main-content .primary-solid,
#page-container #main-content .et_pb_button.primary-solid,
#page-container #main-content a.primary-solid,
#page-container .primary-solid,
#page-container .et_pb_button.primary-solid,
#page-container a.primary-solid {
    --btn-primary-bg: #000090;
    --btn-primary-bg-hover: #111e4a;
    border-radius: var(--radius-md, 0.5rem);
    background: var(--btn-primary-bg, #000090);
    background-color: var(--btn-primary-bg, #000090);
    color: var(--btn-primary-text, #fff);
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.025rem;
    text-transform: uppercase;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, text-decoration 0.2s ease;
}

#page-container #main-content .primary-solid:hover,
#page-container #main-content .et_pb_button.primary-solid:hover,
#page-container #main-content a.primary-solid:hover,
#page-container .primary-solid:hover,
#page-container .et_pb_button.primary-solid:hover,
#page-container a.primary-solid:hover {
    border-radius: var(--radius-md, 0.5rem);
    background: var(--btn-primary-bg-hover, #111e4a);
    background-color: var(--btn-primary-bg-hover, #111e4a);
    color: var(--btn-primary-text, #fff);
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.025rem;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-color: var(--border-accent, #fec901);
    text-decoration-thickness: 10%;
    text-underline-offset: 12%;
    text-underline-position: from-font;
    text-transform: uppercase;
    border: none;
}

/*
 * Max Mega Menu: put `primary-solid` (and optionally `mega-primary-solid`) on the <li>.
 * Same look as Divi `.primary-solid` — targets `a.mega-menu-link` (overrides mega-menu !important rules).
 * Chevron matches Divi `.et_pb_button:after` (ETmodules glyph — not automatic on menu links).
 * Max Mega Menu generated CSS sets `#mega-menu-wrap-… a.mega-menu-link:after { display: none }`;
 * use two IDs + `li.primary-solid` so our chevron beats that reset (do not edit uploads/maxmegamenu/style.css).
 */
#mega-menu-wrap-primary-menu #mega-menu-primary-menu li.primary-solid > a.mega-menu-link,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-primary-solid > a.mega-menu-link,
#page-container li.primary-solid > a.mega-menu-link,
#page-container li.mega-primary-solid > a.mega-menu-link {
    --btn-primary-bg: #000090;
    --btn-primary-bg-hover: #111e4a;
    position: relative !important;
    border-radius: var(--radius-md, 0.5rem) !important;
    border: none !important;
    background: var(--btn-primary-bg, #000090) !important;
    background-color: var(--btn-primary-bg, #000090) !important;
    background-image: none !important;
    color: var(--btn-primary-text, #fff) !important;
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif) !important;
    font-size: 1.25rem !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: normal !important;
    letter-spacing: 0.025rem !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    opacity: 1 !important;
    display: inline-block;
    padding: 0.3em 2em 0.3em 0.7em !important;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, text-decoration 0.2s ease !important;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu li.primary-solid > a.mega-menu-link::after,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-primary-solid > a.mega-menu-link::after,
#page-container li.primary-solid > a.mega-menu-link::after,
#page-container li.mega-primary-solid > a.mega-menu-link::after {
    content: "\35" !important;
    display: inline-block !important;
    font-family: ETmodules !important;
    font-style: normal;
    font-weight: 400;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 32px;
    color: inherit;
    opacity: 1 !important;
    position: absolute;
    top: 45%;
    left: auto;
    right: 0.15em;
    transform: translateY(-50%);
    transition: all 0.2s ease;
    pointer-events: none;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu li.primary-solid:hover > a.mega-menu-link::after,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu li.primary-solid > a.mega-menu-link:hover::after,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-primary-solid:hover > a.mega-menu-link::after,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-primary-solid > a.mega-menu-link:hover::after,
#page-container li.primary-solid:hover > a.mega-menu-link::after,
#page-container li.primary-solid > a.mega-menu-link:hover::after,
#page-container li.mega-primary-solid:hover > a.mega-menu-link::after,
#page-container li.mega-primary-solid > a.mega-menu-link:hover::after {
    opacity: 1 !important;
    right: 0.15em;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu li.primary-solid:hover > a.mega-menu-link,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu li.primary-solid > a.mega-menu-link:hover,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-primary-solid:hover > a.mega-menu-link,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-primary-solid > a.mega-menu-link:hover,
#page-container li.primary-solid:hover > a.mega-menu-link,
#page-container li.primary-solid > a.mega-menu-link:hover,
#page-container li.mega-primary-solid:hover > a.mega-menu-link,
#page-container li.mega-primary-solid > a.mega-menu-link:hover {
    border-radius: var(--radius-md, 0.5rem) !important;
    border: none !important;
    background: var(--btn-primary-bg-hover, #111e4a) !important;
    background-color: var(--btn-primary-bg-hover, #111e4a) !important;
    background-image: none !important;
    color: var(--btn-primary-text, #fff) !important;
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif) !important;
    font-size: 1.25rem !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: normal !important;
    letter-spacing: 0.025rem !important;
    text-decoration-line: underline !important;
    text-decoration-style: solid !important;
    text-decoration-skip-ink: auto !important;
    text-decoration-color: var(--border-accent, #fec901) !important;
    text-decoration-thickness: 10% !important;
    text-underline-offset: 12% !important;
    text-underline-position: from-font !important;
    text-transform: uppercase !important;
    opacity: 1 !important;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator:after,
#mega-menu-wrap-primary-menu .mega-menu-toggle ~ button.mega-close:before {
    color: #000090;
}

#mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-1 .mega-toggle-animated-inner, #mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-1 .mega-toggle-animated-inner::before, #mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-1 .mega-toggle-animated-inner::after{
    background-color: #000090;
}

#mega-menu-wrap-primary-menu .mega-menu-toggle {
    background-color: transparent;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
    background-color: #F4F2ED;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu .mega-sub-menu li.mega-menu-item:not(.primary-solid):not(.mega-primary-solid):not(#mobile-menu-item) a.mega-menu-link:hover {
    color: #000090 ! IMPORTANT;
    background: var(--btn-primary-outlined-ghost-bg-hover, #fef6dc);
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: 10%;
    text-underline-offset: 12%;
    text-underline-position: from-font;
}

@media only screen and (max-width: 980px) {
    .mega-sub-menu {
        box-shadow: none ! IMPORTANT;
    }
    #mega-menu-wrap-primary-menu #mega-menu-primary-menu .mega-sub-menu li.mega-menu-item:not(.primary-solid):not(.mega-primary-solid):not(#mobile-menu-item) a.mega-menu-link {
    color: #000090 ! IMPORTANT;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: 10%;
    text-underline-offset: 12%;
    text-underline-position: from-font;
    }

    .primary-solid a.mega-menu-link {
        max-width: 37% ! IMPORTANT;
        display: flex ! IMPORTANT;
        align-items: center;
        justify-content: flex-start;
    }

    #mega-menu-wrap-primary-menu #mega-menu-primary-menu li.primary-solid > a.mega-menu-link::after, #mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-primary-solid > a.mega-menu-link::after, #page-container li.primary-solid > a.mega-menu-link::after, #page-container li.mega-primary-solid > a.mega-menu-link::after {
        top: 50%;
    }
}

#mega-menu-wrap-primary-menu .mega-menu-toggle + #mega-menu-primary-menu {
    background-color: #F4F2ED;
}

/* Primary outline CTA — add class `primary-outline` (Divi button → Advanced → CSS ID & Classes) */
#page-container #main-content .primary-outline,
#page-container #main-content .et_pb_button.primary-outline,
#page-container #main-content a.primary-outline,
#page-container .primary-outline,
#page-container .et_pb_button.primary-outline,
#page-container a.primary-outline {
    --btn-primary-bg: #000090;
    border-radius: var(--radius-md, 0.5rem);
    border: 2px solid var(--btn-primary-outlined-border, #000090);
    background: transparent;
    background-color: transparent;
    color: var(--btn-primary-bg, #000090);
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.025rem;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, text-decoration 0.2s ease;
}

#page-container #main-content .primary-outline:hover,
#page-container #main-content .et_pb_button.primary-outline:hover,
#page-container #main-content a.primary-outline:hover,
#page-container .primary-outline:hover,
#page-container .et_pb_button.primary-outline:hover,
#page-container a.primary-outline:hover {
    border-radius: var(--radius-md, 0.5rem);
    border: 2px solid var(--btn-primary-outlined-border, #000090);
    background: var(--btn-primary-outlined-ghost-bg-hover, #fef6dc);
    background-color: var(--btn-primary-outlined-ghost-bg-hover, #fef6dc);
    color: var(--btn-primary-outlined-ghost-text, #000090);
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.025rem;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: 10%;
    text-underline-offset: 12%;
    text-underline-position: from-font;
    text-transform: uppercase;
}

/* Primary ghost — same as primary-outline but no border (default or hover) */
#page-container #main-content .primary-ghost,
#page-container #main-content .et_pb_button.primary-ghost,
#page-container #main-content a.primary-ghost,
#page-container .primary-ghost,
#page-container .et_pb_button.primary-ghost,
#page-container a.primary-ghost {
    --btn-primary-bg: #000090;
    border-radius: var(--radius-md, 0.5rem);
    border: none;
    background: transparent;
    background-color: transparent;
    color: var(--btn-primary-bg, #000090);
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.025rem;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, text-decoration 0.2s ease;
    padding-left: 0;
}

#page-container #main-content .primary-ghost:hover,
#page-container #main-content .et_pb_button.primary-ghost:hover,
#page-container #main-content a.primary-ghost:hover,
#page-container #main-content .banquet-card-link:hover .read-banquet-action.primary-ghost,
#page-container #main-content .banquet-card-link:hover .primary-ghost,
#page-container #main-content .athlete-card-link:hover .read-bio-action.primary-ghost,
#page-container #main-content .athlete-card-link:hover .primary-ghost,
#page-container #main-content .facetwp-template[data-name$="blog_posts"] .fsm-post-item > a:hover .read-banquet-action.primary-ghost,
#page-container #main-content .facetwp-template[data-name$="blog_posts"] .fsm-post-item > a:hover .primary-ghost,
#page-container #main-content .facetwp-template[data-name$="blog_posts"] .fsm-post-item > a:focus-visible .read-banquet-action.primary-ghost,
#page-container .primary-ghost:hover,
#page-container .et_pb_button.primary-ghost:hover,
#page-container a.primary-ghost:hover,
#page-container .banquet-card-link:hover .read-banquet-action.primary-ghost,
#page-container .banquet-card-link:hover .primary-ghost,
#page-container .fsm-post-list .banquet-card-link:hover .read-banquet-action.primary-ghost,
#page-container .fsm-post-list .banquet-card-link:focus-visible .read-banquet-action.primary-ghost,
#page-container .athlete-card-link:hover .read-bio-action.primary-ghost,
#page-container .athlete-card-link:hover .primary-ghost,
#page-container .fsm-post-list .athlete-card-link:hover .read-bio-action.primary-ghost,
#page-container .fsm-post-list .athlete-card-link:focus-visible .read-bio-action.primary-ghost,
#page-container .facetwp-template[data-name$="blog_posts"] .fsm-post-item > a:hover .read-banquet-action.primary-ghost,
#page-container .facetwp-template[data-name$="blog_posts"] .fsm-post-item > a:hover .primary-ghost,
#page-container .facetwp-template[data-name$="blog_posts"] .fsm-post-item > a:focus-visible .read-banquet-action.primary-ghost {
    border-radius: var(--radius-md, 0.5rem);
    border: none;
    color: var(--btn-primary-outlined-ghost-text, #000090);
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.025rem;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: 10%;
    text-underline-offset: 12%;
    text-underline-position: from-font;
    text-transform: uppercase;
}

/* ETmodules chevron on primary-ghost when not a Divi button module */
#page-container #main-content .primary-ghost:not(.et_pb_button),
#page-container .primary-ghost:not(.et_pb_button) {
    position: relative;
    display: inline-block;
    padding: 0.3em 2em 0.3em 0.7em;
}

#page-container #main-content .primary-ghost:not(.et_pb_button)::after,
#page-container .primary-ghost:not(.et_pb_button)::after {
    content: "\35";
    font-family: ETmodules;
    font-size: 32px;
    line-height: 1em;
    font-style: normal;
    font-weight: 400;
    font-feature-settings: "kern" off;
    font-variant: none;
    text-transform: none;
    text-shadow: none;
    color: inherit;
    opacity: 1;
    position: absolute;
    top: 50%;
    right: 0.15em;
    left: auto;
    transform: translateY(-50%);
    transition: all 0.2s ease;
    pointer-events: none;
}

/* Secondary solid CTA — class `secondary-solid` */
#page-container #main-content .secondary-solid,
#page-container #main-content .et_pb_button.secondary-solid,
#page-container #main-content a.secondary-solid,
#page-container .secondary-solid,
#page-container .et_pb_button.secondary-solid,
#page-container a.secondary-solid {
    border-radius: var(--radius-md, 0.5rem);
    background: var(--color-action-secondary-default);
    background-color: var(--color-action-secondary-default);
    background-image: none;
    color: var(--color-action-secondary-text);
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.025rem;
    text-transform: uppercase;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, text-decoration 0.2s ease;
}

#page-container #main-content .secondary-solid:hover,
#page-container #main-content .et_pb_button.secondary-solid:hover,
#page-container #main-content a.secondary-solid:hover,
#page-container .secondary-solid:hover,
#page-container .et_pb_button.secondary-solid:hover,
#page-container a.secondary-solid:hover {
    border-radius: var(--radius-md, 0.5rem);
    background: var(--color-action-secondary-hover);
    background-color: var(--color-action-secondary-hover);
    background-image: none;
    color: var(--color-action-secondary-text);
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.025rem;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: 10%;
    text-underline-offset: 12%;
    text-underline-position: from-font;
    text-transform: uppercase;
    border: none;
}

/* Secondary outline — class `secondary-outline` */
#page-container #main-content .secondary-outline,
#page-container #main-content .et_pb_button.secondary-outline,
#page-container #main-content a.secondary-outline,
#page-container .secondary-outline,
#page-container .et_pb_button.secondary-outline,
#page-container a.secondary-outline {
    border-radius: var(--radius-md, 0.5rem);
    border: 2px solid var(--btn-secondary-outlined-border, #fec901);
    background: transparent;
    background-color: transparent;
    color: var(--btn-secondary-outlined-ghost-text, #fec901);
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.025rem;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, text-decoration 0.2s ease;
}

#page-container #main-content .secondary-outline:hover,
#page-container #main-content .et_pb_button.secondary-outline:hover,
#page-container #main-content a.secondary-outline:hover,
#page-container #main-content .three-card-cta:hover .secondary-outline,
#page-container #main-content .three-card-cta:hover .et_pb_button.secondary-outline,
#page-container #main-content .three-card-cta:hover a.secondary-outline,
#page-container .secondary-outline:hover,
#page-container .et_pb_button.secondary-outline:hover,
#page-container a.secondary-outline:hover,
#page-container .three-card-cta:hover .secondary-outline,
#page-container .three-card-cta:hover .et_pb_button.secondary-outline,
#page-container .three-card-cta:hover a.secondary-outline {
    border-radius: var(--radius-md, 0.5rem);
    border: 2px solid var(--btn-secondary-outlined-border, #fec901);
    background: var(--btn-secondary-outlined-ghost-bg-hover, #000090);
    background-color: var(--btn-secondary-outlined-ghost-bg-hover, #000090);
    color: var(--btn-secondary-outlined-ghost-text, #fec901);
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.025rem;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: 10%;
    text-underline-offset: 12%;
    text-underline-position: from-font;
    text-transform: uppercase;
}

/*
 * Text module class `secondary-outline-button` — style nested form submit/next
 * buttons like `.secondary-outline` (including ETmodules chevron ::after).
 */
#page-container #main-content .secondary-outline-button .gform_wrapper .gform_button,
#page-container #main-content .secondary-outline-button .gform_wrapper .gform_next_button,
#page-container #main-content .secondary-outline-button .gform_wrapper input[type="submit"]:not(.gform_previous_button),
#page-container #main-content .secondary-outline-button .gform_wrapper button[type="submit"]:not(.gform_previous_button),
#page-container #main-content .secondary-outline-button .gform_wrapper input.gform_next_button,
#page-container #main-content .secondary-outline-button .gform_wrapper button.gform_next_button,
#page-container .secondary-outline-button .gform_wrapper .gform_button,
#page-container .secondary-outline-button .gform_wrapper .gform_next_button,
#page-container .secondary-outline-button .gform_wrapper input[type="submit"]:not(.gform_previous_button),
#page-container .secondary-outline-button .gform_wrapper button[type="submit"]:not(.gform_previous_button),
#page-container .secondary-outline-button .gform_wrapper input.gform_next_button,
#page-container .secondary-outline-button .gform_wrapper button.gform_next_button {
    position: relative;
    display: inline-block;
    width: auto;
    min-height: 0;
    margin: 0;
    padding: 0.3em 2em 0.3em 0.7em;
    border-radius: var(--radius-md, 0.5rem);
    border: 2px solid var(--btn-secondary-outlined-border, #fec901) !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: var(--btn-secondary-outlined-ghost-text, #fec901) !important;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif) !important;
    font-size: 1.25rem !important;
    font-style: normal;
    font-weight: 700 !important;
    line-height: normal;
    letter-spacing: 0.025rem;
    text-transform: uppercase;
    text-decoration: none !important;
    text-align: center;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, text-decoration 0.2s ease;
}

#page-container #main-content .secondary-outline-button .gform_wrapper button.gform_button::after,
#page-container #main-content .secondary-outline-button .gform_wrapper button.gform_next_button::after,
#page-container #main-content .secondary-outline-button .gform_wrapper button[type="submit"]:not(.gform_previous_button)::after,
#page-container .secondary-outline-button .gform_wrapper button.gform_button::after,
#page-container .secondary-outline-button .gform_wrapper button.gform_next_button::after,
#page-container .secondary-outline-button .gform_wrapper button[type="submit"]:not(.gform_previous_button)::after {
    content: "\35" !important;
    display: inline-block !important;
    font-family: ETmodules !important;
    font-size: 32px !important;
    line-height: 1em !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-feature-settings: normal !important;
    font-variant: none !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-shadow: none;
    text-decoration: none !important;
    color: inherit !important;
    opacity: 1 !important;
    position: absolute;
    top: 50%;
    right: 0.15em;
    left: auto;
    transform: translateY(-50%);
    transition: all 0.2s ease;
    pointer-events: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#page-container #main-content .secondary-outline-button .gform_wrapper .gform_button:hover,
#page-container #main-content .secondary-outline-button .gform_wrapper .gform_next_button:hover,
#page-container #main-content .secondary-outline-button .gform_wrapper input[type="submit"]:not(.gform_previous_button):hover,
#page-container #main-content .secondary-outline-button .gform_wrapper button[type="submit"]:not(.gform_previous_button):hover,
#page-container #main-content .secondary-outline-button .gform_wrapper input.gform_next_button:hover,
#page-container #main-content .secondary-outline-button .gform_wrapper button.gform_next_button:hover,
#page-container #main-content .secondary-outline-button .gform_wrapper .gform_button:focus,
#page-container #main-content .secondary-outline-button .gform_wrapper .gform_next_button:focus,
#page-container #main-content .secondary-outline-button .gform_wrapper input[type="submit"]:not(.gform_previous_button):focus,
#page-container #main-content .secondary-outline-button .gform_wrapper button[type="submit"]:not(.gform_previous_button):focus,
#page-container .secondary-outline-button .gform_wrapper .gform_button:hover,
#page-container .secondary-outline-button .gform_wrapper .gform_next_button:hover,
#page-container .secondary-outline-button .gform_wrapper input[type="submit"]:not(.gform_previous_button):hover,
#page-container .secondary-outline-button .gform_wrapper button[type="submit"]:not(.gform_previous_button):hover,
#page-container .secondary-outline-button .gform_wrapper input.gform_next_button:hover,
#page-container .secondary-outline-button .gform_wrapper button.gform_next_button:hover,
#page-container .secondary-outline-button .gform_wrapper .gform_button:focus,
#page-container .secondary-outline-button .gform_wrapper .gform_next_button:focus,
#page-container .secondary-outline-button .gform_wrapper input[type="submit"]:not(.gform_previous_button):focus,
#page-container .secondary-outline-button .gform_wrapper button[type="submit"]:not(.gform_previous_button):focus {
    border-radius: var(--radius-md, 0.5rem);
    border: 2px solid var(--btn-secondary-outlined-border, #fec901) !important;
    background: var(--btn-secondary-outlined-ghost-bg-hover, #000090) !important;
    background-color: var(--btn-secondary-outlined-ghost-bg-hover, #000090) !important;
    background-image: none !important;
    color: var(--btn-secondary-outlined-ghost-text, #fec901) !important;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif) !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.025rem;
    text-transform: uppercase;
    text-decoration-line: underline !important;
    text-decoration-style: solid !important;
    text-decoration-skip-ink: auto !important;
    text-decoration-thickness: 10% !important;
    text-underline-offset: 12% !important;
    text-underline-position: from-font !important;
}

#page-container #main-content .secondary-outline-button .gform_wrapper button.gform_button:hover::after,
#page-container #main-content .secondary-outline-button .gform_wrapper button.gform_next_button:hover::after,
#page-container #main-content .secondary-outline-button .gform_wrapper button[type="submit"]:not(.gform_previous_button):hover::after,
#page-container #main-content .secondary-outline-button .gform_wrapper button.gform_button:focus::after,
#page-container #main-content .secondary-outline-button .gform_wrapper button.gform_next_button:focus::after,
#page-container #main-content .secondary-outline-button .gform_wrapper button[type="submit"]:not(.gform_previous_button):focus::after,
#page-container .secondary-outline-button .gform_wrapper button.gform_button:hover::after,
#page-container .secondary-outline-button .gform_wrapper button.gform_next_button:hover::after,
#page-container .secondary-outline-button .gform_wrapper button[type="submit"]:not(.gform_previous_button):hover::after,
#page-container .secondary-outline-button .gform_wrapper button.gform_button:focus::after,
#page-container .secondary-outline-button .gform_wrapper button.gform_next_button:focus::after,
#page-container .secondary-outline-button .gform_wrapper button[type="submit"]:not(.gform_previous_button):focus::after {
    opacity: 1;
    right: 0.15em;
    color: inherit !important;
    text-decoration: none !important;
}

#page-container #main-content .secondary-outline-button .gform_wrapper button .gform-btn-label,
#page-container .secondary-outline-button .gform_wrapper button .gform-btn-label {
    color: inherit;
}

/* Non-GF submit buttons inside the same text-module wrapper */
#page-container #main-content .secondary-outline-button button[type="submit"]:not(.gform_previous_button),
#page-container #main-content .secondary-outline-button input[type="submit"]:not(.gform_previous_button),
#page-container .secondary-outline-button button[type="submit"]:not(.gform_previous_button),
#page-container .secondary-outline-button input[type="submit"]:not(.gform_previous_button) {
    position: relative;
    display: inline-block;
    padding: 0.3em 2em 0.3em 0.7em;
    border-radius: var(--radius-md, 0.5rem);
    border: 2px solid var(--btn-secondary-outlined-border, #fec901) !important;
    background: transparent !important;
    background-color: transparent !important;
    color: var(--btn-secondary-outlined-ghost-text, #fec901) !important;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif) !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.025rem;
    text-transform: uppercase;
    text-decoration: none !important;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, text-decoration 0.2s ease;
}

#page-container #main-content .secondary-outline-button button[type="submit"]:not(.gform_previous_button)::after,
#page-container .secondary-outline-button button[type="submit"]:not(.gform_previous_button)::after {
    content: "\35" !important;
    display: inline-block !important;
    font-family: ETmodules !important;
    font-size: 32px !important;
    line-height: 1em !important;
    font-style: normal !important;
    font-weight: 400 !important;
    color: inherit !important;
    position: absolute;
    top: 50%;
    right: 0.15em;
    transform: translateY(-50%);
    pointer-events: none;
}

#page-container #main-content .secondary-outline-button button[type="submit"]:not(.gform_previous_button):hover,
#page-container #main-content .secondary-outline-button input[type="submit"]:not(.gform_previous_button):hover,
#page-container #main-content .secondary-outline-button button[type="submit"]:not(.gform_previous_button):focus,
#page-container #main-content .secondary-outline-button input[type="submit"]:not(.gform_previous_button):focus,
#page-container .secondary-outline-button button[type="submit"]:not(.gform_previous_button):hover,
#page-container .secondary-outline-button input[type="submit"]:not(.gform_previous_button):hover,
#page-container .secondary-outline-button button[type="submit"]:not(.gform_previous_button):focus,
#page-container .secondary-outline-button input[type="submit"]:not(.gform_previous_button):focus {
    border: 2px solid var(--btn-secondary-outlined-border, #fec901) !important;
    background: var(--btn-secondary-outlined-ghost-bg-hover, #000090) !important;
    background-color: var(--btn-secondary-outlined-ghost-bg-hover, #000090) !important;
    color: var(--btn-secondary-outlined-ghost-text, #fec901) !important;
    text-decoration-line: underline !important;
    text-decoration-style: solid !important;
    text-decoration-skip-ink: auto !important;
    text-decoration-thickness: 10% !important;
    text-underline-offset: 12% !important;
    text-underline-position: from-font !important;
}

/* Secondary ghost — same as secondary-outline, no border */
#page-container #main-content .secondary-ghost,
#page-container #main-content .et_pb_button.secondary-ghost,
#page-container #main-content a.secondary-ghost,
#page-container .secondary-ghost,
#page-container .et_pb_button.secondary-ghost,
#page-container a.secondary-ghost {
    border-radius: var(--radius-md, 0.5rem);
    border: none;
    background: var(--btn-outlined-surface, #f5f5f5);
    background-color: var(--btn-outlined-surface, #f5f5f5);
    color: var(--btn-secondary-outlined-ghost-text, #fec901);
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.025rem;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, text-decoration 0.2s ease;
}

#page-container #main-content .secondary-ghost:hover,
#page-container #main-content .et_pb_button.secondary-ghost:hover,
#page-container #main-content a.secondary-ghost:hover,
#page-container .secondary-ghost:hover,
#page-container .et_pb_button.secondary-ghost:hover,
#page-container a.secondary-ghost:hover {
    border-radius: var(--radius-md, 0.5rem);
    border: none;
    background: var(--btn-secondary-outlined-ghost-bg-hover, #000090);
    background-color: var(--btn-secondary-outlined-ghost-bg-hover, #000090);
    color: var(--btn-secondary-outlined-ghost-text, #fec901);
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.025rem;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: 10%;
    text-underline-offset: 12%;
    text-underline-position: from-font;
    text-transform: uppercase;
}

/* Inverse outline — default fill `var(--btn-primary-bg)` (navy); white border/label; class `inverse-outline` */
#page-container #main-content .inverse-outline,
#page-container #main-content .et_pb_button.inverse-outline,
#page-container #main-content a.inverse-outline,
#page-container .inverse-outline,
#page-container .et_pb_button.inverse-outline,
#page-container a.inverse-outline {
    --btn-primary-bg: #000090;
    border-radius: var(--radius-md, 0.5rem);
    border: 2px solid var(--btn-inverse-outlined-border, #fff);
    background: var(--btn-primary-bg, #000090);
    background-color: var(--btn-primary-bg, #000090);
    background-image: none;
    color: var(--btn-inverse-outlined-ghost-text, #fff);
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.025rem;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, text-decoration 0.2s ease;
}

#page-container #main-content .inverse-outline:hover,
#page-container #main-content .et_pb_button.inverse-outline:hover,
#page-container #main-content a.inverse-outline:hover,
#page-container .inverse-outline:hover,
#page-container .et_pb_button.inverse-outline:hover,
#page-container a.inverse-outline:hover {
    border-radius: var(--radius-md, 0.5rem);
    border: 2px solid var(--btn-inverse-outlined-border, #fff);
    background: var(--btn-inverse-outlined-ghost-bg-hover, #0a1230);
    background-color: var(--btn-inverse-outlined-ghost-bg-hover, #0a1230);
    background-image: none;
    color: var(--btn-primary-text, #fff);
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.025rem;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-color: var(--border-accent, #fec901);
    text-decoration-thickness: 10%;
    text-underline-offset: 12%;
    text-underline-position: from-font;
    text-transform: uppercase;
}

/* Inverse ghost — same as inverse-outline, no border */
#page-container #main-content .inverse-ghost,
#page-container #main-content .et_pb_button.inverse-ghost,
#page-container #main-content a.inverse-ghost,
#page-container .inverse-ghost,
#page-container .et_pb_button.inverse-ghost,
#page-container a.inverse-ghost {
    border-radius: var(--radius-md, 0.5rem);
    border: none;
    background: transparent;
    background-color: transparent;
    background-image: none;
    color: var(--btn-inverse-outlined-ghost-text, #fff);
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.025rem;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, text-decoration 0.2s ease;
    /* Match standard button padding so ::after chevron sits like secondary-outline */
    padding: 0.3em 2em 0.3em 0.7em;
}

#page-container #main-content .inverse-ghost.left-chevron {
    padding-left: 1.5rem !important;
    padding-right: 8px !important;
}

#page-container #main-content .inverse-ghost:hover,
#page-container #main-content .et_pb_button.inverse-ghost:hover,
#page-container #main-content a.inverse-ghost:hover,
#page-container .inverse-ghost:hover,
#page-container .et_pb_button.inverse-ghost:hover,
#page-container a.inverse-ghost:hover {
    border-radius: var(--radius-md, 0.5rem);
    border: none;
    background: var(--btn-inverse-outlined-ghost-bg-hover, #0a1230);
    background-color: var(--btn-inverse-outlined-ghost-bg-hover, #0a1230);
    background-image: none;
    color: var(--btn-primary-text, #fff);
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.025rem;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-color: var(--border-accent, #fec901);
    text-decoration-thickness: 10%;
    text-underline-offset: 12%;
    text-underline-position: from-font;
    text-transform: uppercase;
}

/*
 * Divi adds an ETmodules chevron on buttons via ::after (opacity 0 until hover).
 * Keep it visible in the default state for all buttons in #page-container.
 *
 * Pin to the right edge: with left:auto Divi places the icon at the static
 * position after the text, so multi-line centered labels put the chevron in
 * the middle of the button on mobile.
 */
#page-container #main-content .et_pb_button:after,
#page-container .et_pb_button:after,
#page-container #main-content .et_pb_button:hover:after,
#page-container .et_pb_button:hover:after {
    opacity: 1;
    top: 50%;
    right: 0.15em;
    left: auto !important;
    margin-left: 0 !important;
    transform: translateY(-50%);
}

.et_button_left #page-container #main-content .et_pb_button:after,
.et_button_left #page-container .et_pb_button:after,
.et_button_left #page-container #main-content .et_pb_button:hover:after,
.et_button_left #page-container .et_pb_button:hover:after {
    left: 0.15em !important;
    right: auto;
    margin-left: 0 !important;
}

/* ACCESSIBILITY UNIVERSAL TEXT LINKS */
#main-content a:not(.et_pb_button, .icon, img, .fsm-post-list a, .athlete-card-link, .athlete-video-card-link, .banquet-card-link, .banquet-hero__cta, .card, .exclude-style) {
    border-radius: 4px;
    padding: 2px;
    transition: ease all .2s;
    display: inline;
    overflow: hidden;
    text-decoration: underline;
}

#main-content a:not(.et_pb_button, .icon, img, .fsm-post-list a, .athlete-card-link, .athlete-video-card-link, .banquet-card-link, .banquet-hero__cta, .card, .exclude-style):hover {
    border-radius: 3px;
    background-color: rgba(21, 43, 55, .2);
    transition: ease all .2s;
}

/*
    Typography — headings & body (scoped to #page-container)
*/

body:not(.et-vb-root-ancestor) #page-container h1 {
    color: var(--color-text-default);
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: 4rem;
    font-style: normal;
    font-weight: 700;
    line-height: 102%;
    letter-spacing: 0.04rem;
}

body:not(.et-vb-root-ancestor) #page-container h2 {
    color: var(--color-text-default);
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: 2.625rem;
    font-style: normal;
    font-weight: 700;
    line-height: 110%;
    letter-spacing: 0.02625rem;
}

body:not(.et-vb-root-ancestor) #page-container h3 {
    color: var(--color-text-default);
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: 1.75rem;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
    letter-spacing: 0.035rem;
}

body:not(.et-vb-root-ancestor) #page-container h4 {
    color: var(--color-text-default);
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
    line-height: 125%;
}

body:not(.et-vb-root-ancestor) #page-container h5 {
    color: var(--color-text-default);
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 700;
    line-height: 125%;
}

body:not(.et-vb-root-ancestor) #page-container h6 {
    color: var(--color-text-default);
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
}

/* Paragraph — base (default p) */
body:not(.et-vb-root-ancestor) #page-container p {
    color: var(--color-text-default);
    font-family: var(--font-family-body, "Source Sans 3", sans-serif);
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 170%;
}

body:not(.et-vb-root-ancestor) #page-container li {
    font-family: var(--font-family-body, "Source Sans 3", sans-serif);
    font-size: 1rem;
    font-weight: 400;
    line-height: 170%;
}

/* Paragraph — small (<small>, .small, .text-body-sm) */
body:not(.et-vb-root-ancestor) #page-container small,
body:not(.et-vb-root-ancestor) #page-container .small:not(.et_pb_button),
body:not(.et-vb-root-ancestor) #page-container .text-body-sm {
    color: var(--color-text-default);
    font-family: var(--font-family-body, "Source Sans 3", sans-serif);
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 400;
    line-height: 165%;
}

/* Paragraph — large (.text-body-lg, optional .large on copy blocks) */
body:not(.et-vb-root-ancestor) #page-container .text-body-lg,
body:not(.et-vb-root-ancestor) #page-container p.large {
    color: var(--color-text-default);
    font-family: var(--font-family-body, "Source Sans 3", sans-serif);
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

/* END FONT STYLE */


/* START HEADER STYLES */

#page-container #main-header {
    margin-top: 0;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    overflow: visible;
    position: relative;
    z-index: 100;
}

/* Shield logo — left of text logo, hangs into hero below header */
#page-container #main-header .logo_container {
    overflow: visible;
    position: relative;
    z-index: 2;
}

#page-container #main-header #logo {
    max-width: none;
    width: auto;
}

#page-container #main-header #logo a {
    display: inline-flex !important;
    align-items: center;
    gap: 0;
    padding-left: calc(6.75rem + 0.625rem);
    text-decoration: none;
}

#page-container #main-header #logo a::before {
    content: "" !important;
    display: block !important;
    position: absolute;
    left: 0;
    bottom: -4.5rem;
    width: 6.75rem;
    height: 9rem;
    background: url("/wp-content/uploads/SCSHOF-Shield-1-1.png") center bottom / contain no-repeat;
    z-index: 2;
}

@media only screen and (min-width: 981px) {
    #main-header .et_menu_container.et_pb_row {
        gap: 1rem;
    }
}

#page-container #main-header #logo .et_pb_image_wrap {
    display: block;
    align-self: center;
    flex: 0 1 auto;
}

@media only screen and (max-width: 980px) {
    #page-container #main-header #logo a {
        padding-left: calc(4.75rem + 0.5rem);
    }

    #page-container #main-header #logo a::before {
        width: 4.75rem;
        height: 6.5rem;
        bottom: -3.5rem;
    }
}

/*
 * Default primary nav text (Max Mega Menu — items without CTA classes).
 * Beats older `.mega-menu` / submenu color rules; excludes `.primary-solid` / `.mega-primary-solid`.
 */
#mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-menu-item:not(.primary-solid):not(.mega-primary-solid):not(#mobile-menu-item) a.mega-menu-link {
    color: var(--text-default, #3e3b38) !important;
    font-family: var(--font-family-heading, "Barlow Condensed"), sans-serif !important;
    font-size: 1.25rem !important;
    font-style: normal !important;
    font-weight: 700 !important;
    letter-spacing: 0.025rem !important;
    text-transform: uppercase !important;
    transition: color 0.2s ease, opacity 0.2s ease !important;
}

@media only screen and (min-width: 981px) and (max-width: 1300px) { 
    #mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-menu-item:not(.primary-solid):not(.mega-primary-solid):not(#mobile-menu-item) a.mega-menu-link,
    #mega-menu-wrap-primary-menu #mega-menu-primary-menu li.primary-solid > a.mega-menu-link, #mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-primary-solid > a.mega-menu-link, #page-container li.primary-solid > a.mega-menu-link, #page-container li.mega-primary-solid > a.mega-menu-link {
        font-size: 1rem !important;
    }
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-menu-item:not(.primary-solid):not(.mega-primary-solid):not(#mobile-menu-item) a.mega-menu-link:hover {
    opacity: 1 !important;
    color: var(--text-muted, #64748b) !important;
}

.mega-menu li:not(.primary-solid):not(.mega-primary-solid):not(#mobile-menu-item) a {
    color: var(--text-default, #3e3b38) !important;
    font-family: var(--font-family-heading, "Barlow Condensed"), sans-serif !important;
    font-size: 1.25rem !important;
    font-style: normal !important;
    font-weight: 700 !important;
    letter-spacing: 0.025rem !important;
    text-transform: uppercase !important;
    transition: color 0.2s ease, opacity 0.2s ease !important;
}

.mega-menu li:not(.primary-solid):not(.mega-primary-solid):not(#mobile-menu-item) a:hover {
    opacity: 1 !important;
    color: var(--text-muted, #64748b) !important;
}

/* ACTIVE LINK STYLES */

.mega-current-menu-item:not(.primary-solid):not(.mega-primary-solid) a.mega-menu-link {
    text-decoration: underline 2px inherit !important;
    text-underline-offset: 8px !important;
}

.mega-sub-menu {
    border-top: 4px solid #000090 ! IMPORTANT;
}


/*mobile menu*/
#page-container #et-boc #mega-menu-wrap-primary-menu li#mobile-menu-item {
    text-align: left !important;

}

#page-container #et-boc #mega-menu-wrap-primary-menu li#mobile-menu-item a {
    color: var(--text-link) !important;
    text-decoration-color: var(--text-link) !important;
    padding: 0 10px;
}

li.mobile-menu-item a:hover {
    color: var(--text-link) !important;
    text-decoration: underline !important;
}

#page-container #et-boc .mega-mobile-hide {
    display: none !important;
}

#page-container #et-boc li.mobile-menu-item {

    line-height: 3em;
    padding-top: 0;
    padding-bottom: 0;
}


/* Duplicate / mobile menu row (class `.mobile-menu-item`, not `#mobile-menu-item`) */
li.mobile-menu-item:not(.primary-solid):not(.mega-primary-solid) a.mega-menu-link {
    color: var(--text-default, #3e3b38) !important;
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-family-heading, "Barlow Condensed"), sans-serif !important;
    font-size: 1.25rem !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: normal !important;
    letter-spacing: 0.025rem !important;
    text-transform: uppercase !important;
}

@media screen and (min-width: 980px) {
    li.mobile-menu-item {
        display: none;
    }
}

/*END HEADER*/

/* START FOOTER STYLES */


#main-footer {

    .contact-links a,
    .contact-links span {
        color: var(--text-on-brand, #fff);
        font-family: var(--font-family-body, "Source Sans 3"), sans-serif;
        font-size: 1rem;
        font-style: normal;
        font-weight: 700;
        line-height: 170%;
    }

    #menu-footer-menu li a {
        color: var(--text-on-brand-muted, #A0AEED);
        font-family: var(--font-family-heading, "Barlow Condensed");
        font-size: 1.25rem;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
        letter-spacing: 0.025rem;
        text-transform: uppercase;
    }

    .social-heading p {
        color: var(--text-on-brand-muted, #A0AEED) ! IMPORTANT;
        font-family: "Barlow Condensed" ! IMPORTANT;
        font-weight: 700 !IMPORTANT;
        line-height: 100% ! IMPORTANT;
        letter-spacing: 0.18rem;
        text-transform: uppercase;
    }

    .policy p, .policy a {
        color: var(--text-on-brand-muted, #A0AEED) ! IMPORTANT;
        font-family: var(--font-family-body, "Source Sans 3") ! IMPORTANT;
        font-size: 0.875rem ! IMPORTANT;
    }

    .policy a {
        text-decoration: underline;
    }

    .policy a:hover {
        text-decoration: none;
    }

    .contact-links a:hover,
    #menu-footer-menu li a:hover {
        text-decoration: underline;
    }

    .et_pb_social_icon a.icon:hover {
        opacity: 0.7;
    }

    .contact-links p {
        display: flex;
        gap: .5rem;
        align-items: baseline;
    }

    @media only screen and (min-width: 981px) { 
        #menu-footer-menu {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            row-gap: var(--space-lg, 1rem);
            column-gap: var(--space-card-lg, 32px);
            padding-bottom: 0;
        }

        .et_pb_column {
            display: flex;
            justify-content: space-between;
            align-items: center;
            column-gap: 3rem !important;
            min-width: 100% ! IMPORTANT;
        }

    }

    @media only screen and (max-width: 980px) { 
        ul#menu-footer-menu {
            padding: 0;
        }
        #menu-footer-menu {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            row-gap: var(--space-lg, 1rem);
            column-gap: var(--space-card-lg, 32px);
            padding-bottom: 0;
        }
        
    }
    
}

/*END FOOTER*/

/* START PAGE ORGANIZATION */


/* Global */

.underline {
    position: relative;
    padding-bottom: 1.5rem ! IMPORTANT;
}
.underline:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 4.0625rem;
    height: 0.25rem;
    background-color: #FEC901;
}

.gform_body h3 {
    padding-bottom: .5rem !important;
}

.hero.gradient {
    background: linear-gradient(101deg, var(--background-brand-dark, rgba(17, 30, 74, 0.65)) 0%, rgba(17, 30, 74, 0.00) 63.36%), var(--background-brand, #000090);
}

.hero.gradient.athlete-hero,
.hero.gradient.banquet-hero {
    padding-bottom: 3rem ! IMPORTANT;
}

.hero.gradient.banquet-hero.no-bottom {
    padding-bottom: 0 !important;
}


.hero p {
    color: #fff ! IMPORTANT;
    font-size: 1.25rem !important;
    line-height: 150% !important;
}

span.brow {
    color: var(--text-accent, #7A5E00);
    font-family: "Barlow Condensed";
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: 0.18rem;
    text-transform: uppercase;
}

h2 span.brow {
    color:#3E3B38 !important;
}

.heading-brow p {
    padding-bottom: 0rem;
}

span.percent-value,
#page-container .hero .percent-value p {
    text-align: center;
    font-family: var(--font-family-heading, "Barlow Condensed") !important;
    font-size: 3rem !important;
    font-style: normal;
    font-weight: 900;
    line-height: 100% !important;
    letter-spacing: 0.12rem;
    color: #000090;
}

.hero .percent-value {
    color: #FBC443 ! IMPORTANT;
}

#page-container .hero .percent-value p {
    color: #fff;
    text-align: left;
}

#page-container .brow-heading p {
    color: var(--text-on-brand-accent, #FEC901) !important;
    text-align: left;
    font-family: "Barlow Condensed" !important;
    font-weight: 700 !IMPORTANT;
    line-height: 100% !important;
    letter-spacing: 0.18rem;
    text-transform: uppercase;
    padding-top: .2rem;
    font-size: 1rem ! IMPORTANT;
}

.percent {
    position: relative;
    display: inline-block; /* Keeps the line bounded to the text width, not the whole screen */
  }
  
.percent::after {
content: '';
position: absolute;
bottom: 0px;
left: 50%;
transform: translateX(-50%);
width: 4.0625rem;
height: 6px;
background-color: #FBC443;
}

  .et_pb_number_counter h3.title {
    font-size: 1rem ! IMPORTANT;
    line-height: 100% !important;
    letter-spacing: 0.18rem !important;
    text-transform: uppercase;
}

.three-card-cta p {
        color: var(--text-on-brand, #FFF) !important;
}

.three-card-cta h2 {
    max-width: 16ch !important;
}

.three-card-cta {
    border: 5px solid #0a1739;
}
.three-card-cta:hover {
    border: 5px solid #fec901
}

@media (max-width: 980px) {
    .quick-stats {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .hero.gradient.athlete-hero,
    .hero.gradient.banquet-hero {
        padding-bottom: 0rem ! IMPORTANT;
    }
}

/*
HOMEPAGE





*/
/*END*/

/*
BLOG
*/
/*END*/

/*
BLOG LIST
*/
/*END*/

/* ============================================
   GRAVITY FORMS ORBITAL THEME STYLES
   ============================================ */

/* Global Orbital Theme Variables - Maps theme variables to Gravity Forms CSS API */
.gform-theme--orbital {
    /* Primary Colors */
    --gf-color-primary: var(--blue-500);
    --gf-color-primary-contrast: var(--text-on-action);
    --gf-color-primary-darker: var(--btn-primary-bg-hover);
    --gf-color-primary-lighter: var(--btn-primary-bg);

    /* Secondary Colors */
    --gf-color-secondary: var(--icon-default);
    --gf-color-secondary-contrast: var(--text-on-action);
    --gf-color-secondary-darker: var(--var---color-action-secondary-hover-);
    --gf-color-secondary-lighter: var(--icon-default);

    /* Control Colors */
    --gf-control-bg-color: var(--background-primary);
    --gf-control-bg-color-focus: var(--background-primary);
    --gf-control-border-color: var(--border-default);
    --gf-control-border-color-focus: var(--gf-color-primary);
    --gf-control-color: var(--text-default);
    --gf-control-color-focus: var(--text-default);
    --gf-control-color-placeholder: var(--form-placeholder-text, #B8B2A9);

    /* Framework Control Variables (gf-ctrl-* shorthand) */
    --gf-ctrl-bg-color: var(--gf-control-bg-color);
    --gf-ctrl-bg-color-focus: var(--gf-control-bg-color-focus);
    --gf-ctrl-border-color: var(--gf-control-border-color);
    --gf-ctrl-border-color-focus: var(--gf-color-primary);
    --gf-ctrl-color: var(--gf-control-color);
    --gf-ctrl-color-focus: var(--gf-control-color-focus);

    /* Focus Outline Variables - Subtle shadow for depth, border provides main feedback */
    --gf-ctrl-outline-color-focus: var(--blue-500);
    --gf-ctrl-outline-width-focus: 2px;

    /* Label Colors */
    --gf-label-color: var(--text-heading);
    --gf-label-font-size: var(--font-size-200);
    --gf-label-font-weight: var(--font-weight-medium);
    --gf-label-line-height: var(--line-height-sm);

    /* Description Colors */
    --gf-description-color: var(--text-muted);
    --gf-description-font-size: var(--font-size-100);
    --gf-description-line-height: var(--line-height-sm);

    /* Button Colors */
    --gf-button-primary-bg-color: var(--btn-primary-bg);
    --gf-button-primary-bg-color-hover: var(--btn-primary-bg-hover);
    --gf-button-primary-color: var(--btn-primary-text);
    --gf-button-primary-color-hover: var(--btn-primary-text);

    /* Border & Radius */
    --gf-control-border-radius: 4px;
    --gf-control-border-width: 1px;
    --gf-control-padding-x: 16px;
    --gf-control-padding-y: 12px;

    /* Spacing */
    --gf-field-margin-bottom: 24px;
    --gf-label-margin-bottom: 8px;
    --gf-description-margin-top: 4px;

    /* Typography */
    --gf-control-font-size: var(--font-size-200);
    --gf-control-line-height: var(--line-height-sm);
    --gf-control-font-family: var(--font-family-sans);

    /* Error States */
    --gf-error-color: var(--feedback-destructive-text);
    --gf-error-bg-color: var(--feedback-destructive-bg);
    --gf-error-border-color: var(--feedback-destructive-text);

    /* Success States */
    --gf-success-color: var(--form-success);
    --gf-success-bg-color: var(--feedback-success-bg);
}


#page-container .gform_save_link {
    color: #000090;
    background: #fec901;
    font-family: var(--font-family-heading) !important;
    font-size: 1.25rem !important;
    font-style: normal;
    font-weight: 700 !important;
    line-height: normal;
    letter-spacing: 0.025rem;
    text-transform: uppercase;
    border: 1px solid #000090;
    border-radius: var(--radius-md, 0.5rem);
}

#page-container .gform_save_link:hover {
    color: #000090;
}

/* Foundation Layer Variable Overrides - Override Foundation defaults */
#page-container .gform-theme--foundation,
#page-container .gform-theme--api {
    --gf-form-gap-x: 16px;
    --gf-form-gap-y: 20px;
    --gf-form-footer-margin-y-start: 24px;
    --gf-form-footer-gap: 8px;
    --gf-field-gap-x: 12px;
    --gf-field-gap-y: 12px;
    --gf-field-date-width: 168px;
    --gf-field-time-width: 110px;
    --gf-field-list-btns-gap: 8px;
    --gf-field-list-btns-width: calc(32px + var(--gf-field-list-btns-gap) + var(--gf-field-gap-x));
    --gf-field-pg-steps-gap-y: 8px;
    --gf-field-pg-steps-gap-x: 24px;
    --gf-label-width: 30%;
    --gf-label-req-gap: 6px;
}

/* Form Wrapper Base Styles */
#page-container .gform-theme--orbital {
    font-family: var(--font-family-sans);
    color: var(--text-default);
}

/* Form Field Container */
#page-container .gform-theme--orbital .gfield {
    margin-bottom: 0;
}

/* Labels */
#page-container .gform-theme--orbital .gfield_label,
#page-container .gform-theme--orbital label.gfield_label {
    color: var(--form-label, #000090);
    font-family: var(--font-family-body, "Source Sans 3");
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
}

#page-container .secondary-outline-button label.gfield_label.gform-field-label,
#page-container .secondary-outline-button .gform-theme--orbital .gfield_required {
    color: #fff;
}

label.gform-field-label.gform-field-label--type-sub {
    color: var(--form-input-text, #3E3B38);
    font-family: var(--font-family-body, "Source Sans 3");
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

/* Required Label Indicator */
#page-container .gform-theme--orbital .gfield_required {
    margin-left: 0px;
    color: var(--form-required-error, #B91C1C);
    font-family: var(--font-family-body, "Source Sans 3");
    font-size: var(--font-size-xs, 0.75rem);
    font-style: italic;
    font-weight: 400;
    line-height: 1rem;
}

#page-container .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), #page-container .gform_wrapper textarea.textarea, #page-container div.form_saved_message div.form_saved_message_emailform form input[type=text] {
    font-size: 1em;
    padding: 1em 1em;
    min-height: auto;
    max-height: none;
    border-radius: 0.25rem;
    border: 1px solid var(--form-input-border, #E2DDD5);
    background: var(--form-input-bg, #FFF);
}

/* Field Descriptions */
#page-container .gform-theme--orbital .gfield_description,
#page-container .gform-theme--orbital .gfield_description.validation_message {
    color: var(--gf-description-color);
    font-size: var(--gf-description-font-size);
    line-height: var(--gf-description-line-height);
    margin-top: var(--gf-description-margin-top);
}

/* Text Inputs, Textareas, Selects */
#page-container .gform-theme--orbital input[type="text"],
#page-container .gform-theme--orbital input[type="email"],
#page-container .gform-theme--orbital input[type="tel"],
#page-container .gform-theme--orbital input[type="url"],
#page-container .gform-theme--orbital input[type="number"],
#page-container .gform-theme--orbital input[type="password"],
#page-container .gform-theme--orbital input[type="date"],
#page-container .gform-theme--orbital input[type="time"],
#page-container .gform-theme--orbital textarea {
    background-color: var(--gf-control-bg-color);
    border: var(--gf-control-border-width) solid var(--gf-control-border-color);
    border-radius: var(--gf-control-border-radius);
    color: var(--gf-control-color);
    font-size: var(--gf-control-font-size);
    line-height: var(--gf-control-line-height);
    font-family: var(--gf-control-font-family);
    padding: var(--gf-control-padding-y) var(--gf-control-padding-x);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    width: 100%;
}

#page-container .gform-theme--orbital select {
    background-color: #fff;
    border: var(--gf-control-border-width) solid var(--gf-control-border-color);
    border-radius: var(--gf-control-border-radius);
    color: var(--form-placeholder-text, #B8B2A9);
    /* Form/Field-Placeholder */
    font-family: var(--font-family-body, "Source Sans 3");
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    /* line-height: normal; */
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    width: 100%;
}

/* Selected value uses field text color; empty/placeholder option stays muted */
#page-container .gform-theme--orbital select:has(option:checked:not([value=""])) {
    color: var(--gf-control-color, var(--form-field-text));
}

#page-container .gform-theme--orbital select option {
    color: var(--gf-control-color, var(--form-field-text));
    font-family: var(--font-family-body, "Source Sans 3");
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

#page-container .gform-theme--orbital select option[value=""] {
    color: var(--form-placeholder-text, #B8B2A9);
}

.gform-theme--foundation .gfield .ginput_password.medium, .gform-theme--foundation .gfield input.medium, .gform-theme--foundation .gfield select.medium {
    inline-size: calc(50% - var(--gf-form-gap-x) / 2) !important;
}

/* Input Focus States - Framework handles focus states via CSS variables */
/* Removed manual focus styles to allow framework variables to work properly */

/* Placeholder Text — all form fields */
#page-container input::placeholder,
#page-container textarea::placeholder,
#page-container select::placeholder,
#page-container .gform-theme--orbital input::placeholder,
#page-container .gform-theme--orbital textarea::placeholder,
#page-container .gform_wrapper input::placeholder,
#page-container .gform_wrapper textarea::placeholder {
    color: var(--form-placeholder-text, #B8B2A9);
    /* Form/Field-Placeholder */
    font-family: var(--font-family-body, "Source Sans 3");
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    opacity: 1;
}

/* Submit / Next — match .primary-solid (all Gravity Forms) */
#page-container .gform_wrapper .gform_button,
#page-container .gform_wrapper .gform_next_button,
#page-container .gform_wrapper input[type="submit"]:not(.gform_previous_button),
#page-container .gform_wrapper button[type="submit"]:not(.gform_previous_button),
#page-container .gform_wrapper input.gform_next_button,
#page-container .gform_wrapper button.gform_next_button {
    --btn-primary-bg: #000090;
    --btn-primary-bg-hover: #111e4a;
    position: relative;
    display: inline-block;
    width: auto;
    min-height: 0;
    margin: 0;
    /* Room for ETmodules chevron (::after), same as .et_pb_button / .primary-solid */
    padding: 0.3em 2em 0.3em 0.7em;
    border: none !important;
    border-radius: var(--radius-md, 0.5rem);
    background: var(--btn-primary-bg, #000090) !important;
    background-color: var(--btn-primary-bg, #000090) !important;
    background-image: none !important;
    box-shadow: none !important;
    color: var(--btn-primary-text, #fff) !important;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif) !important;
    font-size: 1.25rem !important;
    font-style: normal;
    font-weight: 700 !important;
    line-height: normal;
    letter-spacing: 0.025rem;
    text-transform: uppercase;
    text-decoration: none !important;
    text-align: center;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, text-decoration 0.2s ease;
}

/* ETmodules chevron — mirrors .et_pb_button:after / .primary-solid
   (!important on font-family required: button sets Barlow Condensed !important) */
#page-container .gform_wrapper button.gform_button::after,
#page-container .gform_wrapper button.gform_next_button::after,
#page-container .gform_wrapper button[type="submit"]:not(.gform_previous_button)::after {
    content: "\35" !important;
    display: inline-block !important;
    font-family: ETmodules !important;
    font-size: 32px !important;
    line-height: 1em !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-feature-settings: normal !important;
    font-variant: none !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-shadow: none;
    text-decoration: none !important;
    color: inherit !important;
    opacity: 1 !important;
    position: absolute;
    top: 50%;
    right: 0.15em;
    left: auto;
    transform: translateY(-50%);
    transition: all 0.2s ease;
    pointer-events: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#page-container .gform_wrapper .gform_button:hover,
#page-container .gform_wrapper .gform_next_button:hover,
#page-container .gform_wrapper input[type="submit"]:not(.gform_previous_button):hover,
#page-container .gform_wrapper button[type="submit"]:not(.gform_previous_button):hover,
#page-container .gform_wrapper input.gform_next_button:hover,
#page-container .gform_wrapper button.gform_next_button:hover,
#page-container .gform_wrapper .gform_button:focus,
#page-container .gform_wrapper .gform_next_button:focus,
#page-container .gform_wrapper input[type="submit"]:not(.gform_previous_button):focus,
#page-container .gform_wrapper button[type="submit"]:not(.gform_previous_button):focus {
    border: none !important;
    border-radius: var(--radius-md, 0.5rem);
    background: var(--btn-primary-bg-hover, #111e4a) !important;
    background-color: var(--btn-primary-bg-hover, #111e4a) !important;
    background-image: none !important;
    color: var(--btn-primary-text, #fff) !important;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif) !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.025rem;
    text-transform: uppercase;
    text-decoration-line: underline !important;
    text-decoration-style: solid !important;
    text-decoration-skip-ink: auto !important;
    text-decoration-color: var(--border-accent, #fec901) !important;
    text-decoration-thickness: 10% !important;
    text-underline-offset: 12% !important;
    text-underline-position: from-font !important;
}

#page-container .gform_wrapper button.gform_button:hover::after,
#page-container .gform_wrapper button.gform_next_button:hover::after,
#page-container .gform_wrapper button[type="submit"]:not(.gform_previous_button):hover::after,
#page-container .gform_wrapper button.gform_button:focus::after,
#page-container .gform_wrapper button.gform_next_button:focus::after,
#page-container .gform_wrapper button[type="submit"]:not(.gform_previous_button):focus::after {
    opacity: 1;
    right: 0.15em;
    text-decoration: none;
}

/* Previous — match .primary-ghost + left-chevron (all Gravity Forms) */
#page-container .gform_wrapper .gform_previous_button,
#page-container .gform_wrapper input.gform_previous_button,
#page-container .gform_wrapper button.gform_previous_button {
    --btn-primary-bg: #000090;
    position: relative;
    display: inline-flex;
    align-items: center;
    width: auto;
    min-height: 0;
    margin: 0;
    /* Room for left-facing ETmodules chevron (::after) */
    padding: 0.3em 0.15em 0.3em 1.5rem;
    border: none !important;
    border-radius: var(--radius-md, 0.5rem);
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: var(--btn-primary-bg, #000090) !important;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif) !important;
    font-size: 1.25rem !important;
    font-style: normal;
    font-weight: 700 !important;
    line-height: normal;
    letter-spacing: 0.025rem;
    text-transform: uppercase;
    text-decoration: none !important;
    text-align: left;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, text-decoration 0.2s ease;
}

#page-container .gform_wrapper button.gform_previous_button::after {
    content: "\34" !important;
    display: inline-block !important;
    font-family: ETmodules !important;
    font-size: 32px !important;
    line-height: 1em !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-feature-settings: normal !important;
    font-variant: none !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-shadow: none;
    text-decoration: none !important;
    color: inherit !important;
    opacity: 1 !important;
    position: absolute;
    top: 50%;
    left: 0;
    right: auto;
    transform: translateY(-50%);
    margin: 0;
    transition: all 0.2s ease;
    pointer-events: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#page-container .gform_wrapper .gform_previous_button:hover,
#page-container .gform_wrapper input.gform_previous_button:hover,
#page-container .gform_wrapper button.gform_previous_button:hover,
#page-container .gform_wrapper .gform_previous_button:focus,
#page-container .gform_wrapper input.gform_previous_button:focus,
#page-container .gform_wrapper button.gform_previous_button:focus {
    border: none !important;
    border-radius: var(--radius-md, 0.5rem);
    background: transparent !important;
    background-color: transparent !important;
    color: var(--btn-primary-outlined-ghost-text, #000090) !important;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif) !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.025rem;
    text-transform: uppercase;
    /* Underline the label span only — avoids flex/chevron underline glitches */
    text-decoration: none !important;
}

#page-container .gform_wrapper button.gform_previous_button:hover .gform-btn-label,
#page-container .gform_wrapper button.gform_previous_button:focus .gform-btn-label {
    text-decoration-line: underline !important;
    text-decoration-style: solid !important;
    text-decoration-skip-ink: auto !important;
    text-decoration-thickness: 10% !important;
    text-underline-offset: 12% !important;
    text-underline-position: from-font !important;
}

#page-container .gform_wrapper button.gform_previous_button:hover::after,
#page-container .gform_wrapper button.gform_previous_button:focus::after {
    opacity: 1;
    text-decoration: none !important;
}

/* Error States */
#page-container .gform-theme--orbital .gfield_error input,
#page-container .gform-theme--orbital .gfield_error textarea,
#page-container .gform-theme--orbital .gfield_error select {
    border-color: var(--gf-error-border-color);
    background-color: var(--gf-error-bg-color);
}

#page-container .gform-theme--orbital .gfield_error .validation_message {
    color: var(--gf-error-color);
    font-size: var(--gf-description-font-size);
    margin-top: var(--gf-description-margin-top);
}

/* Success Message */
#page-container .gform-theme--orbital .gform_confirmation_message {
    background-color: var(--gf-success-bg-color);
    color: var(--gf-success-color);
    padding: 16px;
    border-radius: var(--gf-control-border-radius);
    border-left: 4px solid var(--gf-success-color);
    margin-bottom: var(--gf-field-margin-bottom);
}

/* Checkbox and Radio Styles */
#page-container .gform-theme--orbital .gchoice label {
    font-weight: var(--font-weight-regular);
    color: var(--text-default);
    cursor: pointer;
}

#page-container .gform-theme--orbital input[type="checkbox"],
#page-container .gform-theme--orbital input[type="radio"] {
    width: auto;
    /* margin-right: 8px; */
    cursor: pointer;
}

/* File Upload Field */
#page-container .gform-theme--orbital .ginput_container_fileupload,
#page-container .gform_wrapper .ginput_container_fileupload {
    width: 100%;
}

#page-container .gform-theme--orbital .ginput_container_fileupload input[type="file"],
#page-container .gform_wrapper .ginput_container_fileupload input[type="file"] {
    width: 100%;
    max-width: 100%;
    --gf-local-width: 100%;
    padding: var(--gf-control-padding-y);
}

/* Hidden Fields */
#page-container .gform-theme--orbital .gform_hidden {
    display: none;
}

/* Page Break Navigation */
#page-container .gform_wrapper .gform_page_footer,
#page-container .gform_wrapper .gform_footer {
    margin-top: 32px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
}

/* Previous left; Next/Submit + Save grouped on the right */
#page-container .gform_wrapper .gform_page_footer:has(.gform_previous_button) {
    justify-content: flex-start;
}

#page-container .gform_wrapper .gform_page_footer:has(.gform_previous_button) .gform_next_button,
#page-container .gform_wrapper .gform_page_footer:has(.gform_previous_button) .gform_button {
    margin-left: auto;
}

/* Progress Bar (if using progress indicators) */
#page-container .gform-theme--orbital .gf_progressbar {
    background-color: var(--background-tertiary);
    border-radius: var(--gf-control-border-radius);
    height: 8px;
    margin-bottom: var(--gf-field-margin-bottom);
}

#page-container .gform-theme--orbital .gf_progressbar_percentage {
    background-color: var(--gf-color-primary);
    border-radius: var(--gf-control-border-radius);
    height: 100%;
    transition: width 0.3s ease;
}

/* --------------------------------------------
   Gravity Forms Page Steps (all .gf_page_steps)
   Horizontal numbered steps + connector line
   -------------------------------------------- */
#page-container .gf_page_steps {
    --gf-step-navy: var(--btn-primary-bg, #000090);
    --gf-step-pending-bg: var(--background-surface-raised, #E2DDD5);
    --gf-step-number-size: 48px;
    --gf-step-radius: 8px;
    --gf-step-line-height: 2px;
    --gf-step-label-gap: 10px;

    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0;
    position: relative;
    width: 100%;
    margin: 0 0 var(--size-32, 32px);
    /* Room for absolutely positioned labels under the number boxes */
    padding: 0 0 4.5rem;
    border: none;
    border-bottom: none;
}

/* Connector line: center of first number → center of last number */
#page-container .gf_page_steps::before {
    content: "";
    position: absolute;
    top: calc(var(--gf-step-number-size) / 2 - var(--gf-step-line-height) / 2);
    left: calc(var(--gf-step-number-size) / 2);
    right: calc(var(--gf-step-number-size) / 2);
    height: var(--gf-step-line-height);
    background-color: #000090;
    z-index: 1;
    pointer-events: none;
}

/*
 * Equal-width steps (number box size) + space-between pins step 1
 * to the start and the last step to the end, with even gaps.
 */
#page-container .gf_page_steps .gf_step {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 0 0 auto;
    width: var(--gf-step-number-size);
    max-width: var(--gf-step-number-size);
    height: auto;
    margin: 0;
    padding: 0;
    opacity: 1;
    filter: none;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: inherit;
    font-weight: var(--font-weight-bold, 700);
    line-height: var(--line-height-xs, 1.25);
    color: var(--gf-step-navy);
    text-align: center;
    position: relative;
    z-index: 2;
}

#page-container .gf_page_steps .gf_step_clear {
    display: none;
}

#page-container .gf_page_steps .gf_step_number {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: var(--gf-step-number-size);
    height: var(--gf-step-number-size);
    margin: 0;
    border: none;
    border-radius: var(--gf-step-radius);
    background-color: var(--gf-step-pending-bg);
    color: #000090 !important;
    text-align: center;
    /* Heading/H3 */
    font-family: var(--font-family-heading, "Barlow Condensed");
    font-size: 1.75rem;
    font-style: normal;
    font-weight: 700;
    line-height: 130%; /* 2.275rem */
    letter-spacing: 0.035rem;
}

#page-container .gf_page_steps .gf_step_label {
    display: block;
    position: absolute;
    top: calc(var(--gf-step-number-size) + var(--gf-step-label-gap));
    left: 50%;
    transform: translateX(-50%);
    width: max-content;
    max-width: 30ch;
    margin-top: 0;
    color: #000090;
    text-align: center;
    font-family: var(--font-family-heading, "Barlow Condensed");
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
    line-height: 105%; /* 1.3125rem */
}

/* Keep first/last labels tethered to their edge-pinned numbers */
#page-container .gf_page_steps .gf_step_first .gf_step_label {
    left: 0;
    transform: none;
    text-align: left;
}

#page-container .gf_page_steps .gf_step_last .gf_step_label {
    left: auto;
    right: 0;
    transform: none;
    text-align: right;
}

/* Next: light fill + navy border */
/* #page-container .gf_page_steps .gf_step_next .gf_step_number {
    background-color: var(--gf-step-pending-bg);
    color: var(--gf-step-navy);
    border: 2px solid #000090 !important;
} */

.gform-theme--framework .gf_step_completed .gf_step_number::after {
    display: none !important;
}

#page-container .gf_page_steps .gf_step_completed .gf_step_number {
    background-color: #000090 !important;
    color: #fff !important;
}

/* Completed / pending: light box, no border */
#page-container .gf_page_steps .gf_step_completed .gf_step_number,
#page-container .gf_page_steps .gf_step_pending:not(.gf_step_next) .gf_step_number {
    background-color: var(--gf-step-pending-bg);
    color: var(--gf-step-navy);
    border: none;
}

/* Active: solid navy, white number (wins over pending/completed) */
#page-container .gf_page_steps .gf_step_active .gf_step_number {
    color: #000090 !important;
    border: var(--border-width-strong, 2px) solid #000090;
}

@media (max-width: 768px) {
    #page-container .gform-theme--orbital {
        --gf-control-padding-x: 14px;
        --gf-control-padding-y: 10px;
        --gf-field-margin-bottom: 20px;
    }

    #page-container .gf_page_steps {
        --gf-step-number-size: 40px;
        padding-bottom: 5rem;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    #page-container .gf_page_steps .gf_step_number {
        font-size: 1.25rem;
        letter-spacing: 0.025rem;
    }

    #page-container .gf_page_steps .gf_step_label {
        max-width: 6.5rem;
        font-size: 1rem;
    }
}

/* --------------------------------------------
   Order Summary HTML (GF all_fields / HTML field)
   Form 3, field 47 — restyles email-table markup
   -------------------------------------------- */
#page-container #field_3_47.gfield_html {
    --summary-navy: var(--btn-primary-bg, #000090);
    --summary-text: var(--form-input-text, #3E3B38);
    --summary-border: var(--form-input-border, #E2DDD5);
    --summary-surface: var(--white, #fff);
    --summary-muted: #F4F2ED;
    --summary-accent: var(--color-action-secondary-default, #fec901);
    --summary-meal: #FAF4EA;
}

#page-container #field_3_47.gfield_html table {
    width: 100% !important;
    max-width: 100% !important;
    border-collapse: separate;
    border-spacing: 0;
    background: transparent !important;
    background-color: transparent !important;
}

/* Flatten outer gray “email” chrome into one card */
#page-container #field_3_47.gfield_html > table {
    border: 1px solid var(--summary-border) !important;
    border-radius: 0.5rem;
    background: var(--summary-surface) !important;
    background-color: var(--summary-surface) !important;
    overflow: hidden;
}

#page-container #field_3_47.gfield_html > table > tbody > tr > td {
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}

#page-container #field_3_47.gfield_html font {
    font-family: inherit !important;
    font-size: inherit !important;
    color: inherit !important;
}

/* Hide legacy left spacer column */
#page-container #field_3_47.gfield_html td[width="20"],
#page-container #field_3_47.gfield_html td[style*="width: 20px"],
#page-container #field_3_47.gfield_html td[style*="width:20px"] {
    display: none !important;
}

/* Label rows */
#page-container #field_3_47.gfield_html tr[bgcolor="#EAF2FA"] > td,
#page-container #field_3_47.gfield_html tr[style*="background-color:#EAF2FA"] > td,
#page-container #field_3_47.gfield_html tr[style*="background-color: #EAF2FA"] > td {
    background: var(--summary-muted) !important;
    background-color: var(--summary-muted) !important;
    padding: 1rem 1.25rem 0.35rem !important;
    border: none !important;
    color: #000090;
    font-family: var(--font-family-heading, "Barlow Condensed"), sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

#page-container #field_3_47.gfield_html tr[bgcolor="#FAF4EA"] > td,
#page-container #field_3_47.gfield_html table[style*="border-left:1px solid #DFDFDF"] th, #page-container #field_3_47.gfield_html table[style*="border-left: 1px solid #DFDFDF"] th,
#page-container #field_3_47.gfield_html table[style*="border-left:1px solid #DFDFDF"] tfoot tr:last-child td, #page-container #field_3_47.gfield_html table[style*="border-left: 1px solid #DFDFDF"] tfoot tr:last-child td {
    color: #000090;
}

#page-container #field_3_47.gfield_html tr[bgcolor="#EAF2FA"] > td strong,
#page-container #field_3_47.gfield_html tr[style*="EAF2FA"] > td strong {
    font-family: inherit;
    font-size: inherit;
    font-weight: 700;
    color: inherit;
}

/* Value rows */
#page-container #field_3_47.gfield_html tr[bgcolor="#FFFFFF"] > td,
#page-container #field_3_47.gfield_html tr[style*="background-color: #FFFFFF"] > td,
#page-container #field_3_47.gfield_html tr[style*="background-color:#FFFFFF"] > td {
    background: var(--summary-surface) !important;
    background-color: var(--summary-surface) !important;
    padding: 0.25rem 1.25rem 1.1rem !important;
    border: none !important;
    border-bottom: 1px solid var(--summary-border) !important;
    color: var(--summary-text);
    font-family: var(--font-family-body, "Source Sans 3"), sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.45;
}

#page-container #field_3_47.gfield_html tr[bgcolor="#FFFFFF"]:last-child > td,
#page-container #field_3_47.gfield_html > table > tbody > tr > td > table > tbody > tr[bgcolor="#FFFFFF"]:last-of-type > td {
    border-bottom: none !important;
}

#page-container #field_3_47.gfield_html a {
    color: var(--summary-navy);
    text-decoration: underline;
    text-underline-offset: 2px;
}

#page-container #field_3_47.gfield_html a:hover {
    color: var(--btn-primary-bg-hover, #111e4a);
}

#page-container #field_3_47.gfield_html a.map-it-link {
    font-weight: 700;
    font-size: 0.875rem;
    letter-spacing: 0.02em;
}

/* Nested meal / GPNF entry cards */
#page-container #field_3_47.gfield_html hr.gpnf-nested-entries-hr {
    display: block !important;
    height: 0.75rem !important;
    margin: 0 !important;
    border: 0 !important;
    visibility: hidden !important;
}

#page-container #field_3_47.gfield_html table[style*="border-top:5px solid #faebd2"],
#page-container #field_3_47.gfield_html table[style*="border-top: 5px solid #faebd2"] {
    margin: 0 0 0.75rem !important;
    border: 1px solid var(--summary-border) !important;
    border-left: 4px solid var(--summary-accent) !important;
    border-radius: 0.375rem;
    background: var(--summary-surface) !important;
    background-color: var(--summary-surface) !important;
    overflow: hidden;
}

#page-container #field_3_47.gfield_html table[style*="border-top:5px solid #faebd2"] > tbody > tr > td,
#page-container #field_3_47.gfield_html table[style*="border-top: 5px solid #faebd2"] > tbody > tr > td {
    padding: 0 !important;
    background: transparent !important;
}

#page-container #field_3_47.gfield_html tr[bgcolor="#FAF4EA"] > td {
    background: var(--summary-meal) !important;
    background-color: var(--summary-meal) !important;
    padding: 0.75rem 1rem 0.2rem !important;
    border: none !important;
    color: var(--summary-navy);
    font-family: var(--font-family-heading, "Barlow Condensed"), sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

#page-container #field_3_47.gfield_html table[style*="#faebd2"] tr[bgcolor="#FFFFFF"] > td {
    padding: 0.15rem 1rem 0.75rem !important;
    border-bottom: none !important;
}

/* Order / product table */
#page-container #field_3_47.gfield_html table[style*="border-left:1px solid #DFDFDF"],
#page-container #field_3_47.gfield_html table[style*="border-left: 1px solid #DFDFDF"] {
    width: 100% !important;
    margin-top: 0.25rem;
    border: 1px solid var(--summary-border) !important;
    border-radius: 0.375rem;
    overflow: hidden;
    background: var(--summary-surface) !important;
}

#page-container #field_3_47.gfield_html table[style*="border-left:1px solid #DFDFDF"] th,
#page-container #field_3_47.gfield_html table[style*="border-left: 1px solid #DFDFDF"] th {
    background: var(--summary-navy) !important;
    background-color: var(--summary-navy) !important;
    border: none !important;
    border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
    padding: 0.75rem 0.875rem !important;
    color: var(--white, #fff) !important;
    font-family: var(--font-family-heading, "Barlow Condensed"), sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-align: left !important;
}

#page-container #field_3_47.gfield_html table[style*="border-left:1px solid #DFDFDF"] th:last-child,
#page-container #field_3_47.gfield_html table[style*="border-left: 1px solid #DFDFDF"] th:last-child {
    border-right: none !important;
}

#page-container #field_3_47.gfield_html table[style*="border-left:1px solid #DFDFDF"] td,
#page-container #field_3_47.gfield_html table[style*="border-left: 1px solid #DFDFDF"] td {
    border-color: var(--summary-border) !important;
    padding: 0.75rem 0.875rem !important;
    color: var(--summary-text);
    font-family: var(--font-family-body, "Source Sans 3"), sans-serif !important;
    font-size: 0.9375rem !important;
    background: var(--summary-surface) !important;
}

#page-container #field_3_47.gfield_html table[style*="border-left:1px solid #DFDFDF"] tbody tr:nth-child(even) td,
#page-container #field_3_47.gfield_html table[style*="border-left: 1px solid #DFDFDF"] tbody tr:nth-child(even) td {
    background: var(--summary-muted) !important;
}

#page-container #field_3_47.gfield_html table[style*="border-left:1px solid #DFDFDF"] td strong,
#page-container #field_3_47.gfield_html table[style*="border-left: 1px solid #DFDFDF"] td strong {
    color: #000090 !important;
    font-family: var(--font-family-heading, "Barlow Condensed"), sans-serif;
    font-size: 1rem !important;
    font-weight: 700;
}

#page-container #field_3_47.gfield_html table[style*="border-left:1px solid #DFDFDF"] tfoot td,
#page-container #field_3_47.gfield_html table[style*="border-left: 1px solid #DFDFDF"] tfoot td {
    background: var(--summary-muted) !important;
    background-color: var(--summary-muted) !important;
    border-color: var(--summary-border) !important;
    color: var(--summary-navy);
    font-weight: 700;
}

#page-container #field_3_47.gfield_html table[style*="border-left:1px solid #DFDFDF"] tfoot tr:last-child td,
#page-container #field_3_47.gfield_html table[style*="border-left: 1px solid #DFDFDF"] tfoot tr:last-child td {
    background: var(--summary-navy) !important;
    background-color: var(--summary-navy) !important;
    color: var(--white, #fff) !important;
    border-color: var(--summary-navy) !important;
}

#page-container #field_3_47.gfield_html table[style*="border-left:1px solid #DFDFDF"] tfoot tr:last-child td strong,
#page-container #field_3_47.gfield_html table[style*="border-left: 1px solid #DFDFDF"] tfoot tr:last-child td strong {
    color: var(--white, #fff) !important;
}

@media (max-width: 640px) {
    #page-container #field_3_47.gfield_html {
        overflow-x: auto;
    }

    #page-container #field_3_47.gfield_html tr[bgcolor="#EAF2FA"] > td,
    #page-container #field_3_47.gfield_html tr[style*="EAF2FA"] > td,
    #page-container #field_3_47.gfield_html tr[bgcolor="#FFFFFF"] > td {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    #page-container #field_3_47.gfield_html table[style*="border-left:1px solid #DFDFDF"],
    #page-container #field_3_47.gfield_html table[style*="border-left: 1px solid #DFDFDF"] {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* END GRAVITY FORMS ORBITAL THEME STYLES */

/* ============================================
   FAQ SECTION STYLES
   ============================================ */

/* FAQ Section Container */
#page-container .faq-section {
    padding: 60px 0;
}

/* FAQ Accordion Container */
#page-container .faq-section .et_pb_accordion {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Individual FAQ Toggle Item */
#page-container .faq-section .et_pb_toggle {
    background-color: var(--background-primary);
    border: 1px solid var(--border-default);
    border-radius: 8px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    overflow: hidden;
}

/* Toggle Title (Question) */
#page-container .faq-section .et_pb_toggle_title {
    position: relative;
    padding: 20px 24px 20px 56px;
    margin: 0;
    font-size: var(--font-size-300);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-sm);
    color: var(--text-heading);
    cursor: pointer;
    transition: color 0.2s ease;
    font-family: var(--font-family-sans);
}

/* Toggle Title Hover State */
#page-container .faq-section .et_pb_toggle_title:hover {
    color: var(--btn-primary-bg-hover);
}

/* Toggle Title Focus State (Accessibility) */
#page-container .faq-section .et_pb_toggle:has(.et_pb_toggle_title:focus-visible) {
    outline: 2px solid var(--focus-ring-outer);
    outline-offset: -2px;
    border-radius: 8px;
}

#page-container .faq-section .et_pb_toggle .et_pb_toggle_title:focus-visible {
    outline: none;
}

/* Expand/Collapse Icon - Using Font Awesome 7 Pro (loaded via Divi Integrations) */
#page-container .faq-section .et_pb_toggle_title::before {
    content: '\2b';
    /* Plus icon */
    font: var(--fa-font-solid);
    display: flex;
    align-items: center;
    justify-content: center;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    position: absolute;
    left: 24px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    font-size: 18px;
    color: var(--blue-500);
    background-color: var(--background-primary);
    border-radius: 50%;
    transition: background-color 0.2s ease, color 0.2s ease;
    line-height: 1;
    margin: 0;
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 6px;
    box-sizing: border-box;
}

/* Open State - Font Awesome minus icon */
#page-container .faq-section .et_pb_toggle_open .et_pb_toggle_title::before {
    content: '\2212';
    /* Minus icon (mathematical minus sign) */
    background-color: var(--blue-500);
    color: var(--text-on-action);
    transition: background-color 0.2s ease, color 0.2s ease;
}

/* Toggle Content (Answer) */
#page-container .faq-section .et_pb_toggle_content {
    padding: 0 24px 24px 56px;
    color: var(--text-default);
    font-size: var(--font-size-200);
    line-height: var(--line-height-sm);
    font-family: var(--font-family-sans);
    transition: opacity 0.3s ease, max-height 0.3s ease;
}

/* Toggle Content Paragraphs */
#page-container .faq-section .et_pb_toggle_content p {
    margin-bottom: 16px;
    color: var(--text-default);
}

#page-container .faq-section .et_pb_toggle_content p:last-child {
    margin-bottom: 0;
}

/* Open Toggle State - Enhanced Visual Feedback */
#page-container .faq-section .et_pb_toggle_open {
    border-color: var(--border-interactive);
    background-color: var(--background-primary);
    box-shadow: 0 2px 8px rgba(59, 130, 246, 0.08);
}

/* Closed Toggle Hover State */
#page-container .faq-section .et_pb_toggle_close:hover {
    border-color: var(--border-interactive);
    background-color: var(--background-secondary);
}

/* Closed Toggle Hover - Icon Animation */
#page-container .faq-section .et_pb_toggle_close:hover .et_pb_toggle_title::before {
    background-color: var(--btn-ghost-bg-hover);
    color: var(--btn-primary-bg-hover);
}

/* Open Toggle Hover State */
#page-container .faq-section .et_pb_toggle_open:hover {
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.12);
}

#page-container .et_pb_blurb {
    max-width: unset;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    #page-container .faq-section {
        padding: 40px 0;
    }

    #page-container .faq-section .et_pb_accordion {
        gap: 12px;
    }

    #page-container .faq-section .et_pb_toggle_title {
        padding: 16px 20px 16px 48px;
        font-size: var(--font-size-200);
    }

    #page-container .faq-section .et_pb_toggle_title::before {
        left: 16px;
        width: 20px;
        height: 20px;
        font-size: var(--font-size-300);
    }

    #page-container .faq-section .et_pb_toggle_content {
        padding: 0 20px 20px 48px;
        font-size: var(--font-size-100);
    }
}

/* END FAQ SECTION STYLES */

/* ============================================
   FACET CARD LISTING SLIDERS (ATHLETES & BANQUETS)
   ============================================ */

#page-container .athlete-slider,
#page-container .banquet-slider,
#page-container .team-slider {
    position: relative;
    overflow: visible;
}

#page-container .athlete-card-swiper,
#page-container .banquet-card-swiper,
#page-container .team-card-swiper {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

@media only screen and (min-width: 981px) {
    #page-container .athlete-card-swiper,
    #page-container .banquet-card-swiper,
    #page-container .team-card-swiper {
        width: calc(50vw + 50%);
        max-width: none;
    }
}

@media only screen and (max-width: 980px) {
    #page-container .athlete-slider,
    #page-container .banquet-slider,
    #page-container .team-slider {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    #page-container .athlete-card-swiper,
    #page-container .banquet-card-swiper,
    #page-container .team-card-swiper {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    #page-container .facetwp-template:has(.athlete-slider),
    #page-container .facetwp-template:has(.banquet-slider),
    #page-container .facetwp-template:has(.team-slider) {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    #page-container .et_pb_section:has(.athlete-slider),
    #page-container .et_pb_section:has(.banquet-slider),
    #page-container .et_pb_section:has(.team-slider),
    #page-container .et_pb_row:has(.athlete-slider),
    #page-container .et_pb_row:has(.banquet-slider),
    #page-container .et_pb_row:has(.team-slider),
    #page-container .et_pb_column:has(.athlete-slider),
    #page-container .et_pb_column:has(.banquet-slider),
    #page-container .et_pb_column:has(.team-slider) {
        overflow: hidden;
    }
}

/* core.css sets overflow:hidden on #page-container — allow right-edge bleed on desktop */
@media only screen and (min-width: 981px) {
    /* body:has(.athlete-slider) #page-container,
    body:has(.banquet-slider) #page-container {
        overflow-x: visible;
    } */

    #page-container .facetwp-template:has(.athlete-slider),
    #page-container .facetwp-template:has(.banquet-slider),
    #page-container .facetwp-template:has(.team-slider),
    #page-container .et_pb_section:has(.athlete-slider),
    #page-container .et_pb_section:has(.banquet-slider),
    #page-container .et_pb_section:has(.team-slider),
    #page-container .et_pb_row:has(.athlete-slider),
    #page-container .et_pb_row:has(.banquet-slider),
    #page-container .et_pb_row:has(.team-slider),
    #page-container .et_pb_column:has(.athlete-slider),
    #page-container .et_pb_column:has(.banquet-slider),
    #page-container .et_pb_column:has(.team-slider) {
        overflow: visible;
    }
}

#page-container .fsm-post-list.fsm-post-list-full.swiper-wrapper {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0;
}

#page-container .fsm-post-list .fsm-post-item,
#page-container .fsm-post-list .swiper-slide.fsm-post-item {
    list-style: none;
    margin: 0;
    padding: 0;
    height: auto;
    box-sizing: border-box;
}

/* Card grids — FacetWP templates without Swiper */
#page-container .athlete-card-grid,
#page-container .award-recipients-grid,
#page-container .banquet-card-grid,
#page-container .team-card-grid {
    width: 100%;
    max-width: 100%;
}

#page-container .athlete-card-grid .athlete-card-grid__list,
#page-container .award-recipients-grid .award-recipients-grid__list,
#page-container .banquet-card-grid .banquet-card-grid__list,
#page-container .team-card-grid .team-card-grid__list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-lg, 1rem);
    list-style: none;
    margin: 0;
    padding: 0;
}

@media only screen and (min-width: 981px) {
    #page-container .athlete-card-grid .athlete-card-grid__list,
    #page-container .award-recipients-grid .award-recipients-grid__list,
    #page-container .banquet-card-grid .banquet-card-grid__list,
    #page-container .team-card-grid .team-card-grid__list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--space-card-lg, 1.5rem);
    }
}

#page-container #et-boc .athlete-card-grid__count {
    margin: var(--space-card-lg, 1.5rem) 0 0;
    padding: 0;
    font-family: var(--font-family-heading);
    font-size: var(--font-size-300, 1.25rem);
    font-weight: var(--font-weight-bold, 700);
    line-height: var(--line-height-xs, 1.25);
    color: var(--color-action-secondary-text, #000090);
    text-align: right;
}

/* Award cards without a bio are not interactive */
#page-container .fsm-post-list .award-card-link--static {
    cursor: default;
}

/* Award recipient bio modal */
.award-bio-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-lg, 1rem);
    background: rgba(0, 0, 64, 0.72);
    box-sizing: border-box;
}

.award-bio-modal[hidden] {
    display: none !important;
}

.award-bio-modal__dialog {
    position: relative;
    width: min(920px, 100%);
    max-height: min(90vh, 900px);
    overflow: auto;
    background: var(--white, #fff);
    border-radius: var(--radius-md, 0.5rem);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.28);
}

.award-bio-modal__close {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border: 0;
    border-radius: var(--radius-sm, 0.25rem);
    background: #000090;
    color: #fff;
    font-size: 1.75rem;
    line-height: 1;
    cursor: pointer;
}

.award-bio-modal__close:hover,
.award-bio-modal__close:focus-visible {
    background: #000070;
}

.award-bio-modal__header {
    padding: 1.25rem 3.5rem 1rem 1.5rem;
    border-bottom: 1px solid rgba(0, 0, 144, 0.12);
}

.award-bio-modal__header h2 {
    margin: 0;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: var(--font-size-400, 1.5rem);
    font-weight: var(--font-weight-bold, 700);
    color: #000090;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.award-bio-modal__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
    padding: 1.5rem;
}

.award-bio-modal__image {
    overflow: hidden;
    border-radius: var(--radius-sm, 0.25rem);
    aspect-ratio: 7 / 6;
}

.award-bio-modal__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}

.award-bio-modal__name {
    margin: 0.75rem 0 0.25rem;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: var(--font-size-400, 1.5rem);
    font-weight: var(--font-weight-bold, 700);
    color: #000090;
}

.award-bio-modal__year {
    margin: 0;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-accent-on-accent, #5A4400);
}

.award-bio-modal__content {
    font-family: var(--font-family-body, "Source Sans 3", sans-serif);
    font-size: var(--font-size-200, 1rem);
    line-height: var(--line-height-sm, 1.5);
    color: #222;
}

.award-bio-modal__content > *:first-child {
    margin-top: 0;
}

.award-bio-modal__content > *:last-child {
    margin-bottom: 0;
}

body.award-bio-modal-open {
    overflow: hidden;
}

@media only screen and (min-width: 781px) {
    .award-bio-modal__body {
        grid-template-columns: minmax(0, 240px) minmax(0, 1fr);
        gap: 1.75rem;
        padding: 1.75rem;
    }
}


/* Officers grid: Swiper on mobile/tablet only; CSS grid on desktop. */
#page-container .officers-slider .officers-card-swiper {
    width: 100%;
    max-width: 100%;
}

#page-container .officers-slider-nav {
    display: none;
    align-items: center;
    gap: var(--space-md);
    margin-top: 2rem;
}

@media only screen and (max-width: 980px) {
    #page-container .officers-slider {
        position: relative;
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    #page-container .officers-slider .officers-card-swiper {
        overflow: hidden;
    }

    #page-container .officers-slider .fsm-post-list.fsm-post-list-full.swiper-wrapper.team-card-grid__list {
        display: flex;
        grid-template-columns: none;
        gap: 0;
    }

    #page-container .officers-slider .swiper-slide.fsm-post-item {
        height: auto;
        box-sizing: border-box;
    }

    #page-container .officers-slider.has-slider-nav .officers-slider-nav {
        display: flex;
    }
}

@media only screen and (min-width: 981px) {
    #page-container .officers-slider .officers-card-swiper {
        overflow: visible;
    }

    /* Must beat #page-container .fsm-post-list.fsm-post-list-full.swiper-wrapper { display: flex } */
    #page-container .officers-slider .fsm-post-list.fsm-post-list-full.swiper-wrapper.team-card-grid__list {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--space-card-lg, 1.5rem);
        transform: none !important;
        width: 100% !important;
    }

    #page-container .officers-slider .swiper-slide.fsm-post-item {
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        flex-shrink: 1 !important;
    }

    #page-container .officers-slider-nav {
        display: none !important;
    }
}

#page-container .fsm-post-list .athlete-card-link,
#page-container .fsm-post-list .banquet-card-link,
#page-container .fsm-post-list .team-card-link,
#page-container .fsm-post-list .team-slider-card-link,
#page-container .fsm-post-list .award-card-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: var(--space-card-sm);
    background-color: var(--white);
    border-radius: var(--radius-md);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    text-decoration: none;
    color: inherit;
    overflow: hidden;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

#page-container .fsm-post-list .athlete-card-link:hover,
#page-container .fsm-post-list .athlete-card-link:focus-visible,
#page-container .fsm-post-list .banquet-card-link:hover,
#page-container .fsm-post-list .banquet-card-link:focus-visible,
#page-container .fsm-post-list .team-card-link:hover,
#page-container .fsm-post-list .team-card-link:focus-visible,
#page-container .fsm-post-list .award-card-link.open-modal-btn:hover,
#page-container .fsm-post-list .award-card-link.open-modal-btn:focus-visible {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    transform: translateY(-2px);
    background-color: var(--white);
    text-decoration: none;
}

#page-container .fsm-post-list .athlete-card-link.award-card-link--static:hover,
#page-container .fsm-post-list .athlete-card-link.award-card-link--static:focus-visible {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    transform: none;
}

.banquet-card-link .imagewrapper {
    aspect-ratio: 2/3 !important;

}

.athlete-card-link .imagewrapper {
    aspect-ratio: 7/6 !important;
}

/* ============================================
   ATHLETE VIDEO SLIDER (FacetWP: athlete_videos)
   Dedicated classes — do not share athlete-slider styles.
   ============================================ */

#page-container .athlete-video-slider {
    position: relative;
    overflow: visible;
}

#page-container .athlete-video-card-swiper {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

@media only screen and (min-width: 981px) {
    #page-container .athlete-video-card-swiper {
        width: calc(50vw + 50%);
        max-width: none;
    }

    #page-container .facetwp-template:has(.athlete-video-slider),
    #page-container .et_pb_section:has(.athlete-video-slider),
    #page-container .et_pb_row:has(.athlete-video-slider),
    #page-container .et_pb_column:has(.athlete-video-slider) {
        overflow: visible;
    }
}

@media only screen and (max-width: 980px) {
    #page-container .athlete-video-slider {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    #page-container .athlete-video-card-swiper {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    #page-container .facetwp-template:has(.athlete-video-slider) {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    #page-container .et_pb_section:has(.athlete-video-slider),
    #page-container .et_pb_row:has(.athlete-video-slider),
    #page-container .et_pb_column:has(.athlete-video-slider) {
        overflow: hidden;
    }
}

#page-container .athlete-video-card-list.swiper-wrapper {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0;
}

#page-container .athlete-video-card-item,
#page-container .swiper-slide.athlete-video-card-item {
    list-style: none;
    height: auto;
    width: auto;
    max-width: none;
    background: transparent;
    box-shadow: none;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

#page-container .athlete-video-card-link {
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: visible;
    width: 100%;
    height: auto;
    border-radius: 0;
    text-decoration: none;
    color: inherit;
}

#page-container .athlete-video-card-link:hover,
#page-container .athlete-video-card-link:focus-visible {
    text-decoration: none;
}

#page-container .athlete-video-card__media {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 0.75rem;
}

#page-container .athlete-video-card__image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover;
    object-position: center top;
}

#page-container .athlete-video-card__title {
    margin: 0.75rem 0 0;
    padding: 0 0.15rem;
    font-family: var(--font-family-heading);
    font-size: var(--font-size-200, 1.125rem);
    font-weight: var(--font-weight-bold, 700);
    line-height: var(--line-height-xs, 1.25);
    color: var(--color-action-secondary-text, #000090);
}

#page-container .athlete-video-card__play {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.5rem;
    height: 4.5rem;
    background: transparent;
    transform: translate(-50%, -50%);
    filter: drop-shadow(0 4px 16px rgba(0, 0, 0, 0.25));
    transition: transform 0.2s ease, filter 0.2s ease;
    pointer-events: none;
}

#page-container .athlete-video-card__play-icon {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: contain;
}

#page-container .athlete-video-card-link:hover .athlete-video-card__play,
#page-container .athlete-video-card-link:focus-visible .athlete-video-card__play {
    transform: translate(-50%, -50%) scale(1.06);
    filter: drop-shadow(0 6px 20px rgba(0, 0, 0, 0.3));
}

/* Video card grid — same cards as slider, CSS grid layout (FacetWP: athlete_videos_archive) */
#page-container .athlete-video-grid {
    width: 100%;
    max-width: 100%;
}

#page-container .athlete-video-grid .athlete-video-grid__list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-lg, 1rem);
    list-style: none;
    margin: 0;
    padding: 0;
}

@media only screen and (min-width: 981px) {
    #page-container .athlete-video-grid .athlete-video-grid__list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--space-card-lg, 1.5rem);
    }
}

#page-container .athlete-video-grid .athlete-video-card-item {
    width: 100%;
    min-width: 0;
}

#page-container .athlete-video-slider-prev,
#page-container .athlete-video-slider-next {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: none;
    border-radius: var(--radius-full);
    background-color: var(--icon-default);
    color: var(--icon-on-brand-secondary);
    cursor: pointer;
    transition: background-color 0.2s ease;
}

#page-container .athlete-video-slider-prev:hover:not(.swiper-button-disabled),
#page-container .athlete-video-slider-next:hover:not(.swiper-button-disabled),
#page-container .athlete-video-slider-prev:focus-visible:not(.swiper-button-disabled),
#page-container .athlete-video-slider-next:focus-visible:not(.swiper-button-disabled) {
    background-color: var(--icon-accent);
}

#page-container .athlete-video-slider-prev.swiper-button-disabled,
#page-container .athlete-video-slider-next.swiper-button-disabled {
    background-color: var(--icon-disabled);
    cursor: not-allowed;
}

#page-container .athlete-video-slider-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
}

#page-container .athlete-video-slider-arrow svg {
    display: block;
    width: 30px;
    height: 30px;
}

#page-container .fsm-post-list .imagewrapper {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: var(--radius-sm);
    margin-bottom: var(--space-lg);
}

/* ============================================
   BLOG POSTS GRID (FacetWP: blog_posts, related_blog_posts)
   Match officers / team-card visual design without rebuilding the template.
   [data-name$="blog_posts"] covers both template names.
   ============================================ */
#page-container .facetwp-template[data-name$="blog_posts"] {
    width: 100%;
    max-width: 100%;
}

#page-container .facetwp-template[data-name$="blog_posts"] .fsm-post-list.fsm-post-list-full {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-lg, 1rem);
    list-style: none;
    margin: 0;
    padding: 0;
}

@media only screen and (min-width: 981px) {
    #page-container .facetwp-template[data-name$="blog_posts"] .fsm-post-list.fsm-post-list-full {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--space-card-lg, 1.5rem);
    }
}

#page-container .facetwp-template[data-name$="blog_posts"] .fsm-post-item {
    list-style: none;
    margin: 0;
    padding: 0;
    height: auto;
}

#page-container .facetwp-template[data-name$="blog_posts"] .fsm-post-item > a {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: var(--space-card-sm);
    background-color: var(--white, #fff);
    border-radius: var(--radius-md, 0.5rem);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    text-decoration: none;
    color: inherit;
    overflow: hidden;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
    border: 5px solid transparent;
}

#page-container .facetwp-template[data-name$="blog_posts"] .fsm-post-item > a:hover,
#page-container .facetwp-template[data-name$="blog_posts"] .fsm-post-item > a:focus-visible {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    transform: translateY(-2px);
    background-color: var(--white, #fff);
    text-decoration: none;
    border: 5px solid #fec901;
}

#page-container .facetwp-template[data-name$="blog_posts"] .imagewrapper {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: var(--radius-sm, 0.25rem);
    margin-bottom: var(--space-lg, 1rem);
    background-color: #e8e6e1;
}

#page-container .facetwp-template[data-name$="blog_posts"] .imagewrapper img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    border-radius: var(--radius-sm, 0.25rem);
}

#page-container .facetwp-template[data-name$="blog_posts"] .post-info {
    display: flex;
    flex-direction: column;
    flex: 1;
}

#page-container .facetwp-template[data-name$="blog_posts"] .post-info h3 {
    margin: 0 0 var(--space-sm, 0.5rem);
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: var(--font-size-400, 1.5rem);
    font-weight: var(--font-weight-bold, 700);
    line-height: var(--line-height-xs, 1.25);
    color: var(--color-action-secondary-text, #000090);
    text-transform: none;
}

#page-container .fsm-post-list .imagewrapper img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    border-radius: var(--radius-sm);
}

#page-container .fsm-post-list .post-info {
    display: flex;
    flex-direction: column;
    flex: 1;
}

#page-container .fsm-post-list .post-info .athlete-name,
#page-container .fsm-post-list .post-info .banquet-name,
#page-container .fsm-post-list .post-info .team-name,
#page-container .fsm-post-list .post-info .team-slider-name {
    margin: 0 0 var(--space-sm);
    font-family: var(--font-family-heading);
    font-size: var(--font-size-400);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-xs);
    color: var(--color-action-secondary-text);
    text-transform: none;
}

#page-container .fsm-post-list .athlete-tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    margin-bottom: var(--space-card-md);
}

#page-container .fsm-post-list .taxonomy-badge {
    display: inline-block;
    padding: var(--size-6) var(--space-md);
    background-color: var(--color-action-secondary-default);
    border-radius: var(--radius-full);
    color: var(--text-accent-on-accent, #5A4400);
    font-family: "Barlow Condensed";
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: 0.18rem;
    text-transform: uppercase;
}

#page-container .fsm-post-list .read-bio-action.primary-ghost,
#page-container .fsm-post-list .read-banquet-action.primary-ghost {
    margin-top: auto;
    align-self: flex-start;
    pointer-events: none;
}

.read-bio-action.primary-ghost,
.read-banquet-action.primary-ghost {
    padding-left: 0 !important;
}

#page-container .athlete-slider-nav,
#page-container .banquet-slider-nav,
#page-container .legacy-slider-nav,
#page-container .athlete-video-slider-nav,
#page-container .team-slider-nav,
#page-container .swiper-mobile-nav {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    margin-top: 2rem;
}

#page-container .athlete-slider-nav[hidden],
#page-container .banquet-slider-nav[hidden],
#page-container .legacy-slider-nav[hidden],
#page-container .athlete-video-slider-nav[hidden],
#page-container .team-slider-nav[hidden],
#page-container .officers-slider-nav[hidden],
#page-container .swiper-mobile-nav[hidden] {
    display: none !important;
}

#page-container .athlete-slider-prev,
#page-container .athlete-slider-next,
#page-container .banquet-slider-prev,
#page-container .banquet-slider-next,
#page-container .legacy-slider-prev,
#page-container .legacy-slider-next,
#page-container .team-slider-prev,
#page-container .team-slider-next,
#page-container .officers-slider-prev,
#page-container .officers-slider-next,
#page-container .swiper-mobile-prev,
#page-container .swiper-mobile-next {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: none;
    border-radius: var(--radius-full);
    background-color: var(--icon-default);
    color: var(--icon-on-brand-secondary);
    cursor: pointer;
    transition: background-color 0.2s ease;
}

#page-container .athlete-slider-prev:hover:not(.swiper-button-disabled),
#page-container .athlete-slider-next:hover:not(.swiper-button-disabled),
#page-container .banquet-slider-prev:hover:not(.swiper-button-disabled),
#page-container .banquet-slider-next:hover:not(.swiper-button-disabled),
#page-container .legacy-slider-prev:hover:not(.swiper-button-disabled),
#page-container .legacy-slider-next:hover:not(.swiper-button-disabled),
#page-container .team-slider-prev:hover:not(.swiper-button-disabled),
#page-container .team-slider-next:hover:not(.swiper-button-disabled),
#page-container .officers-slider-prev:hover:not(.swiper-button-disabled),
#page-container .officers-slider-next:hover:not(.swiper-button-disabled),
#page-container .swiper-mobile-prev:hover:not(.swiper-button-disabled),
#page-container .swiper-mobile-next:hover:not(.swiper-button-disabled),
#page-container .athlete-slider-prev:focus-visible:not(.swiper-button-disabled),
#page-container .athlete-slider-next:focus-visible:not(.swiper-button-disabled),
#page-container .banquet-slider-prev:focus-visible:not(.swiper-button-disabled),
#page-container .banquet-slider-next:focus-visible:not(.swiper-button-disabled),
#page-container .legacy-slider-prev:focus-visible:not(.swiper-button-disabled),
#page-container .legacy-slider-next:focus-visible:not(.swiper-button-disabled),
#page-container .team-slider-prev:focus-visible:not(.swiper-button-disabled),
#page-container .team-slider-next:focus-visible:not(.swiper-button-disabled),
#page-container .officers-slider-prev:focus-visible:not(.swiper-button-disabled),
#page-container .officers-slider-next:focus-visible:not(.swiper-button-disabled),
#page-container .swiper-mobile-prev:focus-visible:not(.swiper-button-disabled),
#page-container .swiper-mobile-next:focus-visible:not(.swiper-button-disabled) {
    background-color: var(--icon-accent);
}

#page-container .athlete-slider-prev.swiper-button-disabled,
#page-container .athlete-slider-next.swiper-button-disabled,
#page-container .banquet-slider-prev.swiper-button-disabled,
#page-container .banquet-slider-next.swiper-button-disabled,
#page-container .legacy-slider-prev.swiper-button-disabled,
#page-container .legacy-slider-next.swiper-button-disabled,
#page-container .team-slider-prev.swiper-button-disabled,
#page-container .team-slider-next.swiper-button-disabled,
#page-container .officers-slider-prev.swiper-button-disabled,
#page-container .officers-slider-next.swiper-button-disabled,
#page-container .swiper-mobile-prev.swiper-button-disabled,
#page-container .swiper-mobile-next.swiper-button-disabled {
    background-color: var(--icon-disabled);
    cursor: not-allowed;
}

#page-container .athlete-slider-arrow,
#page-container .banquet-slider-arrow,
#page-container .legacy-slider-arrow,
#page-container .team-slider-arrow,
#page-container .officers-slider-arrow,
#page-container .swiper-mobile-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
}

#page-container .athlete-slider-arrow svg,
#page-container .banquet-slider-arrow svg,
#page-container .legacy-slider-arrow svg,
#page-container .team-slider-arrow svg,
#page-container .officers-slider-arrow svg,
#page-container .swiper-mobile-arrow svg {
    display: block;
    width: 30px;
    height: 30px;
}

@media (max-width: 767px) {
    #page-container .fsm-post-list .post-info .athlete-name,
    #page-container .fsm-post-list .post-info .banquet-name,
    #page-container .fsm-post-list .post-info .team-name,
    #page-container .fsm-post-list .post-info .team-slider-name {
        font-size: var(--font-size-300);
    }
}

/* END FACET CARD LISTING SLIDERS */

/* ============================================
   INDUCTEES FACETWP TOOLBAR
   ============================================ */

#page-container .summit-inductee-facets {
    display: flex;
    /* flex-wrap: wrap;
    align-items: stretch; */
    gap: var(--space-md, 0.75rem);
    width: 100%;
}

#page-container .summit-inductee-facets__search {
    /* flex: 1 1 16rem; */
    min-width: min(100%, 16rem);
}

#page-container .summit-inductee-facets__search .facetwp-facet {
    width: 100%;
}

#page-container .summit-inductee-facets__search .facetwp-input-wrap {
    display: block;
    width: 100%;
}

#page-container .summit-inductee-facets__search .facetwp-search {
    width: 100%;
    min-width: 0;
    min-height: 3.25rem;
    padding: 0.875rem 2.75rem 0.875rem 1rem;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: var(--radius-md, 0.5rem);
    background: var(--white, #fff);
    color: var(--color-action-secondary-text, #000090);
    font-family: var(--font-family-body, "Source Sans 3", sans-serif);
    font-size: 1rem;
    line-height: 1.5;
    box-sizing: border-box;
}

#page-container .summit-inductee-facets__search .facetwp-search::placeholder {
    color: var(--form-placeholder-text, #B8B2A9);
    font-family: var(--font-family-body, "Source Sans 3");
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    opacity: 1;
}

#page-container .summit-inductee-facets__search .facetwp-icon {
    right: 0.75rem;
    opacity: 0.55;
}

#page-container .summit-inductee-facets__filters {
    display: grid;
    flex: 1 1 auto;
    gap: var(--space-md, 0.75rem);
    grid-template-columns: repeat(4, 1fr);
}

@media only screen and (max-width: 980px) {
    #page-container .summit-inductee-facets__filters {
        grid-template-columns: repeat(2, 1fr);
    }
}

#page-container .summit-inductee-facets__filters .facetwp-facet {
    flex: 1 1 10rem;
    min-width: min(100%, 10rem);
}

#page-container .summit-inductee-facets__filters .facetwp-dropdown,
#page-container .summit-inductee-facets__filters .facetwp-facet select {
    width: 100%;
    min-height: 3.25rem;
    padding: 0.75rem 2.5rem 0.75rem 0.875rem;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: var(--radius-md, 0.5rem);
    background-color: var(--white, #fff);
    color: var(--color-action-secondary-text, #000090);
    font-family: var(--font-family-body, "Source Sans 3", sans-serif);
    font-size: 1rem;
    line-height: 1.5;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23000090' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.875rem center;
    box-sizing: border-box;
    color: var(--color-action-secondary-text);
    leading-trim: both;
    text-edge: cap;
    font-family: var(--font-family-heading, "Barlow Condensed");
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.025rem;
    text-transform: uppercase;
    border: var(--border-width-strong, 2px) solid var(--border-brand, #000090);
}

@media only screen and (max-width: 980px) {
    #page-container .summit-inductee-facets {
        flex-direction: column;
        align-items: stretch;
    }

    #page-container .summit-inductee-facets__filters {
        flex-direction: column;
    }
}


a.facetwp-page.next,
a.facetwp-page.prev {
    color: var(--color-action-secondary-text);
    font-family: var(--font-family-heading, "Barlow Condensed");
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.025rem;
    text-transform: uppercase;
}

a.facetwp-page {
    color: #000090;
    padding: 0.4rem 0.95rem !important;
    text-decoration: unset !important;
    font-family: var(--font-family-heading, "Barlow Condensed");
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.025rem;
    text-transform: uppercase;
}

a.facetwp-page.active {
    border-radius: var(--radius-sm, 0.25rem);
    background: #000090;
    color: var(--btn-primary-text, #FFF);
}

/* Desktop: prev/next pinned to edges, page numbers centered. */
.facetwp-pager {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.25rem;
    min-height: 40px;
    width: 100%;
}

.facetwp-pager .facetwp-page:not(.prev):not(.next) {
    display: inline-block;
    margin: 0 6px;
}

.facetwp-pager .facetwp-page.prev {
    position: absolute;
    left: 0;
}

.facetwp-pager .facetwp-page.next {
    position: absolute;
    right: 0;
}

/* Mobile: prev/next on row 1; page numbers centered on row 2. */
@media only screen and (max-width: 980px) {
    .facetwp-pager {
        position: static;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 0.35rem;
        row-gap: 0.75rem;
        min-height: 0;
    }

    .facetwp-pager .facetwp-page.prev,
    .facetwp-pager .facetwp-page.next {
        position: static;
    }

    .facetwp-pager .facetwp-page.prev {
        order: 1;
        margin-right: auto;
    }

    .facetwp-pager .facetwp-page.next {
        order: 2;
        margin-left: 0;
    }

    /* Force a line break between nav labels and page numbers. */
    .facetwp-pager::after {
        content: "";
        order: 3;
        flex: 0 0 100%;
        height: 0;
        overflow: hidden;
    }

    .facetwp-pager .facetwp-page:not(.prev):not(.next) {
        order: 4;
        margin: 0;
    }

    a.facetwp-page {
        padding: 0.35rem 0.6rem !important;
        font-size: 1.125rem;
    }
}


/* END INDUCTEES FACETWP TOOLBAR */

/* ============================================
   BANQUET HERO SHORTCODE
   Shortcode: [summit_banquet_hero]
   ============================================ */

#page-container .banquet-hero {
    --banquet-hero-bg: #000090;
    --banquet-hero-wing: 2.5rem;
    position: relative;
    background: var(--banquet-hero-bg);
    border-radius: 0;
    padding: 2.5rem 0;
    color: var(--text-inverse, #fff);
    overflow: visible;
}

#page-container .banquet-hero::before,
#page-container .banquet-hero::after {
    content: "";
    position: absolute;
    top: 0;
    width: var(--banquet-hero-wing);
    height: 100%;
    background: var(--banquet-hero-bg);
    pointer-events: none;
}

#page-container .banquet-hero::before {
    left: calc(var(--banquet-hero-wing) * -1);
    border-radius: var(--radius-lg, 16px) 0 0 var(--radius-lg, 16px);
}

#page-container .banquet-hero::after {
    right: calc(var(--banquet-hero-wing) * -1);
    border-radius: 0 var(--radius-lg, 16px) var(--radius-lg, 16px) 0;
}

#page-container .banquet-hero__inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: var(--space-card-xl, 40px);
    align-items: center;
}


.banquet-hero__title sup {
    font-size: 1.5rem;
}

body:not(.et-vb-root-ancestor) #page-container .banquet-hero__title {
    color: #fff !important;
    font-family: var(--font-family-heading);
    margin: 0 0 var(--space-lg, 16px);
    font-size: 2.625rem;
    font-style: normal;
    font-weight: 700;
    line-height: 110%;
    letter-spacing: 0.02625rem;
}

@media only screen and (max-width: 980px) {
    body:not(.et-vb-root-ancestor) #page-container .banquet-hero__title {
        font-size: 2.25rem;
    }
}

body:not(.et-vb-root-ancestor) #page-container .banquet-hero__meta {
    color: var(--btn-secondary-outlined-ghost-text, #fec901) !important;
    font-family: var(--font-family-heading);
    margin: 0 0 var(--space-lg, 16px);
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: 0.18rem;
    font-size: 1rem;
    text-transform: uppercase;
}

#page-container .banquet-hero__separator {
    margin: 0 0.5em;
}

body:not(.et-vb-root-ancestor) #page-container .banquet-hero__description,
body:not(.et-vb-root-ancestor) #page-container .banquet-hero__description p {
    margin: 0 0 var(--space-card-lg, 32px);
    color: var(--text-on-brand-secondary, #E2DDD5);
    font-family: var(--font-family-body, "Source Sans 3");
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 170%;
}

#page-container .banquet-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-lg, 16px);
    align-items: center;
}

#page-container .banquet-hero__media {
    border-radius: var(--radius-lg, 16px);
    overflow: hidden;
    min-height: 280px;
}

#page-container .banquet-hero__image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 280px;
    object-fit: cover;
    object-position: center;
    border-radius: var(--radius-lg, 16px);
}

/*
 * Divi section .hero.gradient.banquet-hero
 * Content keeps normal Divi row alignment; static image pins to the right edge
 * (same visual pattern as #hero-rotator.small, without shifting text).
 */
@media only screen and (min-width: 981px) {
    #page-container .hero.gradient.banquet-hero {
        position: relative;
        overflow: hidden;
        /* Keep original vertical/left padding; only clear the right so image can flush */
        padding-right: 0 !important;
    }

    /* Shortcode wing styles also match .banquet-hero — hide right wing so image can reach the edge */
    #page-container .hero.gradient.banquet-hero::after {
        display: none;
    }

    /*
     * Let the section (not the row) be the absolute containing block for the image column.
     * min-height restores the in-flow image column height that absolute positioning removed
     * (original section ~412px with 96px/48px vertical padding → ~268px content).
     */
    #page-container .hero.gradient.banquet-hero > .et_pb_row {
        position: static !important;
        align-items: center;
        min-height: 16.75rem;
    }

    /* Content column stays in normal flow / original horizontal start */
    #page-container .hero.gradient.banquet-hero > .et_pb_row > .et_pb_column:first-child {
        position: relative;
        z-index: 1;
        max-width: 50%;
    }

    /* Image column: right half, inset 7.5% top/bottom so image is 85% with section showing both sides */
    #page-container .hero.gradient.banquet-hero > .et_pb_row > .et_pb_column:last-child {
        position: absolute;
        top: 7.5%;
        right: 0;
        bottom: 7.5%;
        height: auto !important;
        width: 50% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 0;
        display: flex !important;
        align-items: stretch;
        justify-content: flex-end;
    }

     #page-container .hero.gradient.banquet-hero.no-bottom > .et_pb_row > .et_pb_column:last-child {
        width: 40% !important;
     }

    #page-container .hero.gradient.banquet-hero .et_pb_image,
    #page-container .hero.gradient.banquet-hero .et_pb_image.et_pb_image_sticky {
        position: relative !important;
        top: auto !important;
        bottom: auto !important;
        display: flex;
        width: 100%;
        height: 100% !important;
        max-height: none;
        margin: 0;
        align-self: stretch;
    }

    #page-container .hero.gradient.banquet-hero .et_pb_image .et_pb_image_wrap {
        display: block;
        width: 100%;
        height: 100%;
        min-height: 100%;
        border: 0;
        border-radius: var(--radius-lg, 16px) 0 0 var(--radius-lg, 16px);
        overflow: hidden;
        line-height: 0;
    }

    #page-container .hero.gradient.banquet-hero .et_pb_image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        border-radius: 0 !important;
    }

    /*
     * .no-bottom — image flush to section bottom.
     * Absolute children ignore padding, so pad-top is driven by --banquet-hero-pad-top
     * and mirrored onto the image column's `top` (image shrinks / moves down with it).
     *
     * Usage (change one value):
     * #page-container .hero.gradient.banquet-hero.no-bottom {
     *   --banquet-hero-pad-top: 4rem;
     * }
     */
    #page-container .hero.gradient.banquet-hero.no-bottom {
        --banquet-hero-pad-top: 4rem;
        padding-top: var(--banquet-hero-pad-top) !important;
        padding-bottom: 3rem !important
    }

    #page-container .hero.gradient.banquet-hero.no-bottom > .et_pb_row {
        display: flex !important;
        align-items: center !important;
        /* Match image column height so text can vertically center beside it */
        min-height: 26rem;
    }

    #page-container .hero.gradient.banquet-hero.no-bottom > .et_pb_row > .et_pb_column:first-child {
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        align-self: center;
        height: auto !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    #page-container .hero.gradient.banquet-hero.no-bottom > .et_pb_row > .et_pb_column:last-child {
        top: var(--banquet-hero-pad-top);
        bottom: 0;
    }

    #page-container .hero.gradient.banquet-hero.no-bottom .et_pb_image .et_pb_image_wrap {
        border-radius: var(--radius-lg, 16px) 0 0 0;
    }
}

@media only screen and (max-width: 980px) {
    #page-container .hero.gradient.banquet-hero .et_pb_image .et_pb_image_wrap {
        border-radius: var(--radius-lg, 16px);
        overflow: hidden;
    }

    #page-container .hero.gradient.banquet-hero .et_pb_image img {
        border-radius: var(--radius-lg, 16px);
    }
}

#page-container .banquet-hero__cta {
    position: relative;
    display: inline-block;
    padding: 0.3em 2em 0.3em 0.7em;
}

#page-container .banquet-hero__cta::after {
    content: "\35";
    font-family: ETmodules;
    font-size: 32px;
    line-height: 1em;
    position: absolute;
    top: 50%;
    right: 0.2em;
    transform: translateY(-50%);
    pointer-events: none;
}

#page-container .inverse-ghost.left-chevron {
    padding-left: 1.5rem !important;
}

#page-container .inverse-ghost.left-chevron::after {
    right: 5.9em !important;
    content: "\34";
}

#page-container .hero.blog .inverse-ghost.left-chevron::after {
    right: 4.8em !important;
}

#page-container .banquet-hero .inverse-ghost {
    background: transparent !important;
    color: #fff !important;
}

@media only screen and (max-width: 980px) {
    #page-container .banquet-hero {
        padding: 2rem 0;
    }

    #page-container .banquet-hero::before,
    #page-container .banquet-hero::after {
        display: none;
    }

    #page-container .banquet-hero__inner {
        display: flex;
        flex-direction: column;
    }

    #page-container .banquet-hero__media {
        order: -1;
    }
}

/* ============================================
   GLOBAL CTA — Keep History Alive
   Divi section class: global-cta
   ============================================ */

#page-container .global-cta.et_pb_section {
    background: transparent;
    overflow: visible;
    margin-bottom: -2.75rem;
    z-index: 1;
}

#page-container .global-cta > .et_pb_row {
    --global-cta-bg: #111E4A;
    --global-cta-wing: 2.5rem;
    --global-cta-bg-image: url("https://schfsummitcountyshoforg.kinsta.cloud/wp-content/uploads/Background-Color-2.png");
    position: relative;
    background-color: var(--global-cta-bg);
    border-radius: 0;
    overflow: visible;
    padding: var(--space-section-sm, 48px) var(--space-card-xl, 40px);
}

#page-container .global-cta.navy > .et_pb_row {
    --global-cta-bg-image: unset;
    padding: var(--space-section-sm, 48px) 0;
}

/* Single layer spans row + wings so the photo continues seamlessly */
#page-container .global-cta > .et_pb_row::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    bottom: 0;
    left: calc(var(--global-cta-wing) * -1);
    right: calc(var(--global-cta-wing) * -1);
    background-color: var(--global-cta-bg);
    background-image: var(--global-cta-bg-image);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: var(--radius-lg, 16px);
    pointer-events: none;
}

#page-container .global-cta > .et_pb_row::after {
    display: none;
}

#page-container .global-cta > .et_pb_row > .et_pb_column {
    position: relative;
    z-index: 1;
}

body:not(.et-vb-root-ancestor) #page-container .global-cta h2,
body:not(.et-vb-root-ancestor) #page-container .global-cta .et_pb_module_header {
    color: #fff !important;
}

body:not(.et-vb-root-ancestor) #page-container .global-cta p {
    color: #FFF
}

#page-container .global-cta .secondary-outline {
    background: transparent !important;
    background-color: transparent !important;
}

@media only screen and (max-width: 980px) {
    #page-container .global-cta > .et_pb_row {
        padding: var(--space-card-lg, 32px) var(--space-card-md, 24px);
    }

    #page-container .global-cta > .et_pb_row::before {
        left: -30px;
        right: -30px;
    }
}

/* ==========================================================================
   Hero Rotator — ACF hero_gallery on #hero-rotator sections
   ========================================================================== */

#page-container #hero-rotator.hero-rotator--initialized {
    position: relative;
    overflow: hidden;
    background-image: none !important;
    background-color: transparent;
}

#page-container #hero-rotator .hero-rotator__backgrounds {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

#page-container #hero-rotator .hero-rotator__slide {
    position: absolute;
    inset: 0;
    overflow: hidden;
    opacity: 0;
    transition: opacity var(--hero-rotator-transition, 1.2s) ease-in-out;
}

#page-container #hero-rotator .hero-rotator__slide .hero-rotator__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

#page-container #hero-rotator .hero-rotator__slide.is-active {
    opacity: 1;
}

#page-container #hero-rotator > *:not(.hero-rotator__backgrounds):not(.hero-rotator__caption) {
    position: relative;
    z-index: 1;
}

#page-container #hero-rotator .hero-rotator__caption {
    position: absolute;
    right: var(--space-section-sm, 3rem);
    bottom: var(--space-section-sm, 3rem);
    z-index: 2;
    max-width: min(27rem, 43vw);
    margin: 0;
    padding: 0;
    color: var(--text-on-brand-secondary, #e2ddd5);
    font-family: var(--font-family-body, "Source Sans 3", sans-serif);
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: 150%;
    text-align: right;
    opacity: 0;
    transition: opacity var(--hero-rotator-transition, 1.2s) ease-in-out;
    pointer-events: none;
}

#page-container #hero-rotator .hero-rotator__caption.is-visible {
    opacity: 1;
}

@media only screen and (max-width: 767px) {
    #page-container #hero-rotator .hero-rotator__caption {
        right: var(--space-lg, 1rem);
        bottom: var(--space-lg, 1rem);
        max-width: min(20rem, 75vw);
        font-size: 0.8125rem;
    }
}

@media only screen and (max-width: 980px) {
    #page-container #hero-rotator.small.hero-rotator--initialized::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
        /* Gradient only — solid brand base omitted so slider stays visible beneath */
        background: rgba(0, 0, 144, 0.55);
    }

    #page-container #hero-rotator.small.hero-rotator--initialized > *:not(.hero-rotator__backgrounds):not(.hero-rotator__caption) {
        z-index: 2;
    }

    #page-container #hero-rotator.small .hero-rotator__caption {
        z-index: 3;
    }
}

/* Small hero — split layout: content left, rotator right to screen edge */
@media only screen and (min-width: 981px) {
    #page-container #hero-rotator.small.hero-rotator--initialized {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        align-items: stretch;
        background-color: var(--background-brand, #000090);
        background-image: none !important;
        overflow: hidden;
    }

    #page-container #hero-rotator.small .hero-rotator__backgrounds {
        position: relative;
        grid-column: 2;
        grid-row: 1;
        inset: auto;
        width: 100%;
        min-height: 100%;
        z-index: 0;
    }

    #page-container #hero-rotator.small .hero-rotator__slide {
        border-radius: var(--radius-lg, 16px) 0 0 var(--radius-lg, 16px);
        background-color: var(--background-brand, #000090);
    }

    #page-container #hero-rotator.small .hero-rotator__slide .hero-rotator__image {
        object-fit: contain;
        object-position: right center;
    }

    #page-container #hero-rotator.small > .et_pb_row {
        grid-column: 1;
        grid-row: 1;
        position: relative;
        z-index: 1;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        align-self: center;
        padding-top: var(--space-section-sm, 3rem);
        padding-bottom: var(--space-section-sm, 3rem);
        padding-right: var(--space-card-lg, 2rem);
        padding-left: calc((200% - min(160%, 75rem)) / 2);
        box-sizing: border-box;
    }

    #page-container #hero-rotator.small .hero-rotator__caption {
        left: 50%;
        right: var(--space-card-xl, 2.5rem);
        bottom: var(--space-section-sm, 3rem);
        max-width: min(24rem, 42vw);
    }
}

/* ==========================================================================
   Legacy Cards — [legacy_cards] shortcode (athlete pages)
   ========================================================================== */
.legacy-cards {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.legacy-cards__row {
    display: flex;
    flex-wrap: nowrap;
    gap: 1.25rem;
    align-items: stretch;
}

.legacy-card {
    display: flex;
    padding: var(--space-card-sm, 1.25rem);
    flex-direction: column;
    align-items: center;
    gap: 0.625rem;
    flex: 1 0 0;
    min-width: 12rem;
    border-radius: 0.5rem;
    background: var(--background-surface-raised, #E2DDD5);
}

.legacy-card__icon {
    font-size: 2.5rem;
    line-height: 1;
    color: var(--background-brand, #000090);
}

.legacy-card__title {
    color: var(--text-default, #3E3B38);
    text-align: center;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: 0.18rem;
    text-transform: uppercase;
    max-width: 24ch;
}

/* Mobile uses the Swiper slider (matches the athlete card slider); hidden on desktop. */
.legacy-slider {
    display: none;
}

@media (max-width: 767px) {
    .legacy-cards {
        display: none;
    }

    .legacy-slider {
        display: block;
        position: relative;
    }

    #page-container .legacy-card-swiper {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    .legacy-slider .swiper-wrapper {
        display: flex;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .legacy-slider .swiper-slide {
        width: clamp(9rem, 60%, 14rem);
        height: auto;
        box-sizing: border-box;
    }

    .legacy-slider .swiper-slide .legacy-card {
        min-width: 0;
        height: 100%;
    }
}

/* ==========================================================================
   Athlete Video — [athlete_video] shortcode (athlete pages)
   ========================================================================== */

/* Hide Theme Builder "In Action" section when no related Video CPT exists.
   Body class set by summit_athlete_video_body_classes(). */
body.athlete-no-video #in-action {
    display: none !important;
}

.athlete-video-list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.athlete-video {
    position: relative;
    width: 100%;
    border-radius: 0.5rem;
    overflow: hidden;
    background: #000;
}

.athlete-video__player {
    display: block;
    border-radius: var(--radius-md, 0.5rem);
    width: 31.375rem;
    height: 17.625rem;
    aspect-ratio: 162 / 91;
    object-fit: cover;
}

.athlete-video__embed {
    border: 0;
    max-width: 100%;
}

.athlete-video__play {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: rgba(0, 0, 0, 0.2);
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.athlete-video__play:hover,
.athlete-video__play:focus-visible {
    background: rgba(0, 0, 0, 0.35);
}

.athlete-video__play:focus-visible {
    outline: 2px solid var(--border-focus, #F59E0B);
    outline-offset: -4px;
}

.athlete-video__play i {
    color: var(--icon-on-brand, #FFF);
    text-align: center;
    font-size: 4rem;
    font-style: normal;
    font-weight: 900;
    line-height: normal;
}

.athlete-video.is-playing .athlete-video__play {
    display: none;
}

/* ==========================================================================
   Athlete Gallery — [athlete_gallery] shortcode (masonry, athlete pages)
   ========================================================================== */
.athlete-gallery {
    column-count: 2;
    column-gap: 1rem;
}

@media (min-width: 768px) {
    .athlete-gallery {
        column-count: var(--athlete-gallery-columns, 3);
    }
}

.athlete-gallery__item {
    break-inside: avoid;
    margin: 0 0 1rem;
}

.athlete-gallery__img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0.5rem;
}

/* ============================================
   DECADE FACET (banquet page)
   ============================================ */
#page-container .facetwp-facet-decade {
    display: flex;
    flex-wrap: wrap;
    gap: 0.625rem;
    align-items: center;
    margin: 0;
}

#page-container .facetwp-facet-decade .facetwp-radio {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.4rem 1rem;
    border: 2px solid #000090;
    border-radius: 0.5rem;
    background: #FFF;
    color: #000090;
    font-family: var(--font-family-heading, "Barlow Condensed");
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.025rem;
    text-transform: uppercase;
    white-space: nowrap;
    cursor: pointer;
    background-image: none;
    transition: background-color 0.15s ease, color 0.15s ease;
}

#page-container .facetwp-facet-decade .facetwp-radio:hover {
    background: rgba(0, 0, 144, 0.08);
}

#page-container .facetwp-facet-decade .facetwp-radio.checked {
    background: #000090;
    color: #FFF;
}

#page-container .facetwp-facet-decade .facetwp-radio.checked:hover {
    background: #000090;
}

/* Hide FacetWP's default option counters on the pills */
#page-container .facetwp-facet-decade .facetwp-counter {
    display: none;
}

#page-container .facetwp-facet-decade .summit-decade-all {
    outline: none;
}

/* END DECADE FACET */




/* Hide Divi text-module empty <p> wrappers around [banquet_description]. */
#page-container .et_pb_text_inner:has(> .banquet-description) > p:empty,
#page-container .et_pb_text_inner:has(> .banquet-description) > p:has(> span:only-child:empty) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
}

.banquet-description p,
.text-white p {
    color: var(--text-on-brand, #FFF) !important;
}

.team-title-field,
.team-slider-title-field {
    color: var(--text-accent, #7A5E00);
    font-family: "Barlow Condensed";
    font-weight: 700;
    line-height: 100%;
    letter-spacing: 0.18rem;
    text-transform: uppercase;
}

#page-container #et-boc .gform_fields input[readonly='readonly'],
#page-container #et-boc .gform_fields input[readonly] {
    background-color: transparent;
    border: none;
    border-color: transparent;
    border-radius: 0;
    box-shadow: none;
    font-family: inherit;
    font-size: inherit;
    outline: 0;
    padding: inherit;
}

/* --------------------------------------------
   Nominate Form — two-column page layout
   Left: page heading (.nominate-page-heading)
   Right: GF 12-col field grid (half-width pairs work)
   Requires GF CSS Class `nominate-page-heading`
   on each page’s title HTML field.
   -------------------------------------------- */
#page-container .nominate-form #gform_wrapper_5 .gform_page {
    --nominate-heading-col: minmax(14rem, 36%);
    --nominate-form-gap: clamp(1.5rem, 4vw, 3.5rem);
}

#page-container .nominate-form .gf_page_steps {
    margin-bottom: 5rem !important;
}

@media (min-width: 981px) {
    /*
     * Col 1 = page H2 (.nominate-page-heading)
     * Cols 2–13 = GF form fields (half = span 6, everything else = full)
     *
     * !important needed: heading also has .gfield--width-full (GF span 12),
     * and GF sets .gfield { grid-column: 1 / -1 } by default.
     */
    #page-container .nominate-form #gform_wrapper_5 .gform_page {
        display: grid;
        grid-template-columns: minmax(14rem, 36%) minmax(0, 1fr);
        column-gap: var(--nominate-form-gap);
        align-items: start;
    }

    #page-container .nominate-form #gform_wrapper_5 .gform_page_fields {
        grid-column: 1 / -1;
    }

    #page-container .nominate-form #gform_wrapper_5 .gform_fields {
        display: grid !important;
        grid-template-columns: minmax(14rem, 36%) repeat(12, minmax(0, 1fr)) !important;
        column-gap: var(--gf-form-gap-x, 16px);
        row-gap: 0;
        align-items: start;
    }

    /* Page title — left column only (beats GF .gfield--width-full { span 12 }) */
    #page-container .nominate-form #gform_wrapper_5 .gfield.nominate-page-heading {
        grid-column: 1 / 2 !important;
        grid-row: 1 / span 100 !important;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding-right: calc(var(--nominate-form-gap) - var(--gf-form-gap-x, 16px));
        box-sizing: border-box;
    }

    /* Vertical spacing between real fields (replaces row-gap) */
    #page-container .nominate-form #gform_wrapper_5 .gform_fields > .gfield:not(.nominate-page-heading):not(.gform_validation_container) {
        margin-bottom: var(--gf-form-gap-y, 40px);
    }

    /* Half-width pairs stay in the 12 form columns */
    #page-container .nominate-form #gform_wrapper_5 .gform_fields > .gfield--width-half {
        grid-column: span 6 !important;
    }

    /*
     * Sections + full-width fields (Coach, etc.): all 12 form cols.
     * Do not use GF `1 / -1` (that includes the heading column) or
     * auto-started `span 12` (can land in the right half).
     */
    #page-container .nominate-form #gform_wrapper_5 .gform_fields > .gfield:not(.nominate-page-heading):not(.gfield--width-half):not(.gform_validation_container) {
        grid-column: 2 / -1 !important;
    }

    /*
     * Footer must line up with form fields (inner grid: heading + 16px gap),
     * not the outer page column 2 (heading + ~51px nominate gap).
     */
    #page-container .nominate-form #gform_wrapper_5 .gform_page_footer {
        grid-column: 1 / -1;
        display: flex !important;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        gap: 1rem;
        box-sizing: border-box;
        width: 100%;
        margin-top: 1.5rem;
        padding-left: calc(max(14rem, 36%) + var(--gf-form-gap-x, 16px));
        padding-inline-start: calc(max(14rem, 36%) + var(--gf-form-gap-x, 16px));
    }

    #page-container .nominate-form #gform_wrapper_5 .gform_page_footer .gform_next_button,
    #page-container .nominate-form #gform_wrapper_5 .gform_page_footer .gform_button,
    #page-container .nominate-form #gform_wrapper_5 .gform_page_footer .gform_previous_button {
        margin-left: 0 !important;
    }

    /* Keep Save on the right edge of the form column */
    #page-container .nominate-form #gform_wrapper_5 .gform_page_footer .gform_save_link {
        margin-left: auto !important;
    }
}

#page-container .nominate-form #gform_wrapper_5 .gfield.nominate-page-heading .gfield_html {
    margin: 0;
}

#page-container .nominate-form #gform_wrapper_5 .gfield.nominate-page-heading h1,
#page-container .nominate-form #gform_wrapper_5 .gfield.nominate-page-heading h2 {
    margin: 0;
    color: #000090;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: clamp(2rem, 3.5vw, 2.75rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0.02em;
    max-width: 15ch;
}

#page-container .nominate-form #gform_wrapper_5 .gfield.nominate-page-heading h3 {
    padding-top: 1rem;
    color: var(--text-heading, #000090);

/* Heading/H2 */
font-family: var(--font-family-heading, "Barlow Condensed");
font-size: 2.625rem;
font-style: normal;
font-weight: 700;
line-height: 110%; /* 2.8875rem */
letter-spacing: 0.02625rem;
}

.nominate-form span.gf_step_label {
    color: var(--text-heading, #000090);
    text-align: center;
    font-family: var(--font-family-heading, "Barlow Condensed");
    font-size: 1.25rem !important;
    font-style: normal;
    font-weight: 700;
    line-height: 105%;
    max-width: 15ch !important;
}

#page-container .nominate-form #gform_wrapper_5 .gfield.nominate-page-heading .underline {
    padding-bottom: 1.25rem !important;
}

#page-container .nominate-form #gform_wrapper_5 .gfield.nominate-page-heading p {
    margin: 1rem 0 0;
    color: var(--form-input-text, #3E3B38);
    font-size: 1rem;
    line-height: 1.5;
}

/* Collapse empty / spacer HTML fields so they don't open gaps between inputs */
#page-container .nominate-form #gform_wrapper_5 .gfield.gfield_html:not(.nominate-page-heading):not(:has(h1, h2, h3, h4, h5, h6, p, ul, ol, table, img, a, blockquote)) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

@media (max-width: 980px) {
    #page-container .nominate-form #gform_wrapper_5 .gfield.nominate-page-heading {
        margin-bottom: 1.5rem;
    }

    /*
     * Nominate progress (7 steps): numbers scroll horizontally;
     * only the active step label shows, full width below the row.
     */
    #page-container .nominate-form .gf_page_steps {
        --gf-step-number-size: 36px;
        --gf-step-label-gap: 0.75rem;
        justify-content: flex-start;
        gap: 0.5rem;
        margin-bottom: 2rem !important;
        padding: 0 0.25rem 3.75rem;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x proximity;
        scroll-padding-inline: 50%;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        mask-image: linear-gradient(
            to right,
            transparent,
            #000 1rem,
            #000 calc(100% - 1rem),
            transparent
        );
    }

    #page-container .nominate-form .gf_page_steps::-webkit-scrollbar {
        display: none;
    }

    /* Connector line fights horizontal scroll on small screens */
    #page-container .nominate-form .gf_page_steps::before {
        display: none;
    }

    #page-container .nominate-form .gf_page_steps .gf_step {
        position: static;
        scroll-snap-align: center;
        flex: 0 0 auto;
    }

    #page-container .nominate-form .gf_page_steps .gf_step_number {
        font-size: 1.125rem;
    }

    #page-container .nominate-form .gf_page_steps .gf_step_label {
        display: none;
        max-width: none;
        font-size: 1.125rem;
        line-height: 1.2;
        white-space: normal;
    }

    #page-container .nominate-form .gf_page_steps .gf_step_active .gf_step_label {
        display: block;
        position: absolute;
        left: 0;
        right: 0;
        top: calc(var(--gf-step-number-size) + var(--gf-step-label-gap));
        transform: none;
        text-align: center;
        width: 100%;
        padding: 0 1rem;
        box-sizing: border-box;
    }

    #page-container .nominate-form .gf_page_steps .gf_step_first .gf_step_label,
    #page-container .nominate-form .gf_page_steps .gf_step_last .gf_step_label {
        left: 0;
        right: 0;
        transform: none;
        text-align: center;
    }
}



#page-container .recipient-blurb p {
    padding-bottom: 0;
    color: var(--text-accent, #7A5E00) ! IMPORTANT;
    font-family: "Barlow Condensed" ! IMPORTANT;
    font-weight: 700 !IMPORTANT;
    letter-spacing: 0.18rem;
    text-transform: uppercase;
}

#page-container .recipient-blurb h3 {
    margin: 0 0 var(--space-sm);
    font-family: var(--font-family-heading) ! IMPORTANT;
    font-size: var(--font-size-400) !important;
    font-weight: var(--font-weight-bold) ! IMPORTANT;
    line-height: var(--line-height-xs) !important;
    color: var(--color-action-secondary-text) !important;
    text-transform: none;
}

.recipient-blurb img {
    min-width: 100%;
}

.recipient-blurb span.et_pb_image_wrap.et_pb_only_image_mode_wrap {
    min-width: 100%;
}

.recipient-blurb .et_pb_main_blurb_image {
    min-width: 100%;
}


footer .et_builder_inner_content
{
    position: relative;
    z-index: auto;
}

/* ============================================
   Shortcode: [social_share]
   ============================================ */
#page-container #main-content .custom-social-share {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    flex-direction: column;
}

#page-container #main-content .custom-social-share .fa-brands:before,
#page-container #main-content .custom-social-share .fa-solid:before {
    font-size: 24px;
}

#page-container #main-content .custom-social-share .social-share-text {
    font-weight: 600;
    margin-right: 10px;
    color: #fff;
    font-family: var(--font-family-heading);
    font-size: 1.25rem !important;
}

#page-container #main-content .custom-social-share ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 8px;
}

#page-container #main-content .custom-social-share li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    background-color: transparent;
    color: #fff;
    transition: transform 0.2s ease, background 0.2s ease;
    text-decoration: none;
}

#page-container #main-content .custom-social-share li a:hover {
    transform: translateY(-2px);
    background-color: #000090;
}

/* Hide current-year-only banquet sections/CTAs on archive banquet singles.
   Body class set by summit_banquet_ticket_body_classes() (title year vs calendar year).
   #banquet-details may be an ID; Theme Builder currently uses class .banquet-details. */
body.banquet-is-past #page-container #banquet-details,
body.banquet-is-past #page-container .banquet-details,
body.banquet-is-past #page-container #banquet-sponsors,
body.banquet-is-past #page-container #get-tickets,
body.banquet-is-past #page-container #meet-the-class-btn,
body.banquet-is-past #page-container .et_pb_button_module_wrapper:has(#meet-the-class-btn) {
    display: none !important;
}

/* Hide Get Tickets on past / non-current-year banquet singles.
   Button must use custom class "get-tickets"; group uses "banquet-button-group". */
body.banquet-is-past #page-container .banquet-button-group .et_pb_button_module_wrapper:has(a.get-tickets) {
    display: none !important;
}

body.banquet-is-past #page-container .banquet-button-group {
    column-gap: 0 !important;
    row-gap: 0 !important;
    gap: 0 !important;
}

/* Offset in-page / cross-page hash targets below the sticky header. */
html {
    scroll-padding-top: 6.5rem;
}

/* ============================================
   SWIPER-MOBILE — Divi rows (e.g. .sponsors)
   Mobile-only carousel. No desktop overrides —
   JS restores the original Divi markup ≥981px.
   ============================================ */
@media only screen and (max-width: 980px) {
    #page-container .swiper-mobile.swiper-mobile--active {
        position: relative;
        width: 100%;
        max-width: 100%;
        overflow: hidden;
        display: block;
        box-sizing: border-box;
        /* Inset cards from section edges (matches typical Divi mobile gutters). */
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    #page-container .swiper-mobile.swiper-mobile--active > .swiper-wrapper {
        display: flex;
        box-sizing: border-box;
    }

    #page-container .swiper-mobile.swiper-mobile--active > .swiper-wrapper > .et_pb_column.swiper-slide {
        height: auto;
        box-sizing: border-box;
        flex-shrink: 0;
    }

    #page-container .swiper-mobile.swiper-mobile--active.has-slider-nav > .swiper-mobile-nav {
        display: flex;
    }
}

/* END SWIPER-MOBILE */



#page-container #et-boc #main-content .et_pb_post_content a {
    color: #000090 !IMPORTANT;
}

/* Nomination Terms accordion */
#page-container .nomination-terms-accordion {
    --nomination-terms-bg: #e8e4dc;
    --nomination-terms-text: #000090;
    width: 100%;
}

#page-container .nomination-terms-accordion__title {
    margin: 0 0 1rem;
    color: var(--nomination-terms-text);
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: clamp(1.5rem, 2vw, 2rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.02em;
}

#page-container .nomination-terms-accordion__list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

#page-container .nomination-terms-accordion__item {
    background-color: var(--nomination-terms-bg);
    border-radius: 0.75rem;
    overflow: hidden;
}

#page-container .nomination-terms-accordion__item:has(.nomination-terms-accordion__trigger:focus-visible) {
    outline: 2px solid var(--nomination-terms-text);
    outline-offset: 2px;
}

#page-container .nomination-terms-accordion__trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    margin: 0;
    padding: 1rem 1.25rem;
    border: 0;
    background: transparent;
    color: var(--nomination-terms-text);
    cursor: pointer;
    text-align: left;
    font-family: var(--font-family-heading, "Barlow Condensed", sans-serif);
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    box-shadow: none;
    outline: none;
    -webkit-tap-highlight-color: transparent;
}

#page-container .nomination-terms-accordion__trigger:focus,
#page-container .nomination-terms-accordion__trigger:focus-visible {
    outline: none;
    box-shadow: none;
}

#page-container .nomination-terms-accordion__label {
    flex: 1 1 0;
    font-family: var(--font-family-heading, "Barlow Condensed");
    font-size: var(--font-size-400, 1.5rem);
    letter-spacing: normal;
}

#page-container .nomination-terms-accordion__icon {
    position: relative;
    flex: 0 0 auto;
    width: 0.75rem;
    height: 0.75rem;
    border-right: 2px solid var(--nomination-terms-text);
    border-bottom: 2px solid var(--nomination-terms-text);
    transform: rotate(45deg);
    transition: transform 0.2s ease;
    margin-top: -0.25rem;
}

#page-container .nomination-terms-accordion__item.is-open .nomination-terms-accordion__icon {
    transform: rotate(225deg);
    margin-top: 0.15rem;
}

#page-container .nomination-terms-accordion__panel {
    padding: 0 1.25rem 1.15rem;
}

#page-container .nomination-terms-accordion__content {
    color: var(--text-default, #1f2937);
    font-family: var(--font-family-body, "Source Sans 3", sans-serif);
    font-size: 1rem;
    line-height: 1.5;
}

#page-container .nomination-terms-accordion__content > *:first-child {
    margin-top: 0;
}

#page-container .nomination-terms-accordion__content > *:last-child {
    margin-bottom: 0;
}

#page-container .nomination-terms-accordion__content ul,
#page-container .nomination-terms-accordion__content ol {
    margin: 0 0 0.75rem;
    padding-left: 1.25rem;
}

#page-container .nomination-terms-accordion__content li + li {
    margin-top: 0.35rem;
}

/* Soft-launch: hide main/footer nav for public visitors (gate enabled).
   Unlocked = logged-in or preview cookie (body.summit-soft-launch-unlocked).
   When SUMMIT_SITE_GATE_ENABLED is false, these body classes are not added. */
body.summit-soft-launch:not(.summit-soft-launch-unlocked) .main-header-navigation,
body.summit-soft-launch:not(.summit-soft-launch-unlocked) .footer-menu {
    display: none !important;
}