/* Hunting season pages (roadmap 15.56b2): one table per page, rows as cards on phones; badges from assets/seasons.js. */
:root { --open-bg: #d9eedf; --open-text: #1d5434; --soon-bg: #f5e6c4; --soon-text: #674508; }
@media (prefers-color-scheme: dark) { :root { --open-bg: #1e3a29; --open-text: #a8e2bd; --soon-bg: #3a2e15; --soon-text: #f1d08c; } }
.season-box { border: 1px solid var(--border); border-radius: 0.9rem; background: var(--surface); overflow: hidden; }
.season-box .open-now { margin: 0; padding: 0.9rem 1rem; border-bottom: 1px solid var(--border); background: var(--bg); font-weight: 600; }
.season-box .open-now.open { background: var(--open-bg); color: var(--open-text); }
.season-table { border-collapse: collapse; width: 100%; font-size: 0.95rem; }
.season-table th, .season-table td { text-align: left; padding: 0.75rem 1rem; border-bottom: 1px solid var(--border); vertical-align: top; overflow-wrap: anywhere; }
.season-table thead th { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); }
.season-table tbody tr:last-child > * { border-bottom: 0; }
.season-table tr[id] { scroll-margin-top: 5rem; }
.season-species { font-weight: 700; min-width: 8rem; }
.season-dates { white-space: nowrap; }
.season-details { color: var(--muted); }
.season-where { min-width: 12rem; }
.season-table .status { display: block; width: fit-content; margin: 0.35rem 0 0; padding: 0.1rem 0.65rem; border-radius: 999px; font-size: 0.8rem; font-weight: 600; white-space: nowrap; background: var(--bg); color: var(--muted); }
.season-table .status.open { background: var(--open-bg); color: var(--open-text); }
.season-table .status.soon { background: var(--soon-bg); color: var(--soon-text); text-transform: none; letter-spacing: normal; border: 0; font-size: 0.8rem; font-weight: 600; padding: 0.1rem 0.65rem; vertical-align: baseline; }
.season-table .status[hidden] { display: none; }
.season-units { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 0.9rem; }
.season-units a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; }
.season-all { display: block; font-weight: 600; font-size: 0.9rem; }
.season-more summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; color: var(--accent-text); font-weight: 600; }
.season-source { white-space: nowrap; }
@media (max-width: 720px) {
  .season-table thead { display: none; }
  .season-table, .season-table tbody, .season-table tr, .season-table td { display: block; }
  .season-table tr { padding: 0.85rem 1rem; border-bottom: 1px solid var(--border); }
  .season-table tbody tr:last-child { border-bottom: 0; }
  .season-table td { padding: 0.15rem 0; border: 0; min-width: 0; }
  .season-dates { white-space: normal; }
}
