/* Homepage only: preserve the shared search and booking components. */
html:has(> body.page-home) { background:#f5f7fb; }
.page-home { --home-ink:#172b4d; --home-blue:#0877f9; max-width:1680px; margin-inline:auto; background:#fff; }
.page-home main { max-width:none; padding-inline:0; }
.page-home .site-header { max-width:1480px; padding-inline:32px; min-height:88px; }
.page-home .home-navigation { display:flex; align-items:center; gap:28px; margin-inline:auto; }
.page-home .home-navigation a { color:#344767; font-size:14px; font-weight:600; text-decoration:none; padding:12px 0; }
.page-home .home-navigation a:hover { color:var(--home-blue); }
.page-home main .home-hero {
  margin-top:0; min-height:600px; border-radius:0; padding:60px 52px 40px; gap:32px;
  background-image:linear-gradient(90deg,rgba(6,28,57,.18),rgba(6,28,57,.26) 48%,rgba(6,28,57,.16)),url('/booking-assets/homepage-hero.webp');
}
.page-home .home-hero .hero-copy { max-width:860px; text-shadow:0 2px 18px #0723494d; }
.page-home .home-hero .hero-copy h1 { max-width:20ch; margin:0 auto 20px; font-size:clamp(38px,4.3vw,62px); font-weight:750; line-height:1.1; letter-spacing:-1.8px; text-wrap:balance; }
.page-home .home-hero .hero-copy p { max-width:660px; margin:auto; font-size:19px; line-height:1.6; font-weight:500; text-wrap:balance; }
.page-home .home-hero .stay-search { max-width:1180px; border:6px solid #ffffffb3; border-radius:18px; background-clip:padding-box; padding:0 10px; box-shadow:0 16px 40px #05295126; }
.page-home .home-hero .stay-search>label,
.page-home .home-hero .stay-search>.guest-picker>summary { position:relative; padding-inline:52px 18px; padding-block:22px; min-height:84px; font-size:12px; gap:4px; color:#6b7890; }
.page-home .home-hero .stay-search>label { border-color:#e8edf4; }
.page-home .home-hero .stay-search>label::before,
.page-home .home-hero .stay-search>.guest-picker>summary::before { content:''; position:absolute; inset-inline-start:17px; top:50%; transform:translateY(-50%); width:23px; height:23px; background:var(--home-ink); mask:var(--home-field-icon) center/contain no-repeat; -webkit-mask:var(--home-field-icon) center/contain no-repeat; pointer-events:none; }
.page-home .home-hero .destination-field { --home-field-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"); }
.page-home .home-hero .stay-search>label:not(.destination-field) { --home-field-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M7 3v4m10-4v4M3 11h18m-14 4h2m4 0h2'/%3E%3C/svg%3E"); }
.page-home .home-hero .guest-picker>summary { --home-field-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='7' r='3'/%3E%3Cpath d='M3 21v-3a6 6 0 0 1 12 0v3H3Zm13-17a3 3 0 0 1 0 6m2 4a5 5 0 0 1 3 4v3h-3'/%3E%3C/svg%3E"); }
.page-home .home-hero .stay-search .date-control,
.page-home .home-hero .stay-search .destination-field .select-control,
.page-home .home-hero .guest-picker strong { font-size:15px; color:var(--home-ink); font-weight:550; }
.page-home .home-hero .stay-search .date-control { gap:18px; }
.page-home .home-hero .destination-field .select-control { text-overflow:ellipsis; }
.page-home .home-hero .stay-search .date-control::after { content:''; width:10px; height:10px; flex:none; background:var(--home-ink); mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m2 4 4 4 4-4' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.page-home .home-hero .stay-search .search-submit { display:flex; justify-content:center; align-items:center; gap:10px; min-height:62px; padding:14px 24px; background:var(--home-blue); border-color:var(--home-blue); font-size:16px; border-radius:12px; }
.page-home .home-hero .stay-search .search-submit:hover { background:#0068e2; }
.page-home .home-hero .stay-search .search-submit:disabled { background:var(--home-blue); opacity:.55; }
.page-home .home-hero .search-submit>span { order:-1; font-size:0; margin:0; width:21px; height:21px; background:currentColor; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='m16 16 5 5'/%3E%3C/svg%3E") center/contain no-repeat; }
.page-home .home-hero .hero-note { display:flex; align-items:center; justify-content:center; gap:10px; max-width:100%; padding:0; background:transparent; border-radius:0; font-size:14px; font-weight:500; text-shadow:0 1px 10px #052951; }
.page-home .hero-note::before { content:''; width:24px; height:24px; flex:none; background:white; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 8 3v6c0 4-4 7-8 9-4-2-8-5-8-9V6l8-3Zm-4 9 3 3 5-6'/%3E%3C/svg%3E") center/contain no-repeat; }
.page-home .benefits { gap:20px; margin:32px 0 52px; }
.page-home .benefits article { position:relative; display:grid; grid-template-columns:48px minmax(0,1fr) 128px; grid-template-rows:auto 1fr auto; align-items:start; gap:12px 16px; padding:24px; border:1px solid #e8edf5; border-radius:20px; background:#fff; box-shadow:0 10px 30px #172b4d06; min-width:0; }
.page-home .benefits .benefit-icon { width:48px; height:48px; display:grid; place-items:center; color:var(--home-blue); background:#edf6ff; border-radius:50%; }
.page-home .benefits .benefit-icon svg { width:25px; height:25px; }
.page-home .benefits article>div { display:contents; }
.page-home .benefits h2 { align-self:center; font-size:17px; line-height:1.35; color:var(--home-ink); margin:0; letter-spacing:-.25px; text-wrap:balance; }
.page-home .benefits p { grid-column:1/3; font-size:14px; line-height:1.7; margin:0; }
.page-home .benefits .benefit-photo { grid-column:3; grid-row:1/4; align-self:stretch; width:100%; height:100%; min-height:156px; object-fit:cover; border-radius:14px; }
@media(min-width:851px) and (max-width:1200px) {
  .page-home .home-navigation { gap:18px; }
  .page-home .home-hero .stay-search>label,.page-home .home-hero .stay-search>.guest-picker>summary { padding-inline:40px 10px; }
  .page-home .home-hero .stay-search>label::before,.page-home .home-hero .stay-search>.guest-picker>summary::before { inset-inline-start:10px; width:21px; }
  .page-home .home-hero .stay-search .date-control,.page-home .home-hero .guest-picker strong { font-size:13px; }
  .page-home .home-hero .stay-search .search-submit { padding-inline:18px; font-size:14px; }
  .page-home .benefits { grid-template-columns:1fr; }
  .page-home .benefits article { grid-template-columns:40px minmax(0,1fr) 128px; padding:20px; gap:12px; }
  .page-home .benefits .benefit-icon { width:40px; height:40px; }
  .page-home .benefits .benefit-photo { display:block; }
}
@media(max-width:850px) {
  .page-home main { padding-inline:0; }
  .page-home .site-header { padding:18px 20px; gap:14px; }
  .page-home .home-navigation { display:none; }
  .page-home main .home-hero { padding:52px 28px 38px; min-height:0; gap:28px; }
  .page-home .home-hero .hero-copy h1 { font-size:42px; letter-spacing:-1.1px; }
  .page-home .home-hero .hero-copy p { font-size:17px; }
  .page-home .home-hero .stay-search { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:8px; gap:0; border-width:4px; }
  .page-home .home-hero .stay-search>label { min-width:0; border:0; padding-block:14px; padding-inline:44px 12px; min-height:76px; }
  .page-home .home-hero .stay-search>label.destination-field { grid-column:1/-1; border-bottom:1px solid #edf1f6; }
  .page-home .home-hero .stay-search>label:not(.destination-field) { padding-inline:12px; }
  .page-home .home-hero .stay-search>label:not(.destination-field)::before { display:none; }
  .page-home .home-hero .stay-search>.guest-picker { min-width:0; }
  .page-home .home-hero .stay-search>.guest-picker>summary { padding-block:14px; padding-inline:44px 12px; min-height:72px; }
  .page-home .home-hero .stay-search .date-control { font-size:14px; gap:8px; }
  .page-home .home-hero .stay-search>.search-submit { margin:8px 4px; min-height:54px; padding:12px; font-size:15px; }
  .page-home .home-hero .stay-search>label::before,.page-home .home-hero .stay-search>.guest-picker>summary::before { inset-inline-start:12px; width:22px; }
  .page-home .home-hero .guest-picker strong { font-size:13px; }
  .page-home .home-hero .guest-popover { width:min(310px,calc(100vw - 64px)); inset-inline-start:-12px; right:auto; }
  .page-home .benefits { grid-template-columns:1fr; gap:14px; margin:24px 0 40px; }
  .page-home .benefits article { grid-template-columns:48px minmax(0,1fr) 110px; padding:22px; min-height:164px; }
  .page-home .benefits .benefit-photo { height:128px; }
}
@media(max-width:600px) {
  .page-home main { padding-inline:0; }
  .page-home .site-header { padding:18px 16px; min-height:0; }
  .page-home main .home-hero { margin-top:0; border-radius:0; padding:32px 16px 24px; gap:24px; background-image:linear-gradient(rgba(6,28,57,.3),rgba(6,28,57,.2)),url('/booking-assets/homepage-hero.webp'); }
  .page-home .home-hero .hero-copy h1 { font-size:clamp(28px,7.9vw,34px); line-height:1.15; letter-spacing:-.8px; margin-bottom:14px; }
  .page-home .home-hero .hero-copy p { font-size:15px; line-height:1.6; }
  .page-home .home-hero .hero-note { font-size:12px; gap:8px; line-height:1.6; }
  .page-home .benefits article { grid-template-columns:40px minmax(0,1fr) 82px; padding:18px; gap:12px; }
  .page-home .benefits .benefit-icon { width:40px; height:40px; }
  .page-home .benefits .benefit-photo { height:132px; border-radius:12px; }
  .page-home .benefits h2 { grid-column:2/-1; font-size:16px; }
  .page-home .benefits .benefit-photo { grid-row:2/4; }
  .page-home .benefits p { font-size:13px; }
}
[dir=rtl] .page-home .home-hero .stay-search>label,
[dir=rtl] .page-home .home-hero .stay-search>.guest-picker>summary { text-align:right; }

/* Reference hierarchy: eyebrow, two-tone headline and three distinct proof items. */
.page-home main > :is(.benefits,.destinations,.featured,.home-guide,.home-faq,.home-catalog,.site-footer,#status) { width:calc(100% - 96px); max-width:1480px; margin-inline:auto; }
.page-home .site-header { position:relative; z-index:2; border-radius:0 0 20px 20px; margin-bottom:-16px; background:#fff; }
.page-home .header-language { position:relative; }
.page-home .header-language .locale-trigger,.page-home .header-language select { padding-inline-start:42px; min-width:96px; }
.page-home .header-language-flag { position:absolute; top:50%; inset-inline-start:13px; transform:translateY(-50%); font-family:"Apple Color Emoji","Segoe UI Emoji",sans-serif; font-size:21px; line-height:1; pointer-events:none; }
.page-home .home-hero .hero-copy { max-width:1020px; }
.page-home .home-hero .hero-copy h1 { max-width:none; margin-bottom:18px; }
.page-home .home-hero .hero-accent { display:block; color:#b3e1ff; }
.page-home .home-hero .hero-copy .hero-eyebrow { display:flex; justify-content:center; align-items:center; gap:20px; margin:0 auto 20px; max-width:100%; font-size:12px; line-height:1.5; font-weight:500; text-transform:uppercase; letter-spacing:2.5px; color:#c4d8ea; }
.page-home .hero-eyebrow::before,.page-home .hero-eyebrow::after { content:''; width:28px; height:1px; flex:none; background:#c4d8ea99; }
.page-home .home-hero .hero-copy .hero-subtitle { max-width:860px; font-size:18px; line-height:1.55; }
.page-home .hero-proof { display:flex; justify-content:center; width:100%; max-width:960px; margin-top:4px; }
.page-home .hero-proof-item { display:flex; align-items:center; gap:14px; flex:1; min-width:0; padding-inline:26px; color:#fff; text-shadow:0 1px 8px #082d4c66; }
.page-home .hero-proof-item + .hero-proof-item { border-inline-start:1px solid #bfe3ff80; }
.page-home .hero-proof-icon { display:grid; place-items:center; width:54px; height:54px; flex:none; border:1px solid #d5efff99; border-radius:50%; background:#093e6533; box-shadow:inset 0 0 0 3px #ffffff0c; }
.page-home .hero-proof-icon svg { width:26px; height:26px; }
.page-home .hero-proof strong,.page-home .hero-proof small { display:block; color:#fff; line-height:1.45; font-size:14px; font-weight:600; }
.page-home .hero-proof small { font-size:13px; font-weight:500; margin-top:2px; }
.page-home .benefits .benefit-link { grid-column:1/3; align-self:end; display:inline-flex; align-items:center; gap:10px; color:var(--home-blue); font-size:14px; font-weight:500; line-height:1.6; text-decoration:none; }
.page-home .benefits .benefit-link:hover { color:#005bc5; text-decoration:none; }
@media(max-width:850px) {
  .page-home main > :is(.benefits,.destinations,.featured,.home-guide,.home-faq,.home-catalog,.site-footer,#status) { width:calc(100% - 40px); }
  .page-home .home-hero .hero-copy .hero-eyebrow { font-size:11px; letter-spacing:1.8px; gap:12px; }
  .page-home .home-hero .hero-copy .hero-subtitle { font-size:16px; }
  .page-home .hero-proof-item { padding-inline:12px; gap:10px; }
  .page-home .hero-proof-icon { width:42px; height:42px; }
  .page-home .hero-proof strong,.page-home .hero-proof small { font-size:12px; }
}
@media(max-width:600px) {
  .page-home main > :is(.benefits,.destinations,.featured,.home-guide,.home-faq,.home-catalog,.site-footer,#status) { width:calc(100% - 32px); }
  .page-home .home-hero .hero-copy .hero-eyebrow { font-size:10px; letter-spacing:1.4px; margin-bottom:14px; gap:10px; }
  .page-home .hero-eyebrow::before,.page-home .hero-eyebrow::after { width:18px; }
  .page-home .home-hero .hero-copy .hero-subtitle { font-size:14px; line-height:1.6; }
  .page-home .hero-proof { margin-top:0; align-items:start; }
  .page-home .hero-proof-item { flex-direction:column; text-align:center; gap:8px; padding-inline:8px; }
  .page-home .hero-proof-icon { width:38px; height:38px; }
  .page-home .hero-proof-icon svg { width:21px; height:21px; }
  .page-home .hero-proof strong { font-size:12px; }
  .page-home .hero-proof small { font-size:11px; }
  .page-home .benefits .benefit-link { font-size:13px; }
}

/* Align the larger wordmark with the content grid; retain real navigation links. */
.page-home .site-header { max-width:none; padding-inline:max(48px,calc((100% - 1480px)/2)); }
.page-home .site-header .brand { font-family:"Hotelado Manrope",system-ui,sans-serif; font-size:35px; font-weight:800; letter-spacing:-1.2px; color:#09254a; line-height:1.15; }
@media(max-width:1150px) and (min-width:851px) {
  .page-home .home-navigation { gap:18px; }
  .page-home .home-navigation a { font-size:13px; }
}
@media(max-width:850px) {
  .page-home .site-header { padding:18px 20px 10px; }
  .page-home .site-header .brand { font-size:31px; }
}
@media(max-width:600px) {
  .page-home .site-header { padding:18px 16px 8px; gap:12px; }
  .page-home .site-header .brand { font-size:30px; }
  .page-home .header-language .locale-trigger,.page-home .header-language select { min-width:80px; padding-inline-start:34px; }
  .page-home .header-language-flag { font-size:18px; inset-inline-start:10px; }
}

.page-home .home-mobile-menu { display:none; }
@media(max-width:850px) {
  .page-home .home-navigation { display:none; }
  .page-home .site-header { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; }
  .page-home .site-header .brand { grid-column:1; grid-row:1; justify-self:start; }
  .page-home .header-actions { grid-column:1/-1; grid-row:2; justify-content:flex-end; }
  .page-home .home-mobile-menu { display:block; position:relative; grid-column:2; grid-row:1; }
  .page-home .home-mobile-menu > summary { display:flex; align-items:center; gap:8px; list-style:none; min-height:44px; padding:10px 12px; background:#f5f7fb; color:#172b4d; font-size:13px; font-weight:600; border:1px solid #e5eaf1; border-radius:10px; cursor:pointer; }
  .page-home .home-mobile-menu > summary::-webkit-details-marker { display:none; }
  .page-home .home-mobile-links { position:absolute; inset-inline-end:0; top:calc(100% + 8px); display:grid; min-width:220px; padding:8px; background:#fff; border:1px solid #e4eaf2; border-radius:14px; box-shadow:0 14px 40px #10274a20; }
  .page-home .home-mobile-links a { display:block; min-height:44px; padding:12px 14px; font-size:14px; font-weight:600; text-decoration:none; color:#172b4d; border-radius:8px; }
  .page-home .home-mobile-links a:hover { background:#edf6ff; color:#0877f9; }
}
@media(max-width:600px) { .page-home .header-actions { justify-content:space-between; width:100%; } }

/* Give the supplied photos a wide row on phones instead of an 82px strip. */
@media(max-width:600px) {
  .page-home .benefits article { grid-template-columns:40px minmax(0,1fr); grid-template-rows:auto auto auto auto; }
  .page-home .benefits .benefit-photo { grid-column:1/-1; grid-row:1; width:100%; height:auto; min-height:0; aspect-ratio:16/9; }
  .page-home .benefits .benefit-icon { grid-column:1; grid-row:2; }
  .page-home .benefits h2 { grid-column:2; grid-row:2; }
  .page-home .benefits p { grid-column:1/-1; grid-row:3; }
  .page-home .benefits .benefit-link { grid-column:1/-1; grid-row:4; justify-self:start; }
}
