.cal{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);grid-template-areas:"rooms rooms""grid panel";align-items:start;gap:2rem;display:grid}.cal__rooms{grid-area:rooms;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem;display:grid}.cal__room{border:1px solid var(--cal-line);border-radius:var(--cal-radius,4px);background:var(--cal-surface);color:var(--cal-ink);cursor:pointer;text-align:left;font:inherit;flex-direction:column;align-items:flex-start;gap:.3rem;padding:1rem 1.1rem;transition:border-color .16s,box-shadow .16s;display:flex}.cal__room-name{font-family:var(--cal-display);color:var(--cal-ink);font-size:1.05rem}.cal__room-bed{font-family:var(--cal-sans);color:var(--cal-muted);font-size:.72rem}.cal__room-price{font-family:var(--cal-sans);color:var(--cal-accent);margin-top:.25rem;font-size:.95rem;font-weight:600}.cal__room-price small{color:var(--cal-muted);font-size:.68rem;font-weight:400}.cal__room[aria-pressed=true]{border-color:var(--cal-accent);box-shadow:0 0 0 2px var(--cal-accent)}.cal__grid-side{grid-area:grid}.cal__bar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.cal__hint{color:var(--cal-muted);margin:0 0 1rem;font-size:.78rem}.cal__month{font-family:var(--cal-display);color:var(--cal-ink);letter-spacing:.02em;margin:0;font-size:clamp(1.25rem,3vw,1.75rem)}.cal__nav{border:1px solid var(--cal-line);background:var(--cal-surface);width:2.5rem;height:2.5rem;color:var(--cal-ink);cursor:pointer;border-radius:50%;font-size:1.35rem;line-height:1;transition:background .16s,color .16s,border-color .16s}.cal__nav:hover{background:var(--cal-accent);border-color:var(--cal-accent);color:var(--cal-on-accent)}.cal__dow,.cal__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem;display:grid}.cal__dow{font-family:var(--cal-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--cal-muted);text-align:center;margin-bottom:.4rem;font-size:.68rem}.cal__cell{border:1px solid var(--cal-line);border-radius:var(--cal-radius,4px);background:var(--cal-surface);min-height:4.2rem;font:inherit;color:var(--cal-muted);cursor:pointer;flex-direction:column;justify-content:flex-start;align-items:center;gap:.15rem;padding:.4rem .25rem;transition:transform .14s,box-shadow .14s,border-color .14s;display:flex}.cal__cell b{font-family:var(--cal-sans);color:var(--cal-ink);font-size:.9rem;font-weight:600}.cal__cell small{font-family:var(--cal-sans);letter-spacing:.03em;color:var(--cal-ink);font-size:.6rem}.cal__cell:not(:disabled):hover{border-color:var(--cal-accent);transform:translateY(-2px);box-shadow:0 6px 18px #0000001f}.cal__cell:disabled{cursor:not-allowed;opacity:.55}.cal__cell.is-selected{border-color:var(--cal-accent);box-shadow:0 0 0 2px var(--cal-accent)}.cal__meter{background:var(--cal-line);border-radius:999px;width:78%;height:4px;display:block;overflow:hidden}.cal__meter i{border-radius:inherit;background:var(--cal-ok);height:100%;display:block}.is-filling .cal__meter i{background:var(--cal-warn)}.is-last-few .cal__meter i{background:var(--cal-hot)}.is-sold-out .cal__meter i,.is-past .cal__meter i{background:var(--cal-muted)}.is-last-few small{color:var(--cal-hot);font-weight:600}.is-sold-out small,.is-past small{color:var(--cal-muted)}.cal__key{font-family:var(--cal-sans);letter-spacing:.05em;color:var(--cal-muted);flex-wrap:wrap;gap:.5rem 1.25rem;margin:1.25rem 0 0;padding:0;font-size:.7rem;list-style:none;display:flex}.cal__key li{align-items:center;gap:.4rem;display:flex}.dot{border-radius:50%;width:.6rem;height:.6rem}.dot--open{background:var(--cal-ok)}.dot--filling{background:var(--cal-warn)}.dot--last{background:var(--cal-hot)}.dot--gone{background:var(--cal-muted)}.cal__panel{border:1px solid var(--cal-line);border-radius:var(--cal-radius,4px);background:var(--cal-panel,var(--cal-surface));grid-area:panel;padding:1.75rem;position:sticky;top:1.5rem}.cal__kicker{font-family:var(--cal-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--cal-accent);margin:0 0 .4rem;font-size:.68rem}.cal__panel-title{font-family:var(--cal-display);color:var(--cal-ink);margin:0 0 .75rem;font-size:1.35rem;line-height:1.25}.cal__note{color:var(--cal-muted);margin:0 0 1.25rem;font-size:.85rem}.cal__facts{border-top:1px solid var(--cal-line);margin:0 0 1.5rem;padding:0}.cal__facts>div{border-bottom:1px solid var(--cal-line);justify-content:space-between;gap:1rem;padding:.6rem 0;display:flex}.cal__facts dt{color:var(--cal-muted);font-size:.8rem}.cal__facts dd{font-family:var(--cal-sans);color:var(--cal-ink);text-align:right;margin:0;font-size:.85rem;font-weight:600}.cal__field{margin-bottom:.85rem;display:block}.cal__field span{font-family:var(--cal-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--cal-muted);margin-bottom:.3rem;font-size:.68rem;display:block}.cal__field input{border:1px solid var(--cal-line);border-radius:var(--cal-radius,4px);background:var(--cal-surface);width:100%;color:var(--cal-ink);font:inherit;padding:.65rem .8rem;font-size:.9rem}.cal__field input:focus-visible{outline:2px solid var(--cal-accent);outline-offset:1px}.cal__cta{border:1px solid var(--cal-accent);border-radius:var(--cal-radius,4px);background:var(--cal-accent);width:100%;color:var(--cal-on-accent);font-family:var(--cal-sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;padding:.9rem 1rem;font-size:.78rem;transition:filter .16s}.cal__cta:hover{filter:brightness(1.12)}.cal__cta--ghost{color:var(--cal-accent);background:0 0}.cal__demo{color:var(--cal-muted);text-align:center;margin:.85rem 0 0;font-size:.7rem;line-height:1.5}.cal__pad{min-height:4.2rem}@media (width<=900px){.cal{grid-template-columns:1fr;grid-template-areas:"rooms""grid""panel"}.cal__panel{position:static}}@media (width<=560px){.cal__grid,.cal__dow{gap:.25rem}.cal__cell,.cal__pad{min-height:3.6rem}.cal__panel{padding:1.25rem}}
