/* Solo il riquadro delle disponibilità nella home. */
.hero-in.home-hero-in{grid-template-columns:minmax(0,1.3fr) minmax(360px,.95fr);gap:2rem}
.home-availability{width:100%;max-width:460px;justify-self:end;min-width:0;background:#fff;color:#173955;border-radius:18px;padding:20px;box-shadow:0 24px 56px -20px #071d3d73}
.home-availability h2{font-size:1.15rem;line-height:1.3;margin:0 0 6px;color:#173955}
.home-availability .availability-intro{font-size:14px;line-height:1.5;margin:0 0 16px;color:#526477}
.availability-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;align-items:stretch}
.availability-day{min-width:0;background:#edf1f7;border-radius:11px;padding:12px 8px}
.home-availability .availability-date{font-size:14px;line-height:1.4;text-align:center;margin:0 0 12px;color:#173955}
.availability-weekday{display:block;text-transform:capitalize;font-weight:750}
.availability-stamp{display:block;font-size:13px;font-weight:400;margin-top:2px}
.availability-times{display:grid;gap:6px}
.home-availability .availability-time{display:flex;align-items:center;justify-content:center;min-height:34px;padding:5px 2px;border-radius:8px;font-size:16px;line-height:1.3;font-weight:650;text-decoration:none;white-space:nowrap}
.home-availability .availability-time.is-free{background:#173955;color:#fff;transition:background .15s}
.home-availability .availability-time.is-free:hover{background:#b71937;color:#fff}
.home-availability .availability-time.is-busy{background:#dde4ec;color:#5b6b7e;text-decoration:line-through;font-weight:400}
.home-availability .availability-empty{font-size:13px;line-height:1.5;text-align:center;color:#56677a;margin:12px 0}
.availability-navigation{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px}
.home-availability .availability-navigation button,.home-availability .availability-retry{font:inherit;font-size:14px;line-height:1.3;border:1px solid #c7d2de;background:#fff;color:#173955;border-radius:8px;padding:8px 10px;min-height:40px;cursor:pointer}
.home-availability .availability-navigation button:disabled{opacity:.45;cursor:default}
.home-availability .availability-navigation button:not(:disabled):hover,.home-availability .availability-retry:hover{background:#edf1f7}
.home-availability .availability-status{font-size:12px;line-height:1.5;color:#56677a;margin:12px 0 0}
.home-availability .availability-note{font-size:13px;line-height:1.5;color:#526477;margin:10px 0 0}
.home-availability .availability-retry{margin-top:10px}
.home-availability [hidden]{display:none}
.home-availability a:focus-visible,.home-availability button:focus-visible{outline:3px solid #d59918;outline-offset:3px}
@media(max-width:920px){.hero-in.home-hero-in{grid-template-columns:1fr}.home-availability{justify-self:start;max-width:540px}}
@media(max-width:480px){.home-availability{padding:15px 12px;border-radius:14px}.availability-days{gap:6px}.availability-day{padding:10px 5px}.home-availability .availability-time{min-height:44px;font-size:16px}.home-availability .availability-date{font-size:13px}.availability-stamp{font-size:12px}.home-availability .availability-navigation button{font-size:13px;padding:8px;min-height:44px}}
