.availability-calendar{--green-band:#315f43;--orange-band:#a75b26;--red-band:#85352d;--gray-band:#343936}.availability-calendar [hidden]{display:none!important}.prototype-note{background:#c96f2d1f;border:1px solid #f2aa7259;border-radius:14px;align-items:center;gap:12px;margin-bottom:22px;padding:13px 16px;display:flex}.prototype-note strong{color:#f2aa72}.prototype-note span{color:var(--muted);font-size:.9rem}.filters{grid-template-columns:1.2fr 1fr .8fr 1fr auto;align-items:end;gap:12px;margin-bottom:16px;display:grid}label,.time-panel>div{gap:6px;display:grid}label>span,.control-label{color:var(--tan);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:900}select{min-height:44px;color:var(--cream);font:inherit;background:#202921;border:1px solid #f4ead833;border-radius:11px;padding:0 12px}.winter-filter{border:1px solid #f4ead833;border-radius:11px;align-items:center;gap:8px;min-height:44px;padding:0 14px;display:flex}.winter-filter input{width:18px;height:18px;accent-color:var(--orange)}.winter-filter span{color:var(--cream);letter-spacing:0;text-transform:none;font-size:.84rem}.time-panel{background:#f4ead80e;border:1px solid #f4ead821;border-radius:16px;flex-wrap:wrap;align-items:end;gap:20px;padding:18px;display:flex}.time-fields{align-items:center;gap:6px;display:flex}.time-fields select{min-width:65px}.timezone-note{margin-left:auto}.timezone-note strong,.timezone-note span{display:block}.timezone-note span{color:var(--muted);font-size:.86rem}.calendar-toolbar{text-align:center;grid-template-columns:48px 1fr 48px;align-items:center;gap:18px;margin:34px 0 18px;display:grid}.calendar-toolbar h3{margin:0;font-size:1.65rem}.calendar-toolbar p{color:var(--muted);margin:3px 0 0;font-size:.9rem}.month-button,.clear-button{color:var(--cream);font:inherit;cursor:pointer;background:#f4ead812;border:1px solid #f4ead833;border-radius:999px;font-weight:900}.month-button{width:46px;height:46px;font-size:1.15rem}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin-bottom:14px;font-size:.8rem;display:flex}.legend span{align-items:center;gap:6px;display:flex}.legend b{font-weight:700}.legend i{border-radius:4px;width:13px;height:13px}.legend .green{background:var(--green-band)}.legend .orange{background:var(--orange-band)}.legend .red{background:var(--red-band)}.legend .gray{background:var(--gray-band)}.legend .turnaround{background:repeating-linear-gradient(135deg,#d29361 0 3px,#0000 3px 6px);border:1px solid #d29361}.weekday-row,.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;display:grid}.weekday-row{color:var(--muted);text-align:center;text-transform:uppercase;margin-bottom:7px;font-size:.72rem;font-weight:900}.day-cell{min-height:118px;color:var(--cream);cursor:pointer;font:inherit;text-align:left;appearance:none;border:1px solid #f4ead82e;border-radius:13px;flex-direction:column;align-items:flex-start;padding:11px;display:flex;position:relative;overflow:hidden}.day-cell.blank{visibility:hidden}button.day-cell.green{background:var(--green-band)}button.day-cell.orange{background:var(--orange-band)}button.day-cell.red{background:var(--red-band)}button.day-cell.gray,button.day-cell.no-match{background:var(--gray-band)}button.day-cell.historical{color:#f4ead86b;cursor:default;background:#292d2a;border-color:#f4ead814}button.day-cell.historical strong{font-size:.9rem;font-weight:750}.date-number{font-size:.78rem;font-weight:900;display:block}.day-cell strong{margin-top:auto;padding-top:18px;font-size:1.45rem;line-height:1;display:block}.availability-label{color:#ffffffbd;font-size:.72rem;display:block}.range-start,.range-end{outline-offset:-3px;outline:3px solid #f4ead8}.in-range:after{content:"";pointer-events:none;border-top:3px solid #f4ead8;border-bottom:3px solid #f4ead8;position:absolute;inset:0}.occupancy-track{background:var(--green-band);border:1px solid #f4ead880;border-radius:99px;height:9px;position:absolute;bottom:9px;left:8px;right:8px;overflow:hidden}.track-segment{position:absolute;top:0;bottom:0}.track-segment.booked{background:#171b18}.track-segment.buffer{background:repeating-linear-gradient(135deg,#e2a16d 0 3px,#7c4c29 3px 6px)}.selection-summary{background:#f4ead80f;border:1px solid #f4ead826;border-radius:16px;justify-content:space-between;align-items:center;gap:18px;margin-top:22px;padding:18px;display:flex}.selection-summary strong,.selection-summary span{display:block}.selection-summary span{color:var(--muted);font-size:.84rem}.clear-button{padding:10px 16px}.results{border-top:1px solid #f4ead821;margin-top:34px;padding-top:30px}.results-heading{justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px;display:flex}.results-heading h3{margin:3px 0 0;font-size:1.65rem}.results-heading>span{color:var(--muted)}.result-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.result-grid article{background:#f4ead80e;border:1px solid #f4ead821;border-radius:15px;grid-template-columns:115px 1fr;gap:14px;display:grid;overflow:hidden}.result-grid img{object-fit:cover;width:115px;height:100%;min-height:94px}.result-grid article div{align-content:center;gap:2px;padding:12px 12px 12px 0;display:grid}.result-grid span{color:var(--muted);font-size:.82rem}.result-grid .result-price{color:var(--cream);margin-top:3px;font-weight:850}.result-grid .result-rate-note{font-size:.74rem}.result-grid a{color:#f2aa72;margin-top:5px;font-size:.84rem;font-weight:900;text-decoration:none}.empty-results{color:var(--muted);grid-column:1/-1}.compact{border-top:1px solid #f4ead821;margin-top:70px;padding-top:60px}.compact .day-cell{min-height:108px}.compact .availability-label{padding-bottom:14px}@media (width<=900px){.filters{grid-template-columns:repeat(2,1fr)}.winter-filter{align-self:end}}@media (width<=680px){.prototype-note{display:grid}.time-panel{grid-template-columns:1fr 1fr;display:grid}.timezone-note{grid-column:1/-1;margin-left:0}.weekday-row,.month-grid{gap:3px}.day-cell{border-radius:9px;min-height:82px;padding:7px}.day-cell strong{margin-top:8px;font-size:1.05rem}.availability-label{font-size:.62rem}.result-grid{grid-template-columns:1fr}.selection-summary,.results-heading{flex-direction:column;align-items:flex-start}.filters{grid-template-columns:1fr}.winter-filter{display:flex}.time-fields select{min-width:58px;padding-inline:7px}}@media (width<=430px){.weekday-row span{font-size:.62rem}.day-cell{min-height:72px}.availability-label{display:none}.date-number{font-size:.7rem}.occupancy-track{bottom:6px;left:5px;right:5px}.time-panel{grid-template-columns:1fr}.timezone-note{grid-column:auto}}
