/* --------------------------------------------------------------------------
   Theme: Navy - navy navbar, red accents, gold highlights, cream page.
   -------------------------------------------------------------------------- */
:root {
  --sfc-navy: #0b1f3a;
  --sfc-navy-deep: #061527;
  --sfc-navy-mid: #122a4a;
  --sfc-red: #9d261e;
  --sfc-red-dark: #6e312a;
  --sfc-gold: #c5a059;

  --sfc-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --sfc-heading-font: var(--sfc-font);
  --sfc-body-bg: #f5f3ef;
  --sfc-text: #1a2332;
  --sfc-muted: #5c6b7a;
  --sfc-heading: var(--sfc-navy);
  --sfc-link: var(--sfc-red);
  --sfc-link-hover: var(--sfc-red-dark);
  --sfc-accent: var(--sfc-gold);
  --sfc-border: #d8dee6;
  --sfc-focus: #0b1f3a;            /* focus outline/border: 16:1 on white */
  --sfc-focus-ring: rgba(11, 31, 58, 0.25);

  --sfc-header-bg: linear-gradient(180deg, var(--sfc-navy) 0%, var(--sfc-navy-deep) 100%);
  --sfc-header-border: 3px solid var(--sfc-red);
  --sfc-header-shadow: 0 2px 12px rgba(6, 21, 39, 0.35);
  --sfc-header-pad: 0.5rem;
  --sfc-logo-h: 52px;
  --sfc-logo-h-sm: 40px;
  --sfc-nav-bg: transparent;
  --sfc-nav-radius: 0;
  --sfc-nav-gap: 0.15rem;
  --sfc-nav-color: rgba(255, 255, 255, 0.88);
  --sfc-nav-link-radius: 0.35rem;
  --sfc-nav-hover-bg: rgba(157, 38, 30, 0.45);
  --sfc-nav-active-bg: var(--sfc-red);
  --sfc-dropdown-bg: var(--sfc-navy-mid);
  --sfc-dropdown-hover-bg: var(--sfc-red);
  --sfc-toggler-border: rgba(255, 255, 255, 0.4);
  --sfc-toggler-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.9%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");

  --sfc-banner-bg: var(--sfc-navy);
  --sfc-banner-max: 1920px;            /* banner stops growing here (240px tall) */
  --sfc-banner-side-bg: #061527;          /* side colour beyond 1920px; banner edges fade into it */
  --sfc-banner-pad: 0;

  --sfc-title-weight: 700;
  --sfc-title-color: #fff;
  --sfc-title-bg: var(--sfc-navy);
  --sfc-title-border: 3px solid var(--sfc-red);
  --sfc-title-pad: 0.6rem 1rem;
  --sfc-title-radius: 0.5rem 0.5rem 0 0;
  --sfc-h2-size: 1.25rem;
  --sfc-h3-size: 1.05rem;
  --sfc-text-indent: 0.25rem;
  --sfc-sidebar-offset: 0px;

  --sfc-card-bg: #fff;
  --sfc-card-border: 1px solid var(--sfc-border);
  --sfc-card-radius: 0.65rem;
  --sfc-card-shadow: 0 4px 14px rgba(11, 31, 58, 0.08);
  --sfc-card-pad: 1rem;

  --sfc-th-bg: var(--sfc-navy);
  --sfc-th-color: #fff;
  /* Default table header (slate); the admin option overrides via body[data-thead] in sfc.css */
  --sfc-thead-bg: #475569;
  --sfc-thead-fg: #fff;
  --sfc-th-border: #334155;
  --sfc-th-weight: 600;
  --sfc-row-stripe: rgba(11, 31, 58, 0.04);
  --sfc-row-hover: #e8eef6;

  --sfc-btn-bg: var(--sfc-navy);
  --sfc-btn-hover-bg: var(--sfc-red);
  --sfc-accordion-active-bg: #e8eef6;
  --sfc-accordion-active-color: var(--sfc-navy);

  --sfc-footer-bg: var(--sfc-navy-deep);
  --sfc-footer-color: rgba(255, 255, 255, 0.75);
  --sfc-footer-border: 3px solid var(--sfc-red);
  --sfc-footer-link: rgba(255, 255, 255, 0.85);
  --sfc-footer-link-hover: #fff;

  --bs-link-color-rgb: 157, 38, 30;
  --bs-link-hover-color-rgb: 110, 49, 42;
}

/* Section titles sit on top of a white panel */
.title-1 + .text-1,
.title-1 + .space10 + .text-1 { background: #fff; border: 1px solid var(--sfc-border); border-top: 0; border-radius: 0 0 0.5rem 0.5rem; padding: 0.85rem 1rem; margin-top: -0.75rem; margin-bottom: 1rem; }


/* Focus indicators use --sfc-focus (>= 3:1), not the decorative gold accent */
.sfc-pts-btn:focus-visible, .sfc-pts-in:focus-visible { outline-color: var(--sfc-focus); }
.form-control:focus, .form-check-input:focus { border-color: var(--sfc-focus); }
