#calendar-controls{display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem;max-width:var(--measure);margin-block:1rem;container-type:inline-size}.calendar-title{flex:1 1 auto;margin:0;padding:0.2em 0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;font-weight:800;font-size:var(--h3);line-height:1.2;cursor:pointer}@container (max-width: 28rem){.calendar-title{order:-1;flex-basis:100%}.calendar-today{margin-inline:auto}}.cal-header,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;max-width:var(--measure)}.cal-grid{grid-auto-rows:minmax(3.25rem,auto)}.cal-day-name{padding-block:0.5rem;text-align:center;font-size:var(--eyebrow);font-weight:500;letter-spacing:var(--track);text-transform:uppercase;color:var(--muted)}.cal-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.15rem;min-height:3.25rem;padding:0.35rem 0.2rem;border-radius:4px;background:var(--ground);font-weight:400;font-variant-numeric:tabular-nums;line-height:1.1}.cal-price{font-size:0.7rem;color:var(--muted)}.cal-cell.empty{background:transparent}.cal-cell[data-date]{cursor:pointer;background:var(--paper);box-shadow:inset 0 0 0 1px var(--edge)}.cal-cell[data-date]:hover{box-shadow:inset 0 0 0 2px var(--ink)}.cal-cell.today{font-weight:700}.cal-cell.today::after{content:"";width:0.35rem;height:0.35rem;border-radius:50%;background:var(--pink)}.cal-cell.check-in.today::after,.cal-cell.check-out.today::after{background:var(--paper)}.cal-cell.past{color:#767676;background:var(--ground);box-shadow:none}.cal-cell.blocked{color:var(--muted);text-decoration:line-through;background:var(--ground);box-shadow:none}.cal-cell.check-in,.cal-cell.check-out{background:var(--ink);color:var(--paper);box-shadow:none}.cal-cell.in-range{background:var(--mint);box-shadow:none}.cal-cell.check-in .cal-price,.cal-cell.check-out .cal-price{color:inherit}#booking-calendar:empty{min-height:23rem}#booking-calendar > p:only-child{max-width:var(--measure);padding:1rem 1.25rem;border-radius:4px;background:var(--blush);font-size:1.05rem}#property-picker{display:flex;flex-wrap:wrap;gap:0.6rem;margin-block-end:var(--gap);min-height:2.6rem}@media (max-width: 34rem){#property-picker{min-height:5.8rem}}.property-option{display:flex;align-items:baseline;gap:0.6rem;flex:0 1 auto;padding:0.65rem 1.25rem;font-size:0.95rem;letter-spacing:0;text-transform:none;text-align:start}.property-option:hover{background:var(--ground);color:inherit}.property-name{font-weight:700}.property-meta{font-size:0.8rem;color:var(--muted)}.property-option[aria-checked="true"],.property-option[aria-checked="true"]:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.property-option[aria-checked="true"] .property-meta{color:inherit}.price-line{display:flex;justify-content:space-between;gap:var(--gap);max-width:var(--measure);padding-block:0.3rem}.price-total{font-weight:700;border-block-start:1px solid var(--line);margin-block-start:0.4rem;padding-block-start:0.6rem}.price-discount,.price-loading{color:var(--muted)}.cal-grid-wrap{position:relative}.cal-loading{position:absolute;inset:0;display:grid;place-items:center;background:rgba(255,255,255,0.5)}.cal-spinner{width:2rem;height:2rem;border:3px solid var(--line);border-block-start-color:var(--ink);border-radius:50%;animation:cal-spin 0.8s linear infinite}.price-loading .cal-spinner{display:inline-block;width:1em;height:1em;border-width:2px;margin-inline-end:0.5em;vertical-align:-0.15em}@keyframes cal-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.cal-spinner{animation:none}}#booking-form label,#summary-details > p > label{display:block;max-width:var(--measure);font-size:var(--eyebrow);font-weight:500;letter-spacing:var(--track);text-transform:uppercase;color:var(--muted)}#booking-form input,#booking-form textarea,#guest-count{display:block;width:100%;margin-block-start:0.25rem;padding:0.55em 0;font:inherit;font-size:1rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink);background:transparent;border:0;border-block-end:1px solid var(--edge);border-radius:0}#booking-form input:focus,#booking-form textarea:focus,#guest-count:focus{border-block-end:2px solid var(--ink);padding-block-end:calc(0.55em - 1px)}#guest-count{width:auto;min-width:6rem}#btn-book{padding:0.9em 2.2em;background:var(--ink);color:var(--paper)}#btn-book:hover{background:var(--paper);color:var(--ink)}#booking-error,#quote-error,#booking-notice{max-width:var(--measure);padding:0.75rem 1rem;border-radius:4px;background:var(--blush);color:var(--ink)}