/* =============================================================================
   Ab Nicholas Scholarship Foundation — 2026 look
   Loaded AFTER style.css and app.css (see header.php).
   Everything is scoped under body.abn2026, so removing that class from the
   <body> tag (header.php), or the <link> to this file, restores the old look.
   ========================================================================== */

body.abn2026 {
  --abn-red: #B4252D;
  --abn-red-dark: #8E1D24;
  --abn-ink: #14213D;
  --abn-text: #38445E;
  --abn-muted: #5B6680;
  --abn-line: #DDE2EA;
  --abn-line-soft: #E7EBF1;
  --abn-ground: #F4F6F9;
  --abn-tint: #F9E9EA;
  --abn-shadow: 0 1px 2px rgba(20, 33, 61, 0.05), 0 12px 32px rgba(20, 33, 61, 0.07);
  --abn-head: 'Barlow Condensed', 'Cinzel', sans-serif;
  --abn-body: 'Public Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

/* ---------- Base ---------- */
body.abn2026 {
  background: var(--abn-ground);
  color: var(--abn-text);
  font-family: var(--abn-body);
  font-size: 17px;
  line-height: 1.65;
}
:where(.abn2026) div, :where(.abn2026) dl, :where(.abn2026) dt, :where(.abn2026) dd, :where(.abn2026) ul,
:where(.abn2026) ol, :where(.abn2026) li, :where(.abn2026) pre, :where(.abn2026) form,
:where(.abn2026) fieldset, :where(.abn2026) p, :where(.abn2026) blockquote {
  font-size: inherit;
}
:where(.abn2026) p { line-height: 1.65; margin: 0 0 1em; }
.abn2026 strong, .abn2026 b { color: var(--abn-ink); }
.abn2026 a { color: var(--abn-red); text-decoration: none; }
.abn2026 a:hover { color: var(--abn-red-dark); text-decoration: underline; }
.abn2026 :focus-visible { outline: 3px solid var(--abn-ink); outline-offset: 3px; }
.abn2026 img { max-width: 100%; height: auto; }

/* ---------- Headings (formal, Title Case is set in the page text itself) ---------- */
.abn2026 h1, .abn2026 h2, .abn2026 h3, .abn2026 h4, .abn2026 h6 {
  font-family: var(--abn-head);
  font-weight: 700;
  color: var(--abn-ink);
  line-height: 1.08;
  letter-spacing: 0;
  text-transform: none;
}
.abn2026 h1 { font-size: clamp(40px, 5.2vw, 60px); margin: 0 0 0.45em; }
.abn2026 h2 { font-size: clamp(30px, 3.6vw, 44px); margin: 1.5em 0 0.45em; }
.abn2026 h3 { font-size: 26px; margin: 1.3em 0 0.4em; }
.abn2026 h4 { font-size: 22px; margin: 1.2em 0 0.4em; }
.abn2026 h5 {
  font-family: var(--abn-body); font-size: 14px; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--abn-muted); margin: 0 0 14px;
}
.abn2026 h1.page-title { font-size: clamp(40px, 5.2vw, 60px); padding: 0; margin: 0 0 0.45em; }
.abn2026 h4.title { font-size: 22px; padding: 0; }

/* ---------- Layout: the old 400px left sidebar is retired ---------- */
.abn2026 .sidebar-desktop { display: none !important; }
.abn2026 .row.container.abn-page {
  width: auto !important; max-width: none !important; min-width: 0 !important;
  margin: 0 !important; padding: 0 !important;
}
.abn2026 .abn-page > #content {
  max-width: 1180px; margin: 0 auto; padding: 40px 32px 0; min-height: 0;
}
.abn2026 #content { min-height: 0; }
.abn2026 #main,
.abn2026 #main.seven,
.abn2026 #main.columns,
.abn2026 .row #main.seven.columns.offset-by-five {
  float: none !important; width: 100% !important; margin: 0 !important;
  padding: 0 0 64px !important; position: static;
}
.abn2026 #main.home { margin-top: 0 !important; }
.abn2026 .home-content { min-height: 0 !important; }

/* Pages made of plain WordPress content sit on a clean white card */
.abn2026 #main article {
  background: #fff; border: 1px solid var(--abn-line); border-radius: 20px;
  padding: 40px; margin: 0 0 24px; box-shadow: var(--abn-shadow);
}
.abn2026 #main article:has(details) { background: transparent; border: 0; box-shadow: none; padding: 0; }

/* ---------- Page-body typography (text typed in the WordPress editor) ---------- */
.abn2026 #main ul, .abn2026 #main ol {
  list-style-position: outside; margin: 0 0 1.2em; padding-left: 1.4em; text-indent: 0;
}
.abn2026 #main ul { list-style-type: disc; }
.abn2026 #main li { margin: 0 0 0.45em; }
.abn2026 blockquote {
  border-left: 4px solid var(--abn-red); background: #fff; border-radius: 0 12px 12px 0;
  padding: 16px 22px; margin: 0 0 1.2em; color: var(--abn-text);
}
.abn2026 hr { border-color: var(--abn-line); margin: 32px 0; }

/* FAQ-style content: <details><summary> becomes tidy expanding cards */
.abn2026 #main details {
  background: #fff; border: 1px solid var(--abn-line); border-radius: 14px;
  margin: 0 0 12px; padding: 0 24px;
}
.abn2026 #main summary {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  min-height: 44px; padding: 20px 0; cursor: pointer; list-style: none;
  font-size: 19px; font-weight: 600; color: var(--abn-ink);
}
.abn2026 #main summary::-webkit-details-marker { display: none; }
.abn2026 #main summary::after {
  content: "+"; flex: none; font-size: 28px; line-height: 1; color: var(--abn-red);
  transition: transform 0.15s;
}
.abn2026 #main details[open] summary::after { transform: rotate(45deg); }
.abn2026 #main details > :not(summary) { max-width: 720px; }
.abn2026 #main details > p:last-child, .abn2026 #main details > ol:last-child { margin-bottom: 22px; }

/* ---------- Header ---------- */
/* Theme Options (header.php prints them inline) can force a red bar and white links with !important.
   Those were made for the old red menu bar, so cancel them inside the new white header. */
