/* ==========================================================
   BSchoolBuzz — Homepage redesign (professional, icon-free)
   Palette: navy #0b1c3a / #132a52, gold #d4a72c, paper #f7f8fa
   Type: Urbanist (headings) + Epilogue (body)
   ========================================================== */
:root{
  --bsb-navy:#0b1c3a; --bsb-navy-2:#132a52; --bsb-gold:#d4a72c;
  --bsb-paper:#f7f8fa; --bsb-line:#e2e6ee; --bsb-ink:#1a2233; --bsb-muted:#5b6678;
}
body, body p, body span, body div, body li, body a, body input, body button, body td, body th{
  font-family:'Epilogue', ui-sans-serif, system-ui, sans-serif;
}
body h1, body h2, body h3, body h4, body h5, body .section-title, body .home-hero-title{
  font-family:'Urbanist', ui-sans-serif, system-ui, sans-serif;
  letter-spacing:-.02em; font-weight:700;
}
body{ background:var(--bsb-paper); color:var(--bsb-ink); }

/* ---------- 1. Remove decorative icons ---------- */
i[class*="fa-"]{ display:none !important; }
/* keep functional controls */
i.fa-bars, i.fa-xmark, i.fa-times, i.fa-chevron-down, i.fa-chevron-up,
i.fa-chevron-left, i.fa-chevron-right, i.fa-arrow-up, i.fa-angle-down,
i.fa-angle-left, i.fa-angle-right{ display:inline-block !important; }
.section-eyebrow img, .badge img[src*="icon"]{ display:none !important; }

/* ---------- 2. Hero ---------- */
.home-hero-section{
  min-height:0 !important; padding:88px 0 76px !important;
  background:linear-gradient(180deg,var(--bsb-navy) 0%, var(--bsb-navy-2) 100%) !important;
}
.home-hero-bg img{ opacity:.14 !important; filter:grayscale(1) contrast(1.05); }
.home-hero-overlay{ background:linear-gradient(180deg, rgba(11,28,58,.92), rgba(11,28,58,.96)) !important; }
.home-hero-section .badge, .home-hero-section [class*="badge"]{
  background:transparent !important; border:1px solid rgba(212,167,44,.55) !important;
  color:var(--bsb-gold) !important; border-radius:2px !important;
  font-size:11px !important; letter-spacing:.18em !important; text-transform:uppercase;
  font-weight:600 !important; padding:7px 14px !important; box-shadow:none !important;
}
.home-hero-title{
  color:#fff !important; font-size:clamp(2rem,5vw,3.7rem) !important;
  line-height:1.06 !important; font-weight:700 !important; text-shadow:none !important;
  background:none !important; -webkit-text-fill-color:#fff !important;
}
.home-hero-section p{
  color:rgba(255,255,255,.76) !important; font-size:1.03rem !important;
  line-height:1.7 !important; max-width:660px; margin-left:auto; margin-right:auto;
}
.home-hero-section input[type="text"], .home-hero-section input[type="search"]{
  border-radius:3px !important; border:1px solid rgba(255,255,255,.18) !important;
  background:#fff !important; height:54px !important; font-size:.97rem !important;
  box-shadow:none !important;
}
.home-hero-section button, .home-hero-section a[class*="rounded"]{
  border-radius:3px !important; box-shadow:none !important;
  font-weight:600 !important; letter-spacing:.02em; font-size:.95rem !important;
}
.home-hero-section button[type="submit"]{
  background:var(--bsb-gold) !important; color:var(--bsb-navy) !important;
  border:1px solid var(--bsb-gold) !important; height:54px !important; padding:0 30px !important;
}
/* secondary CTAs -> outlined */
.home-hero-section a{ background:transparent !important; color:#fff !important;
  border:1px solid rgba(255,255,255,.34) !important; }
.home-hero-section a:hover{ border-color:var(--bsb-gold) !important; color:var(--bsb-gold) !important; }

