﻿/* Zeiteinteilung: wenige zusammenhängende Flächen, klare Platzüberschriften.
   Daten, Spalten und Umschaltgrenzen der bestehenden Liste bleiben erhalten. */
.its-site .schedule-page-container { padding:0!important; }
.its-site .schedule-page-stack { gap:18px!important; }

/* Organisation zuerst, Hinweise darunter – innerhalb einer gemeinsamen Fläche. */
.its-site .schedule-event-information:has(.schedule-kacheln,.schedule-notice-panel) {
    display:block;
    padding:16px 20px 0;
    background:var(--card-bg);
    border:1px solid var(--border);
    border-radius:var(--radius-panel);
}
.its-site .schedule-event-information .schedule-kacheln { margin:0; gap:16px 28px; }
.its-site .schedule-event-information .schedule-kachel {
    padding:0 0 15px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    min-width:0;
}
.its-site .schedule-kachel-icon {
    width:28px; height:30px; flex-shrink:0;
    color:var(--muted); background:transparent; border:0;
}
.its-site .schedule-kachel-label { font-size:10px; font-weight:500; color:var(--muted); letter-spacing:.06em; }
.its-site .schedule-kachel-wert { font-size:13px; font-weight:500; line-height:1.5; }
.its-site .schedule-event-information .schedule-notice-panel {
    display:block;
    width:100%;
    padding:0;
    border:0;
    border-top:1px solid var(--border);
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
.its-site .schedule-notice-head { display:flex; align-items:center; gap:10px; padding:13px 0; min-height:46px; cursor:pointer; list-style:none; }
.its-site .schedule-notice-head::-webkit-details-marker { display:none; }
.its-site .schedule-notice-head-icon { width:28px; height:24px; background:transparent; color:var(--muted); }
.its-site .schedule-notice-title { font-size:13px; font-weight:500; color:var(--fg); }
.its-site .schedule-notice-head>i { margin-left:auto; color:var(--muted); transition:transform .15s; }
.its-site .schedule-notice-panel[open] .schedule-notice-head>i { transform:rotate(180deg); }
.its-site .schedule-notice-content { padding:2px 0 18px; font-size:13px; line-height:1.65; color:var(--muted); }

/* Die Verzeichnisse sind Links, keine weitere große Karte. */
.its-site .schedule-directory-panel { padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; gap:12px; }
.its-site .schedule-directory-title { font-size:10px; font-weight:500; letter-spacing:.05em; color:var(--muted); }
.its-site .schedule-directory-actions { gap:8px; }
.its-site .schedule-directory-button { background:transparent; border:1px solid var(--border); border-radius:var(--radius-control); color:var(--fg); min-height:38px; font-size:12px; font-weight:500; padding:7px 12px; box-shadow:none!important; }
.its-site .schedule-directory-button:hover { background:var(--card-bg); border-color:var(--muted); }
.its-schedule-days { display:flex; gap:5px; overflow-x:auto; margin-top:2px; padding:0 0 14px; border-bottom:1px solid var(--border); scrollbar-width:thin; }
.its-schedule-days>a { flex-shrink:0; border:1px solid transparent; border-radius:var(--radius-control); background:transparent; color:var(--muted); font-size:12px; min-height:38px; padding:7px 12px; }
.its-schedule-days>a:hover,.its-schedule-days>a:focus-visible { background:var(--card-bg); color:var(--fg); border-color:var(--border); }

/* Der Tag bildet die Überschrift. Nur die Plätze erhalten einen Rahmen. */
.its-site .schedule-day-group { padding:0!important; margin:0 0 14px; background:transparent; border:0; border-radius:0; box-shadow:none; scroll-margin-top:112px; }
.its-site .schedule-day-stack { gap:14px!important; }
.its-site .schedule-day-header { flex-direction:row; align-items:center; justify-content:space-between; gap:16px; padding:0; border:0; }
.its-site .schedule-day-header-main { gap:12px; }
.its-site .schedule-day-badge { width:44px; height:47px; border:0; border-radius:var(--radius-control); background:var(--brand); box-shadow:none; }
.its-site .schedule-day-badge-number { font-size:23px; line-height:1.1; font-weight:700; }
.its-site .schedule-day-badge-month { font-size:9px; letter-spacing:.04em; }
.its-site .schedule-day-weekday { font-size:19px; font-weight:600; line-height:1.3; }
.its-site .schedule-day-date { color:var(--muted); font-size:12px; line-height:1.5; }
.its-site .schedule-day-header-actions { width:auto; flex-direction:row; align-items:center; gap:10px; margin:0; flex-shrink:0; white-space:nowrap; }
.its-site .schedule-day-header-actions>span { background:transparent!important; border:0!important; padding:0; font-size:11px; font-weight:400; color:var(--muted); white-space:nowrap; }

/* Gut erkennbares Platzband, ohne verschachtelte Pillen. */
.its-site .schedule-discipline-section { overflow:hidden; border:1px solid var(--border); border-radius:var(--radius-panel); background:var(--card-bg); box-shadow:none; }
.its-site .schedule-discipline-header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0; padding:12px 16px; border:0; border-bottom:1px solid var(--border); border-radius:0; background:color-mix(in srgb,var(--fg) 10%,var(--card-bg)); box-shadow:none; }
.its-site .schedule-page-container .schedule-discipline-header { border-left:0; }
.schedule-place-identity { display:flex; align-items:center; gap:10px; min-width:0; }
.schedule-place-icon { object-fit:contain; background:#fff; border-radius:3px; padding:1px; }
.its-site .schedule-place-name { margin:0; font-size:14px; font-weight:600; line-height:1.4; }
.schedule-place-count { font-size:11px; color:var(--muted); white-space:nowrap; }
.schedule-place-identity>i { font-size:18px; color:var(--muted); }

/* Schmale Nummern-/Zeitspalten lassen Platz für Text und eine Aktionszeile. */
.its-site .schedule-grid-table { border:0; border-radius:0; --schedule-grid-columns:3.5rem 4rem minmax(14.5rem,4fr) minmax(17.5rem,2fr); }
.its-site .schedule-grid-table-expanded { --schedule-grid-columns:4rem 4.5rem minmax(14rem,2.6fr) 4rem 5rem minmax(9rem,1.4fr) minmax(7rem,1.1fr) minmax(17.5rem,1.8fr); }
.its-site .schedule-grid-header { background:var(--card-bg); color:var(--muted); border:0; border-bottom:1px solid var(--border); font-size:10px; font-weight:500; text-transform:uppercase; letter-spacing:.04em; }
.its-site .schedule-grid-cell { padding:13px 12px; background:transparent!important; border:0; min-width:0; }
.its-site .schedule-grid-row,.its-site .schedule-grid-row:nth-child(even) { margin:0; padding:0; background:transparent!important; border:0; border-bottom:1px solid var(--border); border-radius:0!important; box-shadow:none!important; }
.its-site .schedule-grid-row:last-child { border-bottom:0; }
@media(hover:hover) {
    .its-site .schedule-grid-row:hover,.its-site .schedule-grid-row:nth-child(even):hover { background:color-mix(in srgb,var(--brand) 8%,transparent)!important; }
    .its-site .schedule-grid-row:hover .schedule-grid-mobile-shell { background:transparent!important; }
}
.its-site .schedule-time-text { font-size:13px; font-weight:600; font-variant-numeric:tabular-nums; }
.its-site .schedule-number-chip { min-width:0; min-height:0; padding:0!important; border:0!important; border-radius:0; background:transparent!important; color:var(--muted)!important; font-size:11px; font-weight:500; }
.its-site .schedule-caption-text,.its-site .schedule-grid-mobile-title { font-size:14px; font-weight:600; line-height:1.45; color:var(--fg); hyphens:none; }
.its-site .schedule-caption-subtitle { font-size:12px; font-weight:400; line-height:1.5; color:var(--muted); }
.its-site .schedule-caption-sponsor-label { margin-top:7px; font-size:9px; font-weight:500; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); }
.its-site .schedule-caption-sponsor { font-size:12px; font-weight:400; line-height:1.5; color:var(--muted); }
.its-site .schedule-assignment-chip { background:transparent; border:0; border-radius:0; padding:0; font-size:11px; line-height:1.5; color:var(--muted); }
.its-site .schedule-grid-cell-actions { flex-direction:row; gap:5px; flex-wrap:nowrap; align-content:flex-start; }
.its-site .schedule-list-button { --schedule-action-bg:var(--brand); background:var(--schedule-action-bg)!important; color:#fff!important; border:1px solid var(--schedule-action-bg)!important; border-radius:var(--radius-control)!important; box-shadow:none!important; font-size:11px!important; font-weight:500; padding:7px 8px!important; min-height:34px; min-width:0!important; line-height:1.4; white-space:nowrap; }
.its-site .schedule-list-button-ergebnis { --schedule-action-bg:var(--brand); }
.its-site .schedule-list-button:hover { background:color-mix(in srgb,var(--schedule-action-bg) 85%,black)!important; border-color:var(--schedule-action-bg)!important; }

/* Dieselbe Kartenanordnung greift auch auf schmalen Desktop-Inhaltsflächen. */
@container schedule-grid-expanded (max-width:1158px) {
    .its-site .schedule-grid-mobile-shell { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:10px 20px; padding:16px; background:transparent; border:0; border-radius:0; }
    .its-site .schedule-grid-mobile-main { grid-column:1; min-width:0; }
    .its-site .schedule-grid-mobile-meta { display:flex; align-items:center; gap:12px; margin-bottom:6px; }
    .its-site .schedule-grid-mobile-actions { grid-column:2; grid-row:1; display:flex; flex-direction:row; align-items:start; flex-wrap:wrap; gap:6px; }
    .its-site .schedule-grid-mobile-details { grid-column:1 / -1; }
}
@container schedule-grid (max-width:662px) {
    .its-site .schedule-grid-mobile-shell { display:flex; flex-direction:column; gap:10px; padding:14px; background:transparent; border:0; border-radius:0; }
    .its-site .schedule-grid-mobile-main { width:100%; }
    .its-site .schedule-grid-mobile-meta { display:flex; align-items:center; gap:12px; margin-bottom:6px; }
    .its-site .schedule-grid-mobile-actions { display:grid; grid-template-columns:repeat(auto-fit,minmax(76px,1fr)); gap:6px; width:100%; }
}
@container schedule-grid-expanded (max-width:700px) {
    .its-site .schedule-grid-mobile-shell { grid-template-columns:minmax(0,1fr); padding:14px; gap:10px; }
    .its-site .schedule-grid-mobile-main { grid-column:1; }
    .its-site .schedule-grid-mobile-actions { grid-column:1; grid-row:auto; display:grid; grid-template-columns:repeat(auto-fit,minmax(76px,1fr)); gap:6px; width:100%; }
}
@container schedule-grid-expanded (min-width:701px) and (max-width:1158px) {
    .its-site .schedule-grid-mobile-actions { flex-wrap:nowrap; width:max-content; }
    .its-site .schedule-list-button-mobile { width:auto!important; flex:0 0 auto; }
}
.its-site .schedule-grid-mobile-details { border:0!important; padding:0!important; margin:0; width:100%; }
.its-site .schedule-grid-mobile-details summary { display:flex!important; align-items:center; gap:6px; min-height:26px; padding:3px 0; font-size:11px; font-weight:400; color:var(--muted); line-height:1.5; }
.its-site .schedule-grid-mobile-details summary::after { content:"⌄"; }
.its-site .schedule-grid-mobile-details[open] summary::after { content:"⌃"; }
.its-site .schedule-grid-mobile-detail-list { padding:10px 12px; margin-top:5px; border-radius:var(--radius-control); background:var(--bg); }
@media(max-width:700px) {
    .its-site .schedule-page-stack { gap:16px!important; }
    .its-site .schedule-event-information:has(.schedule-kacheln,.schedule-notice-panel) { padding:14px 14px 0; }
    .its-site .schedule-event-information .schedule-kacheln { gap:14px; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .its-site .schedule-kachel-icon { display:none; }
    .its-site .schedule-kachel-wert { font-size:12px; }
    .its-site .schedule-notice-head { min-height:44px; padding:11px 0; }
    .its-site .schedule-notice-head-icon { width:18px; }
    .its-site .schedule-directory-title { display:none; }
    .its-site .schedule-directory-actions { display:grid; grid-template-columns:1fr 1fr; width:100%; gap:8px; }
    .its-site .schedule-directory-button { min-width:0; min-height:40px; padding:8px; font-size:12px; }
    .its-schedule-days { margin:0 -12px; padding:0 12px 12px; gap:3px; }
    .its-schedule-days>a { min-height:40px; font-size:11px; padding:7px 9px; }
    .its-site .schedule-day-group { scroll-margin-top:122px; }
    .its-site .schedule-day-weekday { font-size:18px; }
    .its-site .schedule-discipline-header { padding:11px 14px; }
    .its-site .schedule-place-name { font-size:14px; }
    .its-site .schedule-list-button-mobile { width:100%; min-height:40px; padding:8px 5px!important; white-space:normal; }
}

/* Desktop bleibt die bewusst gewählte kompakte Tabelle mit allen Angaben in derselben Zeile. */
.its-site .schedule-list-button { --schedule-action-bg:var(--border); color:var(--on-solid)!important; }
.its-site .schedule-list-button-toris { --schedule-action-bg:var(--border); color:var(--fg)!important; border-color:color-mix(in srgb,var(--muted) 60%,var(--border))!important; }
.its-site .schedule-list-button-starter { --schedule-action-bg:var(--brand-tint); color:var(--brand-text)!important; border-color:var(--brand)!important; }
.its-site .schedule-list-button-ergebnis { --schedule-action-bg:var(--brand); color:var(--on-solid)!important; }
.its-site .schedule-number-chip { display:inline-flex; align-items:center; justify-content:center; min-height:26px; min-width:40px; padding:3px 6px!important; border-radius:4px; background:var(--brand)!important; color:var(--on-solid)!important; font-size:11px; font-weight:700; }
.its-site .schedule-supplement-value { display:inline-flex; align-items:center; justify-content:center; width:fit-content; min-width:25px; min-height:24px; padding:2px 6px; border-radius:4px; background:var(--brand-tint); border:1px solid color-mix(in srgb,var(--brand) 28%,transparent); color:var(--fg); font-size:12px; }
@media(min-width:960px) {
 .its-site .schedule-grid-table { --schedule-grid-columns:4rem 3.5rem minmax(16rem,3fr) 18rem; --schedule-grid-min:664px; }
 .its-site .schedule-grid-table-expanded { --schedule-grid-columns:4rem 3.5rem minmax(14rem,3fr) 5rem 5rem 10.5rem 8.5rem 18rem; --schedule-grid-min:1096px; }
 .its-site .schedule-page-container .schedule-grid-mobile-shell { display:none!important; }
 .its-site .schedule-page-container .schedule-grid-header,.its-site .schedule-page-container .schedule-grid-row { display:grid!important; grid-template-columns:var(--schedule-grid-columns); min-width:var(--schedule-grid-min); align-items:stretch; }
 .its-site .schedule-page-container .schedule-grid-cell { display:flex!important; align-items:flex-start; padding:11px 8px; font-size:12px; }
 .its-site .schedule-page-container .schedule-grid-cell::before { display:none!important; }
 .its-site .schedule-page-container .schedule-grid-cell-caption { display:block!important; }
 .its-site .schedule-page-container .schedule-grid-cell-actions { flex-direction:row; align-items:flex-start; gap:5px; }
 .its-site .schedule-page-container .schedule-grid-header .schedule-grid-cell { align-items:center; font-size:10px; padding-block:9px; }
 .its-site .schedule-page-container .schedule-grid-header .schedule-grid-cell-supplement { white-space:nowrap; padding-inline:8px; }
 .its-site .schedule-caption-text { font-size:13px; line-height:1.4; }
 .its-site .schedule-caption-sponsor { font-size:11px; line-height:1.4; }
 .its-site .schedule-caption-sponsor-label { margin-top:4px; font-size:9px; }
 .its-site .schedule-list-button { min-height:32px; padding:6px 7px!important; }
 .its-site .schedule-list-actions { flex-direction:row!important; align-items:flex-start!important; gap:5px!important; }
 .its-site .schedule-list-actions>.schedule-list-button { width:auto!important; flex:0 0 auto; }
 .its-site .schedule-assignment-chip { font-size:12px; line-height:1.4; }
}
@media(min-width:960px) and (max-width:1100px) {
 .its-site .schedule-grid-table-expanded { --schedule-grid-columns:3.5rem 3.25rem minmax(12rem,3fr) 4rem 4.375rem 8rem 7rem 17rem; --schedule-grid-min:954px; }
 .its-site .schedule-page-container .schedule-grid-cell { padding-inline:6px; font-size:11px; }
}
