.cal{max-width:1100px;margin:0 auto}.cal__nav{justify-content:center;gap:1rem;margin-bottom:2rem;display:flex}.cal__nav-btn{border:1px solid var(--stone-dark);background:var(--white);width:44px;height:44px;color:var(--text-primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.cal__nav-btn:hover:not(:disabled){background:var(--navy);color:var(--cream);border-color:var(--navy)}.cal__nav-btn:disabled{opacity:.3;cursor:not-allowed}.cal__months{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.cal__month{background:var(--white);border:1px solid var(--stone-dark);border-radius:12px;padding:1.5rem;box-shadow:0 2px 20px #0000000a}.cal__month-title{font-family:var(--font-display);color:var(--text-primary);text-align:center;letter-spacing:.01em;margin-bottom:1rem;font-size:1.05rem;font-weight:500}.cal__day-headers{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;display:grid}.cal__day-header{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--text-light);text-align:center;padding:.35rem 0;font-size:.65rem;font-weight:600}.cal__grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal__cell{aspect-ratio:1;font-family:var(--font-body);cursor:default;border-radius:6px;justify-content:center;align-items:center;font-size:.8rem;font-weight:500;transition:all .15s;display:flex;position:relative}.cal__cell--empty{background:0 0}.cal__cell--available{color:var(--olive);background:#3a4d3914}.cal__cell--booked{color:var(--terracotta);opacity:.7;background:#c4755b1f;text-decoration:line-through}.cal__cell--has-rate{cursor:pointer}.cal__cell--has-rate:hover{z-index:10;transform:scale(1.15);box-shadow:0 2px 12px #0000001f}.cal__tooltip{background:var(--navy);color:var(--cream);white-space:nowrap;opacity:0;pointer-events:none;border-radius:6px;align-items:baseline;gap:.15rem;padding:.4rem .65rem;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)scale(.9);box-shadow:0 4px 16px #00000026}.cal__tooltip:after{content:"";border:5px solid #0000;border-top-color:var(--navy);position:absolute;top:100%;left:50%;transform:translate(-50%)}.cal__cell--has-rate:hover .cal__tooltip{opacity:1;transform:translate(-50%)scale(1)}.cal__tooltip-rate{font-family:var(--font-display);font-size:.85rem;font-weight:600}.cal__tooltip-label{font-family:var(--font-body);opacity:.7;letter-spacing:.03em;font-size:.6rem}.cal__cell--past{opacity:.35}.cal__legend{font-family:var(--font-body);color:var(--text-secondary);justify-content:center;gap:2rem;margin-top:2rem;font-size:.8rem;display:flex}.cal__legend-item{align-items:center;gap:.5rem;display:flex}.cal__legend-swatch{border-radius:4px;width:14px;height:14px}.cal__legend-swatch--available{background:#3a4d3926;border:1px solid #3a4d394d}.cal__legend-swatch--booked{background:#c4755b33;border:1px solid #c4755b66}.cal__legend-hint{color:var(--text-light);font-size:.75rem;font-style:italic}@media (width<=900px){.cal__months{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.cal__months{grid-template-columns:1fr}.cal__month{padding:1rem}}
