/* Shared styles for the Delaware wrestling schedule pages (boys + girls). */

:root {
  --dark-blue:#0a2540;
  --mid-blue:#0f4471;
  --light-blue:#1a73e8;
  --gold:#f9b234;
  --offwhite:#f4f6fb;
  --text:#e8ecf5;
  --muted:#a8b5c9;
  --accent:var(--gold);
  --accent-text:#0a2540;
}

body.wd-girls {
  --accent:#ff4fa3;
  --accent-text:#2a0a1b;
}

body {
  background:linear-gradient(180deg,var(--dark-blue) 0%,var(--mid-blue) 100%);
  color:var(--text);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  min-height:100vh;
}

.navbar {
  background:linear-gradient(90deg,var(--mid-blue),var(--light-blue));
  box-shadow:0 4px 20px rgba(0,0,0,.4);
}
.navbar-brand {
  font-weight:800;
  color:var(--accent)!important;
  letter-spacing:.5px;
}
.nav-link { color:var(--offwhite)!important; font-weight:600; }
.nav-link:hover { color:var(--accent)!important; }
.navbar-toggler { border-color:rgba(255,255,255,.5); }
.navbar-toggler-icon {
  background-image: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");
}

h1 { color:#fff; font-weight:800; }

.card {
  background:rgba(10,25,50,.9);
  border:1px solid rgba(255,255,255,.06);
  border-radius:1rem;
  color:var(--text);
  box-shadow:0 10px 30px rgba(0,0,0,.4);
}
.card-header {
  background:linear-gradient(90deg,var(--mid-blue),var(--light-blue));
  color:var(--offwhite);
  font-weight:700;
  border-top-left-radius:1rem;
  border-top-right-radius:1rem;
}

table.dataTable>thead>tr>th { background:#15335f!important; color:#fff!important; }
table.dataTable>tbody>tr>* { background:#0f1f3c!important; color:#e8ecf5!important; }
table.dataTable a { color:var(--accent); text-decoration:none; }
table.dataTable a:hover { text-decoration:underline; }

footer {
  color:var(--muted);
  font-size:.9rem;
  text-align:center;
  margin-top:3rem;
  padding-top:1rem;
  border-top:1px solid rgba(255,255,255,.1);
}

.filter-label {
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
  margin-bottom:.25rem;
}

/* Bootstrap's .text-muted is too dark against this background. */
.text-muted, #statusLine, #freshness { color:var(--muted)!important; }

.badge-type { font-size:.72rem; font-weight:700; letter-spacing:.03em; }
.badge-dual { background:var(--light-blue); }
.badge-tournament { background:var(--accent); color:var(--accent-text); }
.text-away { color:var(--muted); }
.accent-link { color:var(--accent); text-decoration:none; }
.accent-link:hover { color:var(--accent); text-decoration:underline; }

/* ---- Team schedule widget ---- */
.team-head { display:flex; gap:1rem; align-items:center; flex-wrap:wrap; }
.team-logo {
  width:66px; height:66px; flex:0 0 66px;
  object-fit:contain;
  background:rgba(255,255,255,.92);
  border-radius:.75rem;
  padding:.35rem;
}
.team-name { font-size:1.4rem; font-weight:800; color:#fff; line-height:1.15; }
.team-meta { color:var(--muted); font-size:.9rem; }
.team-record { font-weight:800; color:var(--accent); }

.fav-btn { white-space:nowrap; }
.fav-btn.is-fav { background:var(--accent); border-color:var(--accent); color:var(--accent-text); font-weight:700; }

.next-up {
  margin-top:1rem;
  padding:.7rem 1rem;
  border-radius:.75rem;
  background:rgba(26,115,232,.18);
  border:1px solid rgba(255,255,255,.14);
}
.next-up-label {
  font-size:.72rem; text-transform:uppercase; letter-spacing:.1em;
  color:var(--accent); font-weight:800;
}

.month-head {
  margin:1.25rem 0 .25rem;
  font-size:.78rem; text-transform:uppercase; letter-spacing:.12em;
  color:var(--muted); font-weight:800;
  border-bottom:1px solid rgba(255,255,255,.12);
  padding-bottom:.3rem;
}

.event-row {
  display:flex; gap:.9rem; align-items:flex-start;
  padding:.7rem .15rem;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.event-row.is-next { background:rgba(249,178,52,.08); border-radius:.5rem; }
.event-row.is-past { opacity:.6; }
.event-date {
  flex:0 0 56px; text-align:center;
  background:#15335f; border-radius:.5rem; padding:.3rem 0;
}
.event-dow { display:block; font-size:.68rem; text-transform:uppercase; color:var(--muted); }
.event-md { display:block; font-weight:800; font-size:.95rem; }
.event-main { flex:1 1 auto; min-width:0; }
.event-opp { font-weight:700; }
.event-sub { font-size:.85rem; color:var(--muted); }
.event-side { flex:0 0 auto; text-align:right; }
.event-result { font-weight:800; }
.event-result.is-win { color:#5ce08a; }
.event-result.is-loss { color:#ff8080; }

.school-links { column-count:2; column-gap:2rem; font-size:.9rem; }
.school-links a { color:var(--accent); text-decoration:none; }
.school-links a:hover { text-decoration:underline; }

@media (max-width:768px) {
  .school-links { column-count:1; }
  #schedTable_wrapper { overflow-x:auto; }
  table.dataTable { width:100%!important; }
  .dataTables_filter { float:none!important; text-align:left!important; margin-top:.5rem; }
}
