/* Season detail: isolated from the season list and shared Bootstrap components. */
.season-detail-page {
  --text: #202329;
  --muted: #626b77;
  --border: #e3e6ea;
  --accent: #d71920;
  --accent-dark: #b7131a;
  background: #f5f6f8;
}
.season-detail-page .page { padding-bottom: 64px; }
.season-detail-page .champ-hero {
  border-radius: 12px;
  border-bottom: 4px solid var(--accent);
  background: linear-gradient(115deg, #132334, #19232d);
  box-shadow: 0 8px 24px rgb(20 30 40 / 7%);
}
.season-detail-page .champ-hero:after { display: none; }
.season-detail-page .champ-hero-inner { grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr); gap: 32px; padding: 32px; }
.season-detail-page .champ-hero-copy { min-width: 0; }
.season-detail-page .kicker { align-self: flex-start; padding: 0; margin-bottom: 16px; border-radius: 0; background: none; color: #c8d1dc; font-size: .65rem; letter-spacing: .16em; }
.season-detail-page .kicker i { color: #ff666b; }
.season-detail-page .champ-hero h1 { font-size: clamp(1.65rem, 3vw, 2.55rem); line-height: 1.15; letter-spacing: -.04em; text-shadow: none; overflow-wrap: anywhere; }
.season-detail-page .season-hero-subtitle { display: block; margin-top: 10px; font-size: .55em; font-weight: 600; color: #ced6df; letter-spacing: -.01em; }
.season-detail-page .champ-hero p { margin-top: 12px; line-height: 1.65; color: #bdc7d2; }
.season-detail-page .summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.season-detail-page .summary-card { justify-content: flex-start; padding: 18px; border-radius: 8px; background: rgb(255 255 255 / 4%); box-shadow: none; backdrop-filter: none; }
.season-detail-page .summary-card small { color: #b6c1cf; font-size: .65rem; }
.season-detail-page .summary-card strong { margin-top: 12px; font-size: 1.1rem; line-height: 1.3; }
.season-detail-page .summary-card span { margin-top: 8px; line-height: 1.5; }
.season-detail-page .section { margin-top: 24px; padding: 0; overflow: visible; }
.season-detail-page .toolbar { margin: 0 0 24px; padding: 20px; gap: 16px; border: 1px solid var(--border); border-radius: 12px; background: #fff; box-shadow: 0 3px 12px rgb(20 30 40 / 3%); }
.season-detail-page .toolbar-head { align-items: center; gap: 12px; }
.season-detail-page .toolbar-intro h2 { font-size: .95rem; letter-spacing: -.02em; }
.season-detail-page .toolbar-season { padding: 0; background: none; font-size: .7rem; color: var(--muted); }
.season-detail-page .status { padding: 6px 10px; font-size: .72rem; border-radius: 5px; line-height: 1.5; }
.season-detail-page .toolbar-nav-wrap { padding: 0; border: 0; border-radius: 0; background: none; }
.season-detail-page .toolbar-nav { grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 8px; }
.season-detail-page .toolbar-nav .toolbar-link { min-width: 0; min-height: 48px; padding: 12px; gap: 8px; border: 1px solid var(--border); border-radius: 6px; background: #f8f9fa; color: var(--text); box-shadow: none; font-size: .8rem; opacity: 1; transition: background .18s, border-color .18s; overflow-wrap: anywhere; }
.season-detail-page .toolbar-nav .toolbar-link i { color: var(--muted); flex-shrink: 0; }
.season-detail-page .toolbar-nav .toolbar-link:hover { background: #fff0f1; border-color: #e9b4b7; transform: none; }
.season-detail-page .toolbar-nav .toolbar-link.active { background: var(--accent); border-color: var(--accent); color: #fff; }
.season-detail-page .toolbar-nav .toolbar-link.active i { color: #fff; }
.season-detail-page .toolbar-nav .toolbar-link-gold:not(.active) { background: #fff8e6; border-color: #e9d9ab; }
.season-detail-page .toolbar-nav .toolbar-link-gold:not(.active) i { color: #896313; }
.season-detail-page .season-enrollment-banner { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px; border: 1px solid #efcdd0; border-left: 3px solid var(--accent); border-radius: 6px; background: #fff7f7; }
.season-detail-page .season-enrollment-banner > div { min-width: 0; font-size: .85rem; line-height: 1.6; overflow-wrap: anywhere; }
.season-detail-page .action { min-height: 46px; justify-content: center; padding: 12px 18px; border-radius: 6px; background: var(--accent); box-shadow: none; font-size: .85rem; }
.season-detail-page .season-enrollment-banner .action { flex-shrink: 0; }
.season-detail-page .action:hover { background: var(--accent-dark); color: #fff; }
.season-detail-page .panel { min-width: 0; padding: 28px; border-radius: 12px; box-shadow: 0 3px 16px rgb(20 30 40 / 3%); }
.season-detail-page .section-title { font-size: clamp(1.25rem, 2.5vw, 1.7rem); letter-spacing: -.035em; line-height: 1.25; }
.season-detail-page .section-copy { font-size: .88rem; line-height: 1.65; }
.season-detail-page .count { flex-shrink: 0; padding: 8px 12px; border-radius: 6px; font-size: .75rem; }
.season-detail-page .stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 24px 0; }
.season-detail-page .slot { padding: 16px 20px; border-radius: 6px; border: 1px solid var(--border); background: #f8f9fa; }
.season-detail-page .slot .muted { display: block; font-size: .75rem; line-height: 1.4; }
.season-detail-page .stats .slot strong { margin-top: 6px; font-size: 1.8rem; line-height: 1.2; font-variant-numeric: tabular-nums; }
.season-detail-page .grid-2 { gap: 16px; }
.season-detail-page .result-card { min-width: 0; padding: 22px; background: #fff; border: 1px solid var(--border); border-radius: 8px; box-shadow: none; }
.season-detail-page .season-calendar { display: flex; flex-wrap: wrap; justify-content: center; }
.season-detail-page .season-calendar .result-card { flex: 0 0 calc((100% - 32px) / 3); position: relative; border-top: 3px solid #263442; background: #fafbfc; }
.season-detail-page .season-calendar--four .result-card { flex-basis: calc((100% - 16px) / 2); }
.season-detail-page .calendar-num { width: 44px; height: 40px; margin-bottom: 20px; border-radius: 5px; background: #fce9ea; color: var(--accent-dark); font-size: 1.05rem; }
.season-detail-page .season-calendar .muted { font-size: .88rem; line-height: 1.6; overflow-wrap: anywhere; }
.season-detail-page .season-calendar .status { margin-top: 14px; }
.season-detail-page .table-wrap { max-width: 100%; border-radius: 8px; overscroll-behavior-x: contain; scrollbar-color: #a3aab4 #eef0f3; }
.season-detail-page .season-table, .season-detail-page .resolution-table { font-size: .86rem; }
.season-detail-page .season-table th, .season-detail-page .season-table td,
.season-detail-page .resolution-table th, .season-detail-page .resolution-table td { padding: 14px; }
.season-detail-page .season-table thead th, .season-detail-page .resolution-table thead th { background: #202b37; font-size: .68rem; letter-spacing: .07em; white-space: nowrap; }
.season-detail-page .season-table td { min-width: 65px; max-width: 300px; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.season-detail-page .season-table tbody tr:nth-child(even), .season-detail-page .resolution-table tbody tr:nth-child(even) { background: #f7f8fa; }
.season-detail-page .season-table tbody tr:hover { background: #fff2f3; }
.season-detail-page .season-table tbody tr:last-child td { border-bottom: 0; }
.season-detail-page .resolution-table { min-width: 600px; margin-top: 0; }
.season-detail-page .resolution-table td { overflow-wrap: anywhere; max-width: 360px; }
.season-detail-page .result-card-head, .season-detail-page .event-head { gap: 12px; }
.season-detail-page .result-card-copy, .season-detail-page .event-head > div { min-width: 0; overflow-wrap: anywhere; }
.season-detail-page .result-badge { flex-shrink: 0; border-radius: 6px; }
.season-detail-page .result-event, .season-detail-page .resolution-box { min-width: 0; border-radius: 8px; }
.season-detail-page .content-resource-card { min-width: 0; border-radius: 8px; background: #fafbfc; box-shadow: none; overflow-wrap: anywhere; }
.season-detail-page .result-tab-btn, .season-detail-page .resolution-btn { min-height: 44px; border-radius: 6px; box-shadow: none; }
.season-detail-page .warning-item { border-radius: 8px; background: #fff; box-shadow: none; }
.season-detail-page .warning-item summary { min-height: 56px; }
.season-detail-page .warning-count { flex-shrink: 0; }
.season-detail-page .warning-meta, .season-detail-page .warning-desc { overflow-wrap: anywhere; }
.season-detail-page .empty { padding: 32px 20px; border: 1px dashed #cdd2da; border-radius: 8px; background: #f8f9fa; color: var(--muted); text-align: center; }
.season-detail-page .page :is(a, button, summary, [tabindex]):focus-visible { outline: 3px solid #d71920; outline-offset: 3px; }
@media (max-width: 991.98px) {
  .season-detail-page .champ-hero-inner { grid-template-columns: 1fr; gap: 24px; padding: 28px; }
  .season-detail-page .season-calendar .result-card { flex-basis: calc((100% - 16px) / 2); }
  .season-detail-page .grid-2:not(.season-calendar) { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
  .season-detail-page .page { padding-right: 16px; padding-left: 16px; }
  .season-detail-page .champ-hero-inner { padding: 22px 18px; gap: 20px; }
  .season-detail-page .summary { gap: 8px; }
  .season-detail-page .summary-card { padding: 12px; }
  .season-detail-page .summary-card strong { font-size: .95rem; }
  .season-detail-page .summary-card span { font-size: .72rem; }
  .season-detail-page .toolbar { padding: 16px; margin-bottom: 18px; }
  .season-detail-page .toolbar-head { align-items: flex-start; }
  .season-detail-page .toolbar-meta { gap: 12px; }
  .season-detail-page .toolbar-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .season-detail-page .toolbar-nav .toolbar-link { padding: 12px 9px; font-size: .75rem; min-height: 48px; }
  .season-detail-page .season-enrollment-banner { flex-direction: column; align-items: stretch; padding: 14px; gap: 12px; }
  .season-detail-page .panel { padding: 20px 14px; }
  .season-detail-page .section-header { flex-direction: row; align-items: flex-start; gap: 10px; }
  .season-detail-page .section-header > div:first-child { flex: 1 1 180px; min-width: 0; }
  .season-detail-page .stats { gap: 6px; margin: 20px 0; }
  .season-detail-page .slot { padding: 12px 8px; }
  .season-detail-page .slot .muted { font-size: .68rem; min-height: 2.8em; }
  .season-detail-page .stats .slot strong { font-size: 1.45rem; }
  .season-detail-page .season-calendar { gap: 12px; }
  .season-detail-page .result-card { padding: 16px; }
  .season-detail-page .season-calendar .result-card { flex-basis: 100%; display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; }
  .season-detail-page .calendar-num { grid-row: 1 / 4; margin: 0; }
  .season-detail-page .season-calendar .result-card > :not(.calendar-num) { grid-column: 2; }
  .season-detail-page .season-table { min-width: 560px; }
  .season-detail-page .season-table th, .season-detail-page .season-table td { padding: 12px; }
  .season-detail-page .table-wrap:before { content: 'Deslizá para ver toda la tabla →'; display: block; position: sticky; left: 0; width: fit-content; max-width: 100%; padding: 10px 12px; font-size: .7rem; color: var(--muted); }
  .season-detail-page .result-tabs { gap: 8px; }
  .season-detail-page .resolution-box { padding: 14px 10px; }
  .season-detail-page .warning-item summary { padding: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .season-detail-page .page [data-aos] { opacity: 1 !important; transform: none !important; transition: none !important; }
  .season-detail-page .page a, .season-detail-page .page button { transition: none; }
}
