/* Grid children must be allowed to shrink below their intrinsic content width. */
.home-detail-card,.home-detail-card>div{min-width:0}
.home-detail-card .button{max-width:100%;white-space:normal;text-align:center}
@media(max-width:700px){
  .home-detail-grid,.amenity-grid,.directions-grid,.team-copy{grid-template-columns:minmax(0,1fr)}
  .home-detail-card>:is(img,.cms-frame){height:auto;aspect-ratio:4/3}
  .home-detail-card>div{padding:24px 20px}
  .booking-dialog input[type=date]{min-height:48px;font-size:16px}
}
.availability-note{padding:12px 0;font-size:.9rem;color:var(--muted)}
.currency-choice{margin-top:20px}
.currency-note,.converted-price{font-size:.9rem;line-height:1.5}
.converted-price{margin:10px 0;font-weight:600}
.contact-form-section{max-width:820px}
.contact-form-section>h2{margin-bottom:18px}
.contact-form-section>p{margin-bottom:24px}

.date-range-picker{border:1px solid #80735e45;padding:14px;margin-top:18px;min-width:0}
.range-summary{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.875rem}
.range-summary p{margin:0}
.calendar-status{min-height:2.8em;font-size:.875rem!important;line-height:1.4;margin:12px 0!important}
.calendar-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:4px;margin:12px 0}
.calendar-nav h3{font-size:1.2rem;text-align:center;margin:0}
.calendar-nav button{height:44px;border:1px solid #80735e45;background:transparent;color:inherit;font-size:1.7rem;cursor:pointer}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.calendar-weekdays{font-size:.75rem;text-align:center;margin-bottom:8px}
.calendar-days button{padding:0;min-width:0;min-height:40px;border:1px solid transparent;border-radius:2px;background:transparent;color:var(--ink);font:inherit;font-size:.9rem;cursor:pointer}
.calendar-days button.in-range{background:#e2e6d9}
.calendar-days button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.calendar-days button[aria-current=date]{border-color:#80735e80}
.calendar-days button:disabled,.calendar-nav button:disabled{opacity:.35;cursor:default}
.calendar-days button:focus-visible,.calendar-nav button:focus-visible{outline:2px solid var(--ink);outline-offset:1px}
.date-range-picker>.text-button{min-height:44px;margin-top:8px;font-size:.875rem}
@media(max-width:440px){.date-range-picker{padding:8px}.calendar-days button{min-height:38px}}

/* Reserved nights remain legible; checkout-only dates are still selectable. */
[data-calendar-days] button.reserved-night { opacity: 1; text-decoration: line-through; background: #ece7e2; color: #796c65; }
[data-calendar-days] button.reserved-night:not(:disabled) { border: 1px dashed currentColor; }
