.stay-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;padding:0 48px 64px}
.stay-card{min-width:0;background:white;border:1px solid #e8e5de;border-radius:18px;overflow:hidden;display:flex;flex-direction:column}
.stay-photo{position:relative;aspect-ratio:16/10;background:#dedbd4}.stay-photo>img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
.stay-badge{position:absolute;top:16px;left:16px;padding:8px 12px;border-radius:6px;font-size:9px;font-weight:700;letter-spacing:.12em}
.stay-play-badge{position:absolute;left:16px;bottom:16px;padding:8px 12px;border-radius:24px;background:#fffffff2;font-size:10px;font-weight:700}
.stay-thumbnails{display:flex;gap:8px;padding:12px 16px 0}.stay-thumbnails button{flex:1;min-width:0;border:0;padding:0;background:#eee;border-radius:6px;height:58px;overflow:hidden;cursor:pointer;outline-offset:2px}.stay-thumbnails img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
.stay-content{padding:24px;display:flex;flex:1;flex-direction:column}.stay-region{font-size:10px;color:#827c72;letter-spacing:.12em;line-height:1.5}.stay-content h3{font-size:34px;line-height:1.05;letter-spacing:-.035em;font-weight:900;margin:9px 0}.stay-hotel{font-size:13px;color:#777167;margin:0 0 18px;line-height:1.5}.stay-description{font-size:14px;line-height:1.7;color:#48453e;margin:0 0 20px}.stay-amenities{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:24px}.stay-amenities>span{background:#f5f3ee;border-radius:6px;padding:7px 10px;font-size:11px;color:#645e55}.stay-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #ebe7df;padding-top:18px;margin-top:auto}.stay-sports{display:flex;flex-wrap:wrap;gap:5px 12px;font-size:11px;color:#777167}.stay-discover{display:inline-flex;align-items:center;gap:12px;padding:12px 17px;border-radius:24px;background:#001937;color:#fff!important;font-size:10px;font-weight:700;letter-spacing:.06em;white-space:nowrap}.stay-discover span{font-size:17px}.stay-thumbnails button:focus-visible{outline:2px solid #001937!important}.stay-discover:hover{background:#39352f;opacity:1}
@media(max-width:900px){.stay-results{padding:0 24px 48px;gap:24px}.stay-content{padding:20px}.stay-content h3{font-size:28px}.stay-card-bottom{gap:10px}}
@media(max-width:700px){.stay-results{grid-template-columns:1fr;padding:0 20px 40px}.stay-photo{aspect-ratio:4/3}.stay-thumbnails button{height:48px}.stay-description{font-size:13px}.stay-card{border-radius:16px}}

/* Compact panoramic stay cards. */
.stay-results{grid-template-columns:1fr;gap:24px}
.stay-immersive{position:relative;min-height:280px;border:0;background:#343c35;display:flex;justify-content:flex-end;border-radius:16px;isolation:isolate}
.stay-immersive-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;border-radius:0;z-index:-2}
.stay-immersive-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,25,55,.65),rgba(0,25,55,.2) 65%,rgba(0,25,55,.28)),linear-gradient(0deg,rgba(0,25,55,.35),transparent 80%);z-index:-1}
.stay-immersive .stay-badge{top:20px;left:28px}
.stay-immersive-content{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:76px 28px 28px;color:white}
.stay-immersive-copy{min-width:0}.stay-immersive .stay-region{color:#f0eee8;font-size:10px;letter-spacing:.14em}
.stay-immersive h3{font-size:40px;font-weight:900;line-height:1.05;letter-spacing:-.035em;margin:8px 0}
.stay-immersive .stay-hotel{color:#f0eee8;margin:0 0 14px;font-size:13px}
.stay-immersive-tags{display:flex;flex-wrap:wrap;gap:8px;font-size:11px}.stay-immersive-tags>span{border:1px solid #ffffff60;border-radius:20px;padding:5px 10px;background:#00193722}
.stay-immersive .stay-discover{background:#fff;color:#001937!important;flex:none;padding:12px 18px}
@media(max-width:700px){.stay-results{gap:18px}.stay-immersive{min-height:265px}.stay-immersive-content{padding:68px 18px 20px;gap:14px;flex-wrap:wrap}.stay-immersive .stay-badge{left:18px;top:16px}.stay-immersive h3{font-size:30px}.stay-immersive .stay-hotel{font-size:12px}.stay-immersive .stay-discover{font-size:9px;padding:10px 14px}.stay-immersive-tags{font-size:10px;gap:5px}.stay-immersive-shade{background:linear-gradient(90deg,#00193799,#00193733),linear-gradient(0deg,#00193788,transparent)}}


@media(min-width:901px){.stay-results{grid-template-columns:repeat(2,minmax(0,1fr))}.stay-immersive-content{padding:76px 24px 24px;gap:16px;flex-wrap:wrap}.stay-immersive h3{font-size:34px}}

.stays-browse{padding:44px 48px 0}.stays-browse-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.stays-browse-heading p{font-size:10px;font-weight:700;letter-spacing:.14em;color:#8b8880;margin:0 0 10px}.stays-browse-heading h2{font-size:38px;font-weight:900;letter-spacing:-.035em;margin:0}.stays-browse-heading>span{font-size:10px;font-weight:700;letter-spacing:.1em;color:#8b8880}.stays-browse+.stay-results{padding-top:24px!important}@media(max-width:900px){.stays-browse{padding:32px 20px 0}.stays-browse-heading{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:20px}.stays-browse-heading h2{font-size:30px}.stays-browse+.stay-results{padding:20px 20px 40px!important;gap:18px!important}}

/* Stays: French Riviera (flagship) card larger than the others. */
@media(min-width:901px){body.stays-page .stay-results>.stay-card[data-flagship="true"]{grid-column:span 2}}
@media(max-width:900px){body.stays-page .stay-results>.stay-card[data-flagship="true"]{min-height:520px}}
body.stays-page .stay-results>.stay-card[data-flagship="true"] h3{font-size:clamp(34px,3.4vw,52px)}
/* Mobile: sticky header condensing to logo + burger on scroll, (stays-mobile-nav.js); the unified FILTERS block stays
   in the page flow (not sticky) on mobile. */
@media(max-width:900px){
  body.stays-page .stays-filter-sticky{position:static!important;padding:16px 20px 0!important}
  /* The header sits inside the hero (overflow:hidden), so it is fixed rather than sticky. */
  body.stays-page .site-nav{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:60!important}
  html.stays-header-compact body.stays-page .site-nav{height:60px!important;min-height:60px!important;padding:0 16px!important;align-items:center!important}
  html.stays-header-compact body.stays-page .site-nav>a:first-child{display:flex;align-items:center;height:60px}
  html.stays-header-compact body.stays-page .site-nav .mobile-navigation:not(.is-open){display:none!important}
  html.stays-header-compact body.stays-page .site-nav .mobile-menu-toggle{display:inline-flex!important;position:absolute;right:12px;top:8px;width:44px;height:44px;min-height:44px;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#fff!important;font-size:0!important;z-index:102}
  html.stays-header-compact body.stays-page .site-nav .mobile-menu-toggle:before,html.stays-header-compact body.stays-page .site-nav .mobile-menu-toggle:after{content:"";position:absolute;left:12px;top:18px;width:20px;height:1px;background:currentColor;transition:transform .2s ease,top .2s ease}
  html.stays-header-compact body.stays-page .site-nav .mobile-menu-toggle:after{top:25px}
  html.stays-header-compact body.stays-page .site-nav .mobile-menu-toggle[aria-expanded="true"]:before{top:22px;transform:rotate(45deg)}
  html.stays-header-compact body.stays-page .site-nav .mobile-menu-toggle[aria-expanded="true"]:after{top:22px;transform:rotate(-45deg)}
  html.stays-header-compact body.stays-page .site-nav .mobile-navigation.is-open{display:flex!important;position:fixed!important;inset:60px 0 0!important;width:auto!important;height:auto!important;box-sizing:border-box;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:20px 24px!important;overflow-y:auto!important;background:#000!important;z-index:101}
  html.stays-header-compact body.stays-page .site-nav .mobile-navigation.is-open a{display:flex!important;justify-content:flex-start!important;min-height:58px!important;padding:18px 0!important;border:0!important;border-bottom:1px solid #333!important;border-radius:0!important;background:transparent!important;color:#fff!important;font-size:20px!important;white-space:normal!important}
}
html:has(body.stays-page .site-nav .mobile-navigation.is-open){overflow:hidden}
html body.stays-page:has(.site-nav .mobile-navigation.is-open){overflow:visible!important;overflow-x:clip!important}
