/* /spielplan/: a compact, data-driven SportsPress calendar. */
.schedule-hero{padding:calc(var(--scf-page-header-space,0px) + 44px) 0 48px;background:linear-gradient(90deg,rgba(3,16,35,.25),rgba(3,16,35,.1)),var(--scf-brand-background) center/cover no-repeat;color:#fff}
.schedule-hero h1{margin:0;font-size:clamp(2rem,4vw,3.25rem);line-height:1.1}
.schedule-hero .section-overline{color:#a6d8fa}
.schedule-hero__intro{max-width:580px;margin:16px 0;color:#d2e5f4;font-size:1rem}
.schedule-jump{display:flex;flex-wrap:wrap;gap:8px 24px;margin:20px 0 30px}
.schedule-jump a{display:inline-flex;min-height:44px;align-items:center;gap:12px;color:#d2e5f4;font-size:.9375rem;font-weight:600;text-decoration:none}
.schedule-jump a:hover{color:#fff}
.schedule-content{padding-block:48px 64px}
.schedule-section{margin-bottom:56px;scroll-margin-top:calc(var(--scf-header-height,100px) + 24px)}
.schedule-section__heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;margin-bottom:24px}
.schedule-section h2,.schedule-more h2{margin:0;font-size:clamp(1.5rem,2.5vw,2rem)}
.schedule-calendars{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;max-width:560px}
.schedule-calendars .button{min-height:44px;padding:10px 16px;font-size:.875rem;letter-spacing:0}
.schedule-calendars__ics{flex-basis:100%;color:var(--scf-blue);font-size:.8125rem;text-align:right;text-underline-offset:4px}
.schedule-month-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px}
.schedule-month-nav a{display:inline-flex;min-height:44px;align-items:center;padding:8px 14px;border:1px solid #cbdde9;border-radius:10px;color:var(--scf-blue);font-size:.875rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s}
.schedule-month-nav a:hover{background:var(--scf-blue);color:#fff}
.schedule-month{margin-block:28px;scroll-margin-top:calc(var(--scf-header-height,100px) + 24px)}
.schedule-month h3{margin:0 0 14px;color:var(--scf-blue-deep);font-size:1.25rem;font-weight:600}
.schedule-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.schedule-game{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(140px,210px) 24px;min-height:100px;gap:22px;align-items:center;padding:16px 22px;border:1px solid #dae7f0;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(0,43,79,.035);color:var(--scf-ink);font-family:var(--scf-font-body);text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}
.schedule-game:hover{border-color:#90bddb;box-shadow:0 8px 24px rgba(0,43,79,.08);transform:translateY(-2px)}
.schedule-game__date,.schedule-game__venue{display:grid;gap:4px;font-size:.875rem;line-height:1.25}
.schedule-game__date strong{color:var(--scf-blue);font-size:1.125rem}
.schedule-game__date span,.schedule-game__venue span{color:#526b7b}
.schedule-game__venue strong{color:var(--scf-blue);font-size:.8125rem;font-weight:600}
.schedule-game__matchup{display:grid;grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr);align-items:center;gap:16px}
.schedule-game__team{display:flex;min-width:0;align-items:center;gap:12px;font-size:1rem;line-height:1.2}
.schedule-game__team strong{min-width:0;overflow-wrap:anywhere}
.schedule-game__team:last-child{flex-direction:row-reverse;text-align:right}
.schedule-game__team img,.schedule-game__placeholder{flex:0 0 48px;width:48px;height:48px;object-fit:contain}
.schedule-game__placeholder{display:grid;place-items:center;color:#8aa7bd}
.schedule-game__score{display:grid;justify-items:center;gap:4px;color:var(--scf-blue-deep);font-size:1.5rem;font-weight:600;line-height:1.15;white-space:nowrap}
.schedule-game__score small{font-size:.6875rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}
.schedule-game__arrow{color:var(--scf-blue)}
.schedule-more{padding:30px;border:1px solid #d5e3ed;border-radius:18px;background:#e7f1f8}
.schedule-more .hero-actions{margin-top:22px}
.schedule-empty{padding:22px;border-radius:14px;background:#fff;color:#526b7b}
.schedule-editor{margin-block:32px}
@media(max-width:1100px){
  .schedule-game{grid-template-columns:72px minmax(0,1fr) 24px;gap:14px}
  .schedule-game__venue{grid-column:2;grid-row:2;display:flex;flex-wrap:wrap;gap:4px 12px}
  .schedule-game__arrow{grid-column:3;grid-row:1/3}
  .schedule-game__date{grid-row:1/3}
  .schedule-calendars{justify-content:flex-start}
  .schedule-calendars__ics{text-align:left}
}
@media(max-width:720px){
  .schedule-hero{padding-bottom:32px}
  .schedule-hero__games{grid-template-columns:1fr}
  .schedule-hero__games .game-card:first-child{grid-column:auto}
  .schedule-hero__games .game-card--later{display:flex}
  .schedule-content{padding-block:32px 48px}
  .schedule-section{margin-bottom:40px}
  .schedule-section__heading{gap:18px}
  .schedule-month-nav{gap:6px}
  .schedule-game{grid-template-columns:50px minmax(0,1fr);min-height:0;gap:10px;padding:14px 12px}
  .schedule-game__date{font-size:.6875rem}
  .schedule-game__date strong{font-size:1rem}
  .schedule-game__matchup{grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);gap:8px}
  .schedule-game__team,.schedule-game__team:last-child{flex-direction:column;text-align:center;gap:6px;font-size:.8125rem}
  .schedule-game__team img,.schedule-game__placeholder{flex-basis:36px;width:36px;height:36px}
  .schedule-game__score{font-size:1.25rem}
  .schedule-game__venue{font-size:.75rem}
  .schedule-game__arrow{display:none}
  .schedule-more{padding:22px}
}
@media(prefers-reduced-motion:reduce){.schedule-game,.schedule-month-nav a{transition:none}.schedule-game:hover{transform:none}}
