/* THAT Stays — unified premium THAT design. Only presentation styling. */
:root{--page:#f4f8fc;--paper:#fff;--paper-soft:#f1f6fb;--ink:#10243b;--muted:#60758a;--line:#d7e3ed;--line-dark:#133b77;--green:#133b77;--green-2:#225b99;--gold:#f58220;--charcoal:#092d50;--shadow:0 14px 38px rgba(12,47,85,.10);--shadow-soft:0 6px 22px rgba(12,47,85,.075);--radius:7px;--radius2:7px;--font-sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-serif:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
html{scroll-padding-top:88px}body{font-family:var(--font-sans);background:#f5f8fb;background-image:none;color:var(--ink);-webkit-font-smoothing:antialiased}
.topbar{background:rgba(255,255,255,.97);border-bottom:1px solid #d7e3ed;box-shadow:0 5px 22px rgba(8,42,80,.045);backdrop-filter:blur(14px)}
.topbarInner{min-height:80px}.brand{min-width:0;gap:13px;padding:10px 0}.brandLogo{width:142px;max-height:52px;object-fit:contain}.staysBrandSuffix{font-size:14px;font-weight:800;letter-spacing:.2em;color:#133b77;border-left:1px solid #cbd9e6;padding-left:13px}
.navlinks{border:0;gap:5px}.navlinks a{border:0;background:transparent;color:#17324d;padding:17px 16px;font-size:14px;text-transform:none;letter-spacing:0;font-weight:720;position:relative}.navlinks a:hover,.navlinks a[aria-current="page"]{background:transparent;color:#133b77}.navlinks a[aria-current="page"]:after,.navlinks a:hover:after{content:"";position:absolute;bottom:0;left:15px;right:15px;height:3px;background:#f58220}
.hero{border-bottom:0;background-color:#0c3665;background-image:linear-gradient(90deg,rgba(5,32,64,.89) 0%,rgba(8,48,91,.69) 47%,rgba(8,48,91,.12) 100%),url('/assets/hero-placeholder.svg')}.hero:after{display:none}
.hero h1,.heroTitle,h1,h2,.sectionTitle,.propertyRowTitle,.embedHead h2{font-family:var(--font-sans);letter-spacing:-.042em;font-weight:800}
.hero h1,.heroTitle{color:#fff}.hero p,.heroLead{color:#e3edf6}
/* Restrained THAT orange accents and squared premium surfaces. */
:where(.card,.panel,.propertyCard,.propertyRow,.dateSearchPanel,.bookingPanel,.searchPanel,.contactPanel,.contactSidePanel,.guideItem,.spotlightCard,.propertyPriceBox,.sc-state,.supercontrolFormWrap){border-radius:7px!important;border-color:#d7e3ed;box-shadow:var(--shadow-soft)}
:where(.btn,.button,button[type=submit],input[type=submit],.btnPrimary){border-radius:5px!important;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
:where(.btn,.button,button[type=submit],input[type=submit],.btnPrimary):hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.05)}
:where(input,select,textarea){border-radius:5px!important} :where(input,select,textarea):focus-visible{outline:3px solid rgba(245,130,32,.35);outline-offset:2px}
a:focus-visible,button:focus-visible{outline:3px solid #f58220;outline-offset:3px}
:where(.eyebrow,.kicker,.sectionKicker){color:#c36520;letter-spacing:.12em}
:where(.propertyRowTitle,.spotlightTitle,.embedHead h2){color:#133b77}
.footer{background:#082f57;border-top:5px solid #f58220;color:#e4edf6}.footer strong{color:#fff}.footer .smalllinks a{color:#e4edf6}.footer .smalllinks a:hover{color:#133b77}
/* Preserve functional booking / calendar grids, no layout changes there. */
@media(max-width:850px){.topbarInner{min-height:72px;flex-wrap:wrap;gap:8px}.brandLogo{width:112px}.staysBrandSuffix{font-size:12px}.navlinks{width:100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;padding-bottom:3px}.navlinks a{padding:12px 13px;font-size:13px}.container{padding-left:16px;padding-right:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* THAT Stays | hospitality collection refinement; property listings & details only. */
.staysKicker{display:inline-block;color:#b45d1d;font-size:11px;font-weight:800;letter-spacing:.16em;line-height:1.5;text-transform:uppercase;margin-bottom:12px}
.staysListingsHero{background:linear-gradient(120deg,#edf3f8 0%,#f9fbfc 100%);border:1px solid #dce6ee;border-radius:8px;padding:32px 28px;margin-top:24px}
.staysListingsHero h1{color:#112e4c;max-width:640px;letter-spacing:-.045em;font-size:clamp(35px,4.2vw,58px);line-height:1.07;margin:4px 0 16px}
.staysListingsHero p{color:#5b7187;line-height:1.65}
.staysListingsHero .dateSearchPanel{background:#fff;border:1px solid #d6e2ed;border-top:3px solid #163c6d;box-shadow:0 15px 40px rgba(9,44,79,.09);padding:24px;border-radius:7px!important}
.staysListingsHero .searchTitle{color:#142f4a;font-size:20px;font-weight:800;letter-spacing:-.025em}
.staysListingsHero .dateSearchPanel label{color:#244661;font-size:12px;font-weight:750;letter-spacing:.035em}
.staysListingsHero .dateSearchPanel .input{min-height:46px;border-color:#cad9e7;background:#fdfefe}
.staysListingsHero .dateHint{font-size:12px;color:#687e92}
.staysResultsSection{padding-top:45px;padding-bottom:75px}
.staysResultsSection .sectionTitle h2{font-size:clamp(28px,3vw,42px);color:#143653;letter-spacing:-.04em}
.staysResultsSection .sectionTitle p{color:#678095}
.staysResultsSection .propertyList{gap:24px}
.staysPropertyCard{border:1px solid #d7e3ed!important;border-radius:8px!important;overflow:hidden;box-shadow:0 8px 28px rgba(10,48,82,.055);background:#fff;transition:box-shadow .3s ease,transform .3s ease,border-color .3s ease}
.staysPropertyCard:hover{transform:translateY(-3px);border-color:#b9cedd!important;box-shadow:0 18px 42px rgba(10,48,82,.12)}
.staysPropertyCard .propertyRowMedia{position:relative;min-height:300px;display:block;overflow:hidden;background:#e5eef4}
.staysPropertyCard .propertyRowMedia img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.25,1)}
.staysPropertyCard:hover .propertyRowMedia img{transform:scale(1.035)}
.staysPropertyCard .propertyRowBody{padding:27px;gap:20px;align-items:stretch}
.staysPropertyCard .propertyRowTitle{color:#102e4c;font-size:clamp(25px,2.8vw,36px);line-height:1.14;margin:0 0 10px;letter-spacing:-.045em}
.staysPropertyCard .cardText{color:#60768b;line-height:1.65;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.staysPropertyCard .pills{gap:7px;margin-top:12px}
.staysPropertyCard .pill,.staysPropertyIntro .pill{background:#f1f6fa;border:1px solid #dfe8ee;border-radius:4px;color:#385574;padding:7px 10px;font-size:12px;font-weight:650}
.staysPropertyCard .actionsRow{gap:10px;margin-top:20px}
.staysPropertyCard .actionsRow .btn{min-height:45px;display:inline-flex;align-items:center;justify-content:center;padding:10px 18px}
.staysPropertyCard .propertyPriceBox{background:#f5f9fc;border:1px solid #e0eaf2;border-radius:5px!important;box-shadow:none;padding:18px;min-width:170px}
.staysPropertyCard .propertyPrice{color:#123c70;letter-spacing:-.035em;font-size:clamp(22px,2.5vw,30px);font-weight:800}
.staysPropertyCard .propertyPriceLabel{color:#607a92;font-size:12px;text-transform:uppercase;letter-spacing:.07em;font-weight:750}
.staysPropertyCard .statusAvailable{background:#e9f6f0;border-radius:4px;color:#0e6d4b;font-weight:750}
.staysPropertyHero .propHeroMedia{background:#091d31}
.staysPropertyHero .propHeroOverlay{background:linear-gradient(0deg,rgba(4,24,45,.8),rgba(4,24,45,0))!important;padding:35px clamp(20px,5vw,70px)}
.staysPropertyHero .propHeroOverlay h1{font-size:clamp(32px,4.8vw,66px);line-height:1.05;letter-spacing:-.045em;text-shadow:0 2px 16px rgba(0,0,0,.3)}
.staysPropertyHero .heroArrow{background:rgba(255,255,255,.92);color:#133b77;border:1px solid rgba(225,236,246,.9);border-radius:5px;box-shadow:0 5px 20px rgba(5,32,55,.15)}
.staysPropertyIntro{border-bottom:1px solid #d9e5ee;padding:29px 12px 30px}
.staysPropertyIntro>p{font-size:16px;line-height:1.65;color:#516b84!important;max-width:850px}
.staysPropertyIntro .pills{gap:8px;margin-top:18px!important}
.staysPropertyLayout{margin-top:30px;margin-bottom:65px;gap:25px}
.staysPropertyLayout .panel{background:#fff;border:1px solid #dce6ee;border-radius:7px!important;box-shadow:0 7px 25px rgba(8,43,75,.045);padding:27px}
.staysPropertyLayout .panel h2{font-size:clamp(23px,2.3vw,30px);line-height:1.2;letter-spacing:-.035em;color:#123653;margin:2px 0 16px}
.staysPropertyLayout .panel p{color:#536e85;line-height:1.75}
.staysPropertyLayout .gallery{gap:10px}
.staysPropertyLayout .gallery .thumb{overflow:hidden;border-radius:5px;border:2px solid transparent;transition:border-color .2s ease,transform .25s ease}
.staysPropertyLayout .gallery .thumb:hover,.staysPropertyLayout .gallery .thumb:focus-visible{border-color:#f58220;transform:translateY(-2px)}
.staysPropertyLayout #booking{border-top:3px solid #f58220;box-shadow:0 14px 35px rgba(9,44,79,.1);background:linear-gradient(180deg,#fff,#f9fbfe)}
.staysPropertyLayout #booking h2{font-size:27px}
.staysPropertyLayout #booking .cardActions{display:flex;flex-wrap:wrap;gap:8px}
.staysPropertyLayout #booking .btn{font-size:13px;padding:10px 13px}
@media(max-width:850px){.staysListingsHero{padding:22px 15px;margin-top:14px}.staysListingsHero .dateSearchPanel{padding:17px}.staysPropertyCard .propertyRowMedia{min-height:250px;max-height:340px}.staysPropertyCard .propertyRowBody{padding:20px}.staysPropertyCard .propertyPriceBox{min-width:0}.staysPropertyHero .propHeroMedia{height:clamp(280px,55vw,420px)}.staysPropertyLayout{margin-top:15px}.staysPropertyLayout .panel{padding:21px}.staysPropertyIntro{padding:23px 0}}
@media(max-width:520px){.staysListingsHero h1{font-size:35px}.staysPropertyCard .propertyRowMedia{min-height:220px}.staysPropertyCard .actionsRow{display:grid;grid-template-columns:1fr}.staysPropertyCard .actionsRow .btn{width:100%}.staysPropertyHero .propHeroOverlay{padding:18px}.staysPropertyHero .propHeroOverlay h1{font-size:30px}.staysPropertyLayout #booking{scroll-margin-top:125px}}
@media(hover:none){.staysPropertyCard:hover,.staysPropertyCard:hover .propertyRowMedia img{transform:none}}
@media(prefers-reduced-motion:reduce){.staysPropertyCard,.staysPropertyCard img,.staysPropertyLayout .gallery .thumb{transition:none!important}}
