/* The existing stay section owns the treatment; all other page sections are untouched. */
#olympus-page .stay-section.has-stay-booking{padding:28px;gap:30px;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);background:#fff;border:1px solid #dceaf1;overflow:visible;box-shadow:0 10px 18px -10px #174f7138,0 28px 45px -27px #174f7166;transition:translate .26s ease,box-shadow .26s ease}
#olympus-page .has-stay-booking .stay-visual{border-radius:24px;overflow:hidden;min-height:0;height:100%;border:2px solid #fff;box-shadow:0 3px 5px #12374c29,0 14px 24px -5px #12374c55;transition:translate .26s ease,box-shadow .26s ease}
#olympus-page .has-stay-booking .stay-visual img{display:block;object-fit:cover;object-position:47% 50%;height:100%;min-height:440px}
#olympus-page .has-stay-booking .stay-content{min-width:0;padding:8px 0 4px;align-self:center}
#olympus-page .has-stay-booking .stay-content h2{font-size:clamp(28px,2.7vw,37px);line-height:1.13;letter-spacing:-1.2px}
#olympus-page .has-stay-booking .stay-content>p{margin-top:16px;max-width:none;font-size:14px;line-height:1.65}
#olympus-page .has-stay-booking .stay-inclusions{display:none}
.stay-eyebrow{display:flex;gap:12px;align-items:center;margin-bottom:18px;color:#1c7086;font-size:11px;font-weight:800;letter-spacing:2px}
.stay-eyebrow>span{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;color:#fff;background:#08758c;box-shadow:0 5px 9px #00758f30}
.stay-eyebrow svg{width:23px;height:23px}
.stay-booking{position:relative;box-sizing:border-box;min-width:0;margin-top:25px;padding:19px;border-radius:22px;background:#e9f1f5;border:1px solid #b6d0df;box-shadow:inset 0 1px 0 #fff,0 3px 5px #143c5226,0 14px 22px -6px #143c5252;transition:translate .26s ease,box-shadow .26s ease}
.stay-booking[hidden],.stay-eyebrow[hidden],#rooms-open[hidden]{display:none!important}
.stay-booking-title{margin:0 0 12px;color:#08617a;font-size:13px;font-weight:800;line-height:1.3;text-transform:uppercase;letter-spacing:1.4px}
.stay-booking-fields{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr);align-items:stretch;border:1px solid #d0e1eb;border-radius:16px;background:#fff;overflow:hidden}
.stay-arrival{display:flex;align-items:center;gap:9px;padding:13px 12px;border:0;background:none;min-width:0;color:#09293b;text-align:left;cursor:pointer}
.stay-arrival>svg{width:23px;height:23px;flex:none;color:#009ab5}
.stay-arrival>span:not(.stay-chevron){min-width:0;display:flex;flex-direction:column;gap:5px}
.stay-field-label{display:block;font-size:11px;line-height:1.3;font-weight:500;color:#537187}
.stay-arrival strong{font-size:14px;line-height:1.3;white-space:nowrap}
.stay-chevron{margin-left:auto;color:#00758f;font-size:18px}
.stay-counter{position:relative;padding:12px 7px;text-align:center;min-width:0}
.stay-counter::before{content:'';position:absolute;left:0;top:12px;bottom:12px;width:1px;background:#d0e1eb}
.stay-counter-controls{display:flex;align-items:center;justify-content:space-between;gap:0;margin-top:2px}
.stay-step{border:0;border-radius:50%;display:grid;place-items:center;flex:none;width:36px;height:36px;background:#d9eef2;color:#08758c;font-size:24px;line-height:1;cursor:pointer}
.stay-step:disabled{opacity:.38;cursor:default}
.stay-counter output{min-width:18px;color:#09293b;font-size:18px;font-weight:750;font-variant-numeric:tabular-nums}
#olympus-page .stay-booking-summary{margin:10px 1px 13px;min-height:18px;color:#58748a;font-size:11px;line-height:1.5}
.stay-search{display:flex;align-items:center;justify-content:center;gap:20px;width:100%;min-height:48px;padding:13px 16px;border:1px solid #ffa541;border-radius:999px;background:#ff941f;color:#082a3c;font-family:inherit;font-size:14px;font-weight:800;cursor:pointer;box-shadow:inset 0 1px 0 #ffc57c;transition:background .2s,box-shadow .2s}
.stay-search>span{font-size:23px;line-height:1}
.stay-arrival:focus-visible,.stay-step:focus-visible,.stay-search:focus-visible{outline:3px solid #0088a4;outline-offset:-3px}
.stay-search:hover{background:#ffab43;box-shadow:inset 0 1px 0 #ffe1bd,0 4px 10px #ac520c26}
.stay-step:hover:not(:disabled){background:#bce2e9}
@media(hover:hover) and (pointer:fine){
 #olympus-page:not(.motion-off) .has-stay-booking .stay-visual:hover{translate:0 -5px;box-shadow:0 5px 7px #12374c29,0 21px 30px -7px #12374c60}
 #olympus-page:not(.motion-off) .has-stay-booking .stay-booking:hover:not(:focus-within){translate:0 -5px;box-shadow:inset 0 1px 0 #fff,0 5px 7px #143c5226,0 21px 28px -7px #143c5260}
}
@keyframes stay-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
.has-stay-booking.stay-arrived .stay-content h2{animation:stay-enter .6s both}
.has-stay-booking.stay-arrived .stay-content>p{animation:stay-enter .6s .09s both}
.has-stay-booking.stay-arrived .stay-booking{animation:stay-enter .65s .17s both}
.stay-calendar{box-sizing:border-box;width:min(390px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:22px;border:1px solid #c7dce6;border-radius:24px;background:#fff;color:#09293b;box-shadow:0 8px 20px #09293b24,0 30px 80px #09293b4d;font-family:Inter,system-ui,sans-serif}
.stay-calendar::backdrop{background:#102b4359;backdrop-filter:blur(3px)}
.stay-calendar-heading,.stay-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}
.stay-calendar-heading h2{font-size:19px;letter-spacing:-.5px;line-height:1.25;margin:0}
.stay-calendar-close,.stay-calendar-nav-button{display:grid;place-items:center;flex:none;width:44px;height:44px;background:#eaf4f7;color:#086e86;border:0;border-radius:50%;font-size:25px;cursor:pointer}
.stay-calendar-nav{margin:16px 0}
.stay-calendar-nav strong{font-size:16px}
.stay-calendar-nav-button:disabled{opacity:.35;cursor:default}
.stay-calendar-week,.stay-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}
.stay-calendar-week{margin-bottom:8px;color:#688294;font-size:11px;font-weight:600}
.stay-calendar-day{display:grid;place-items:center;min-width:0;min-height:42px;border:1px solid transparent;border-radius:12px;background:transparent;color:#163a4c;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer}
.stay-calendar-day:disabled{color:#b0bdc4;cursor:default}
.stay-calendar-day[aria-current=date]{border-color:#84bac8}
.stay-calendar-day[aria-pressed=true]{background:#087b91;color:#fff}
.stay-calendar-day:hover:not(:disabled):not([aria-pressed=true]){background:#e5f3f6}
.stay-calendar button:focus-visible{outline:3px solid #0788a0;outline-offset:1px}
.stay-calendar-hint{font-size:12px;color:#688294;line-height:1.5;margin:15px 0 0}
@media(min-width:761px) and (max-width:1100px){
 #olympus-page .stay-section.has-stay-booking{padding:22px;gap:24px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
 .stay-booking-fields{grid-template-columns:1fr 1fr}.stay-arrival{grid-column:1/-1;border-bottom:1px solid #d0e1eb}
 .stay-counter:nth-child(2)::before{display:none}.stay-step{width:42px;height:42px}.stay-counter{padding:10px 15px}
}
@media(max-width:760px){
 #olympus-page .stay-section.has-stay-booking{padding:18px;gap:24px;grid-template-columns:minmax(0,1fr);border-radius:24px;box-shadow:0 12px 30px -18px #174f7145}
 #olympus-page .has-stay-booking .stay-visual{height:190px;border-radius:16px;box-shadow:0 7px 16px -8px #12374c55}
 #olympus-page .has-stay-booking .stay-visual img{min-height:0}
 #olympus-page .has-stay-booking .stay-content{padding:0 0 4px}
 #olympus-page .has-stay-booking .stay-content h2{font-size:29px;letter-spacing:-.8px}
 .stay-eyebrow{font-size:10px;letter-spacing:1.3px;margin-bottom:14px}
 .stay-eyebrow>span{width:28px;height:28px;border-radius:8px;box-shadow:none;background:#e3f0f3;color:#08758c}.stay-eyebrow svg{width:19px;height:19px}
 .stay-booking{padding:16px;margin-top:22px;border-radius:16px;box-shadow:0 3px 6px -3px #143c5226,0 12px 24px -12px #143c5252}
 .stay-booking-fields{grid-template-columns:minmax(0,1fr);border-radius:12px}
 .stay-arrival{grid-column:auto;padding:16px 14px;border-bottom:1px solid #d0e1eb;min-height:76px}
 .stay-arrival strong{font-size:16px}.stay-arrival>svg{width:24px;height:24px}
 .stay-counter{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;text-align:left}
 .stay-counter::before{display:none}.stay-counter+.stay-counter{border-top:1px solid #d0e1eb}
 .stay-counter-controls{gap:12px;margin:0}.stay-counter output{min-width:24px;text-align:center;font-size:17px}
 .stay-step{width:44px;height:44px;border:1px solid #dce8ed;border-radius:10px;background:#f2f7f9;font-size:20px}
 .stay-field-label{font-size:13px}
 .stay-search{min-height:50px;font-size:13px;gap:12px;border-radius:12px;box-shadow:none}.stay-search:hover{box-shadow:none}
 .stay-booking-title{font-size:12px;margin-bottom:14px}
 #olympus-page .stay-booking-summary{margin:12px 1px 16px;font-size:12px}
 .stay-calendar{position:fixed;inset:auto 0 0;width:100%;max-width:520px;max-height:calc(100dvh - 16px);margin:0 auto;padding:22px 20px max(24px,env(safe-area-inset-bottom));border-radius:24px 24px 0 0;border-bottom:0;box-shadow:0 -12px 40px #09293b30}
 .stay-calendar[open]{animation:stay-sheet-enter .24s ease-out}
 .stay-calendar-close,.stay-calendar-nav-button{border-radius:12px}
 .stay-calendar-day{min-height:44px;border-radius:10px}
}
@keyframes stay-sheet-enter{from{transform:translateY(32px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:350px){#olympus-page .stay-section.has-stay-booking{padding:13px}.stay-booking{padding:11px}.stay-counter{padding-inline:5px}.stay-search{font-size:12px}}
#olympus-page.motion-off .has-stay-booking :is(.stay-visual,.stay-booking){translate:none;transition:none}
#olympus-page.motion-off .has-stay-booking :is(.stay-content h2,.stay-content>p,.stay-booking){animation:none}
@media(prefers-reduced-motion:reduce){.has-stay-booking :is(.stay-visual,.stay-booking){translate:none!important;transition:none!important}.has-stay-booking :is(.stay-content h2,.stay-content>p,.stay-booking){animation:none!important}}
@media(prefers-reduced-motion:reduce){.stay-calendar[open]{animation:none}}
body:has(#olympus-page.motion-off) .stay-calendar[open]{animation:none}
