/* Keep the film open, with the guest journey anchored to its lower edge. */
.guest-page .guest-hero .hero-body{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:28px;min-height:clamp(620px,100svh,1100px);padding:160px 8% 48px}
.guest-page .guest-hero .hero-main{max-width:850px}
.guest-page .guest-hero #hero-panel{min-height:0}
.guest-page .guest-hero .hero-main h1{font-size:clamp(48px,5.4vw,76px);line-height:1.1;letter-spacing:-1.7px;margin:0;text-shadow:0 2px 22px #00000025}
.guest-page .guest-hero .hero-main h1 em{white-space:nowrap}
.guest-page .guest-hero .hero-shade{background:linear-gradient(180deg,#00000038,transparent 28%),linear-gradient(0deg,#00000091,transparent 65%)}
.guest-page .guest-hero .hero-media img{object-position:center;animation:none}
.guest-page .guest-hero .hero-media video{object-position:center}
.guest-page .guest-hero .hero-media video.has-frame{opacity:1}
.guest-booking{width:100%;max-width:850px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(70px,.5fr) auto;align-items:center;gap:0;padding:13px;border:1px solid #ffffff40;border-radius:18px;color:#fff;background:linear-gradient(120deg,#ffffff12,transparent),#ffffff12;box-shadow:inset 0 1px 0 #ffffff26,0 8px 30px #00000014;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}
.guest-booking label{display:flex;flex-direction:column;min-width:0;gap:1px;padding:0 17px;font-size:11px;line-height:1.5;letter-spacing:.3px;font-weight:400;color:#ffffffcf}
.guest-booking label+label{border-left:1px solid #ffffff30}
.guest-booking input{width:100%;min-width:0;max-width:100%;min-height:34px;background:transparent;color:#fff;border:0;border-radius:4px;font-family:inherit;font-size:16px;line-height:1.4;padding:3px 0;box-sizing:border-box;color-scheme:dark}
.guest-booking input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7;margin-left:2px;padding:4px}
.guest-booking .button{min-height:48px;min-width:130px;justify-content:center;padding:12px 22px;border:1px solid #ffffff70;border-radius:11px;background:#fffffff0;color:#17202c;font-size:14px;font-weight:500;white-space:nowrap;box-shadow:0 2px 9px #0000000d;transition:background .2s ease}
.guest-booking .button:hover{background:#fff}
.guest-booking :is(input,button):focus-visible{outline:2px solid #fff;outline-offset:4px}
.guest-page .collection{padding-top:78px;padding-bottom:78px}
.guest-page .collection .photo-label{font-size:12px;letter-spacing:.5px}
.guest-page .collection .property-details,.guest-page .collection .photo-open{font-size:14px}
/* Guest services: short descriptions, light surfaces and no extra page weight. */
.guest-services{background:#fafbf9;padding-top:54px;padding-bottom:46px;scroll-margin-top:16px}
.guest-services-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:28px}
.guest-services-heading .eyebrow{margin-bottom:13px}
.guest-services-heading h2{font-size:clamp(34px,3.8vw,52px);line-height:1.15;max-width:660px}
.guest-services-heading>p{max-width:280px;font-size:16px;line-height:1.65;color:var(--muted);margin:0 0 3px}
.guest-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0;padding:0;border:1px solid #05133712;border-radius:22px;overflow:hidden;background:linear-gradient(125deg,#fff,#ffffffb3);box-shadow:0 8px 30px #05133704,inset 0 1px 0 #fff}
.guest-services-grid li{display:flex;align-items:flex-start;gap:16px;padding:25px 22px;min-width:0;border-right:1px solid #05133710;border-bottom:1px solid #05133710}
.guest-services-grid li:nth-child(3n){border-right:0}
.guest-services-grid li:nth-last-child(-n+3){border-bottom:0}
.guest-service-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;border-radius:13px;border:1px solid #0513370a;background:linear-gradient(140deg,#fff,#eef1ee85);box-shadow:inset 0 1px 0 #fff,0 3px 8px #05133705}
.guest-service-icon img{display:block;width:24px;height:24px;object-fit:contain;opacity:.8}
.guest-services-grid h3{font:500 17px/1.4 'Work Sans',sans-serif;letter-spacing:-.25px;margin:0 0 7px;color:var(--navy)}
.guest-services-grid p{font-size:14px;line-height:1.65;color:#5b6470;margin:0}
.guest-services-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:21px}
.guest-services-footer p{font-size:14px;line-height:1.5;color:#626b75;margin:0}
.guest-services-footer a{display:inline-flex;align-items:center;gap:17px;min-height:44px;color:var(--navy);font-size:14px;font-weight:500;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#05133740}
.guest-services-footer a:hover{text-decoration-color:var(--navy)}
.guest-services-footer a:focus-visible{outline:2px solid var(--navy);outline-offset:4px}
@media(max-width:1000px){.guest-services-heading{display:block}.guest-services-heading>p{max-width:none;margin-top:15px}.guest-services-grid li{display:block;padding:22px}.guest-service-icon{margin-bottom:14px}}
@media(max-width:700px){.guest-services{padding-top:42px;padding-bottom:32px}.guest-services-heading{margin-bottom:24px}.guest-services-heading h2{font-size:34px;max-width:380px}.guest-services-grid{grid-template-columns:repeat(2,minmax(0,1fr));border-radius:18px}.guest-services-grid li{padding:19px 16px;border-right:1px solid #05133710;border-bottom:1px solid #05133710}.guest-services-grid li:nth-child(3n){border-right:1px solid #05133710}.guest-services-grid li:nth-last-child(-n+3){border-bottom:1px solid #05133710}.guest-services-grid li:nth-child(2n){border-right:0}.guest-services-grid li:nth-last-child(-n+2){border-bottom:0}.guest-services-grid h3{font-size:16px}.guest-services-grid p{line-height:1.55}.guest-service-icon{width:36px;height:36px;margin-bottom:11px}.guest-service-icon img{width:21px;height:21px}.guest-services-footer{display:block;margin-top:18px}.guest-services-footer a{margin-top:5px}}
@media(max-width:359px){.guest-services-grid{grid-template-columns:1fr}.guest-services-grid li,.guest-services-grid li:nth-child(3n){display:flex;border-right:0}.guest-services-grid li:nth-last-child(2){border-bottom:1px solid #05133710}.guest-service-icon{margin-bottom:0}}
/* Destination categories keep the larger guide compact, with a readable no-JS fallback. */
.guest-discover{background:#fff;padding-top:48px;padding-bottom:48px}
.guest-discover .section-heading{margin-bottom:24px}
.guest-discover h2{font-size:clamp(36px,4.4vw,60px);line-height:1.1}
.discover-tabs[hidden],.discover-panel[hidden],.discover-photo-toggle[hidden],.discover-touch-photo[hidden],.discover-photo-caption[hidden]{display:none}
.discover-tabs{display:flex;flex-wrap:wrap;width:fit-content;max-width:100%;gap:4px;padding:5px;margin-bottom:30px;border:1px solid #0513370b;border-radius:16px;background:#f3f4f2}
.discover-tabs button{font:inherit;font-size:14px;font-weight:500;line-height:1.4;min-height:44px;padding:10px 17px;border:1px solid transparent;border-radius:11px;color:#59616c;background:transparent;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}
.discover-tabs button:hover{color:var(--navy);background:#ffffff70}
.discover-tabs button[aria-selected=true]{color:var(--navy);background:#fff;border-color:#0513370b;box-shadow:0 2px 7px #0000000a}
.discover-tabs button:focus-visible,.discover-places a:focus-visible,.discover-panel:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.discover-panel{display:grid;grid-template-columns:minmax(230px,.9fr) minmax(0,1.8fr);gap:40px;align-items:start;padding-top:4px}
.guest-discover:not(.has-discover-tabs) .discover-panel+.discover-panel{margin-top:44px}
.has-discover-tabs .discover-panels{min-height:410px}
.has-discover-tabs .discover-panel{animation:discover-enter .25s ease both}
.discover-feature{min-width:0}
.discover-feature h3{font-size:clamp(26px,2.7vw,34px);line-height:1.15;letter-spacing:-.6px;margin:0 0 12px}
.discover-feature p{font-size:16px;line-height:1.65;color:var(--muted);margin:0 0 22px}
.discover-photo-stage{position:relative;margin:0;width:100%;aspect-ratio:1.35;max-height:260px;overflow:hidden;border-radius:14px;background:#edf0ee;isolation:isolate}
.discover-photo-stage img{display:block;width:100%;height:100%;object-fit:cover}
.discover-photo-stage .discover-category-photo{position:absolute;inset:0}
.discover-place-photo{position:absolute;inset:0;opacity:0;transition:opacity .22s ease}
.discover-photo-stage.is-photo-preview .discover-place-photo{opacity:1;animation:discover-photo-in .25s ease both}
.discover-photo-caption{position:absolute;inset:auto 0 0;z-index:2;padding:30px 14px 12px;color:#fff;background:linear-gradient(transparent,#000a);font-size:14px;line-height:1.4;text-shadow:0 1px 4px #0004}
.discover-places{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px}
.discover-places li{border-bottom:1px solid var(--line);min-width:0;position:relative}
.discover-places a{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 2px 18px;min-height:112px;height:100%;color:var(--navy);text-decoration:none;border-radius:3px}
.discover-places li:nth-child(-n+2) a{padding-top:0}
.discover-place-copy{display:flex;align-items:flex-start;flex-direction:column;min-width:0}
.discover-place-copy strong{font-size:17px;line-height:1.35;font-weight:500}
.discover-place-area{font-size:12px;line-height:1.5;color:#67707a;margin-top:4px}
.discover-place-description{font-size:14px;line-height:1.55;color:#525d69;margin-top:7px}
.discover-place-note{font-size:12px;line-height:1.5;font-weight:500;color:#604a28;background:#f5efe3;border-radius:5px;padding:3px 7px;margin-top:8px}
.discover-place-arrow{font-size:17px;line-height:1.35;flex-shrink:0;transition:transform .2s ease}
.discover-places a:hover strong{text-decoration:underline;text-underline-offset:4px}
.discover-places a:hover .discover-place-arrow{transform:translate(2px,-2px)}
.discover-place.is-photo-preview .discover-place-copy strong{text-decoration:underline;text-underline-offset:4px}
.discover-photo-toggle{display:none;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid #05133716;border-radius:12px;background:#f5f6f4;color:var(--navy);cursor:pointer}
.discover-photo-toggle svg{width:19px;height:19px}
.discover-photo-toggle[aria-expanded=true]{background:var(--navy);color:#fff}
.discover-photo-toggle:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.discover-touch-photo{grid-column:1/-1;margin:0 0 16px;overflow:hidden;border-radius:12px;background:#f5f6f4;animation:discover-photo-in .22s ease both}
.discover-touch-photo img{display:block;width:100%;height:auto;max-height:240px;aspect-ratio:1.6;object-fit:cover}
/* Keep the spire visible when the Burj Khalifa photo is cropped for smaller screens. */
#discover-landmarks .discover-category-photo,.discover-photo-stage .discover-place-photo[src$="/discover-burj-khalifa-sunlit.webp"],.discover-place[data-photo-name="Burj Khalifa"] .discover-touch-photo img{object-position:50% 0%}
.discover-touch-photo figcaption{font-size:13px;line-height:1.5;padding:9px 12px;color:var(--navy)}
@keyframes discover-enter{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes discover-photo-in{from{opacity:0}to{opacity:1}}
@media(max-width:1000px){.discover-panel{grid-template-columns:minmax(210px,.85fr) minmax(0,1.6fr);gap:26px}.discover-places{gap:0 20px}.discover-tabs button{padding-left:13px;padding-right:13px}}
@media(max-width:800px){.discover-panel{grid-template-columns:1fr;gap:24px}.discover-feature{display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.discover-feature h3{align-self:end}.discover-feature p{margin-bottom:0}.discover-photo-stage{grid-column:2;grid-row:1/3;height:170px;aspect-ratio:auto}.has-discover-tabs .discover-panels{min-height:0}}
@media(max-width:800px),(hover:none),(pointer:coarse){.discover-place[data-photo]{display:grid;grid-template-columns:minmax(0,1fr) 44px;column-gap:10px}.discover-photo-toggle:not([hidden]){display:flex;align-self:start;margin-top:16px}.discover-places li:nth-child(-n+2) .discover-photo-toggle{margin-top:0}.discover-places a{height:auto}.discover-place-arrow{font-size:14px}}
@media(max-width:520px){.guest-discover{padding-top:42px;padding-bottom:42px}.discover-tabs{width:100%;gap:3px;margin-bottom:26px}.discover-tabs button{flex:1 1 auto;padding:9px 10px}.discover-feature{display:block}.discover-feature h3{font-size:28px}.discover-feature p{margin:0 0 16px}.discover-photo-stage{height:150px}.discover-places{grid-template-columns:1fr;gap:0}.discover-places a{min-height:0;padding:16px 2px}.discover-places li:nth-child(2) a{padding-top:16px}.discover-places li:nth-child(2) .discover-photo-toggle{margin-top:16px}.discover-place-area{font-size:13px}}
@media(prefers-reduced-motion:reduce){.has-discover-tabs .discover-panel,.discover-photo-stage.is-photo-preview .discover-place-photo,.discover-touch-photo{animation:none}.discover-tabs button,.discover-place-arrow,.discover-place-photo{transition:none}.discover-places a:hover .discover-place-arrow{transform:none}}
.guest-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;background:#fafaf7}
.guest-faq summary{min-height:64px}
.guest-faq summary h3{font-size:24px;line-height:1.3}
.guest-faq details>div{padding:0 34px 24px 0;font-size:16px;line-height:1.8;color:var(--muted)}
.guest-support{display:flex;align-items:center;justify-content:space-between;gap:50px;background:var(--paper)}
.guest-support h2{font-size:clamp(34px,3.6vw,50px);max-width:560px;line-height:1.15}
.guest-support p:not(.eyebrow){max-width:520px;font-size:16px;line-height:1.8;margin-top:20px;color:var(--muted)}
.guest-support-actions{display:flex;flex-direction:column;align-items:flex-start;gap:24px;flex-shrink:0}
.guest-support-actions .button,.guest-support-actions .line-link{font-size:14px}
@media(max-width:1000px){.guest-page .guest-hero .hero-body{padding-left:6%;padding-right:6%}.guest-booking label{padding-left:12px;padding-right:12px}.guest-faq{gap:40px}.guest-support{gap:30px}}
@media(max-width:750px){.guest-faq{grid-template-columns:1fr;gap:30px}.guest-support{display:block}.guest-support-actions{margin-top:28px}.guest-page .guest-hero .hero-body{padding:130px 6% 30px;min-height:max(600px,100svh);gap:22px}.guest-booking{grid-template-columns:repeat(2,minmax(0,1fr));max-width:480px;padding:12px;gap:10px 0}.guest-booking label{padding-left:10px;padding-right:10px}.guest-booking label:nth-child(3){border-left:0}.guest-booking .button{min-width:0;margin:0 3px 0 10px}}
@media(max-width:520px){.guest-page .guest-hero .hero-main h1{font-size:clamp(36px,9.2vw,48px);letter-spacing:-1.2px}.guest-booking{border-radius:16px}.guest-faq summary h3{font-size:22px}.guest-page .collection{padding-top:58px;padding-bottom:58px}.guest-page .collection .photo-label{font-size:12px}}
@media(prefers-reduced-transparency:reduce){.guest-booking{background:#303638;-webkit-backdrop-filter:none;backdrop-filter:none}}

/* Live search is part of the guest experience; prices come from Hostaway. */
.booking-results[hidden],.booking-fallback[hidden]{display:none}
#guest-booking,#booking-results{scroll-margin-top:calc(var(--site-header-height,100px) + 30px)}
.booking-results{background:#fafaf7;padding-top:65px;padding-bottom:65px}
.booking-results-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:35px}
.booking-results h2{font-size:clamp(34px,4vw,52px);line-height:1.15}
.booking-results h2:focus{outline:none}
#booking-results-summary{font-size:15px;color:#626b75;margin-top:14px;line-height:1.6}
.booking-result-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.booking-result{min-width:0;overflow:hidden;border:1px solid #05133712;border-radius:20px;background:#fff;box-shadow:0 10px 25px #05133705}
.booking-result-image{display:block;width:100%;height:auto;aspect-ratio:1.65;object-fit:cover}
.booking-result-body{padding:25px}
.booking-result .eyebrow{font-size:10px;letter-spacing:1.4px;margin-bottom:12px}
.booking-result h3{font-size:34px;line-height:1.1}
.booking-result-subtitle{font-size:14px;color:#626b75;margin-top:8px;min-height:23px}
.booking-result-meta{font-size:12px;margin-top:16px;color:#626b75}
.booking-result-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin-top:23px;padding-top:21px;border-top:1px solid #05133714}
.booking-result-total strong{font-size:24px;font-weight:500;letter-spacing:-.6px}
.booking-result-total>span{font-size:12px;color:#626b75}
.booking-result .booking-price-details{padding:0;border:0;border-radius:0;background:none;box-shadow:none;margin:8px 0 18px;backdrop-filter:none}
.booking-price-details::before,.booking-price-details::after{display:none}
.booking-price-details summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:7px 0;min-height:44px;font-size:12px;list-style:none;font-weight:400}
.booking-price-details summary::-webkit-details-marker{display:none}
.booking-price-details summary span{font-size:19px}
.booking-price-details[open] summary span{transform:rotate(45deg)}
.booking-price-details dl{margin:4px 0 13px;padding:0}
.booking-price-details dl>div{display:flex;justify-content:space-between;gap:18px;padding:6px 0;font-size:12px;color:#626b75;line-height:1.6}
.booking-price-details dd{margin:0;white-space:nowrap}
.booking-result .button{width:100%;justify-content:space-between;min-height:48px;border-radius:9px;font-size:13px;padding:13px 18px;background:var(--navy);color:#fff}
.booking-result .button:hover{background:#243152}
.booking-results-note{font-size:13px;color:#626b75;line-height:1.7;max-width:700px;margin-top:24px}
.booking-fallback{margin-top:16px}
.guest-booking .button:disabled{opacity:.65;cursor:progress}
.booking-results[aria-busy=true] #booking-results-summary::before{content:'';display:inline-block;vertical-align:-2px;width:12px;height:12px;margin-right:10px;border:1px solid #05133730;border-top-color:#051337;border-radius:50%;animation:booking-spin .8s linear infinite}
@keyframes booking-spin{to{transform:rotate(360deg)}}
@media(max-width:650px){.booking-results-heading{align-items:flex-start;flex-direction:column;gap:15px}.booking-result-cards{grid-template-columns:1fr;gap:22px}.booking-result-body{padding:22px}.booking-result h3{font-size:31px}.booking-results-heading>.line-link{font-size:13px}.booking-result-total strong{font-size:23px}.booking-results{padding-top:40px;padding-bottom:40px}}

/* A small booking bar leaves the film open; dates expand only while choosing. */
.guest-page .guest-hero .hero-body{gap:18px}
.guest-page .guest-booking{max-width:700px;padding:8px;gap:0;border-radius:19px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 100px auto;text-shadow:none}
.guest-booking .booking-field{min-width:0;padding:0 13px}
.guest-booking .booking-date+.booking-date,.guest-booking .booking-guests{border-left:1px solid #17202c20}
.guest-booking .booking-date>label,.guest-booking .booking-guests{font-size:11px;line-height:1.4;letter-spacing:0;color:#364049}
.guest-booking .booking-date>label{display:block;padding:0}
.guest-booking .date-trigger{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;min-height:32px;padding:3px 0;border:0;background:none;color:#17202c;font:inherit;font-size:16px;line-height:1.4;text-align:left;cursor:pointer}
.guest-booking .date-trigger[hidden],.guest-booking input[hidden]{display:none!important}
.guest-booking .date-trigger>span:last-child{color:#55606a;font-size:14px}
.guest-booking input{color:#17202c;-webkit-text-fill-color:#17202c;color-scheme:light;min-height:32px;height:32px}
.guest-page .guest-booking .button{min-height:44px;min-width:120px;padding:10px 17px;border-radius:12px;margin:0;font-size:13px}
.guest-page .guest-booking :is(input,button):focus-visible{outline:2px solid #17202c;outline-offset:3px}
@media(max-width:750px){
 .guest-page .guest-hero .hero-body{gap:15px;padding-bottom:max(20px,env(safe-area-inset-bottom))}
 .guest-page .guest-booking{max-width:420px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 0;padding:9px;border-radius:18px}
 .guest-booking .booking-field{padding:0 10px}
 .guest-booking .booking-date>label{font-size:11px}
 .guest-booking .date-trigger{min-height:33px;font-size:16px}
 .guest-booking .booking-guests{flex-direction:row;align-items:center;gap:12px;border:0;font-size:12px;padding-top:0}
 .guest-booking .booking-guests input{width:48px;height:44px;min-height:44px;padding:0;font-size:16px}
 .guest-page .guest-booking .button{min-width:0;min-height:44px;padding:9px 12px;margin:0 0 0 5px;align-self:center}
 .guest-booking:not(.has-date-picker) .booking-date{grid-column:1/-1;border:0;display:grid;grid-template-columns:75px minmax(0,1fr);align-items:center}
}
/* The focused stay picker disappears as soon as the period is selected. */
.stay-dates{width:min(360px,calc(100vw - 24px));max-height:calc(100svh - 32px);padding:20px;border:1px solid #ffffffd9;border-radius:24px;background:#f9faf9;color:#17202c;box-shadow:0 24px 80px #00000035;font-family:inherit;overflow:auto}
.stay-dates::backdrop{background:#10192335;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.stay-dates-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.stay-dates h2{font-weight:600;line-height:1.35;font-family:inherit;font-size:19px;letter-spacing:-.3px;margin:0}
.stay-dates button{font-family:inherit;cursor:pointer}
.stay-dates-close,.stay-month-nav button{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border:1px solid #17202c18;border-radius:50%;background:#fff;color:#17202c;font-size:21px}
.stay-dates-values{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.stay-dates-values button{border:1px solid #17202c20;border-radius:12px;padding:9px 12px;background:#fff;text-align:left;color:#17202c;min-height:56px}
.stay-dates-values button[aria-pressed=true]{border-color:#17202c;box-shadow:0 0 0 1px #17202c}
.stay-dates-values small{display:block;font-size:10px;color:#56616b;margin-bottom:4px}
.stay-dates-values strong{font-size:14px;font-weight:500}
.stay-month-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;margin-bottom:9px}
.stay-month-nav h3{font-family:inherit;font-size:15px;font-weight:600;margin:0}
.stay-month-nav button{width:36px;height:36px;font-size:19px}
.stay-weekdays,.stay-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.stay-weekdays span{text-align:center;font-size:10px;color:#67717b;padding-bottom:8px}
.stay-days button{aspect-ratio:1;min-width:0;padding:0;border:0;border-radius:50%;font-size:13px;color:#17202c;background:transparent}
.stay-days button:hover:not(:disabled){background:#e2e7e7}
.stay-days button.in-range{background:#e5eae8;border-radius:8px}
.stay-days button.is-selected{background:#17202c;color:#fff}
.stay-days button:disabled,.stay-month-nav button:disabled{color:#b0b7bb;cursor:default}
.stay-dates :is(button):focus-visible{outline:2px solid #17202c;outline-offset:2px}
.stay-dates-note{min-height:20px;margin:12px 0 0;font-size:12px;color:#56616b;text-align:center;line-height:1.5}
@media(max-width:359px){.stay-dates{padding:16px}.guest-booking .booking-field{padding-left:7px;padding-right:7px}}
@media(prefers-reduced-transparency:reduce){.stay-dates::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}}
