.testata{background:var(--notte);color:#fff;padding:150px 0 0}
.testata .wrap{padding-bottom:52px;display:flex;justify-content:space-between;align-items:end;gap:28px;flex-wrap:wrap}
.briciole{font-size:14px;opacity:.7;margin-bottom:14px}
.briciole a{text-decoration:none}.briciole a:hover{text-decoration:underline}
.testata h1{color:#fff;font-size:clamp(40px,6vw,80px);font-style:italic;line-height:1}
.validita{display:inline-flex;align-items:center;gap:10px;margin-top:18px;font-weight:600;background:rgba(255,255,255,.1);padding:9px 14px;border-radius:12px}
.validita .i{color:var(--rosso)}

.barra-filtri{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{font:inherit;font-weight:600;font-size:15px;padding:10px 16px;border-radius:999px;border:0;background:#fff;color:var(--blu);cursor:pointer;box-shadow:inset 0 0 0 1px var(--linea)}
.chips button[aria-pressed="true"]{background:var(--blu);color:#fff;box-shadow:none}
.scarica{display:flex;justify-content:flex-start;margin-bottom:12px}
.avviso{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:#FFF0F1;color:#7A0710;font-size:15px;margin-bottom:22px}
.avviso .i{color:var(--rosso);margin-top:1px}

/* griglia settimanale */
.griglia{background:#fff;border-radius:24px;padding:12px;overflow-x:auto}
table.sett{width:100%;border-collapse:separate;border-spacing:4px;min-width:900px;font-variant-numeric:tabular-nums}
.sett th{font-size:14px;font-weight:700;font-stretch:110%;color:var(--blu);padding:12px 8px;text-align:left;background:var(--ghiaccio);border-radius:10px}
.sett th.oggi-col{background:var(--blu);color:#fff}
.sett th.att{background:none;width:210px}
.sett td{vertical-align:top;padding:6px;border-radius:10px}
.sett td.oggi-col{background:#F4F8FC}
.sett td.nome{font-weight:700;font-stretch:110%;color:var(--blu);padding:12px 8px}
.sett td.nome small{display:block;font-weight:500;color:var(--grigio);font-stretch:100%;font-size:13px}
.sett tr+tr td{border-top:0}
.sett tbody tr:nth-child(even) td.nome{background:var(--ghiaccio)}
.orario{display:block;font-size:14px;font-weight:600;padding:6px 8px;border-radius:8px;margin-bottom:4px;background:var(--ghiaccio2);color:var(--blu)}
.orario small{display:block;font-weight:500;font-size:12px;opacity:.75}
.orario.manca{background:#CFF5CC;color:#0B5D1E;outline:1.5px dashed #3BA55C;outline-offset:-2px}
.pren{display:inline-block;margin-top:4px;font-size:12px;font-weight:600;color:var(--grigio);background:#fff;border:1px solid var(--linea);border-radius:6px;padding:1px 7px;font-stretch:100%}
.sett td.nome .pren{display:table}
.vuota{color:#B5C2D4;font-size:14px;padding:6px 8px;display:block}

/* vista per giorno (mobile) */
.giorni{display:none}
.tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:14px}
.tabs button{font:inherit;font-weight:700;font-size:14.5px;border:0;background:#fff;color:var(--blu);padding:10px 14px;border-radius:12px;cursor:pointer;white-space:nowrap}
.tabs button[aria-pressed="true"]{background:var(--blu);color:#fff}
.lista-giorno{list-style:none;margin:0;padding:0;background:#fff;border-radius:20px;padding:6px 18px}
.lista-giorno li{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--linea)}
.lista-giorno li:last-child{border:0}
.lista-giorno time{font-weight:700;color:var(--blu);white-space:nowrap;font-size:15px}
.lista-giorno span{display:block;color:var(--grigio);font-size:14px}

.sotto-griglia{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.sotto-griglia h2{font-size:26px;margin-bottom:14px}
.orari{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:15.5px}
.orari td{padding:8px 10px}
.orari tr:nth-child(odd) td{background:var(--ghiaccio)}
.orari td:first-child{border-radius:8px 0 0 8px}.orari td:last-child{border-radius:0 8px 8px 0;text-align:right;font-weight:650;color:var(--blu)}
.orari tr.oggi-riga td{background:var(--blu);color:#fff}
.note{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.note li{display:flex;gap:12px}
.note .i{color:var(--rosso);margin-top:2px}
.note b{display:block;color:var(--blu)}
@media (max-width:760px){
  .testata{padding-top:110px}
  .griglia{display:none}.giorni{display:block}
  .sotto-griglia{grid-template-columns:1fr}
  .lista-giorno li{grid-template-columns:104px 1fr}
}