.abn2026 .abn-header .top-nav { background: none !important; background-color: transparent !important; }
.abn2026 .abn-header .top-nav > li > a { color: var(--abn-ink) !important; }
.abn2026 .abn-header .top-nav > li > a:hover { color: var(--abn-red) !important; }
.abn2026 .abn-header .top-nav > li.active > a { color: var(--abn-ink) !important; }
.abn-header { background: #fff; border-bottom: 1px solid var(--abn-line); position: relative; z-index: 50; }
.abn-header-inner {
  max-width: 1180px; margin: 0 auto; padding: 12px 32px;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 32px;
}
.abn2026 .abn-logo { display: block; line-height: 0; }
.abn2026 .abn-logo img { display: block; height: 116px; width: auto; max-width: none; }
.abn-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 24px; }
.abn2026 .abn-header #menu-main-navigation,
.abn2026 .abn-header .nav-bar {
  display: flex; flex-wrap: wrap; align-items: center; gap: 4px 24px;
  height: auto; margin: 0; padding: 0; list-style: none;
}
.abn2026 .abn-header #menu-main-navigation > li,
.abn2026 .abn-header .nav-bar > li {
  float: none; margin: 0; padding: 0; line-height: 1.65; box-shadow: none; background: none;
}
.abn2026 .abn-header #menu-main-navigation > li:hover,
.abn2026 .abn-header .nav-bar > li:hover,
.abn2026 .abn-header .nav-bar > li.active,
.abn2026 .abn-header .nav-bar > li.active:hover { background: none; }
.abn2026 .abn-header #menu-main-navigation li a {
  display: block; padding: 12px 2px; font-size: 16px; font-weight: 500;
  color: var(--abn-ink); text-decoration: none; background: none;
}
.abn2026 .abn-header #menu-main-navigation li a:hover { color: var(--abn-red); text-decoration: none; box-shadow: inset 0 -3px 0 var(--abn-line); }
.abn2026 .abn-header #menu-main-navigation li.active a,
.abn2026 .abn-header .nav-bar > li.active > a {
  font-weight: 700; color: var(--abn-ink); cursor: pointer; box-shadow: inset 0 -3px 0 var(--abn-red);
}
.abn-nav-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }


/* The old layout printed the site name above every page because the logo lived in the sidebar. */
.abn2026 #main > h4.title { display: none; }

/* The WordPress menu is flagged "hide-for-small", which hides it on phones. Keep it visible. */
.abn2026 .abn-header #menu-main-navigation.hide-for-small,
.abn2026 .abn-header .nav-bar.hide-for-small { display: flex !important; }

