/* Orari: stili circoscritti alla nuova sezione. */
#orari.pi-calendar-section {background:#316faf;color:#f4f5f6;}
#orari.pi-calendar-section > * {margin-inline:auto;}
#orari.pi-calendar-section h2,#orari.pi-calendar-section h3 {color:#f4f5f6;}
#orari .pi-opening {margin-block:2rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;}
#orari .pi-opening div {border-top:2px solid #f76d3e;padding-top:1rem;}
#orari .pi-opening dt {font-weight:700;margin-bottom:.4rem;}
#orari .pi-opening dd {margin:0;}
#orari :is([data-pi-calendar], .pi-calendar) {font-family:Lato,Arial,sans-serif;margin-block:1.5rem 2rem;}
#orari :is([data-pi-calendar], .pi-calendar) *,#orari :is([data-pi-calendar], .pi-calendar) *::before {box-sizing:border-box;}
#orari .pi-cal-controls {display:grid;grid-template-columns:1.5fr 1fr 1.5fr auto;align-items:end;gap:1rem;}
#orari .pi-cal-controls > div {min-width:0;}
#orari .pi-cal-controls label {display:block;font-weight:700;margin-bottom:.4rem;}
#orari .pi-cal-controls input,#orari .pi-cal-controls select,#orari .pi-cal-controls button {width:100%;min-height:48px;border:1px solid #e2e6ea;border-radius:2px;padding:.65rem;font:inherit;background:#fcfbf5;color:#20262d;}
#orari .pi-cal-controls button {background:#f76d3e;border-color:#f76d3e;font-weight:700;cursor:pointer;}
#orari .pi-cal-controls button:hover {text-decoration:underline;}
#orari .pi-cal-controls :focus-visible {outline:3px solid #f4f5f6;outline-offset:3px;}
#orari .pi-cal-status {margin:1rem 0;min-height:1.5em;}
#orari :is([data-pi-calendar], .pi-calendar) table {width:100%;table-layout:fixed;border-collapse:collapse;background:#fcfbf5;color:#20262d;font-size:.9rem;line-height:1.45;}
#orari :is([data-pi-calendar], .pi-calendar) caption {text-align:left;color:#f4f5f6;padding:0 0 .8rem;font-weight:700;}
#orari :is([data-pi-calendar], .pi-calendar) th,#orari :is([data-pi-calendar], .pi-calendar) td {padding:.8rem .55rem;border:1px solid #d7dfe5;text-align:left;vertical-align:top;overflow-wrap:anywhere;}
#orari :is([data-pi-calendar], .pi-calendar) thead th {background:#183952;color:#f4f5f6;font-weight:700;}
#orari .pi-cal-desktop th:first-child {width:112px;}
#orari .pi-cal-desktop tbody th {font-variant-numeric:tabular-nums;font-size:.85rem;background:#edf2f6;white-space:nowrap;}
#orari .pi-cal-course strong {display:block;color:#20262d;font-size:inherit;}
#orari .pi-cal-course span {display:block;color:#525e69;font-size:.85rem;margin-top:.3rem;}
#orari .pi-cal-course + .pi-cal-course {margin-top:.8rem;padding-top:.8rem;border-top:2px solid #f76d3e;}
#orari .pi-cal-empty {color:#525e69;}
#orari .pi-cal-mobile {display:none;}
#orari .pi-cal-day {background:#fcfbf5;color:#20262d;margin-bottom:1rem;}
#orari .pi-cal-day h4 {background:#183952;color:#f4f5f6;padding:1rem;margin:0;font:600 1.1rem/1.4 Montserrat,Arial,sans-serif;}
#orari .pi-cal-day ul {list-style:none;margin:0;padding:0 1rem;}
#orari .pi-cal-day li {display:grid;grid-template-columns:112px minmax(0,1fr);gap:1rem;padding:1rem 0;margin:0;border-bottom:1px solid #d7dfe5;}
#orari .pi-cal-day li:last-child {border:0;}
#orari .pi-cal-time {font-weight:700;font-variant-numeric:tabular-nums;}
#orari .pi-cal-source[hidden] {display:none !important;}
@media(max-width:1000px) {
 #orari .pi-cal-controls {grid-template-columns:1fr 1fr;}
 #orari .pi-cal-desktop {display:none;}
 #orari .pi-cal-mobile {display:block;}
}
@media(max-width:600px) {
 #orari .pi-opening,#orari .pi-cal-controls {grid-template-columns:1fr;}
 #orari .pi-opening {gap:1rem;}
 #orari .pi-cal-day li {grid-template-columns:1fr;gap:.35rem;}
 #orari .pi-cal-source {font-size:.75rem;}
 #orari .pi-cal-source th,#orari .pi-cal-source td {padding:.4rem .2rem;}
}

/* La sorgente resta visibile senza JavaScript e durante la modifica. */
#orari .pi-cal-source-hidden[hidden] {display:none !important;}
#orari .pi-calendar-table {overflow-x:auto;}
#orari .pi-calendar-table table {min-width:720px;table-layout:auto;}
#orari .pi-calendar-table figcaption {color:inherit;}

/* Conteggio e didascalia disponibili ai lettori di schermo, senza spazio visivo. */
#orari .pi-cal-visually-hidden {position:absolute !important;width:1px !important;height:1px !important;min-height:0 !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;clip-path:inset(50%) !important;white-space:nowrap !important;border:0 !important;}
