/* Guesty booking search widget container. Generated by build.py — edit there. */
.booking-widget{text-align:center}
.booking-widget .section-head{margin:0 auto 28px}
.booking-widget .lead{margin-left:auto;margin-right:auto}
.guesty-widget{display:flex;justify-content:center;align-items:center;width:100%;max-width:100%;min-height:96px;margin:0 auto;padding:24px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 28px rgba(22,25,27,.06);text-align:left}
.guesty-widget > div{width:100%;max-width:100%;min-width:0}
/* The widget renders <section> elements: undo the site's global section padding. */
.guesty-widget section{padding:0}
.guesty-widget .guesty-widget__container{justify-content:center;flex-wrap:wrap;gap:8px}
/* Guesty injects its own CSS after ours, so these need extra specificity. */
.guesty-widget .guesty-root-element #guesty-search-widget__datepicker .__super-input{border:1px solid #d5d9db;border-radius:var(--radius-sm);background:#fff;color:var(--ink);font-family:var(--font);font-weight:400;font-size:15px}
.guesty-widget .guesty-root-element #guesty-search-widget__datepicker [id^=date-picker-wrapper]+[id^=date-picker-wrapper]{margin-left:8px}
.guesty-widget .guesty-root-element .guesty-search-submit-btn{border-radius:999px;font-family:var(--font);font-weight:600;font-size:15px;margin-left:8px}
.guesty-widget .guesty-root-element.small-size .guesty-search-submit-btn{margin-left:0;width:80%}
.booking-widget .widget-note{margin:14px auto 0;max-width:62ch}
.inquiry-alt{margin:56px 0 24px;padding-top:40px;border-top:1px solid var(--line)}
.inquiry-alt h3{font-size:1.4rem}
@media (max-width:600px){.guesty-widget{padding:14px}.inquiry-alt{margin-top:40px;padding-top:32px}}
/* Per-unit booking bar (unit pages) */
.unit-booking{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 150px auto;gap:12px;align-items:end;padding:22px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 28px rgba(22,25,27,.06);text-align:left}
.unit-booking label{font-size:.8rem;letter-spacing:.02em;color:var(--ink-2)}
.unit-booking input,.unit-booking select{height:50px;padding:10px 12px;min-width:0}
.unit-booking .ub-submit{height:50px;white-space:nowrap}
.unit-booking .ub-error{grid-column:1/-1;margin:0;color:#b42318;font-size:.9rem;min-height:0}
.unit-booking .ub-error:empty{display:none}
@media (max-width:760px){.unit-booking{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:16px}.unit-booking .ub-guests,.unit-booking .ub-submit{grid-column:1/-1}}
/* Availability calendar (unit pages) */
.avail{margin-top:28px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);text-align:left}
.avail-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.avail-head h3{margin:0;font-size:1.15rem}
.avail-nav{display:flex;gap:8px}
.avail-nav button{width:38px;height:38px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:1.3rem;line-height:1;cursor:pointer}
.avail-nav button:hover:not(:disabled){border-color:var(--ink)}
.avail-nav button:disabled{opacity:.35;cursor:default}
.avail-months{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.avail-month h4{margin:0 0 8px;font-size:.95rem;font-weight:600;text-align:center}
.avail-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.avail-grid .dow{font-size:.72rem;color:var(--ink-3);font-weight:600;padding:4px 0}
.avail-grid .d{font:inherit;font-size:.86rem;aspect-ratio:1;display:grid;place-items:center;border:0;background:none;border-radius:8px;color:var(--ink);padding:0}
.avail-grid button.d{cursor:pointer}
.avail-grid button.d:hover{background:var(--accent-soft)}
.avail-grid .d.past{color:#c3c8cb}
.avail-grid .d.booked{color:#a3aaae;text-decoration:line-through;background:var(--bg-soft)}
.avail-grid .d.co-ok{color:var(--ink-2)}
.avail-grid .d.in-range{background:var(--accent-soft);color:var(--accent);border-radius:0}
.avail-grid .d.sel{background:var(--accent);color:#fff;font-weight:600}
.avail-grid .d.today{box-shadow:inset 0 0 0 1px var(--ink-3)}
.avail-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 20px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.avail-legend{display:flex;gap:18px;list-style:none;margin:0;padding:0;font-size:.85rem;color:var(--ink-2)}
.avail-legend li{display:flex;align-items:center;gap:7px}
.avail-legend .sw{width:14px;height:14px;border-radius:4px;border:1px solid var(--line);background:#fff}
.avail-legend .sw-booked{background:var(--bg-soft);position:relative;overflow:hidden}
.avail-legend .sw-booked::after{content:"";position:absolute;left:1px;right:1px;top:50%;height:1px;background:#a3aaae}
.avail-legend .sw-sel{background:var(--accent);border-color:var(--accent)}
.avail-updated{margin:0}
.avail-tip{margin:10px 0 0}
@media (max-width:900px){.avail-months{grid-template-columns:repeat(2,1fr);gap:20px}}
@media (max-width:600px){.avail{padding:16px}.avail-months{gap:14px}.avail-grid .d{font-size:.8rem;border-radius:6px}}
/* Card checkout cues (home widget, unit booking bar, sticky card) */
.cues{list-style:none;margin:26px auto 0;padding:22px 0 0;max-width:920px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 32px;border-top:1px solid var(--gold-soft);text-align:left}
.cues li{display:flex;gap:12px;align-items:flex-start;min-width:0}
.cue-ico{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:var(--cream);color:var(--gold)}
.cue-ico svg{width:18px;height:18px}
.cue-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.cue-txt strong{font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.cue-txt span{font-size:.88rem;line-height:1.5;color:var(--ink-3)}
.cues-compact{display:flex;flex-direction:column;gap:9px;margin:18px 0 0;padding:16px 0 0;max-width:none;border-top:1px solid var(--line)}
.cues-compact li{align-items:center;gap:10px;font-size:.84rem;color:var(--ink-2)}
.cues-compact .cue-ico{width:26px;height:26px;background:var(--gold-soft)}
.cues-compact .cue-ico svg{width:14px;height:14px}
@media (max-width:760px){.cues{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:20px;padding-top:18px}.cue-txt span{font-size:.86rem}}
@media (max-width:360px){.cue-ico{width:30px;height:30px}.cue-ico svg{width:16px;height:16px}.cues li{gap:10px}}
.cues + .widget-note{margin-top:22px}
.sticky-card .btn{white-space:normal;text-align:center}
/* Unit layout column could not shrink below its content at 320px */
@media (max-width:960px){.unit-layout{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){.ratings{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}}
@media (max-width:360px){.ratings{gap:14px 16px}.rbar{grid-template-columns:minmax(0,1fr) auto;font-size:.86rem}}
/* Calendar: never wider than its card (months were overflowing at <=360px) */
.avail-months,.avail-month,.avail-grid{min-width:0}
.avail-months{grid-template-columns:repeat(3,minmax(0,1fr))}
.avail-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
@media (max-width:900px){.avail-months{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.avail-months{grid-template-columns:minmax(0,1fr)}.avail{padding:14px}.avail-grid .d{font-size:.84rem}.avail-legend{gap:12px;flex-wrap:wrap}}