/* ---------- Buttons ---------- */
.abn2026 .abn-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 11px 20px; border: 1.5px solid var(--abn-ink); border-radius: 10px;
  background: transparent; color: var(--abn-ink); font-family: var(--abn-body);
  font-size: 16px; font-weight: 600; line-height: 1.65; text-decoration: none; cursor: pointer;
  transition: background-color 0.15s, color 0.15s, border-color 0.15s;
}
.abn2026 .abn-btn:hover { background: var(--abn-ink); color: #fff; text-decoration: none; }
.abn2026 .abn-btn--solid { background: var(--abn-red); border-color: var(--abn-red); color: #fff; }
.abn2026 .abn-btn--solid:hover { background: var(--abn-red-dark); border-color: var(--abn-red-dark); color: #fff; }
.abn2026 .abn-btn--light { background: #fff; border-color: #fff; color: var(--abn-red); }
.abn2026 .abn-btn--light:hover { background: var(--abn-ink); border-color: var(--abn-ink); color: #fff; }
.abn2026 .abn-btn--lg { padding: 15px 28px; font-size: 17px; border-radius: 12px; }

/* Existing buttons on the student pages pick up the same look */
.abn2026 .button, .abn2026 a.button, .abn2026 input[type="submit"].button, .abn2026 button.button,
.abn2026 input[type="submit"] {
  background: var(--abn-red); color: #fff; border: 0; border-radius: 12px; box-shadow: none;
  font-family: var(--abn-body); font-size: 17px; font-weight: 600; padding: 14px 28px; text-shadow: none;
}
.abn2026 .button:hover, .abn2026 a.button:hover, .abn2026 input[type="submit"]:hover { background: var(--abn-red-dark); color: #fff; text-decoration: none; }
.abn2026 .button.disabled, .abn2026 .button[disabled] { background: #8791A6; opacity: 0.8; }

/* ---------- Forms ---------- */
.abn2026 label { font-size: 15px; font-weight: 600; color: var(--abn-ink); margin-bottom: 6px; }
.abn2026 input[type="text"], .abn2026 input[type="password"], .abn2026 input[type="date"],
.abn2026 input[type="datetime"], .abn2026 input[type="email"], .abn2026 input[type="number"],
.abn2026 input[type="search"], .abn2026 input[type="tel"], .abn2026 input[type="time"],
.abn2026 input[type="url"], .abn2026 select, .abn2026 textarea {
  height: 48px; padding: 0 14px; border: 1.5px solid #8791A6; border-radius: 10px;
  background: #fff; color: var(--abn-ink); font-family: var(--abn-body); font-size: 16px;
}
.abn2026 textarea { height: auto; padding: 12px 14px; }
.abn2026 input:focus, .abn2026 select:focus, .abn2026 textarea:focus {
  background: #fff; border-color: var(--abn-ink); box-shadow: 0 0 0 3px rgba(20, 33, 61, 0.15);
}
.abn2026 span.required, .abn2026 span.error, .abn2026 p.error { color: #B3261E; }
.abn2026 div.alert, .abn2026 p.alert {
  background: #fff; border: 1px solid var(--abn-line); border-radius: 12px; padding: 16px 18px; color: var(--abn-text);
}
.abn2026 div.alert-box { border-radius: 12px; padding: 14px 18px; font-weight: 600; text-shadow: none; background: var(--abn-ink); }
.abn2026 div.alert-box.success { background: #1E6B47; }
.abn2026 div.alert-box.alert { background: #B3261E; }
.abn2026 div.panel { background: #fff; border: 1px solid var(--abn-line); border-radius: 14px; }

/* ---------- Tables ---------- */
.abn2026 table { border: 1px solid var(--abn-line); border-radius: 12px; overflow: hidden; background: #fff; }
.abn2026 table td, .abn2026 table th { font-size: 15px; line-height: 1.5; }
.abn2026 table thead, .abn2026 table tfoot { background: var(--abn-ground); }

/* ---------- Footer ---------- */
.abn-footer { background: #fff; border-top: 1px solid var(--abn-line); margin-top: 40px; color: var(--abn-muted); }
.abn-footer-inner { max-width: 1180px; margin: 0 auto; padding: 56px 32px 28px; }
.abn-footer-grid { display: flex; flex-wrap: wrap; gap: 36px 40px; }
.abn-footer-col { flex: 1 1 200px; min-width: 0; }
.abn-footer-brand { flex: 0 0 140px; }
.abn2026 .abn-footer-brand img { display: block; height: 112px; width: auto; max-width: none; }
.abn2026 .abn-footer ul { list-style: none; margin: 0; padding: 0; text-indent: 0; }
.abn2026 .abn-footer li { margin: 0 0 8px; font-size: 15px; line-height: 1.5; }
.abn2026 .abn-footer a { color: var(--abn-ink); font-weight: 500; }
.abn2026 .abn-footer a:hover { color: var(--abn-red); }
.abn2026 .abn-footer p { font-size: 15px; line-height: 1.6; margin: 0 0 12px; color: var(--abn-muted); }
.abn-footer-bottom {
  margin-top: 36px; padding-top: 22px; border-top: 1px solid var(--abn-line);
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px;
}
.abn2026 .abn-footer-bottom p { margin: 0; font-size: 14px; }

/* =============================================================================
   Home page
   ========================================================================== */
.abn-wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; }
.abn2026 .abn-h2 { font-size: 48px; line-height: 1.05; margin: 0; }
.abn2026 .abn-h2--sm { font-size: 40px; }
.abn2026 .abn-sub { margin: 12px 0 0; max-width: 560px; }
.abn-section { padding: 88px 0 0; }
.abn-section__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 32px; }
.abn2026 .abn-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--abn-red); }
.abn-eyebrow { display: block; font-size: 14px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--abn-red); }

/* hero */
.abn-hero { position: relative; overflow: hidden; background: #fff; }
.abn2026 .abn-court { position: absolute; right: -80px; top: 20px; width: 760px; max-width: none; opacity: 0.07; pointer-events: none; }
.abn-hero__grid { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 56px; padding-top: 88px; padding-bottom: 96px; }
.abn-hero__copy { flex: 1 1 520px; min-width: 0; }
.abn-hero__card { flex: 0 1 420px; min-width: 0; }
.abn-pill { display: inline-block; padding: 6px 14px; border-radius: 999px; background: var(--abn-tint); color: var(--abn-red); font-size: 14px; font-weight: 600; letter-spacing: 0.02em; }
.abn2026 .abn-h1 { font-size: clamp(52px, 7.2vw, 88px); line-height: 0.98; margin: 22px 0 0; }
.abn2026 .abn-h1 span { color: var(--abn-red); }
.abn2026 .abn-lead { max-width: 540px; margin: 24px 0 0; font-size: 20px; line-height: 1.6; }
.abn-actions { margin-top: 36px; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; }

.abn-award { background: #fff; border: 1px solid var(--abn-line); border-radius: 20px; padding: 32px; box-shadow: 0 1px 2px rgba(20,33,61,.06), 0 18px 40px rgba(20,33,61,.10); }
.abn-award__eyebrow { font-size: 14px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--abn-muted); }
.abn-award__amount { font-family: var(--abn-head); font-weight: 700; font-size: 96px; line-height: 1; color: var(--abn-ink); margin: 8px 0 4px; }
.abn-award__row { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 16px 0; border-top: 1px solid var(--abn-line-soft); }
.abn-award__note { margin-bottom: 24px; }
.abn-award__row small { display: block; font-size: 14px; color: var(--abn-muted); }
.abn-award__sum { font-family: var(--abn-head); font-weight: 700; font-size: 30px; color: var(--abn-ink); }
.abn-award__foot { padding-top: 16px; border-top: 1px solid var(--abn-line-soft); font-size: 15px; }

/* status cards, steps, callout */
.abn2026 .abn-intro { max-width: 780px; margin: 0; font-size: 19px; }
.abn-cards { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 32px; }
.abn-card { flex: 1 1 440px; min-width: 0; background: #fff; border: 1px solid var(--abn-line); border-radius: 20px; padding: 32px; box-shadow: var(--abn-shadow); }
.abn-card__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 16px; }
.abn2026 .abn-card__head h2 { font-size: 32px; margin: 0; }
.abn-card > p, .abn-card .abn-note { margin: 14px 0 0; }
.abn-status-pill { display: inline-flex; padding: 6px 14px; border-radius: 999px; font-size: 14px; font-weight: 600; }
.abn-status-pill.is-open { background: #E4F2EA; color: #1E6B47; }
.abn-status-pill.is-closed { background: var(--abn-tint); color: var(--abn-red); }
.abn2026 ol.abn-checklist { list-style: none; margin: 18px 0 0; padding: 0; counter-reset: abn; text-indent: 0; }
.abn2026 ol.abn-checklist li { counter-increment: abn; margin: 0; border-top: 1px solid var(--abn-line-soft); }
.abn2026 ol.abn-checklist li a { display: flex; align-items: center; gap: 12px; min-height: 52px; font-weight: 600; color: var(--abn-ink); }
.abn2026 ol.abn-checklist li a::before { content: counter(abn); flex: none; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 999px; background: var(--abn-red); color: #fff; font-size: 15px; }
.abn-cards--steps { margin-top: 40px; }
.abn-step { flex: 1 1 240px; min-width: 0; background: #fff; border: 1px solid var(--abn-line); border-radius: 16px; padding: 28px; }
.abn-step__num { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 999px; background: var(--abn-red); color: #fff; font-family: var(--abn-head); font-weight: 700; font-size: 24px; }
.abn2026 .abn-step h3 { font-family: var(--abn-body); font-size: 21px; font-weight: 600; line-height: 1.3; margin: 20px 0 8px; }
.abn2026 .abn-step p { font-size: 16px; margin: 0; }
.abn-callout { margin-top: 24px; background: #fff; border: 1px solid var(--abn-line); border-radius: 16px; padding: 22px 28px; font-size: 16px; }

/* key dates */
.abn-date { flex: 1 1 260px; min-width: 0; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--abn-line); border-radius: 16px; padding: 24px; }
.abn-date__mo { font-size: 14px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--abn-red); }
.abn-date__day { font-family: var(--abn-head); font-weight: 700; font-size: 56px; line-height: 1; color: var(--abn-ink); margin-top: 2px; }
.abn-date strong { margin-top: 10px; font-size: 18px; }
.abn-date span:last-child { font-size: 15px; margin-top: 4px; }

/* mission */
.abn-split { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 48px; }
.abn-split__media { flex: 1 1 440px; min-width: 0; }
.abn2026 .abn-split__media img { display: block; width: 100%; height: auto; border: 1px solid var(--abn-line); border-radius: 20px; }
.abn-split__text { flex: 1 1 480px; min-width: 0; }
.abn2026 .abn-split__text .abn-h2 { margin-top: 10px; }
.abn-prose { margin-top: 18px; }
.abn2026 .abn-prose p { font-size: 17px; }
.abn2026 .abn-split__text .abn-link { margin-top: 12px; }

/* impact band */
.abn-impact { margin-top: 88px; background: var(--abn-ink); }
.abn-impact .abn-wrap { padding-top: 72px; padding-bottom: 72px; }
.abn2026 .abn-impact .abn-h2 { color: #fff; }
.abn-stats { margin-top: 36px; display: flex; flex-wrap: wrap; gap: 40px 64px; }
.abn-stat { flex: 0 0 calc((100% - 128px) / 3); min-width: 220px; padding-top: 20px; border-top: 2px solid rgba(255,255,255,.22); display: flex; flex-direction: column; }
.abn-stat__num { font-family: var(--abn-head); font-weight: 700; font-size: 64px; line-height: 1; color: #fff; }
.abn-stat__label { margin-top: 10px; font-size: 15px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #C3CBDD; }

/* quotes */
.abn-cards--quotes .abn-quote { flex: 1 1 300px; min-width: 0; margin: 0; padding: 28px; background: #fff; border: 1px solid var(--abn-line); border-radius: 20px; display: flex; flex-direction: column; justify-content: space-between; gap: 20px; }
.abn2026 .abn-quote blockquote { margin: 0; padding: 0; border: 0; background: none; border-radius: 0; font-family: var(--abn-head); font-weight: 600; font-size: 28px; line-height: 1.2; color: var(--abn-ink); }
.abn-quote figcaption { font-size: 15px; color: var(--abn-muted); }

/* login prompt + closing band */
.abn-login-card { background: #fff; border: 1px solid var(--abn-line); border-radius: 20px; padding: 36px 40px; box-shadow: var(--abn-shadow); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 40px; }
.abn-login-card p { margin: 10px 0 0; max-width: 560px; }
.abn-cta { margin-top: 88px; background: var(--abn-red); }
.abn-cta__inner { padding-top: 64px; padding-bottom: 64px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 40px; }
.abn2026 .abn-cta h2 { color: #fff; font-size: 48px; margin: 0; }
.abn2026 .abn-cta p { color: #fff; font-size: 18px; margin: 10px 0 0; }


/* =============================================================================
   Welcome cover page (page-welcome.php)
   ========================================================================== */
body.abn2026.abn-cover-page { background: var(--abn-ink); }
.abn-cover { position: relative; overflow: hidden; min-height: 100vh; display: flex; align-items: center; background: var(--abn-ink); }
.abn2026 .abn-court--cover { right: auto; left: 50%; top: 40px; width: 1100px; margin-left: -550px; }
.abn-cover__inner { position: relative; width: 100%; max-width: 980px; margin: 0 auto; padding: 72px 32px; text-align: center; }
.abn-cover__badge { display: flex; align-items: center; justify-content: center; width: 300px; height: 300px; margin: 0 auto; border-radius: 999px; background: #fff; }
.abn2026 .abn-cover__badge img { display: block; height: 252px; width: auto; max-width: none; }
.abn2026 .abn-cover h1 { font-size: clamp(48px, 7vw, 84px); line-height: 0.98; margin: 36px 0 0; color: #fff; }
.abn2026 .abn-cover__tag { max-width: 560px; margin: 18px auto 0; font-size: 22px; line-height: 1.5; color: #C3CBDD; }
.abn-cover__cards { margin-top: 56px; display: flex; flex-wrap: wrap; gap: 20px; text-align: left; }
.abn2026 .abn-cover__card { flex: 1 1 260px; min-width: 0; display: flex; flex-direction: column; gap: 6px; padding: 26px; background: #fff; border-radius: 16px; color: var(--abn-text); text-decoration: none; }
.abn2026 .abn-cover__card:hover { text-decoration: none; box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.35); }
.abn-cover__title { font-family: var(--abn-head); font-weight: 700; font-size: 30px; line-height: 1.1; color: var(--abn-ink); }
.abn-cover__cta { margin-top: 10px; font-size: 15px; font-weight: 600; color: var(--abn-red); }
.abn2026 .abn-cover__enter { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 40px; font-size: 17px; font-weight: 600; color: #fff; text-decoration: underline; }
.abn2026 .abn-cover__enter:hover { color: #fff; }
.abn2026 .abn-cover__fine { margin: 56px 0 0; font-size: 14px; color: #C3CBDD; }

/* The application popup, the big old red buttons and the recipients button still used Cinzel/Georgia.
   Everything uses the same two fonts now. */
.abn2026 .app-button, .abn2026 .period-modal-content h2, .abn2026 .period-modal-content h3,
.abn2026 div.application-modal-links a.application-modal-link,
.abn2026 #home-scholar-recipients #recipients-button-wrapper a.recipients-button,
.abn2026 #home-scholar-renewals #renewals-button-wrapper a.renewals-button { font-family: var(--abn-head); }
.abn2026 .period-modal-content p, .abn2026 .period-modal-content li { font-family: var(--abn-body); }


/* =============================================================================
   Student pages (application steps, dashboard, forms): polish for your real markup
   ========================================================================== */
.abn2026 input[type="radio"], .abn2026 input[type="checkbox"] {
  width: 18px; height: 18px; margin: 0 8px 0 0; accent-color: var(--abn-red); vertical-align: -3px;
}
.abn2026 table#colleges-list td { font-size: 16px; line-height: 2.3; padding: 0 12px 0 0; vertical-align: top; }
/* The scoreboard-style points display is on-brand, so it stays; just a little larger. */
.abn2026 .led img { width: 84px; height: auto; border-radius: 6px; vertical-align: middle; }
.abn2026 #application-saved { background: #E4F2EA; border: 1px solid #B9DCC8; border-radius: 14px; padding: 20px 24px; margin: 24px 0; }
.abn2026 #application-saved h3 { margin: 0 0 6px; color: #1E6B47; }
.abn2026 hr, .abn2026 hr.divider { border: 0; border-top: 1px solid var(--abn-line); margin: 28px 0; }
.abn2026 .button.small { font-size: 15px; padding: 10px 18px; }
.abn2026 span.small { font-size: 14px; font-weight: 400; color: var(--abn-muted); }
.abn2026 p.button-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }

/* ---------- Small screens ---------- */
@media only screen and (max-width: 767px) {
  .abn-header-inner { padding: 10px 20px; }
  .abn2026 .abn-logo img { height: 80px; }
  .abn-nav { width: 100%; }
  .abn2026 .abn-header #menu-main-navigation { gap: 0 18px; }
  .abn2026 .abn-header #menu-main-navigation li a { padding: 8px 2px; font-size: 15px; }
  .abn-nav-actions { width: 100%; padding-top: 6px; }
  .abn-wrap, .abn-footer-inner { padding-left: 20px; padding-right: 20px; }
  .abn2026 .abn-page > #content { padding: 28px 20px 0; }
  .abn2026 #main article { padding: 24px; border-radius: 16px; }
  .abn-hero__grid { padding-top: 48px; padding-bottom: 56px; gap: 32px; }
  .abn2026 .abn-court { display: none; }
  .abn-section { padding-top: 56px; }
  .abn2026 .abn-h2 { font-size: 38px; }
  .abn-award__amount { font-size: 72px; }
  .abn-stat { flex: 1 1 100%; }
  .abn-stat__num { font-size: 52px; }
  .abn-login-card { padding: 28px 24px; }
  .abn-impact, .abn-cta { margin-top: 56px; }
  .abn-footer { margin-top: 32px; }
}

/* =============================================================================
   Layouts for pages pasted into the WordPress editor
   (Requirements, Key Dates, About, Eligible Schools): see the page-content folder
   ========================================================================== */
.abn2026 #main article:has(.abn-page-body) { background: transparent; border: 0; box-shadow: none; padding: 0; }
/* The About content brings its own heading; hide it only when the template already prints the page title. */
.abn2026 article:has(> header > h1.page-title) .abn-ab-title { display: none; }
.abn2026 .abn-ab-title span { color: var(--abn-red); }
.abn2026 .abn-page-body > h2 { margin: 56px 0 20px; }
.abn2026 .abn-leadin { max-width: 680px; margin: 0 0 8px; font-size: 20px; line-height: 1.6; }

.abn2026 .abn-grid { display: flex; flex-wrap: wrap; gap: 20px; }
.abn2026 .abn-panel { flex: 1 1 420px; min-width: 0; background: #fff; border: 1px solid var(--abn-line); border-radius: 16px; padding: 28px; }
.abn2026 .abn-panel h3 { margin: 0 0 16px; font-size: 28px; }
.abn2026 #main ul.abn-checks { list-style: none; margin: 0; padding: 0; text-indent: 0; display: flex; flex-direction: column; gap: 14px; font-size: 16px; }
.abn2026 #main ul.abn-checks li { position: relative; margin: 0; padding-left: 32px; }
.abn2026 #main ul.abn-checks li::before {
  content: ""; position: absolute; left: 0; top: 5px; width: 20px; height: 20px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B4252D' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") no-repeat center / contain;
}
.abn2026 .abn-band { margin: 56px 0 0; background: var(--abn-ink); border-radius: 0; padding: 64px 0; box-shadow: 0 0 0 100vmax var(--abn-ink); clip-path: inset(0 -100vmax); }
.abn2026 .abn-band h2 { margin: 0; color: #fff; }
.abn2026 .abn-band > p { margin: 12px 0 0; max-width: 620px; font-size: 18px; color: #C3CBDD; }
.abn-bandstats { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 28px 48px; }
.abn-bandstat { flex: 1 1 200px; min-width: 0; padding-top: 18px; border-top: 2px solid rgba(255, 255, 255, 0.22); display: flex; flex-direction: column; }
.abn2026 .abn-bandstat strong { font-family: var(--abn-head); font-weight: 700; font-size: 72px; line-height: 1; color: #fff; }
.abn2026 .abn-bandstat span { margin-top: 8px; font-size: 17px; color: #C3CBDD; }

.abn2026 .abn-group { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 24px 56px; margin-top: 56px; }
.abn2026 .abn-group__intro { flex: 1 1 260px; min-width: 0; }
.abn2026 .abn-group__intro h2 { margin: 0; }
.abn2026 .abn-group__intro p { margin: 12px 0 0; }
.abn2026 .abn-rows { flex: 3 1 560px; min-width: 0; background: #fff; border: 1px solid var(--abn-line); border-radius: 20px; padding: 8px 32px; box-shadow: var(--abn-shadow); }
.abn2026 .abn-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 32px; padding: 26px 0; border-top: 1px solid var(--abn-line-soft); }
.abn2026 .abn-row:first-child { border-top: 0; }
.abn2026 .abn-row__date { flex: 0 0 150px; display: flex; flex-direction: column; }
.abn2026 .abn-row__date span { font-size: 14px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--abn-red); }
.abn2026 .abn-row__date b { font-family: var(--abn-head); font-weight: 700; font-size: 56px; line-height: 1; color: var(--abn-ink); }
.abn2026 .abn-row__text { flex: 1 1 280px; min-width: 0; }
.abn2026 .abn-row__text h3 { margin: 0; font-family: var(--abn-body); font-size: 20px; font-weight: 600; line-height: 1.3; }
.abn2026 .abn-row__text p { margin: 4px 0 0; font-size: 16px; }
.abn2026 .abn-note { margin-top: 40px; background: var(--abn-tint); border-radius: 16px; padding: 22px 28px; font-size: 16px; }

.abn2026 .abn-page-body .abn-split { margin-top: 32px; }
.abn2026 .abn-page-body .abn-split__text > h2:first-child { margin-top: 0; }
.abn2026 .abn-quote--inline { margin: 32px 0 0; padding: 26px 28px; background: #fff; border: 1px solid var(--abn-line); border-left: 5px solid var(--abn-red); border-radius: 14px; }
.abn2026 .abn-timeline { border-bottom: 1px solid var(--abn-line); }
.abn2026 .abn-trow { display: flex; flex-wrap: wrap; gap: 12px 32px; padding: 28px 0; border-top: 1px solid var(--abn-line); }
.abn2026 .abn-trow__year { flex: 0 0 160px; font-family: var(--abn-head); font-weight: 700; font-size: 44px; line-height: 1; color: var(--abn-red); }
.abn2026 .abn-trow__text { flex: 1 1 400px; min-width: 0; }
.abn2026 .abn-trow__text h3 { margin: 0; font-family: var(--abn-body); font-size: 21px; font-weight: 600; line-height: 1.3; }
.abn2026 .abn-trow__text p { margin: 6px 0 0; }
.abn2026 .abn-tiles { display: flex; flex-wrap: wrap; gap: 24px; }
.abn2026 .abn-tile { flex: 1 1 260px; min-width: 0; background: #fff; border: 1px solid var(--abn-line); border-radius: 16px; padding: 28px; display: flex; flex-direction: column; }
.abn2026 .abn-tile strong { font-family: var(--abn-head); font-weight: 700; font-size: 64px; line-height: 1; color: var(--abn-ink); }
.abn2026 .abn-tile span { margin-top: 10px; font-size: 15px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--abn-muted); }

.abn2026 .abn-schools { flex: 1 1 380px; min-width: 0; background: #fff; border: 1px solid var(--abn-line); border-radius: 20px; padding: 28px 32px 12px; box-shadow: var(--abn-shadow); }
.abn2026 .abn-schools h3 { margin: 0; font-size: 30px; }
.abn2026 .abn-schools .abn-pill { margin: 12px 0 18px; }
.abn2026 #main .abn-schools ul { list-style: none; margin: 0; padding: 0; text-indent: 0; }
.abn2026 #main .abn-schools li { margin: 0; border-top: 1px solid var(--abn-line-soft); }
.abn2026 .abn-schools li a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; font-weight: 600; color: var(--abn-ink); }
.abn2026 .abn-schools li a::after { content: "\2197"; color: var(--abn-red); }

.abn2026 .abn-cta-panel { margin: 64px 0 0; background: var(--abn-red); border-radius: 0; padding: 64px 0; box-shadow: 0 0 0 100vmax var(--abn-red); clip-path: inset(0 -100vmax -48px -100vmax); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 32px; }
.abn2026 .abn-cta-panel h2 { margin: 0; font-size: 44px; color: #fff; }
.abn2026 .abn-cta-panel p { margin: 8px 0 0; font-size: 18px; color: #fff; }

@media only screen and (max-width: 767px) {
  .abn2026 .abn-band { padding: 44px 0; }
  .abn2026 .abn-rows { padding: 4px 20px; }
  .abn2026 .abn-cta-panel { padding: 44px 0; clip-path: inset(0 -100vmax -40px -100vmax); }
  .abn2026 .abn-bandstat strong { font-size: 56px; }
  .abn2026 .abn-trow__year { flex-basis: 100%; }
}

/* =============================================================================
   Inner pages in the approved mock-up format
   white title band, gray page, separate cards, and (where it helps) a right-hand column.
   It works on the existing page markup, so the student templates keep their logic untouched.
   ========================================================================== */
body.abn2026 { overflow-x: clip; }

/* The page area becomes a grid: title band on top, cards below, optional column on the right. */
.abn2026 .abn-page > #content {
  /* !important on purpose: the site has an extra rule (#content { display: flow-root !important }, probably in
     Appearance > Customize > Additional CSS) that would otherwise turn this grid back into a plain stack. */
  display: grid !important; grid-template-columns: minmax(0, 1fr) 340px; column-gap: 32px; row-gap: 0; align-items: start;
  max-width: 1180px; margin: 0 auto; padding: 0 32px 8px;
}
/* Where things go depends only on the ORDER of the page (no :has(), no script):
   everything spans the full width, unless a right-hand column (.abn-aside--right) comes before the main column. */
.abn2026 #content > #main > *, .abn2026 #content > #main > article > * { grid-column: 1 / -1; }
.abn2026 #content > .abn-aside--right ~ #main > *, .abn2026 #content > .abn-aside--right ~ #main > article > * { grid-column: 1; }
.abn2026 #content > .abn-aside--right ~ #main > article > header { grid-column: 1 / -1; }
.abn2026 #content > #main, .abn2026 #content > #main > article { display: contents; }
.abn2026 #content > br, .abn2026 #content article > br, .abn2026 #content article > hr,
.abn2026 #content hr.divider { display: none; }

/* The title band: full width, white, thin line underneath (drawn with shadows, so no sideways scrolling) */
.abn2026 #content article > header {
  grid-column: 1 / -1; grid-row: 1; position: relative; margin: 0 0 40px; padding: 44px 0 48px; background: #fff;
  box-shadow: 0 0 0 100vmax #fff, 0 1px 0 100vmax var(--abn-line);
  clip-path: inset(0 -100vmax -1px -100vmax);
}
.abn2026 #content article > header h1, .abn2026 #content article > header h1.page-title {
  margin: 0; font-size: clamp(44px, 6vw, 64px); line-height: 1; color: var(--abn-ink);
}
.abn2026 .abn-eyebrow { margin: 0 0 10px; font-size: 14px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--abn-muted); }
.abn2026 .abn-statusrow { margin-top: 18px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.abn2026 .abn-statuspill { display: inline-flex; align-items: center; padding: 6px 14px; border-radius: 999px; font-size: 14px; font-weight: 600; background: #E4F2EA; color: #1E6B47; }
.abn2026 .abn-statuspill--amber { background: #FBF1DC; color: #8A5A00; }
.abn2026 .abn-statuspill--neutral { background: #EEF1F6; color: var(--abn-text); }
.abn2026 .abn-classof { font-size: 15px; color: var(--abn-muted); }

/* Every block of content is its own card */
.abn2026 #content article > section {
  min-width: 0; margin: 0 0 24px; padding: 32px; background: #fff;
  border: 1px solid var(--abn-line); border-radius: 20px; box-shadow: var(--abn-shadow);
}
.abn2026 #content article > section > :first-child { margin-top: 0; }
.abn2026 #content article > section > :last-child { margin-bottom: 0; }
.abn2026 #content article > section h4 { margin: 0 0 16px; font-size: 30px; line-height: 1.1; }
.abn2026 #content article > section h5 { margin: 24px 0 8px; }
.abn2026 #content article > section.application-status { }
.abn2026 #content article > section:has(.abn-page-body), .abn2026 #content article > section:has(details) { margin: 0; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }

/* Forms (login, transfer, returning, edit ID, ...) sit in a centered card, like the mock-up */
.abn2026 #content > .abn-aside--below ~ #main > article > section { width: 100%; max-width: 640px; justify-self: center; }

/* The help cards (right-hand column on Account and Apply, below the form elsewhere) */
.abn2026 .abn-aside { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.abn2026 .abn-aside--right { grid-column: 2; grid-row: 2 / span 30; align-self: start; }
.abn2026 .abn-aside--below { grid-column: 1 / -1; order: 99; width: 100%; max-width: 640px; justify-self: center; }
.abn2026 .abn-acard { background: #fff; border: 1px solid var(--abn-line); border-radius: 20px; padding: 24px 28px; box-shadow: var(--abn-shadow); }
.abn2026 .abn-acard--tint { background: var(--abn-tint); border-color: transparent; box-shadow: none; }
.abn2026 .abn-acard h3 { margin: 0 0 12px; font-size: 26px; line-height: 1.1; }
.abn2026 .abn-acard p { margin: 0; font-size: 16px; }
.abn2026 ul.abn-linklist { list-style: none; margin: 0; padding: 0; text-indent: 0; }
.abn2026 ul.abn-linklist li { margin: 0; border-top: 1px solid var(--abn-line-soft); }
.abn2026 ul.abn-linklist a { display: flex; align-items: center; justify-content: space-between; min-height: 52px; font-weight: 600; color: var(--abn-ink); }
.abn2026 ul.abn-linklist a::after { content: "\203A"; font-size: 24px; line-height: 1; color: var(--abn-red); }
.abn2026 dl.abn-glance { margin: 0; }
.abn2026 dl.abn-glance > div { padding: 12px 0; border-top: 1px solid var(--abn-line-soft); }
.abn2026 dl.abn-glance dt { font-size: 14px; color: var(--abn-muted); }
.abn2026 dl.abn-glance dd { margin: 2px 0 0; font-size: 17px; font-weight: 600; line-height: 1.4; color: var(--abn-ink); }

/* "Your School" and the renewal chips */
.abn2026 dl.abn-dl { margin: 0; display: flex; flex-wrap: wrap; gap: 20px 40px; }
.abn2026 dl.abn-dl > div { flex: 1 1 240px; min-width: 0; }
.abn2026 dl.abn-dl dt { font-size: 14px; color: var(--abn-muted); }
.abn2026 dl.abn-dl dd { margin: 2px 0 0; font-size: 20px; font-weight: 600; color: var(--abn-ink); }
.abn2026 .abn-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 22px; }
.abn2026 .abn-chip { padding: 6px 14px; border: 1px solid var(--abn-line); border-radius: 999px; background: var(--abn-ground); font-size: 14px; font-weight: 600; color: var(--abn-ink); }

/* About (page-ab.php has no title of its own): its title and lead form the same band */
.abn2026 .abn-herobox { position: relative; margin: 0 0 40px; padding: 44px 0 48px; background: #fff;
  box-shadow: 0 0 0 100vmax #fff, 0 1px 0 100vmax var(--abn-line); clip-path: inset(0 -100vmax -1px -100vmax); }
.abn2026 .abn-herobox .abn-ab-title { margin: 0; font-size: clamp(44px, 6vw, 64px); line-height: 1; }
.abn2026 .abn-herobox .abn-leadin { margin: 18px 0 0; }
.abn2026 article:has(> header) .abn-herobox { margin: 0 0 8px; padding: 0; background: none; box-shadow: none; clip-path: none; }

@media only screen and (max-width: 767px) {
  .abn2026 .abn-page > #content { padding: 0 20px 8px; }
  .abn2026 .abn-page > #content { grid-template-columns: minmax(0, 1fr); }
  .abn2026 .abn-aside--right { grid-column: 1; grid-row: auto; order: 99; }
  .abn2026 #content article > header, .abn2026 .abn-herobox { padding: 32px 0 36px; margin-bottom: 28px; }
  .abn2026 #content article > section { padding: 24px; border-radius: 16px; }
}

/* Old inline styles in the transfer / returning / edit-ID forms: make the fields and message boxes match the new look */
.abn2026 form .form-field > select, .abn2026 form .form-field > input[type="text"] { width: 100% !important; padding: 12px 14px !important; }
.abn2026 .error-message { background: #FDECEA !important; color: #B3261E !important; border-radius: 12px !important; padding: 14px 18px !important; }
.abn2026 .success-message { border-radius: 12px !important; padding: 14px 18px !important; }
/* Foundation's old app.css italicizes every paragraph inside an <aside> */
.abn2026 aside p, .abn2026 .abn-aside p { font-style: normal; font-size: 16px; line-height: 1.65; color: var(--abn-text); }
.abn2026 .abn-acard p a { font-weight: 600; }
/* In the renewal views, "Your School" comes first, like the mock-up */
.abn2026 #content article:has(> section.abn-renew) > section:has(> dl.abn-dl) { order: -1; }
/* Two-line rows in the right-hand link lists (a label with a small note under it) */
.abn2026 ul.abn-linklist a small { display: block; margin-top: 1px; font-size: 14px; font-weight: 400; color: var(--abn-muted); }

/* =============================================================================
   Notes round: a little more red (not too much), italic red notes, footer columns, transcripts table
   ========================================================================== */
.abn2026 .abn-header { border-top: 4px solid var(--abn-red); }
.abn2026 .abn-eyebrow { color: var(--abn-red); }
.abn2026 #content article > header::before, .abn2026 .abn-herobox::before { content: ""; display: block; width: 56px; height: 4px; margin-bottom: 18px; border-radius: 2px; background: var(--abn-red); }
.abn2026 article:has(> header) .abn-herobox::before { display: none; }
.abn2026 .abn-footer { border-top: 3px solid var(--abn-red); }
.abn2026 .abn-footer h5 { color: var(--abn-red); }
/* the small note under a link (for example "Last updated on 09/12/2026") */
.abn2026 ul.abn-linklist a small { font-style: italic; color: var(--abn-red); }
/* footer: columns sit side by side at their own width, so Contact Us moves over next to Resources */

/* the transcripts table runs the full width of its card, so both sides have the same indent */
.abn2026 table#transcripts { width: 100%; }

/* =============================================================================
   A little more red text, and the rearranged About page
   ========================================================================== */
.abn2026 .abn-redtext { color: var(--abn-red); }
.abn2026 .abn-quote blockquote, .abn2026 .abn-cards--quotes .abn-quote blockquote { color: var(--abn-ink); }
.abn2026 .abn-quote figcaption { color: var(--abn-red); font-weight: 600; }
.abn2026 .abn-callout strong { color: var(--abn-red); }
.abn2026 .abn-award__sum { color: var(--abn-red); }

.abn2026 .abn-herobox .abn-eyebrow-red { margin: 22px 0 0; font-size: 14px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--abn-red); }
.abn2026 .abn-herobox .abn-eyebrow-red + .abn-leadin { margin: 8px 0 0; max-width: 820px; }
.abn2026 .abn-aboutcard { background: #fff; border: 1px solid var(--abn-line); border-radius: 20px; padding: 40px; box-shadow: var(--abn-shadow); }
.abn2026 .abn-aboutcard__top { display: flex; flex-wrap: wrap; gap: 32px 48px; align-items: center; }
.abn2026 .abn-aboutcard__img { flex: 1 1 520px; min-width: 0; }
.abn2026 .abn-aboutcard__img img { display: block; width: 100%; height: auto; border-radius: 14px; }
.abn2026 .abn-aboutcard__intro { flex: 1 1 360px; min-width: 0; }
.abn2026 .abn-aboutcard__intro h2 { margin: 0 0 14px; font-size: 40px; line-height: 1.05; }
.abn2026 .abn-aboutcard__intro p { margin: 14px 0 0; }
.abn2026 .abn-aboutcard__intro p.abn-lead2 { margin: 0; font-size: 21px; line-height: 1.55; color: var(--abn-ink); }
.abn2026 .abn-aboutcard__cols { margin-top: 36px; padding-top: 32px; border-top: 1px solid var(--abn-line-soft); display: flex; flex-wrap: wrap; gap: 24px 48px; }
.abn2026 .abn-aboutcard__cols p { flex: 1 1 280px; min-width: 0; margin: 0; }
.abn2026 .abn-aboutcard strong { color: var(--abn-red); }
.abn2026 .abn-videoband { margin-top: 24px; background: var(--abn-ink); border-radius: 20px; padding: 36px 40px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 32px; }
.abn2026 .abn-videoband p { margin: 0; flex: 1 1 360px; font-family: var(--abn-head); font-weight: 600; font-size: 30px; line-height: 1.2; color: #fff; }
@media only screen and (max-width: 767px) {
  .abn2026 .abn-aboutcard { padding: 24px; }
  .abn2026 .abn-videoband { padding: 28px 24px; }
}

/* =============================================================================
   Footer: logo + four columns (About, Application Process, Resources, Contact Us) on ONE row.
   1100px and wider: logo and the four columns share a row. 900-1099px: the logo sits above the four columns.
   Under 900px (tablets held upright, phones) the columns stack two by two, because four cannot fit there.
   ========================================================================== */
.abn2026 .abn-footer-grid { display: grid; grid-template-columns: 112px repeat(4, minmax(0, 1fr)); gap: 28px 32px; align-items: start; }
.abn2026 .abn-footer-col { min-width: 0; }
.abn2026 .abn-footer-brand img { height: 104px; width: auto; max-width: none; }
.abn2026 .abn-footer a[href^="mailto:"] { font-size: 14px; overflow-wrap: anywhere; }
@media only screen and (max-width: 1099px) {
  .abn2026 .abn-footer-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 24px; }
  .abn2026 .abn-footer-brand { grid-column: 1 / -1; }
}
@media only screen and (max-width: 899px) { .abn2026 .abn-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media only screen and (max-width: 519px) { .abn2026 .abn-footer-grid { grid-template-columns: minmax(0, 1fr); } }

/* =============================================================================
   Home: the "coming up next" box under the three headline dates; Key Dates: two items lumped under one date
   ========================================================================== */
.abn2026 .abn-datebox { margin-top: 20px; background: #fff; border: 1px solid var(--abn-line); border-left: 4px solid var(--abn-red); border-radius: 14px; padding: 18px 24px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 32px; }
.abn2026 .abn-datebox__label { flex: 0 0 auto; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--abn-red); }
.abn2026 .abn-datebox__items { flex: 1 1 420px; display: flex; flex-wrap: wrap; gap: 12px 36px; }
.abn2026 .abn-datebox__item { display: flex; flex-direction: column; min-width: 0; }
.abn2026 .abn-datebox__when { font-family: var(--abn-head); font-weight: 700; font-size: 26px; line-height: 1.1; color: var(--abn-ink); }
.abn2026 .abn-datebox__what { font-size: 14px; line-height: 1.4; color: #38445E; }
.abn2026 .abn-row__text p + h3 { margin-top: 18px; }

/* Eligible Schools: the image the live page shows */
.abn2026 .abn-schoolmap { margin: 32px 0 8px; }
.abn2026 .abn-schoolmap img { display: block; width: 100%; height: auto; border-radius: 16px; }

/* =====================================================================================================
   FOR BROWSERS WITHOUT :has()  (older Safari / Firefox)
   The layout above no longer needs :has(). These few rules only switch the white card OFF around the pasted
   page layouts and the FAQ, and tidy the About band. A tiny script at the end of footer.php adds the abn-js-*
   classes they use. Browsers that DO know :has() simply get both.
   ===================================================================================================== */
.abn2026 #main article.abn-js-faq,
.abn2026 #main article.abn-js-pasted { background: transparent; border: 0; box-shadow: none; padding: 0; }
.abn2026 article.abn-js-hastitle .abn-ab-title { display: none; }
.abn2026 #content article > section.abn-js-bare { margin: 0; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.abn2026 article.abn-js-hasheader .abn-herobox { margin: 0 0 8px; padding: 0; background: none; box-shadow: none; clip-path: none; }
.abn2026 article.abn-js-hasheader .abn-herobox::before { display: none; }
.abn2026 #content article.abn-js-renew > section.abn-js-school { order: -1; }
.abn2026 .abn-js-empty { display: none; }

/* =====================================================================================================
   Title band: breadcrumb text, and the lead sentence sitting INSIDE the white band (like the approved mock-up)
   ===================================================================================================== */
.abn2026 .abn-trail { margin: 0 0 14px; font-size: 15px; line-height: 1.4; color: var(--abn-muted); }
.abn2026 .abn-trail a { color: var(--abn-muted); }
.abn2026 .abn-trail a:hover { color: var(--abn-red); }
.abn2026 .abn-trail .abn-sep { margin: 0 8px; }
.abn2026 .abn-trail span[aria-current] { color: var(--abn-ink); font-weight: 500; }
.abn2026 #content article > header .abn-leadin { margin: 14px 0 0; max-width: 680px; font-size: 19px; line-height: 1.6; color: var(--abn-text); }
.abn2026 #content article > header .abn-eyebrow-red { margin: 22px 0 0; font-size: 14px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--abn-red); }
.abn2026 #content article > header .abn-eyebrow-red + .abn-leadin { margin-top: 8px; max-width: 820px; }

/* FAQ: one card per group (New Applicants, Renewals) with the questions as rows inside it */
.abn2026 #main .abn-faqcard { background: #fff; border: 1px solid var(--abn-line); border-radius: 20px; padding: 0 32px; margin: 0 0 32px; box-shadow: var(--abn-shadow); }
.abn2026 #main .abn-faqcard details { background: none; border: 0; border-top: 1px solid var(--abn-line-soft); border-radius: 0; margin: 0; padding: 0; }
.abn2026 #main .abn-faqcard details:first-child { border-top: 0; }
@media only screen and (max-width: 767px) { .abn2026 #main .abn-faqcard { padding: 0 20px; } }

/* =====================================================================================================
   Login, forgot password, resend-the-email and activate: the white card is the same size as the other form cards, centred
   (these pages have no "Need Help" box, so the general rule for form pages did not reach them)
   ===================================================================================================== */
.abn2026.page-template-page-login-php #content > #main > article > section,
.abn2026.page-template-page-forgot-password-php #content > #main > article > section,
.abn2026.page-template-page-request-activation-link-php #content > #main > article > section,
.abn2026.page-template-page-activate-php #content > #main > article > section { width: 100%; max-width: 640px; justify-self: center; }

/* Show / hide password: a small button inside every password field (the script in footer.php adds it) */
.abn2026 .abn-pw { position: relative; display: block; margin: 0 0 16px; }
.abn2026 .abn-pw > input { display: block; width: 100%; margin: 0; padding-right: 84px; }
.abn2026 .abn-pw-toggle { position: absolute; top: 50%; right: 6px; transform: translateY(-50%); min-height: 36px; padding: 0 12px; border: 0; border-radius: 8px; background: transparent; color: var(--abn-red); font: 600 15px/1 var(--abn-body); text-decoration: underline; cursor: pointer; }
.abn2026 .abn-pw-toggle:hover { background: var(--abn-tint); color: var(--abn-red-dark); }

/* =====================================================================================================
   abn-2026: win over the site's own "Additional CSS" (Appearance > Customize), which loads AFTER this file.
   It was written for the OLD red menu bar. Two of its phone rules still reached the new tabs (they were shrunk to 8px and
   pushed 200px off the left of the screen), and its  #footer { margin-top: 150px }  beat the footer spacing set above.
   These rules put things back without touching that CSS.
   ===================================================================================================== */
@media only screen and (max-width: 1024px) {
  .abn2026 .abn-header ul#menu-main-navigation { position: static !important; left: auto !important; flex-wrap: wrap !important; padding: 0 !important; margin: 0 !important; }
  .abn2026 .abn-header ul#menu-main-navigation li a { font-size: 16px !important; padding: 12px 2px !important; letter-spacing: normal !important; white-space: nowrap !important; }
}
@media only screen and (max-width: 767px) {
  .abn2026 .abn-header ul#menu-main-navigation li a { font-size: 15px !important; padding: 10px 2px !important; }
}
.abn2026 #footer.abn-footer { margin-top: 40px; }
@media only screen and (max-width: 767px) { .abn2026 #footer.abn-footer { margin-top: 32px; } }
