/* Keep the search in the opening viewport without changing the brand. */
.listings[hidden],.listings .card[hidden],.booking-breakdown[hidden]{display:none!important}
.home-search-first .hero{padding:0!important}
.home-search-first .hero-card,.home-search-first .hero-grid{min-height:0!important}
.home-search-first .hero-grid{grid-template-columns:1.2fr 1fr;gap:20px!important}
.home-search-first .hero-copy{padding:30px 30px 28px 40px}
.home-search-first .hero h1{font-size:clamp(30px,3.3vw,44px)!important;line-height:1.12;margin:8px 0 12px;letter-spacing:-.035em}
.home-search-first .hero p{font-size:16px;margin:0;max-width:490px}
.home-search-first .trust{margin-top:16px;gap:14px}
.home-search-first .mosaic{min-height:220px;height:220px;margin:14px 26px 14px 0}
.home-search-first .search-zone{padding:18px 0 26px!important}
.home-search-first .availability-search{margin-top:0}
.availability-search .field label{font-size:14px;letter-spacing:0;text-transform:none}
.availability-search .field input,.availability-search .field select{min-height:32px;min-width:0;font-size:16px}
.availability-search .field{min-width:0}
.availability-search :focus-visible,.catalog-extra-filters :focus-visible{outline:2px solid #be1748;outline-offset:3px}
.booking-breakdown{border-top:1px solid #eee;margin:18px 0 0;padding:16px 0 0;font-size:16px}
.booking-breakdown div{display:flex;justify-content:space-between;gap:18px;margin:8px 0}
.booking-breakdown dd{margin:0;text-align:right;white-space:nowrap}
.booking .total{font-size:19px}
.booking-conditions{font-size:14px;line-height:1.6;margin:16px 0 0;color:#65555c}
.booking-conditions a,.property-facts a{color:#b61947;text-decoration:underline}
.booking-cancellation{margin:14px 0 0;font-size:14px;line-height:1.6;color:#55474e}
.booking-cancellation>p{margin:0 0 8px}
.booking-cancellation details{border-bottom:1px solid #eadde2;padding-bottom:12px}
.booking-cancellation summary{cursor:pointer;min-height:44px;padding:10px 0;color:#a81842;font-weight:650}
.booking-cancellation summary:focus-visible{outline:2px solid #b61947;outline-offset:3px;border-radius:4px}
.booking-cancellation details>p{margin:4px 0 12px}
.booking-cancellation a{color:#a81842;text-decoration:underline}
.property-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 30px}
.property-facts div{background:#fff5f7;border:1px solid #f1dce2;border-radius:12px;padding:14px}
.property-facts dt{font-size:14px;font-weight:750;color:#69565f}
.property-facts dd{margin:5px 0 0;font-size:16px}
.catalog-extra-filters{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding-top:12px;padding-bottom:16px}
.catalog-extra-filters label{font-size:14px;display:flex;gap:7px;align-items:center;min-height:44px}
.catalog-extra-filters select{padding:8px;border:1px solid #e3cbd4;border-radius:8px;background:white;font:inherit;max-width:100%}
.catalog-extra-filters input{width:18px;height:18px;accent-color:#e51d5b}
.catalog-empty{padding:22px;border:1px solid #eed5de;border-radius:16px;background:#fff7f9;margin-bottom:20px}
.catalog-empty[hidden]{display:none}
.catalog-empty h3{margin:0 0 8px}
.catalog-empty button,.search-empty a{display:inline-flex;padding:12px 18px;border:1px solid #e51d5b;border-radius:12px;background:white;color:#b61947;font:inherit;cursor:pointer;margin:12px 8px 0 0}
@media(max-width:900px){
 .home-search-first .hero-grid{grid-template-columns:1fr!important}
 .home-search-first .mosaic{display:none}
 .home-search-first .hero-copy{padding:20px 24px}
 .home-search-first .trust{display:none}
}
@media(max-width:620px){
 .home-search-first .hero-copy{padding:16px 18px}
 .home-search-first .hero h1{font-size:28px!important;margin:4px 0 8px}
 .home-search-first .hero .eyebrow{font-size:11px;letter-spacing:.04em}
 .home-search-first .hero p{font-size:14px;line-height:1.4}
 .home-search-first .search-zone{padding:12px 0 20px!important}
 .home-search-first form.availability-search{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px;padding:8px}
 .home-search-first .availability-search .field{padding:5px 8px;display:block!important}
 .home-search-first .availability-search .field:first-child{grid-column:1/-1}
 .home-search-first .availability-search button{grid-column:1/-1!important;min-height:44px;padding:10px}
 .property-facts{grid-template-columns:1fr}
 .layout{grid-template-columns:minmax(0,1fr)}
 .layout>.content,.layout>.booking{min-width:0;max-width:100%;overflow-wrap:anywhere}
 .booking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .booking-grid .field{min-width:0}
 .catalog-extra-filters{gap:8px 14px}
}
@media(max-width:360px){
 .booking-grid{grid-template-columns:minmax(0,1fr)}
 .booking-grid .field:first-child{border-right:0;border-bottom:1px solid #ddd}
}
