.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.cal-titolo{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:400}
.cal-nav{background:none;border:1px solid #EDE9DD;border-radius:2px;width:32px;height:32px;cursor:pointer;font-size:1.1rem;color:#4A4540;transition:background .3s ease}
.cal-nav:hover{background:#EDE9DD}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:12px}
.cal-day-name{text-align:center;font-size:.65rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#7A7168;padding:6px 0}
.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.82rem;border-radius:2px;transition:background .3s ease}
.cal-day--empty{background:transparent}
.cal-day--passato{color:#EDE9DD}
.cal-day--occupato{background:repeating-linear-gradient(45deg,#EDE9DD,#EDE9DD 1px,transparent 1px,transparent 6px);color:#7A7168;cursor:not-allowed}
.cal-day--libero{background:#e8f5e9;color:#2e7d32;cursor:pointer;font-weight:400}
.cal-day--libero:hover{background:#3D5A42;color:#fff}
.cal-day--sel-in,.cal-day--sel-out{background:#3D5A42!important;color:#fff!important;font-weight:500}
.cal-day--range{background:rgba(61,90,66,.12);color:#3D5A42}
.cal-selezione{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#F9F6EF;border-radius:2px;font-size:.82rem;color:#4A4540;gap:8px}
.cal-selezione--hint{color:#7A7168;font-style:italic;justify-content:center}
.cal-reset{background:none;border:none;cursor:pointer;font-size:1rem;color:#7A7168;line-height:1}
.cal-loading,.cal-error{text-align:center;padding:40px;color:#7A7168;font-size:.88rem}
