.reference-section{margin-block:2rem}.reference-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:1rem}.reference-cards>div{padding:1rem;border:1px solid #d5c5af;border-radius:.65rem;background:#faf7f0}.reference-cards dt{font-weight:700}.reference-cards dd{margin:.6rem 0 0}.reference-figure{margin:1.5rem 0}.reference-figure img{display:block;width:100%;height:auto;max-width:680px}.reference-figure figcaption{margin-top:1rem}.reference-section a,.edition-card a,.calendar-reference a{overflow-wrap:anywhere}.edition-card{padding:1.2rem;margin-block:1rem;border:1px solid #cbb99e;border-radius:.65rem}.edition-card dl{margin:0}.edition-card dt{font-weight:700;margin-top:.6rem}.edition-card dd{margin:0}.calendar-reference{margin-block:2rem}.calendar-reference .festival-card{break-inside:avoid}.calendar-reference h3{margin-top:2rem}.calendar-reference .festival-card h4{font-size:1.2rem;margin:.4rem 0}.date-badge{display:inline-block;padding:.2rem .5rem;border:1px solid #9b733e;border-radius:.3rem;font-size:.85rem}.year-links{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0}.year-links a[aria-current="true"]{font-weight:800;text-decoration-thickness:3px}.reference-section [hidden],.edition-card[hidden]{display:none}.calendar-reference [hidden]{display:none}.calendar-status{min-height:1.5em}@media print{.reference-figure{break-inside:avoid}.reference-figure img{max-height:110mm}.year-links,.calendar-enhancement,.edition-controls{display:none!important}.calendar-reference .festival-card,.edition-card{box-shadow:none;background:white;color:black}.calendar-reference [hidden],.edition-card[hidden]{display:block!important}body[data-print-year="2027"] #year-2026{display:none!important}.reference-cards{display:block}.reference-cards>div{break-inside:avoid;margin-bottom:3mm}}
.calendar-reference .festival-calendar.list{grid-template-columns:1fr}.calendar-reference .festival-calendar.month{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}@media print{.calendar-reference[hidden]{display:block!important}.calendar-reference .festival-calendar{display:block!important}.calendar-reference .festival-card{margin-block:4mm;overflow:visible}.calendar-reference h3{break-after:avoid}.calendar-reference .festival-card::before{display:none}}
@media print{body[data-page="festivals/calendar.html"]{font-size:10pt;line-height:1.35}body[data-page="festivals/calendar.html"] .skip-link{display:none!important}body[data-page="festivals/calendar.html"] .tool-hero{background:#fff!important;color:#000!important;min-height:0;margin:0 0 5mm;padding:0}body[data-page="festivals/calendar.html"] .tool-hero h1{font-size:24pt;color:#000!important}body[data-page="festivals/calendar.html"] .tool-hero p{color:#000!important}body[data-page="festivals/calendar.html"] .meta-row{display:none!important}body[data-page="festivals/calendar.html"] .context-note{padding:3mm;margin:3mm 0}.calendar-reference{margin:4mm 0}.calendar-reference h2{font-size:18pt;margin:3mm 0}.calendar-reference h3{font-size:13pt;margin:3mm 0 1mm}.calendar-reference .festival-card{padding:3mm;margin:2mm 0;border-radius:0}.calendar-reference .festival-card p{margin:1mm 0;line-height:1.35}.calendar-reference .festival-card h4{font-size:12pt;margin:1mm 0}.calendar-reference .festival-card a{font-size:9pt}.calendar-reference .date-badge{padding:0;border:0}.calendar-reference .small{font-size:8.5pt}}