/* ---------- 3. Section headers ---------- */
.section-eyebrow{
  background:none !important; border:0 !important; padding:0 !important;
  color:var(--bsb-gold) !important; font-size:11px !important; font-weight:700 !important;
  letter-spacing:.2em !important; text-transform:uppercase; margin-bottom:10px !important;
  display:inline-block !important; box-shadow:none !important;
}
.section-eyebrow.light{ color:var(--bsb-gold) !important; }
.section-title{
  color:var(--bsb-navy) !important; font-size:clamp(1.45rem,3vw,2.1rem) !important;
  font-weight:700 !important; letter-spacing:-.02em !important; margin-bottom:8px !important;
  background:none !important; -webkit-text-fill-color:currentColor !important;
}
.section-title.white{ color:#fff !important; }
.section-title + p, .section-eyebrow + .section-title + p{
  color:var(--bsb-muted) !important; font-size:.97rem !important;
}
section{ padding-top:52px !important; padding-bottom:52px !important; }

/* ---------- 4. Cards (uniform grid) ---------- */
.card, .ticker-card, [class*="rounded-2xl"], [class*="rounded-xl"]{
  border-radius:4px !important;
}
.card{
  background:#fff !important; border:1px solid var(--bsb-line) !important;
  box-shadow:none !important; transition:border-color .18s ease, transform .18s ease;
}
.card:hover{ border-color:var(--bsb-navy) !important; transform:translateY(-2px); }
.card h3, .card h4{ color:var(--bsb-navy) !important; font-weight:700 !important; }
.card p, .card li{ color:var(--bsb-muted) !important; }

/* ---------- 5. News ticker -> clean news strip ---------- */
.ticker-section{
  background:#fff !important; border-top:1px solid var(--bsb-line);
  border-bottom:1px solid var(--bsb-line);
  margin-top:0 !important; padding:26px 0 !important;
}
.ticker-card{
  background:#fff !important; border:1px solid var(--bsb-line) !important;
  box-shadow:none !important; color:var(--bsb-ink) !important;
}
.ticker-card h3, .ticker-card h4, .ticker-card strong{ color:var(--bsb-navy) !important; }
.ticker-card p{ color:var(--bsb-muted) !important; }
.ticker-card [class*="uppercase"], .ticker-card .status{
  color:var(--bsb-gold) !important; letter-spacing:.16em !important;
  font-size:10px !important; font-weight:700 !important;
}
.ticker-card a{ color:var(--bsb-navy) !important; font-weight:600 !important; }
.badge-blink, .status{ animation:none !important; }

/* ---------- 6. Stats strip ---------- */
.stats-strip-bar{
  background:var(--bsb-navy) !important; border:0 !important; padding:22px 0 !important;
}
.stat-pill{ background:transparent !important; border:0 !important; box-shadow:none !important; }
.stat-val{ color:#fff !important; font-weight:700 !important; font-size:1.5rem !important; }
.stat-lbl{ color:rgba(255,255,255,.62) !important; font-size:.74rem !important;
  letter-spacing:.14em !important; text-transform:uppercase; }

/* ---------- 7. Buttons everywhere ---------- */
button, .btn, a[class*="bg-yellow"], a[class*="bg-blue-9"]{
  border-radius:3px !important; box-shadow:none !important;
}
a[class*="bg-yellow"], button[class*="bg-yellow"]{
  background:var(--bsb-gold) !important; color:var(--bsb-navy) !important; font-weight:600 !important;
}

/* ---------- 8. Header / footer ---------- */
header, nav.main-nav{ background:var(--bsb-navy) !important; border-bottom:1px solid rgba(255,255,255,.08); }
header a{ letter-spacing:.01em; }
footer{ background:var(--bsb-navy) !important; }

/* ---------- 9. Mobile ---------- */
@media (max-width:768px){
  .home-hero-section{ padding:56px 0 48px !important; }
  .home-hero-title{ font-size:1.9rem !important; }
  .home-hero-section p{ font-size:.95rem !important; }
  .home-hero-section .flex{ flex-direction:column !important; }
  .home-hero-section button, .home-hero-section a{ width:100% !important; }
  section{ padding-top:34px !important; padding-bottom:34px !important; }
  .container, .max-w-7xl, .max-w-6xl{ padding-left:16px !important; padding-right:16px !important; }
  .section-title{ font-size:1.35rem !important; }
  .stats-strip-bar{ padding:16px 0 !important; }
  .stat-val{ font-size:1.2rem !important; }
  html, body{ overflow-x:hidden !important; }
}
@media (min-width:769px) and (max-width:1024px){
  .home-hero-section{ padding:70px 0 60px !important; }
}

/* ---------- 10. Post-redesign corrections ---------- */
/* empty icon holders left behind after removing icons */
*:has(> i[class*="fa-"]):not(a):not(button):not(label):empty{ display:none !important; }
.stats-strip-bar [class*="bg-"]:has(i[class*="fa-"]),
.stat-pill [class*="rounded"]:has(i[class*="fa-"]),
.section-eyebrow [class*="rounded"]:has(i[class*="fa-"]),
.card [class*="rounded"]:has(> i[class*="fa-"]){ display:none !important; }
.stat-pill{ gap:0 !important; }
/* dead white band between hero and news strip */
.home-hero-section ~ [class*="pt-[72px]"], .home-hero-section + div[class*="pt-"]{ padding-top:0 !important; }
.ticker-section{ margin-top:-1px !important; }
/* single clean search field */
.home-hero-section form, .home-hero-section form > div{
  background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important;
}
.home-hero-section input{ border:1px solid rgba(255,255,255,.22) !important; }

/* ---------- 11. Kill leftover icon tiles globally ---------- */
div:has(> i[class*="fa-"]):not(:has(> :not(i))):not(a):not(button):not(label),
span:has(> i[class*="fa-"]):not(:has(> :not(i))):not(a):not(button){
  display:none !important;
}

/* ---------- 12. Header fixes (visibility) ---------- */
header a, header button, header span, header p, header li, header strong{
  color:#fff !important; opacity:1 !important;
}
header a:hover{ color:var(--bsb-gold) !important; }
header img, nav img{
  display:inline-block !important; opacity:1 !important; filter:none !important;
  max-height:44px !important; width:auto !important;
}
header .text-yellow-400, header [class*="text-yellow"], header [class*="text-amber"]{
  color:var(--bsb-gold) !important;
}
header a[class*="bg-white"], header a.active, header li.active > a{
  background:#fff !important; color:var(--bsb-navy) !important; border-radius:6px !important;
}
header div:empty, header span:empty, nav div:empty{ display:none !important; }
header [class*="border"]:empty{ display:none !important; }
header{ padding-top:10px !important; padding-bottom:10px !important; }
@media (max-width:768px){
  header img, nav img{ max-height:34px !important; }
  header{ padding-top:8px !important; padding-bottom:8px !important; }
}
