/* =========================================================================
   GenCon — Arkansas Game & Fish Commission, Education Division theme (green).
   Palette + type mapped onto Bootstrap 5. Edit the tokens in :root to retune.
   Fonts: Neuzon (titles) and Azo Sans (body) are licensed; these are close
   free stand-ins (Oswald ≈ Neuzon, Archivo ≈ Azo Sans). Swap the @import and
   the two font-family stacks if you license the originals.
   ========================================================================= */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Archivo:wght@400;500;600;700&display=swap');

/* The HTML `hidden` attribute only sets `display:none` via the low-priority UA
   stylesheet, so Bootstrap utilities like `.d-flex` (display:flex !important)
   override it and leave "hidden" elements visible. Make `hidden` authoritative.
   This file loads after Bootstrap, so it wins the source-order tiebreak. */
[hidden]{ display: none !important; }

:root{
  /* AGFC Education Division palette */
  --agfc-cream:  #ffefde;
  --agfc-sand:   #d6a048;
  --agfc-gold:   #aa8632;
  --agfc-olive:  #928649;
  --agfc-olive-dk:#605b34;
  --agfc-brown:  #4c3427;
  --agfc-ink:    #2f2410;

  /* green accents (primary identity) */
  --agfc-green:   #6d7a34;
  --agfc-green-dk:#4c5726;

  /* remap Bootstrap theme onto the brand — green primary, gold secondary */
  --bs-primary: #6d7a34;
  --bs-primary-rgb: 109,122,52;
  --bs-body-color: #33291b;
  --bs-body-bg: var(--agfc-cream);
  --bs-secondary-color: rgba(76,52,39,.66);
  --bs-tertiary-color: rgba(76,52,39,.5);
  --bs-border-color: #e2d9c0;
  --bs-link-color: #5c6a2a;
  --bs-link-color-rgb: 92,106,42;
  --bs-link-hover-color: #43501f;
  --bs-link-hover-color-rgb: 67,80,31;

  /* rank medals */
  --gc-gold:   #e0b34d;
  --gc-silver: #cdd2d8;
  --gc-bronze: #c98a5e;
}

body{
  background-color: var(--agfc-cream);
  color: #33291b;
  font-family: 'Archivo', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}

/* Titles in the Neuzon-substitute */
h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6,
.navbar-brand,.modal-title{
  font-family: 'Oswald', system-ui, sans-serif;
  letter-spacing: .01em;
}
.card-header .fw-semibold{ font-family:'Oswald', system-ui, sans-serif; letter-spacing:.01em; }

