/* ZENTRALE SCHRIFTGROESSEN – alle Werte hier anpassen.
   -mobile: bis 600px; -tablet: bis 1000px; -print: Druckansicht.
   clamp()-Werte skalieren mit der Bildschirmbreite. */
:root {
    --typo-interstate: interstate, Arial, sans-serif; /* from Adobe Fonts */

    /* Standard / Desktop */
    --font-size-navigation: 13px;
    --font-size-eyebrow: 10px;
    --font-size-hero-title: clamp(30px,3.5vw,58px);
    --font-size-hero-intro: 13px;
    --font-size-season-years: clamp(65px,8vw,118px);
    --font-size-season-caption: 11px;
    --font-size-hero-meta: 14px;
    --font-size-series-caption: 10px;
    --font-size-section-title: 28px;
    --font-size-calendar-hint: 11px;
    --font-size-filter-button: 11px;
    --font-size-event-count: 11px;
    --font-size-month-title: 17px;
    --font-size-month-year: 11px;
    --font-size-event-date: 16px;
    --font-size-event-place: 22px;
    --font-size-event-note: 14px;
    --font-size-calendar-footnote: 10px;
    --font-size-calendar-reset: 10px;
    --font-size-resource-index: 11px;
    --font-size-resource-title: 17px;
    --font-size-resource-text: 11px;
    --font-size-resource-link: 10px;
    --font-size-resource-pending: 9px;
    --font-size-contact-text: 12px;
    --font-size-contact-button: 12px;
    --font-size-footer-base: 10px;
    --font-size-dialog-close: 28px;
    --font-size-dialog-text: 14px;
    --font-size-language-button: 11px;
    --font-size-team-section-title: 24px;
    --font-size-event-booking: 10px;
    --font-size-download-button: 14px;
    --font-size-footer-title: 14px;
    --font-size-footer-brand: 18px;
    --font-size-footer-caption: 11px;
    --font-size-footer-version: 10px;
    --font-size-footer-text: 14px;
    --font-size-empty-state: 12px;
    --font-size-body: 16px;

    /* Tablet */
    --font-size-season-years-tablet: 80px;
    --font-size-hero-title-tablet: 38px;

    /* Mobil */
    --font-size-hero-title-mobile: 34px;
    --font-size-section-title-mobile: 25px;
    --font-size-team-section-title-mobile: 22px;
    --font-size-team-eyebrow-mobile: 9px;
    --font-size-resource-title-mobile: 15px;
    --font-size-resource-text-mobile: 10px;
    --font-size-resource-action-mobile: 9px;
    --font-size-event-booking-mobile: 11px;
    --font-size-download-button-mobile: 14px;

    /* Druck */
    --font-size-event-place-print: 22px;
    --font-size-event-note-print: 14px;
    --font-size-event-booking-print: 7px;
}


/* Calendar typography and series logos. */
.logos img { width: 60px; height: 30px; }

/* Footer adapted from the GEDLICH Online Briefing project. */
.site-footer{display:block;background:#000;color:#fff;margin-top:36px;padding:44px 28px}
.site-footer .footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.1fr 1.3fr 1fr 1.2fr;gap:32px}
.site-footer h2{font-size:var(--font-size-footer-title);color:#fff;margin:0 0 14px;font-weight:700;letter-spacing:normal}
.footer-brand{font-size:var(--font-size-footer-brand);font-weight:800;letter-spacing:1px}
.footer-caption{display:block;font-size:var(--font-size-footer-caption);letter-spacing:2px;margin-top:10px}
.footer-version{display:block;font-size:var(--font-size-footer-version);color:#aaa;margin-top:12px}
.site-footer address,.site-footer p,.site-footer a{color:#fff;font-size:var(--font-size-footer-text);line-height:1.7;font-style:normal;margin:0;white-space:pre-line;overflow-wrap:anywhere;font-weight:400}
.site-footer a,.site-footer nav>a{display:block;text-decoration:none}
.site-footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:0}
.site-footer a:hover{text-decoration:underline}.site-footer a:focus-visible{outline:2px solid #fff;outline-offset:5px}
@media(max-width:800px){.site-footer .footer-inner{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.site-footer{padding:32px 22px;margin-top:24px}.site-footer .footer-inner{grid-template-columns:1fr;gap:26px}}

/* Compact season download bar. */
.hero.hero-compact{display:block;padding:0 4.5%}
.hero-compact::after{display:none}
.hero-compact .hero-bottom{border-top:0;align-items:center;gap:16px}
@media(max-width:600px){.hero-compact .hero-bottom{flex-direction:row;flex-wrap:wrap}.hero-compact .hero-bottom>span{white-space:nowrap}}

/* Season summary wraps naturally on small screens. */
.season-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;line-height:1.5;letter-spacing:.4px}
.season-summary>span{white-space:nowrap}
.season-summary-title{font-weight:700}
.season-summary>span+span::before{content:"/";color:var(--gold);margin-right:20px}
.hero-compact .hero-bottom>a{flex-shrink:0}
@media(max-width:900px){.hero-compact .hero-bottom{flex-wrap:wrap}}

.calendar-empty{grid-column:1/-1;padding:24px;margin:0;background:white;border:1px solid var(--line);color:var(--muted);font-size:var(--font-size-empty-state)}

.month-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 20px}
.month-filters{display:flex;flex-wrap:wrap;gap:5px}
.month-filters button{padding:8px 12px;min-height:44px;border:1px solid var(--line);border-radius:3px;background:transparent;font-size:var(--font-size-filter-button)}
.month-filters button.active{background:var(--ink);color:white;border-color:var(--ink)}
@media(max-width:600px){.month-controls{align-items:stretch}.month-filters{width:100%}}
@media print{.month-controls{display:none!important}}

.product-label{display:inline-block;padding:4px 6px;background:#eef0ed;border-radius:3px;font-size:var(--font-size-filter-button);overflow-wrap:anywhere}

/* Calendar language control above the section title. */
#calendar > .language-switch{display:inline-flex;margin:0 0 20px}
@media print{#calendar > .language-switch{display:none}}