/* ---------- Navbar: deep AGFC green with the logo ---------- */
.navbar.bg-dark{ background-color: var(--agfc-green-dk) !important; }
.navbar-brand{ gap:.55rem; }
.agfc-logo{ height:34px; width:auto; display:block; }
.navbar-dark .navbar-nav .nav-link.active{ color: var(--agfc-sand) !important; }
.navbar-dark .navbar-nav .nav-link:hover{ color:#f1e7cf !important; }

/* ---------- Header band ---------- */
header.bg-body-tertiary{
  background-color:#f6ecd8 !important;
  border-bottom:3px solid var(--agfc-green) !important;
}
header .bi-trophy-fill{ color: var(--agfc-gold) !important; }

/* ---------- Buttons ---------- */
.btn-primary{
  --bs-btn-bg: var(--agfc-green); --bs-btn-border-color: var(--agfc-green);
  --bs-btn-color:#fff; --bs-btn-hover-color:#fff; --bs-btn-active-color:#fff;
  --bs-btn-hover-bg:#5c692b; --bs-btn-hover-border-color:#5c692b;
  --bs-btn-active-bg:#4c5726; --bs-btn-active-border-color:#4c5726;
  --bs-btn-focus-shadow-rgb:109,122,52;
}
.btn-outline-secondary{
  --bs-btn-color:#55611f; --bs-btn-border-color:#aeb587;
  --bs-btn-hover-bg:var(--agfc-green-dk); --bs-btn-hover-border-color:var(--agfc-green-dk); --bs-btn-hover-color:#fff;
  --bs-btn-active-bg:var(--agfc-green-dk); --bs-btn-active-border-color:var(--agfc-green-dk);
}
.btn-outline-danger{ --bs-btn-color:#9a3a26; --bs-btn-border-color:#c98b7a; --bs-btn-hover-bg:#9a3a26; --bs-btn-hover-border-color:#9a3a26; }

/* ---------- Cards ---------- */
.card{ border-color:#e5dcc5; }
.card-header{ background-color:#f7f2e6 !important; }

/* ---------- Tables ---------- */
.table{ --bs-table-color:#33291b; }
.table thead.table-light th, .table thead.table-light{
  --bs-table-bg:#eceadb; color: var(--agfc-green-dk);
  text-transform:uppercase; letter-spacing:.03em; font-size:.82em;
}
.table-hover>tbody>tr:hover{ --bs-table-hover-bg:#f2f0e0; }
.table-group-divider{ border-top-color:#b9bd93 !important; }

/* ---------- Badges: green primary, gold secondary ---------- */
.text-bg-primary{   background-color: var(--agfc-green) !important; color:#fff !important; }
.text-bg-secondary{ background-color: var(--agfc-gold) !important;  color: var(--agfc-ink) !important; }
.text-bg-success{   background-color:#4e7a34 !important; color:#fff !important; }
.text-bg-danger{    background-color:#a4442f !important; color:#fff !important; }

/* ---------- Progress bars ---------- */
.progress{ background-color:#e8e3cf; }
.progress-bar{ background-color: var(--agfc-green); }

/* ---------- Links ---------- */
a{ text-underline-offset:2px; }

/* ---------- Circular rank "medal" ---------- */
.rank-badge{
  display:inline-flex; align-items:center; justify-content:center;
  width:2rem; height:2rem; border-radius:50%;
  font-family:'Oswald', sans-serif; font-weight:600;
  font-variant-numeric:tabular-nums; background:#e8e6d4; color:#4a4a26;
}
tr.place-1 .rank-badge{ background:var(--gc-gold);   color:#5c4500; }
tr.place-2 .rank-badge{ background:var(--gc-silver); color:#3a3f44; }
tr.place-3 .rank-badge{ background:var(--gc-bronze); color:#5a2f12; }

/* ---------- Podium tint (leader gets a green wash) ---------- */
.standings tbody tr.place-1 > *{ background: rgba(109,122,52,.16); }
.standings tbody tr.place-2 > *{ background: rgba(205,210,216,.20); }
.standings tbody tr.place-3 > *{ background: rgba(201,138,94,.15); }

/* ---------- Numerics ---------- */
.num, .total{ font-variant-numeric:tabular-nums; }

/* ---------- Air-rifle ring grid ---------- */
.relay{ table-layout:fixed; }
.relay .bullseye-col{ width:7rem; }
.relay select.shot{ width:100%; min-width:0; }
.relay caption{ padding-bottom:.25rem; }

/* ---------- Culinary rubric grid ---------- */
/* criterion names carry their scoring bands in a title tooltip */
.cul-crit{ cursor:help; text-decoration:underline dotted; text-underline-offset:2px; }
.cul-table .cul-avg{ white-space:nowrap; }

/* ---------- Footer ---------- */
footer{ color:#5f5a3a; }
footer .agfc-mark{ height:26px; width:auto; vertical-align:-8px; margin-right:.4rem; }
/* ---------- Overall scoreboard width ---------- */
/* The overall board puts all three divisions side by side, six columns each, so
   Bootstrap's 1320px .container leaves the cards cramped. Go full width instead,
   but cap it: past ~1800px the rows stretch so far that rank and total sit at
   opposite ends of the screen and stop reading as one row. Only scoreboard.html
   uses this — the division pages are one wide table and are fine as they are. */
.board-wide{ max-width:1800px; margin-inline:auto; }
