/* Active booking, event, menu, beach and accommodation V3 journeys. */
body:is([data-kind=booking],[data-kind=event-detail],[data-kind=events],[data-kind=menu],[data-kind=beach],[data-kind=accommodation]) #main-content{font-style:italic}
body:is([data-kind=event-detail],[data-kind=events],[data-kind=menu],[data-kind=beach],[data-kind=accommodation]) #main-content *{font-style:italic}
[hidden]{display:none!important}
button,input{font-family:inherit}
button{font-style:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.4}
.cream-section,.transaction-section,.menu-content{background:#faf6ef url('/assets/images/v3/cream-bg.jpg?v=I8vErK1g7bXHbaJ6R0DJS6fM9S1XUuaSdWalgx9nc3Y') center/cover}
.sea-section{position:relative;background:linear-gradient(#0d2e424d,#0d2e424d),url('/assets/images/v3/sea-texture-2.jpg?v=Lm5yIx5R2SvSkNeV3EvKZAzjUVDrM8JFBD5G2doNtSs') center/cover;color:white}
.sea-section h2,.sea-section h3{color:white}
.transaction-hero{height:400px;position:relative;background:#123e5a;display:flex;align-items:flex-end;color:white;overflow:hidden}
.transaction-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.transaction-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0d2e42cc,#0d2e4266,#0d2e421a)}
.transaction-hero>div{position:relative;z-index:1;padding:0 24px 40px 6%;max-width:640px}
.transaction-hero .v3-eyebrow{color:#a8b89a;font-size:11px;margin-bottom:12px}
.transaction-hero h1{font-size:40px;font-weight:300;line-height:1.12;color:white;margin-bottom:12px}
.transaction-hero p:last-child{max-width:420px;font-size:14px;line-height:1.625;color:#faf6efd9}
.transaction-section{padding:18px 0}
.transaction-wide{max-width:1100px;margin:auto;padding:25px 40px}
.transaction-wide>h2{font-size:40px;line-height:1.25;margin:0}
.transaction-wide>.v3-eyebrow{font-size:10px;color:#7f9275;margin:12px 0 24px}
.stay-panel{border:1px solid #123e5a26;background:#faf6ef99;padding:36px 40px}
.stay-panel h3{font-size:32px;line-height:1.25;margin:0}
.stay-panel>p{font-size:13px;line-height:1.625;color:#26261ca6;margin:12px 0 28px}
.transaction-label{display:block;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#26261c80;margin-bottom:8px}
.date-trigger{display:block;width:100%;min-height:64px;padding:12px 16px;text-align:center;background:#ffffffd9;border:1px solid #123e5a40;color:#123e5a;font-size:15px;font-style:normal}
.date-trigger small{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#26261c73;margin-bottom:4px}
.stay-calendar{max-width:760px;margin-top:20px;border:1px solid #123e5a26;background:white;box-shadow:0 10px 15px #0002}
.stay-calendar>header,.stay-calendar>footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;border-bottom:1px solid #123e5a1a}
.stay-calendar>header{font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:#123e5a99}
.stay-calendar>header span:last-child{font-size:11px;letter-spacing:0;text-transform:none}
.stay-calendar>footer{justify-content:flex-end;border-top:1px solid #123e5a1a;border-bottom:0;gap:12px}
.calendar-months{display:flex;gap:24px;padding:20px}
.calendar-month{flex:1;min-width:0}
.calendar-caption{display:flex;align-items:center;justify-content:space-between;height:32px;margin-bottom:16px;font:italic 17px Fraunces,serif}
.calendar-caption button{width:32px;height:32px;border:0;background:none;color:#123e5a;font-size:22px}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px 0}
.calendar-grid>span{text-align:center;font:500 10px Outfit,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#123e5a73;padding-bottom:6px}
.calendar-grid button{width:100%;aspect-ratio:1;max-height:40px;border:0;background:none;color:#123e5a;font:400 14px Outfit,sans-serif}
.calendar-grid .today{box-shadow:inset 0 0 0 1px #a8b89ab3;border-radius:6px}
.calendar-grid .in-range{background:#a8b89a40}
.calendar-grid .selected{background:#a8b89a;border-radius:6px}
.transaction-button,.transaction-outline{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 28px;border:1px solid #123e5a4d;background:#123e5a;color:white;font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.transaction-outline{background:none;color:#123e5a}
.transaction-notice{margin-top:20px;border:1px solid #7f927573;background:#a8b89a26;padding:20px 24px}
.transaction-notice h4{font:italic 20px/1.25 Fraunces,serif;color:#123e5a}
.transaction-notice p{font-size:13px;line-height:1.625;margin-top:8px;color:#26261cb3}
.booking-manage{background:url('/assets/images/booking/sea-2-bg.png?v=9GoLddyM9nr36ju6r5afIPFBO49AbXfnYgdaZkBA1IY') center/cover}
.booking-manage .transaction-wide>.v3-eyebrow{color:#a8b89a;margin-top:0}
.manage-stack{display:flex;flex-direction:column;gap:16px}
.transaction-card{border:1px solid #123e5a26;background:#faf6ef99}
.transaction-card strong{display:block;font:italic 20px/1.25 Fraunces,serif;color:#123e5a;font-weight:400}
.transaction-card small{display:block;margin-top:2px;font-size:12px;color:#26261c8c}
.transaction-card summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;min-height:56px}
.transaction-card summary::-webkit-details-marker{display:none}
.transaction-card summary b{font-size:18px;font-weight:400;color:#123e5a99}
.transaction-card[open] summary b{transform:rotate(45deg)}
.transaction-card form{padding:4px 24px 24px}
.transaction-label input{display:block;width:100%;text-align:center; min-height:48px;padding:0 16px;margin-top:8px;background:#ffffffd9;border:1px solid #123e5a40;color:#123e5a;font-size:15px;font-style:normal;letter-spacing:normal;text-transform:none}
.transaction-card form .transaction-outline{margin-top:8px}
.account-row,.accept-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px}
.accept-row{justify-content:flex-start;gap:32px}
.accept-row small{max-width:320px}
.accept-row img{width:150px;height:auto}
.preview-notice{margin-top:16px;font-size:12px;line-height:1.625;color:#26261c99}
.preview-notice a,.transaction-terms a{text-decoration:underline}
.transaction-terms{max-width:860px;padding:0 40px;margin:auto}
#terms.transaction-section{padding-block:80px;background:#efe7da}
#terms .transaction-card{background:#fff}
.transaction-terms>.v3-eyebrow{font-size:10px;color:#7f9275;margin-bottom:16px}
.transaction-terms h2{font-size:34px;line-height:1.25;margin-bottom:32px}
.terms-stack{display:grid;gap:12px}
.terms-stack summary{padding:14px 24px;font-size:14px;font-weight:500;min-height:52px;color:#123e5a;line-height:1.375}
.terms-stack ul{padding:0 24px 20px 40px;list-style:"—  ";font-size:14px;line-height:1.625;color:#26261cbf}
.terms-stack li+li{margin-top:10px}
.transaction-terms>p:not(.v3-eyebrow){margin-top:24px;font-size:13px;color:#26261cb3}
.transaction-terms>p:last-child{font-size:12px}
.booking-help{padding:80px 20px;text-align:center;color:#faf6ef;background:url('/assets/images/v3/sea-texture-2.jpg?v=Lm5yIx5R2SvSkNeV3EvKZAzjUVDrM8JFBD5G2doNtSs') center/cover}
.booking-help .v3-eyebrow{font-size:10px;color:#a8b89a;margin-bottom:16px}
.booking-help h2{font-size:36px;line-height:1.25;color:inherit;margin-bottom:28px}
.booking-help>div{display:flex;justify-content:center;gap:40px}
.booking-help a{display:inline-flex;align-items:center;min-height:44px;font-size:15px}
.booking-help>p:last-child{margin-top:16px;color:#faf6efb3;font-size:13px}
.account-dialog{width:calc(100% - 32px);max-width:448px;max-height:90svh;overflow-y:auto;border:0;padding:40px;background:#faf6ef url('/assets/images/v3/cream-bg.jpg?v=I8vErK1g7bXHbaJ6R0DJS6fM9S1XUuaSdWalgx9nc3Y') center/cover;color:#26261c;font-style:italic}
.account-dialog::backdrop{background:#0d2e4299}
.dialog-close{position:absolute;right:12px;top:12px;min-width:44px;min-height:44px;background:none;border:0;color:#123e5a99}
.account-dialog>.v3-eyebrow{font-size:10px;color:#7f9275;margin-bottom:12px}
.account-dialog h3{font-size:26px;line-height:1.25;margin-bottom:24px}
.account-dialog form{display:flex;flex-direction:column;gap:16px}
.account-dialog .transaction-label{margin:0}
.account-login-options{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;min-height:44px}
.account-login-options input{accent-color:#123e5a}
.account-dialog p:last-child{font-size:14px;margin-top:24px}
.account-dialog p>button,.account-login-options button{border:0;background:none;text-decoration:underline;color:#123e5a;min-height:44px}
/* Shared source hero geometry */
body:is([data-kind=beach],[data-kind=accommodation],[data-kind=menu]) .v3-editorial-hero{height:82vh;min-height:620px;display:flex;align-items:center}
body:is([data-kind=beach],[data-kind=accommodation],[data-kind=menu]) .v3-editorial-hero-copy{position:relative;inset:auto;transform:none;width:100%;max-width:none;margin:0;padding:110px 24px 56px 6%;z-index:2;text-align:left}
.v3-editorial-hero-copy h1{font-size:54px;line-height:1.12;font-weight:300}
.v3-editorial-hero-copy .v3-eyebrow{font-size:11px;margin-bottom:20px;color:#a8b89a;letter-spacing:.28em}
.v3-editorial-hero-copy .v3-rule{margin:24px 0;width:40px}
.v3-editorial-hero-copy>p:last-child{max-width:380px;font-size:15px;line-height:1.625;color:#faf6efd9}
.v3-editorial-hero .v3-hero-scrim{background:linear-gradient(90deg,#0d2e42cc,#0d2e4261,#0d2e420d)}
.v3-slideshow-images img,.v3-rotating-photo img{transition:opacity .6s ease}
.v3-slide-dots{bottom:20px;left:50%;right:auto;transform:translateX(-50%)}
.v3-slide-dots button{height:6px;width:6px;padding:0;background:#ffffff59;border:0;border-radius:999px}
.v3-slide-dots button[aria-current=true]{width:20px;background:#ffffffb3}
.v3-slide-dots button{position:relative}
.v3-slide-dots button:before{content:"";position:absolute;inset:-8px}
/* Menu */
.menu-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.menu-controls{position:sticky;top:60px;z-index:30;background:#faf6eff2;backdrop-filter:blur(4px);border-bottom:1px solid #123e5a1a;box-shadow:0 1px 2px #0001}
.menu-type-tabs{display:flex;justify-content:center;gap:48px;padding:12px 24px;border-bottom:1px solid #123e5a14}
.menu-type-tabs button{border:0;background:none;font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:#123e5a66;padding:4px 0}
.menu-type-tabs button[aria-selected=true]{border-bottom:2px solid #a8b89a;color:#123e5a}
.menu-category-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:8px 24px}
.menu-category-tabs button{border:0;background:none;white-space:nowrap;flex-shrink:0;min-height:36px;padding:6px 12px;text-transform:uppercase;font-size:11px;letter-spacing:.18em;color:#123e5a80}
.menu-category-tabs button[aria-selected=true]{background:#a8b89a40;color:#123e5a}
.menu-content{padding-block:64px;overflow:hidden}
.menu-content-inner{max-width:860px;margin:auto;padding:0 48px}
.menu-content-inner section{scroll-margin-top:170px}
.menu-content-inner section>header{padding:48px 0 8px;margin-bottom:0;border-bottom:1px solid #123e5a26;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:#7f9275}
.menu-content-inner section:first-child>header{padding-top:32px}
.menu-two-columns{display:grid;grid-template-columns:1fr 1fr;column-gap:40px}
.menu-item{padding:12px 0;border-bottom:1px solid #123e5a1a}
.menu-item:last-child{border:0}
.menu-item>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.menu-item h3{font:400 italic 17px/1.375 Fraunces,serif;flex:1;margin:0;color:#123e5a}
.menu-price{font-size:13px;letter-spacing:.025em;flex-shrink:0;color:#123e5a;display:flex;gap:16px;white-space:nowrap}
.menu-price small{font-size:9px;color:#7f9275;text-transform:uppercase;letter-spacing:.05em}
.menu-item p{font-size:13px;line-height:1.625;color:#26261c8c;margin-top:2px;padding-right:16px}
.menu-dual-heading{text-align:right;color:#7f9275;font-size:9px;letter-spacing:.2em;text-transform:uppercase;margin:8px 0 4px}
.menu-chapter-image{width:calc(100% + 96px);max-width:none;margin:40px -48px;height:50vw;min-height:200px;max-height:480px;object-fit:cover}
.menu-price-note{max-width:860px;margin:auto;text-align:center;padding:40px 48px;font-size:12px;color:#26261c8c;letter-spacing:.025em}
.menu-dining-story{padding:96px 0;background:linear-gradient(#0d2e424d,#0d2e424d),url('/assets/images/v3/sea-texture.jpg?v=Lm5yIx5R2SvSkNeV3EvKZAzjUVDrM8JFBD5G2doNtSs') center/cover;color:#faf6ef}
.menu-dining-story>.v3-wide{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.menu-dining-story img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:2px}
.menu-dining-story h2{font-size:44px;line-height:1.25;color:inherit;margin-bottom:24px}
.menu-dining-story .v3-eyebrow{font-size:10px;color:#a8b89a;margin-bottom:16px}
.menu-dining-story p:not(.v3-eyebrow){font-size:15px;line-height:1.625;color:#faf6efb3;margin-bottom:32px}
.menu-dining-story a{color:#a8b89a;border:0}
/* Accommodation editorial */
.landing-stay{padding:96px 0;overflow:hidden}
.landing-stay h2,.landing-cinematic h2{font-size:44px;line-height:1.25;margin:0}
.landing-stay .v3-eyebrow,.landing-pet .v3-eyebrow{font-size:10px;letter-spacing:.28em;color:#7f9275;margin-bottom:16px}
.sea-section .v3-eyebrow{color:#a8b89a}
.landing-split{display:flex;align-items:stretch;gap:64px}
.landing-stay-image{position:relative;display:block;height:460px;overflow:hidden;flex-shrink:0}
.landing-stay-image img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;transition:transform .7s}
.landing-stay-image:hover img{transform:scale(1.03)}
#balaa .landing-stay-image{width:58%;height:460px}
.landing-copy{display:flex;flex-direction:column;justify-content:center;padding:16px 0;min-width:0}
.landing-tags{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:#7f9275;display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:16px;line-height:1.5}
.landing-tags span{color:#26261c73}
.sea-section .landing-tags,.landing-cinematic .landing-tags{color:#a8b89a}
.sea-section .landing-tags span{color:#ffffff80}
.landing-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px;padding-top:28px;border-top:1px solid #123e5a1a}
.landing-stats dt{font-size:10px;letter-spacing:.28em;color:#26261c66;text-transform:uppercase;margin-bottom:4px}
.landing-stats dd{font-size:15px;font-weight:500;color:#123e5a}
.sea-section .landing-stats{border-color:#ffffff26}
.sea-section .landing-stats dt{color:#ffffff66}
.sea-section .landing-stats dd{color:white}
.landing-stay-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:28px}
.landing-stay-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:16px 36px;font-size:11px;letter-spacing:.22em;line-height:1.5;text-transform:uppercase}
.landing-book{background:#123e5a;color:white}
.landing-detail{border:1px solid #123e5a59;color:#123e5a}
.sea-section .landing-book,.landing-cinematic .landing-book{background:#a8b89a;color:#123e5a}
.sea-section .landing-detail,.landing-cinematic .landing-detail{border-color:#faf6ef40;color:white}
.landing-room-pair{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:48px}
.landing-room-pair article{display:flex;flex-direction:column;gap:24px}
.landing-room-pair .landing-stay-image{height:460px}
.landing-room-pair h3{font-size:30px;line-height:1.25}
.landing-cinematic{position:relative;width:100%;max-width:100%;min-width:0;aspect-ratio:21/9;min-height:440px;color:white;display:flex;align-items:center;overflow:hidden}
.landing-cinematic>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.landing-cinematic:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#0d2e42d9,#0d2e4280,#0d2e421a)}
.landing-cinematic>.v3-wide{position:relative;min-width:0;z-index:2}
.landing-cinematic>.v3-wide>div{max-width:512px}
.landing-cinematic h2{color:white;margin-bottom:12px}
.landing-cinematic .v3-eyebrow{font-size:10px;color:#a8b89a;margin-bottom:16px}
.landing-cinematic .landing-tags{color:#ffffff99;margin:0 0 24px}
.landing-feature-tags{display:flex;flex-wrap:wrap;gap:8px}
.landing-feature-tags span{border:1px solid #ffffff40;color:#ffffffbf;padding:6px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.22em}
#villarosa .landing-split{flex-direction:row-reverse}
#villarosa .landing-stay-image{width:55%;height:460px}
#chalet .landing-stay-image{width:50%;height:460px;align-self:flex-start}
#chalet .landing-copy{padding:0}
#chalet .landing-tags{color:#ffffff99;margin:12px 0 24px}
.landing-chalet-features{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:14px;color:#ffffffbf}
.landing-chalet-features>span{display:flex;align-items:center;gap:8px}
.landing-chalet-features img{width:16px;height:16px;opacity:.7;filter:brightness(0) invert(1)}
body:is([data-kind=beach],[data-kind=accommodation],[data-kind=menu]) .v3-booking-cta:before{background:rgba(6,40,54,.65)}
body[data-kind=accommodation] .v3-booking-cta .v3-actions .v3-button{width:auto;padding-inline:44px}
.landing-pet{padding:64px 0;overflow:hidden}
.landing-pet>.v3-wide{display:flex;align-items:stretch;gap:96px}
.landing-pet img{width:42%;flex-shrink:0;aspect-ratio:9/16;object-fit:cover;object-position:center 42%;border-radius:2px}
.landing-pet .v3-wide>div:not(.landing-stay-actions){width:58%;display:flex;flex-direction:column;justify-content:center;flex-shrink:1}
.landing-pet h3{font-size:30px;line-height:1.25;margin-bottom:12px}
.landing-pet p:not(.v3-eyebrow){font-size:15px;line-height:1.625;color:#26261cb3;max-width:448px}
.landing-pet .landing-stay-actions{flex-shrink:0;flex-wrap:nowrap;margin:0}
/* Beach chapters and gallery */
body[data-kind=beach] :is(.v3-light-chapter,.v3-dark-chapter,.v3-pet-water){padding:96px 0}
body[data-kind=beach] .v3-light-chapter{background:url('/assets/images/v3/cream-bg.jpg?v=I8vErK1g7bXHbaJ6R0DJS6fM9S1XUuaSdWalgx9nc3Y') center/cover}
body[data-kind=beach] .v3-dark-chapter{background:url('/assets/images/v3/sea-texture.jpg?v=Lm5yIx5R2SvSkNeV3EvKZAzjUVDrM8JFBD5G2doNtSs') center/cover}
body[data-kind=beach] .v3-pet-water{background:url('/assets/images/sea-2-background.png?v=9GoLddyM9nr36ju6r5afIPFBO49AbXfnYgdaZkBA1IY') center/cover;color:#faf6ef}
body[data-kind=beach] .v3-pet-water h2{color:inherit}
body[data-kind=beach] :is(.v3-light-chapter,.v3-dark-chapter,.v3-pet-water,.beach-gallery-section) .v3-eyebrow{display:flex;align-items:center;gap:24px;font-size:10px;letter-spacing:.28em;color:#7f9275;margin:0 0 32px}
body[data-kind=beach] .v3-eyebrow:after{content:"";width:64px;height:1px;background:#a8b89a66}
body[data-kind=beach] :is(.v3-editorial-hero,.v3-booking-cta) .v3-eyebrow:after{display:none}
body[data-kind=beach] :is(.v3-dark-chapter,.v3-pet-water) .v3-eyebrow{color:#a8b89a}
body[data-kind=beach] .v3-chapter-heading{grid-template-columns:1fr auto;gap:64px;margin-bottom:56px;align-items:end}
body[data-kind=beach] .v3-chapter-heading h2,body[data-kind=beach] .v3-chapter-copy h2,.beach-gallery-section h2{font-size:44px;font-weight:400;line-height:1.25}
body[data-kind=beach] .v3-chapter-heading p{max-width:448px;font-size:15px;line-height:1.625;padding-bottom:8px}
body[data-kind=beach] .v3-wide-photo{height:52vw;max-height:620px;min-height:240px;aspect-ratio:auto;border-radius:2px}
body[data-kind=beach] .v3-chapter-split{display:grid;grid-template-columns:38fr 62fr;gap:80px;align-items:stretch}
body[data-kind=beach] .v3-chapter-split>.v3-chapter-copy{width:auto}
body[data-kind=beach] .v3-light-chapter .v3-chapter-copy>p:last-child{color:#26261cb3}
body[data-kind=beach] #family-pool .v3-chapter-split{grid-template-columns:62fr 38fr}
body[data-kind=beach] .v3-chapter-copy{display:flex;flex-direction:column;justify-content:center}
body[data-kind=beach] .v3-chapter-copy h2{margin-bottom:24px}
body[data-kind=beach] .v3-chapter-copy p:not(.v3-eyebrow){font-size:15px;line-height:1.625;max-width:448px}
body[data-kind=beach] :is(.v3-chapter-photo,.v3-rotating-photo){height:600px;aspect-ratio:auto;border-radius:2px;width:100%;object-fit:cover}
body[data-kind=beach] #pet-friendly-pool .v3-chapter-split{grid-template-columns:45fr 55fr;align-items:center}
body[data-kind=beach] #pet-friendly-pool img{height:540px;object-position:center top}
.v3-rotating-photo img:nth-child(1){object-position:center 40%}.v3-rotating-photo img:nth-child(2){object-position:center top}
.beach-gallery-section{padding:96px 0}
.beach-gallery-section h2{margin-bottom:56px}
.beach-gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px;grid-auto-rows:260px}
.beach-gallery-grid button{padding:0;border:0;overflow:hidden;border-radius:2px;position:relative;grid-column:span 3;background:#123e5a}
.beach-gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.beach-gallery-grid button:hover img{transform:scale(1.04)}
.beach-gallery-grid button:nth-child(1){grid-column:span 4;grid-row:span 2}
.beach-gallery-grid button:nth-child(2){grid-column:span 2;grid-row:span 2}
.beach-gallery-grid button:nth-child(3){grid-column:span 2}
.beach-gallery-grid button:nth-child(4),.beach-gallery-grid button:nth-child(8),.beach-gallery-grid button:nth-child(9){grid-column:span 4}
.beach-gallery-grid button:nth-child(7){grid-column:span 2;grid-row:span 2}
.beach-cta-actions{display:flex;justify-content:center;gap:16px}
.beach-lightbox{position:fixed;inset:0;margin:0;padding:32px 5vw;width:100vw;max-width:none;height:100svh;max-height:none;border:0;background:#0d2e42f2;color:white;overflow:hidden}
.beach-lightbox[open]{display:flex;align-items:center;justify-content:center}
.beach-lightbox>img{width:100%;max-width:1152px;height:auto;max-height:82vh;object-fit:contain}
.beach-lightbox button{position:absolute;z-index:1;width:44px;height:44px;border:0;border-radius:50%;background:#ffffff0d;color:#fffc;font-size:30px}
.beach-lightbox .lightbox-close{right:20px;top:20px;font-size:20px}
.beach-lightbox [data-lightbox-prev]{left:16px}
.beach-lightbox [data-lightbox-next]{right:16px}
.beach-lightbox p{position:absolute;bottom:16px;left:0;right:0;text-align:center;font-size:12px;letter-spacing:.2em}
/* Parties listing and reservation */
.v3-events-header{padding:180px 6% 96px;background:#123e5a}
.v3-events-header .v3-eyebrow{font-size:10px;letter-spacing:.28em;color:#a8b89a;margin-bottom:16px}
.v3-events-header h1{font-size:54px;font-weight:300;line-height:1.12;margin-bottom:24px}
.v3-events-header>p:last-child{max-width:600px;font-size:15px;line-height:1.625;color:#faf6efd9}
.v3-events-list{max-width:1400px;padding:96px 6%;margin:auto}
.v3-event-grid{grid-template-columns:repeat(3,1fr);gap:40px;max-width:none}
.v3-event-grid article{border:1px solid #efe7da;box-shadow:0 1px 2px #0001;display:flex;flex-direction:column}
.v3-event-grid article>a{aspect-ratio:9/16;overflow:hidden}
.v3-event-grid article>a img{height:100%;width:100%;aspect-ratio:auto;object-fit:cover;transition:transform .7s}
.v3-event-grid article>a:hover img{transform:scale(1.05)}
.v3-event-grid article>div{padding:32px;display:flex;flex-direction:column;flex:1}
.v3-event-grid h2{font-size:24px;line-height:1.25;margin-bottom:12px}
.v3-event-grid .v3-eyebrow{font-size:10px;letter-spacing:.2em;margin-bottom:8px;color:#7f9275}
.v3-event-grid article>div>p:not(.v3-eyebrow):not(.event-time){font-size:14px;line-height:1.625;color:#3f3f29cc;margin-bottom:32px;flex:1}
.v3-event-grid .event-time{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#7f9275;margin-bottom:16px}
.v3-event-card-footer{padding-top:16px;gap:8px;margin-top:auto}
.v3-event-card-footer small{display:block;font-size:12px;color:#3f3f2999;letter-spacing:.1em;text-transform:uppercase}
.v3-event-card-footer .v3-event-tax{margin-top:4px;font-size:9px;letter-spacing:.08em}
.v3-event-card-footer strong{display:block;font:500 italic 16px Outfit,sans-serif;color:#123e5a}
.v3-event-card-footer .v3-button{padding:0 20px;min-height:40px;height:40px;flex-shrink:0;font-size:10px;letter-spacing:.2em}
.v3-event-card-footer button.v3-button{border:0;cursor:pointer}
.v3-event-slide.is-empty{background:#d7c4a3}
.v3-event-caption{position:absolute;left:24px;right:24px;top:24px;z-index:2;color:#fff;font-size:clamp(28px,4vw,48px);line-height:1.1}
.event-page-hero{display:grid;gap:28px;margin-bottom:48px}
.event-page-hero img{width:100%;max-height:520px;object-fit:cover}
.event-page-hero h1{font-size:clamp(40px,5vw,72px);line-height:1.05;margin:8px 0}
.event-flow{max-width:1400px;margin:auto;padding:156px 6% 48px}
.event-flow-grid{display:grid;grid-template-columns:1fr;gap:64px;align-items:start}
.event-flow.in-details .event-flow-grid{grid-template-columns:1.2fr 450px}
.event-flow.in-handoff .event-flow-grid{grid-template-columns:1.2fr 450px}
.event-reservation{max-width:450px;width:100%;font-style:normal;background:white;border:1px solid #efe7da;box-shadow:0 4px 6px #123e5a0d;scroll-margin-top:calc(120px + var(--banner-h,0px))}
.event-reservation:has(.event-packages){max-width:520px}
.event-packages-wait{margin:0;color:rgba(63,63,41,.7);font-size:13px;line-height:1.5}
.event-packages .v3-package{background:#faf6ef}
.event-packages .v3-package:hover{border-color:#123e5a;background:#f4f7f2;box-shadow:0 8px 18px rgba(18,62,90,.12)}
@media(min-width:1024px){.event-reservation{position:sticky;top:140px}}
#event-overview{scroll-margin-top:calc(120px + var(--banner-h,0px))}
.event-reservation>header{padding:32px;background:#123e5a;color:white;border-bottom:1px solid #efe7da}
.event-reservation h3{font-size:24px;color:white;font-style:italic;margin-bottom:4px}
.stay-results .event-reservation>header,.stay-results .event-reservation h3{text-align:center}
.event-reservation-body{padding:10px;display:flex;flex-direction:column;gap:32px}
.event-label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#7f9275;margin-bottom:12px}
.event-reservation-body p{font-size:12px;line-height:1.625;color:#3f3f29a6}
.event-dates{max-width:340px;width:100%;margin:12px auto 0}
.event-month{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.event-month button{width:40px;height:40px;border:1px solid #efe7da;background:none;font-size:22px;color:#123e5a;border-radius:2px}
.event-month span{font:italic 18px/1 Fraunces,serif;color:#123e5a}
.event-date-options{display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto;padding:8px 10px 12px}
.event-date-options button{width:100%;min-height:58px;border:1px solid #efe7da;background:#fff;padding:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#3f3f29;box-shadow:0 8px 18px rgba(18,62,90,.14)}
.event-date-options button[aria-pressed=true]{border-color:#123e5a;background:#123e5a0d}
.event-date-options small{font-size:10px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;color:#3f3f2999}
.event-date-options strong{font:400 italic 16px/1 Fraunces,serif;margin-bottom:2px}
.event-date-options small:last-child{font-size:9px}
.event-guest-counter{height:48px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border:1px solid #efe7da;color:#123e5a;font-size:16px;font-weight:500}
.event-guest-counter button{background:none;border:0;padding:8px;font-size:20px}
.event-price-line,.event-total{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px;color:#3f3f29}
.event-total{border-top:1px solid #efe7da;padding-top:16px;margin-top:16px;font-size:16px;color:#123e5a}
.event-total strong{font:italic 24px Fraunces,serif}
.event-reservation-body .event-price-unconfirmed{border-top:1px solid #efe7da;padding-top:16px;font-size:13px}
.event-continue{width:100%;min-height:52px;border:0;background:#a8b89a;color:#123e5a;font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;margin-top:16px}
.event-reservation .account-create{display:flex;width:100%;margin-top:0}
.stay-checkout .account-forgot{display:inline-block;margin:4px 0 0;font-size:13px;letter-spacing:0;text-transform:none;color:#123e5a;text-decoration:underline}
.event-continue:disabled{opacity:.5}
.event-summary{padding-bottom:24px;border-bottom:1px solid #efe7da;display:flex;flex-direction:column;gap:4px;color:#123e5a;font-size:15px}
.event-summary .event-label{margin-bottom:0}
.event-supporting{font-size:16px;line-height:1.625;color:#3f3f29d9;margin-bottom:40px}
.event-back{border:0;background:none;font-size:11px;color:#7f9275;letter-spacing:.1em;text-transform:uppercase;margin-bottom:32px;padding:0}
.event-details h2{font-size:32px;line-height:1.25;margin-bottom:32px}
.event-details>p{font-size:15px;color:#3f3f29b3;margin-bottom:32px}
#event-guest-form{display:grid;grid-template-columns:1fr 1fr;gap:24px}
#event-guest-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#3f3f29b3;font-style:normal}
#event-guest-form input{height:48px;padding:0 16px;border:1px solid #efe7da;background:white;color:#123e5a;font-size:16px}
#event-guest-form input[aria-invalid=true]{border-color:#ef444480;background:#fef2f280}
.field-error{font-size:11px;color:#ef4444;text-transform:none;letter-spacing:normal}
.field-error:empty{display:none}
.event-handoff{padding:80px 24px;text-align:center;background:white;border:1px solid #efe7da;box-shadow:0 1px 2px #0001}
.handoff-check{width:64px;height:64px;border-radius:50%;margin:0 auto 24px;display:grid;place-items:center;background:#a8b89a33;color:#7f9275;font-size:32px}
.event-handoff h2{font-size:40px;line-height:1.25;margin-bottom:16px;scroll-margin-top:124px}
.event-handoff>p{max-width:400px;margin:0 auto 32px;font-size:15px;line-height:1.625;color:#3f3f29cc}
.event-handoff dl{max-width:400px;margin:0 auto 32px;border-block:1px solid #efe7da}
.event-handoff dl>div{display:flex;justify-content:space-between;gap:24px;padding:12px 0;border-bottom:1px solid #efe7da}
.event-handoff dt{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#3f3f2999;text-align:left}
.event-handoff dd{font-size:14px;text-align:right;color:#123e5a}
.handoff-actions{max-width:400px;display:flex;gap:16px;margin:auto}
.handoff-actions>a,.handoff-actions>button{flex:1;display:flex;align-items:center;justify-content:center;min-height:52px;padding:16px;border:1px solid #123e5a33;background:none;color:#123e5a;font-size:11px;text-transform:uppercase;letter-spacing:.2em}
@media(max-width:1279px){.event-flow.in-details .event-flow-grid,.event-flow.in-handoff .event-flow-grid{grid-template-columns:1fr 400px}}
@media(max-width:1023px){
 body:is([data-kind=beach],[data-kind=accommodation],[data-kind=menu]) .v3-booking-cta{padding-block:80px}
 body:is([data-kind=beach],[data-kind=accommodation],[data-kind=menu]) .v3-booking-cta h2{font-size:44px}
 body:is([data-kind=beach],[data-kind=accommodation],[data-kind=menu]) .v3-editorial-hero-copy{padding-left:40px}.v3-editorial-hero-copy h1{font-size:48px}
 .landing-stay,.beach-gallery-section,body[data-kind=beach] :is(.v3-light-chapter,.v3-dark-chapter,.v3-pet-water),.menu-dining-story{padding:80px 0}
 .landing-split,#villarosa .landing-split{flex-direction:column;gap:40px}
 #balaa .landing-stay-image,#villarosa .landing-stay-image,#chalet .landing-stay-image{width:100%;height:460px}.landing-copy{width:100%}.landing-stay h2,.landing-cinematic h2,.menu-dining-story h2{font-size:40px}
 .landing-cinematic{align-items:flex-end}.landing-cinematic>.v3-wide{padding-bottom:40px}.landing-room-pair{gap:32px}
 .landing-pet>.v3-wide{gap:64px}.landing-pet .landing-stay-actions{flex-direction:row}
 body[data-kind=beach] .v3-chapter-heading{grid-template-columns:1fr;gap:32px}
 body[data-kind=beach] .v3-chapter-split,body[data-kind=beach] #family-pool .v3-chapter-split,body[data-kind=beach] #pet-friendly-pool .v3-chapter-split{grid-template-columns:1fr;gap:40px}
 body[data-kind=beach] #adult-pool .v3-rotating-photo{order:-1}
 body[data-kind=beach] :is(.v3-chapter-photo,.v3-rotating-photo){height:58vw;max-height:520px}
 body[data-kind=beach] #pet-friendly-pool img{height:62vw;max-height:500px}
 body[data-kind=beach] .v3-chapter-heading h2,body[data-kind=beach] .v3-chapter-copy h2,.beach-gallery-section h2{font-size:40px}
 .beach-gallery-grid{gap:16px;grid-auto-rows:220px}
 .v3-event-grid{grid-template-columns:1fr 1fr}.v3-events-header h1{font-size:48px}.v3-events-header{padding-inline:40px}.v3-events-list{padding-inline:40px}
 .event-flow{padding:136px 40px 48px}.event-flow.in-details .event-flow-grid,.event-flow.in-handoff .event-flow-grid{grid-template-columns:1fr;gap:40px}
 .menu-content-inner{padding-inline:40px}.menu-chapter-image{margin-inline:-40px;width:calc(100% + 80px)}
}
@media(max-width:767px){
 #terms.transaction-section{padding-block:64px}
 body:is([data-kind=beach],[data-kind=accommodation],[data-kind=menu]) .v3-booking-cta{padding-block:64px}
 body:is([data-kind=beach],[data-kind=accommodation],[data-kind=menu]) .v3-booking-cta h2{font-size:34px}
 [data-menu-content=drinks] .menu-two-columns{grid-template-columns:1fr 1fr}
 body:is([data-kind=beach],[data-kind=accommodation],[data-kind=menu]) .v3-editorial-hero{height:85svh;min-height:540px}
 body:is([data-kind=beach],[data-kind=accommodation],[data-kind=menu]) .v3-editorial-hero-copy{padding:120px 24px 56px}
 .v3-editorial-hero-copy h1{font-size:36px}.v3-editorial-hero-copy .v3-eyebrow{font-size:10px}.v3-editorial-hero-copy .v3-rule{margin-block:20px}.v3-editorial-hero-copy>p:last-child{font-size:14px;max-width:360px}
 .transaction-hero{height:300px}.transaction-hero>div{padding:0 24px 32px}.transaction-hero h1{font-size:30px}.transaction-hero .v3-eyebrow{font-size:10px}.transaction-hero p:last-child{font-size:13px}
 .transaction-section{padding:12px 0}.transaction-wide{padding-inline:20px}.transaction-wide>h2{font-size:32px}.stay-panel{padding:28px 20px}.stay-panel h3{font-size:26px}
 .calendar-months{padding:16px;gap:0}.calendar-month:nth-child(2){display:none}.stay-calendar>header,.stay-calendar>footer{padding-inline:16px}.stay-calendar>footer button{padding-inline:16px}
 .transaction-terms{padding-inline:20px}.transaction-terms h2{font-size:28px}.terms-stack summary{font-size:13px;padding-inline:20px}.terms-stack ul{font-size:13px;padding-left:36px;padding-right:20px}
 .booking-help{padding:64px 20px}.booking-help h2{font-size:28px}
 .menu-type-tabs{gap:32px}.menu-type-tabs button{font-size:11px}.menu-category-tabs{padding-inline:16px}.menu-category-tabs button{font-size:10px}
 .menu-content{padding-block:48px}.menu-content-inner{padding-inline:20px}.menu-two-columns{grid-template-columns:1fr}.menu-item h3{font-size:16px}.menu-item p,.menu-price{font-size:12px}.menu-chapter-image{margin-inline:-20px;width:calc(100% + 40px)}
 .menu-price-note{padding-inline:20px;font-size:11px}.menu-dining-story{padding:64px 0}.menu-dining-story>.v3-wide{grid-template-columns:1fr;gap:40px}.menu-dining-story h2{font-size:32px}.menu-dining-story p:not(.v3-eyebrow){font-size:14px}
 .landing-stay,.beach-gallery-section,body[data-kind=beach] :is(.v3-light-chapter,.v3-dark-chapter,.v3-pet-water){padding:64px 0}
 .landing-stay h2,.landing-cinematic h2{font-size:32px}.landing-room-pair{grid-template-columns:1fr;margin-top:40px}.landing-room-pair h3{font-size:26px}.landing-stats dd{font-size:14px}
 .landing-pet{padding:56px 0}.landing-pet>.v3-wide{flex-direction:column;gap:40px}.landing-pet img{width:100%;max-width:430px}.landing-pet .v3-wide>div:not(.landing-stay-actions){width:100%}.landing-pet h3{font-size:26px}.landing-pet p:not(.v3-eyebrow){font-size:14px}
 body[data-kind=beach] .v3-chapter-heading h2,body[data-kind=beach] .v3-chapter-copy h2,.beach-gallery-section h2{font-size:32px}
 body[data-kind=beach] .v3-chapter-heading{margin-bottom:40px}.beach-gallery-section h2{margin-bottom:40px}
 body[data-kind=beach] :is(.v3-light-chapter,.v3-dark-chapter,.v3-pet-water,.beach-gallery-section) .v3-eyebrow{margin-bottom:24px}
 body[data-kind=beach] .v3-chapter-heading p,body[data-kind=beach] .v3-chapter-copy p:not(.v3-eyebrow){font-size:14px}
 body[data-kind=beach] :is(.v3-chapter-photo,.v3-rotating-photo),body[data-kind=beach] #pet-friendly-pool img{max-height:420px}
 .beach-gallery-grid{display:flex;flex-direction:column;gap:12px}.beach-gallery-grid button{height:240px;flex-shrink:0}.beach-gallery-grid button:nth-child(3n+2){height:420px}
 .v3-events-header{padding:140px 24px 64px}.v3-events-header h1{font-size:36px}.v3-events-header>p:last-child{font-size:14px}
 .v3-events-list{padding:64px 20px}.v3-event-grid{grid-template-columns:1fr;gap:32px}.v3-event-grid article>div{padding:24px}
 .event-flow{padding:120px 20px 32px}.event-reservation>header,.event-reservation-body{padding:24px}.event-supporting{font-size:15px}
 .event-back{margin-bottom:24px}.event-handoff{padding:32px 24px}.event-handoff h2{font-size:32px}.event-handoff>p,.event-handoff dl{margin-bottom:20px}.event-handoff dl>div{padding:8px 0}
}
@media(max-width:639px){
 [data-menu-content=drinks] .menu-two-columns{grid-template-columns:1fr}
 .account-row,.accept-row{flex-direction:column;align-items:flex-start}.accept-row{gap:16px}.booking-help>div{flex-direction:column;align-items:center;gap:16px}
 .account-dialog{width:100%;max-width:none;max-height:100svh;margin: auto 0 0;padding:32px 24px}
 .landing-stay-actions,.landing-pet .landing-stay-actions{flex-direction:column;align-items:flex-start}.landing-stats{grid-template-columns:1fr 1fr}
 .beach-cta-actions{flex-direction:column}#event-guest-form{grid-template-columns:1fr}.handoff-actions{flex-direction:column;gap:12px}
}
@media(prefers-reduced-motion:reduce){
 .landing-stay-image img,.beach-gallery-grid img,.v3-slideshow-images img,.v3-rotating-photo img{transition:none!important}
 .landing-stay-image:hover img,.beach-gallery-grid button:hover img{transform:none}
}
.availability-results{margin-top:28px}
.availability-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:180px;padding:32px 16px;background:#fff;border:1px solid #efe7da;color:#123e5a;font-style:normal}
.availability-spinner{width:42px;height:42px;border:3px solid #efe7da;border-top-color:#123e5a;border-radius:50%;animation:availability-spin .8s linear infinite}
.availability-loader p{margin:0;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-style:normal}
.availability-loader-error{margin:0;padding:24px;background:#fff;border:1px solid #efe7da;color:#123e5a;font-style:normal}
@keyframes availability-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.availability-spinner{animation:none}}
.stay-results{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}
.availability-grid{display:grid;gap:18px;width:100%}
.availability-card{display:grid;grid-template-columns:minmax(320px,46%) minmax(0,1fr);align-items:stretch;background:#fff;border:1px solid #efe7da;overflow:hidden}
.availability-card .availability-photo-scroll{width:100%;height:100%;min-height:230px;max-height:none;align-self:stretch}
.availability-card .room-photo-track{position:absolute;inset:0;height:100%;max-height:none}
.availability-card img{width:100%;height:100%;min-height:0;max-height:none;object-fit:cover;object-position:center}
.room-photo-scroll{position:relative;overflow:hidden;container-type:inline-size}
.room-photo-track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.room-photo-track::-webkit-scrollbar{display:none}
.room-photo-track img,.v3-portrait-link.room-photo-scroll .room-photo-track > img{position:relative;inset:auto;flex:0 0 100cqw;width:100cqw;min-width:100cqw;height:100%;max-width:none;margin:0;object-fit:cover;object-position:center;scroll-snap-align:start;transform:none}
.v3-portrait-link.room-photo-scroll:hover .room-photo-track > img{transform:none}
.room-photo-scroll .v3-round-arrow{width:36px;height:36px;font-size:22px;z-index:3}
.room-photo-prev{left:10px}
.room-photo-next{right:10px}
.availability-photo-scroll{height:220px;background:#e8e0d2}
.v3-portrait-link.room-photo-scroll,.landing-stay-image.room-photo-scroll{display:block}
.landing-cinematic-photos{position:absolute;inset:0;height:auto}
.landing-cinematic-photos .room-photo-track{height:100%}
.availability-copy{padding:20px 22px;display:grid;gap:12px;align-content:center}
.availability-card .event-label{margin-bottom:0}
.availability-card .event-guest-counter{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 16px;border:1px solid #efe7da;background:#fff;color:#123e5a;font-size:16px;font-weight:500;font-style:normal}
.availability-card .event-guest-counter button{width:40px;height:40px;margin:0;padding:0;border:0;background:none;color:#123e5a;font:500 22px/1 Outfit,Arial,sans-serif;letter-spacing:0;text-transform:none}
.availability-card .event-guest-counter span{min-width:24px;text-align:center}
.availability-card .event-price-line{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:0;font-size:14px;color:#3f3f29}
.availability-card .room-stay-summary{display:block;width:100%;margin:5px;padding:0;border:0;color:#123e5a;font-size:15px;font-weight:500;font-style:normal}
.availability-card .room-stay-price{font-weight:700;color:#d21506}
.room-price-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-top:8px;border-top:1px solid #efe7da}
.room-unit-price,.room-quote{display:grid;gap:4px}
.room-quote{text-align:right;justify-items:end}
.room-unit-price strong,.room-quote strong{font-weight:500;color:#123e5a;font-size:16px}
.room-total-line{margin:0;font-size:14px;color:#3f3f29}
.room-quote[hidden]{display:none}
.room-book-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.room-how-many-wrap{flex:1 1 auto;min-width:0;display:grid;gap:8px}
.room-how-many{width:100%;height:48px;padding:0 12px;border:1px solid #efe7da;background:#fff;color:#123e5a;font:500 16px/1 Outfit,Arial,sans-serif;font-style:normal;cursor:pointer;transition:border-color .2s,background-color .2s,box-shadow .2s}
.room-how-many:disabled,.room-how-many:disabled:hover{cursor:not-allowed;color:#d21506;background:#faf6ef;border-color:#efe7da;box-shadow:none;opacity:1}
.date-trigger,#event-guest-form input:not([type=checkbox]),#event-guest-form select,.stay-checkout .guest-access input{transition:border-color .2s,background-color .2s,box-shadow .2s}
.date-trigger:hover,.room-how-many:hover,#event-guest-form input:not([type=checkbox]):hover,#event-guest-form select:hover,.stay-checkout .guest-access input:hover{border-color:#123e5a;background:#f4f8f5;box-shadow:0 0 0 3px #a8b89a66}
.event-continue,.transaction-button,.transaction-outline{transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s}
.event-continue:hover:not(:disabled),.availability-card .room-reserve:hover:not(:disabled){background:#8ea383;box-shadow:0 0 0 3px #a8b89a73}
.transaction-button:hover:not(:disabled),.stay-results .selection-continue:hover:not(:disabled){background:#0d2e42;box-shadow:0 0 0 3px #123e5a40}
.transaction-outline:hover:not(:disabled){border-color:#123e5a;background:#123e5a14;box-shadow:0 0 0 3px #123e5a22}
.calendar-grid button:hover:not(:disabled){background:#a8b89a40;border-radius:6px}
.availability-card .room-book-row .room-reserve{width:auto;flex:0 0 auto;margin:0;min-height:48px;padding:0 22px}
.availability-card h4{font-family:Fraunces,Georgia,serif;font-style:italic;font-weight:300;font-size:24px;color:#123e5a;margin:0 0 6px}
.availability-card p{margin:0;color:#3f3f29cc;font-size:14px}
.reservation-selected .event-label{margin-bottom:12px}
.stay-results .event-reservation>header{display:flex;align-items:center;justify-content:center;gap:10px;padding:20px 24px}
.stay-results .event-reservation h3{margin:0}
.stay-results .selection-cart{flex:0 0 auto}
.stay-results .event-reservation-body{gap:12px;padding:16px}
.stay-results .reservation-dates,.stay-results .reservation-selected{display:grid;gap:4px}
.stay-results .event-reservation-body .event-label,.stay-results .reservation-selected .event-label{margin:0}
.stay-results .event-reservation-body p{margin:0}
.stay-results .event-total{margin-top:4px;padding-top:12px}
.stay-results .selection-continue{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:0;background:#123e5a;color:#faf6ef;box-shadow:0 8px 20px rgba(18,62,90,.22)}
.stay-results .selection-continue:disabled{background:#a8b89a;color:#123e5a;box-shadow:none;opacity:.5}
.reservation-rooms{display:grid;gap:12px}
.reservation-room{display:grid;gap:4px}
.reservation-rooms .event-price-line{margin:0}
.reservation-tax{font-size:13px;color:#3f3f29a6}
.reservation-empty{margin:0;font-size:13px;color:#3f3f29a6}
.stay-actions{display:grid;gap:12px;justify-items:center;align-content:start;position:static;width:100%;max-width:450px;margin-inline:auto;text-align:center}
.stay-selection-note{margin:0;color:#9b3a2f;font-size:13px;font-style:normal;font-weight:500;text-align:center}
.stay-actions .selection-continue,.stay-actions .transaction-outline{width:100%;margin-inline:auto;margin-top:0;text-align:center}
.stay-results .event-reservation{position:sticky;top:140px}
.stay-checkout .event-details{display:block}
.stay-checkout .event-details .v3-eyebrow{margin-bottom:8px}
.stay-checkout .event-price-line{margin-bottom:12px}
.stay-checkout .event-reservation .event-price-line {
    margin-bottom: -20px
}
.stay-checkout #event-guest-form{display:grid;grid-template-columns:1fr;gap:16px}
.stay-checkout #event-guest-form input{height:34px;padding:0 12px}
.stay-checkout #event-guest-form select{height:34px;padding:0 12px;border:1px solid #efe7da;background:#fff;color:#123e5a;font:400 16px/1 Outfit,Arial,sans-serif}
.stay-checkout #event-guest-form .stay-agree{display:flex;flex-direction:row;align-items:center;gap:10px;text-transform:none;letter-spacing:0;font-size:14px;line-height:1.4;color:#3f3f29}
.stay-checkout #event-guest-form .stay-agree input{width:18px;height:18px;margin:0;padding:0;flex:0 0 18px;border:1px solid #efe7da}
.stay-checkout .checkout-paths{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}
.guest-code-wait{margin:0;font-size:13px;line-height:1.4;color:#123e5a}
.stay-checkout .guest-access{display:grid;gap:8px;width:100%}
.stay-checkout .guest-access .event-label{display:grid;gap:6px;margin:0;text-transform:none;letter-spacing:0;font-size:13px;color:#123e5a}
.stay-checkout .guest-access input{height:34px;min-height:34px;border:1px solid #efe7da;padding:0 12px;background:#fff;color:#123e5a}
.guest-stays-access{display:grid;gap:12px;max-width:420px}
.guest-stays-access .event-label{display:grid;gap:6px;margin:0;text-transform:none;letter-spacing:0;font-size:13px;color:#123e5a}
.guest-stays-access input{min-height:44px;border:1px solid #efe7da;padding:0 12px;background:#fff;color:#123e5a}
.stay-checkout .checkout-paths .transaction-outline{width:auto;min-height:32px;padding:0 10px;font-size:10px;letter-spacing:.06em;white-space:nowrap}
.stay-checkout .checkout-paths .is-selected{background:#123e5a;color:#fff}
body[data-route="/Booking/Checkout"] #main-content *{font-style:normal}
body[data-route="/Booking/Checkout"] :is(h2,h3,.event-total strong){font-style:italic}
body[data-route^="/Account/"] #main-content *{font-style:normal}
body[data-route^="/Account/"] :is(h2,h3,.event-total strong){font-style:italic}
body[data-route="/Booking/MangeBooking"] #main-content *,
body[data-route="/Booking/ChangeDate"] #main-content *,
body[data-route="/Booking/CancelStay"] #main-content *,
body[data-route="/Booking/DateChangeCheckout"] #main-content *,
body[data-route="/Booking/DateChangePayment"] #main-content *,
body[data-route="/Booking/Confirmation"] #main-content *,
body[data-route="/Booking/PaymentFailed"] #main-content *,
body[data-route="/Booking/PaymentConfirmation"] #main-content *,
body[data-route="/Booking/PaymentResponseCancel"] #main-content *,
body[data-route="/Booking/FiservPaymentNetwork"] #main-content *,
body[data-route="/Booking/ReservationPayment"] #main-content *,
body[data-route="/Booking/MembershipConfirmation"] #main-content *,
body[data-route="/Booking/NetworkTicketPayment"] #main-content *,
body[data-route="/Booking/MembershipPayment"] #main-content *,
body[data-route="/Booking/MembershipConfirmationDone"] #main-content *,
body[data-route="/Booking/TicketPayment"] #main-content *{font-style:normal}
body[data-route="/Booking/MangeBooking"] :is(h2,h3,.event-total strong),
body[data-route="/Booking/ChangeDate"] :is(h2,h3,.event-total strong),
body[data-route="/Booking/CancelStay"] :is(h2,h3,.event-total strong),
body[data-route="/Booking/DateChangeCheckout"] :is(h2,h3,.event-total strong),
body[data-route="/Booking/DateChangePayment"] :is(h2,h3,.event-total strong),
body[data-route="/Booking/Confirmation"] :is(h2,h3,.event-total strong),
body[data-route="/Booking/PaymentFailed"] :is(h2,h3,.event-total strong),
body[data-route="/Booking/PaymentConfirmation"] :is(h2,h3,.event-total strong),
body[data-route="/Booking/PaymentResponseCancel"] :is(h2,h3,.event-total strong),
body[data-route="/Booking/FiservPaymentNetwork"] :is(h2,h3,.event-total strong),
body[data-route="/Booking/ReservationPayment"] :is(h2,h3,.event-total strong),
body[data-route="/Booking/MembershipConfirmation"] :is(h2,h3,.event-total strong),
body[data-route="/Booking/NetworkTicketPayment"] :is(h2,h3,.event-total strong),
body[data-route="/Booking/MembershipPayment"] :is(h2,h3,.event-total strong),
body[data-route="/Booking/MembershipConfirmationDone"] :is(h2,h3,.event-total strong),
body[data-route="/Booking/TicketPayment"] :is(h2,h3,.event-total strong){font-style:italic}
body[data-route^="/Membership/"] #main-content *,
body[data-route^="/Career"] #main-content *,
body[data-route^="/blog"] #main-content *{font-style:normal}
body[data-route^="/Membership/"] #main-content :is(h1,h2,h3),
body[data-route^="/Career"] #main-content :is(h1,h2,h3),
body[data-route^="/blog"] #main-content :is(h1,h2,h3){font-style:italic}
body[data-route^="/blog"] #main-content :is(em,i,blockquote){font-style:italic}
.guest-account form{display:grid;gap:12px;margin-top:12px}
.guest-account label{display:grid;gap:6px;font-size:14px;color:#123e5a}
.guest-account input,.guest-account textarea{width:100%;height:48px;padding:0 16px;border:1px solid #efe7da;background:#fff;color:#123e5a;font:400 16px/1 Outfit,Arial,sans-serif}
.guest-account textarea{height:96px;padding:12px 16px;resize:vertical}
.policy-note{margin:12px 0 0;padding:12px 14px;background:#efe7da;color:#123e5a;font-size:14px;line-height:1.45}
.manage-actions{display:flex;flex-wrap:wrap;gap:12px}
.manage-actions .event-continue,.manage-actions .transaction-outline{width:auto;min-height:44px;padding:0 18px}
.manage-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
.manage-summary div{padding:16px 18px;background:#fff;border:1px solid #efe7da}
.manage-summary span{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#3f3f29a6}
.manage-summary strong{display:block;margin-top:4px;font-weight:500;color:#123e5a}
.manage-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}
.manage-choice{display:block;padding:24px;background:#fff;border:1px solid #efe7da;color:#123e5a}
.manage-choice span{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#7f9275}
.manage-choice strong{display:block;margin:8px 0;font:italic 300 28px/1.1 Fraunces,Georgia,serif}
.manage-choice p{margin:0;font-size:14px;line-height:1.45;color:#3f3f29cc}
@media(max-width:720px){.manage-summary,.manage-choices{grid-template-columns:1fr}}
.guest-account{max-width:880px;margin:0 auto;padding:156px 6% 72px}
.guest-account h2{font-size:40px;line-height:1.15;margin:0 0 12px}
.guest-account h3{font-size:24px;margin:32px 0 12px}
.guest-account .event-back{display:inline-block;margin-bottom:18px}
.guest-account-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.guest-account-actions .event-continue,.guest-account-actions .transaction-outline{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:44px;padding:0 18px;margin-top:0}
.account-tabs{display:flex;gap:8px;margin:18px 0 22px}
.account-tabs a{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1px solid #efe7da;background:#fff;color:#123e5a;letter-spacing:.04em}
.account-tabs a.is-active{background:#123e5a;color:#fff;border-color:#123e5a}
.reservation-list{display:grid;gap:12px}
.reservation-card{display:grid;grid-template-columns:1.4fr 1fr auto;gap:16px;align-items:center;padding:18px 20px;background:#fff;border:1px solid #efe7da;color:#123e5a}
.reservation-card.is-details{grid-template-columns:1fr;gap:12px}
.reservation-card.is-details div{display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.reservation-list .reservation-card.is-pending{background:#fff6e8;border-color:#e2c48a;box-shadow:inset 4px 0 0 #c4a15a}
.reservation-pages{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:20px}
.reservation-pages a,.reservation-pages span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:0 10px;border:1px solid #efe7da;background:#fff;color:#123e5a;font-size:14px}
.reservation-pages span{background:#123e5a;color:#fff;border-color:#123e5a}
.reservation-card span{display:block;font-size:12px;letter-spacing:.04em;color:#3f3f29a6}
.reservation-card strong{font-weight:500}
.checkout-signed-in{margin:0 0 8px;font-size:13px;color:#123e5a}
@media(max-width:720px){.reservation-card{grid-template-columns:1fr}.guest-account h2{font-size:32px}}
.stay-results .transaction-outline{width:100%}
@media(max-width:1023px){.stay-results{grid-template-columns:1fr}.stay-results .event-reservation,.stay-actions{position:static}}
@media(max-width:720px){.availability-card{grid-template-columns:1fr}.availability-card .availability-photo-scroll{height:210px;min-height:210px;max-height:210px}}
@media(max-width:767px){
 .v3-home-hero-copy .v3-actions{flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:6px;max-width:none;width:100%}
 .v3-home-hero-copy .v3-actions .v3-button{flex:1 1 0;width:auto;max-width:none;min-width:0;min-height:36px;height:auto;padding:8px 4px;font-size:8px;line-height:1.2;letter-spacing:.04em;white-space:normal;text-align:center}
 body[data-kind=home] .v3-booking-cta .v3-actions{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center}
 body[data-kind=home] .v3-booking-cta .v3-actions .v3-button{width:auto;max-width:none;min-height:40px;padding:10px 16px;font-size:10px}
}
.guest-account.apply-wide{max-width:1080px}
.apply-form{display:grid;gap:20px;margin-top:8px}
.apply-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}
.apply-grid .span-2{grid-column:1 / -1}
.apply-form label,.id-upload{display:grid;gap:8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#3f3f29b3}
.apply-form input:not([type=hidden]):not([type=file]),.apply-form select{width:100%;height:48px;padding:0 16px;border:1px solid #efe7da;background:#fff;color:#123e5a;font:400 16px/1 Outfit,Arial,sans-serif;text-transform:none;letter-spacing:normal}
.apply-form input[type=hidden],.apply-form input[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.membership-err{margin:0 0 8px;color:#9b3a2f;font-size:14px;letter-spacing:normal;text-transform:none}
.membership-err:empty{display:none}
.membership-err ul{margin:0;padding-left:18px}
.id-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.id-actions .transaction-outline{width:auto;min-height:40px;padding:0 14px}
.file-name{font-size:13px;letter-spacing:normal;text-transform:none;color:#123e5a}
.id-preview{max-width:220px;max-height:140px;object-fit:cover;border:1px solid #efe7da;background:#fff}
.photo-dialog{width:min(920px,calc(100% - 32px));border:0;padding:28px;background:#faf6ef;color:#123e5a}
.photo-dialog::backdrop{background:#123e5acc}
.photo-dialog h3{margin:0 0 16px;font:italic 300 28px/1.1 Fraunces,Georgia,serif}
.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.photo-grid img,.photo-grid #webcam{width:100%;min-height:180px;background:#fff;border:1px solid #efe7da}
.photo-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.photo-actions .event-continue,.photo-actions .transaction-outline{width:auto;min-height:40px;padding:0 14px;margin-top:0}
.membership-form .membership-card{background:transparent;border:0;box-shadow:none;padding:0}
.membership-form .membership-card__header{margin-bottom:8px}
.membership-form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;margin:0 0 16px}
.membership-form [class*="col-"]{width:auto;max-width:none;padding:0;float:none}
.membership-form .col-xs-12{grid-column:1 / -1}
.membership-form .form-group{margin:0}
.membership-form .form-control,.membership-form select{width:100%;height:48px;padding:0 16px;border:1px solid #efe7da;background:#fff;color:#123e5a;font:400 16px/1 Outfit,Arial,sans-serif}
.membership-form .membership-label{display:block;margin-bottom:8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#3f3f29b3}
.membership-form .btn{border:0;min-height:44px;padding:0 16px;letter-spacing:.12em;text-transform:uppercase;font-size:11px}
.membership-form .btn-success{background:transparent;color:#123e5a;border:1px solid #123e5a4d}
.membership-form .btn-primary{width:100%;background:#a8b89a;color:#123e5a}
.membership-form .id-card{position:relative;display:grid;gap:10px;padding:16px;background:#fff;border:1px solid #efe7da}
.membership-form input[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.membership-form .id-hint{margin:0;font-size:13px;line-height:1.4;letter-spacing:normal;text-transform:none;color:#3f3f29a6}
.membership-form .id-preview-frame{display:grid;place-items:center;min-height:168px;padding:12px;background:#faf6ef;border:1px dashed #123e5a33;overflow:hidden}
.membership-form .id-preview-frame.is-filled{border-style:solid;background:#fff}
.membership-form .id-preview-frame img{width:100%;max-height:200px;object-fit:contain}
.membership-form .id-preview-frame img[hidden],.membership-form .id-placeholder[hidden]{display:none}
.membership-form .id-placeholder{font-size:13px;letter-spacing:normal;text-transform:none;color:#3f3f29a6}
.membership-form .id-actions{display:flex;flex-wrap:wrap;gap:8px}
.membership-form .id-actions .transaction-outline{width:auto;min-height:40px;padding:0 14px}
.membership-form .file-name{min-height:18px;font-size:13px;letter-spacing:normal;text-transform:none;color:#123e5a}
.membership-form .file-name:empty{display:none}
.membership-form .login-error{font-size:12px;letter-spacing:normal;text-transform:none;color:#9b3a2f}
@media(max-width:720px){.membership-form .row{grid-template-columns:1fr}.membership-form .col-xs-12{grid-column:auto}}
.vacancy-list,.story-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.vacancy-card,.story-card{display:flex;flex-direction:column;gap:8px;padding:28px;background:#fff;border:1px solid #efe7da;color:#123e5a}
.vacancy-card h2,.story-card h2{margin:0;font:italic 300 28px/1.15 Fraunces,Georgia,serif}
.vacancy-card .transaction-outline,.story-card .transaction-outline{width:auto;margin-top:12px;align-self:flex-start}
.story-card .transaction-outline{margin-top:auto}
.vacancy-card p,.story-card p{margin:0;font-size:15px;line-height:1.5;color:#3f3f29cc}
.story-card .v3-eyebrow{margin:0;font-size:10px;letter-spacing:.2em;color:#7f9275}
.guest-account .story-list{margin-top:28px}
.story-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.story-card a,.vacancy-card a{color:#123e5a}
.story{max-width:760px;margin:0 auto;padding:156px 6% 80px}
.story .event-back{display:inline-block;margin-bottom:24px}
.story>h2{font-size:clamp(32px,4vw,48px);line-height:1.15;margin:0 0 24px;color:#123e5a}
.story-body{font-size:17px;line-height:1.7;color:#26261c}
.story-body :is(h1,h2,h3,h4){color:#123e5a;font-weight:300;line-height:1.25;margin:1.6em 0 .6em}
.story-body h2{font-size:32px}
.story-body h3{font-size:24px}
.story-body h4{font-size:20px}
.story-body :is(p,li){margin:0 0 1em}
.story-body :is(ul,ol){margin:0 0 1.25em;padding-left:1.25em}
.story-body a{color:#123e5a;text-decoration:underline}
.story-body blockquote{margin:1.5em 0;padding-left:1.25em;border-left:2px solid #a8b89a;color:#3f3f29}
.story-body img,.story figure img{display:block;width:100%;max-width:100%;height:auto;margin:1.5em auto}
.story figure{margin:0 0 24px}
.story-topics{margin-top:28px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#7f9275}
.story-topics span{letter-spacing:0;text-transform:none;color:#123e5a}
.job-copy{font-size:15px;line-height:1.6;color:#3f3f29d9}
.job-copy img{max-width:100%;height:auto}
#event-guest-form .span-2{grid-column:1 / -1}
#event-guest-form select{height:48px;padding:0 16px;border:1px solid #efe7da;background:#fff;color:#123e5a;font:400 16px/1 Outfit,Arial,sans-serif}
@media(max-width:720px){.apply-grid,.photo-grid,.vacancy-list,.story-list{grid-template-columns:1fr}}

.section-divider {
    border: 0;
    border-top: 1px solid #ddd;
    margin: 5px 0;
}

.stylish-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 10px 0px -10px 0px;
}

.divider-line {
    width: auto;
    flex: 1 1 0;
    min-width: 0;
    max-width: 150px;
    height: 1px;
    background: #c9a96e;
}

body[data-route="/Booking/Checkout"] .stay-checkout.event-flow{
  width:100%;
  max-width:1080px;
  margin-inline:auto;
  padding:156px clamp(16px,4vw,48px) 48px;
  box-sizing:border-box
}
body[data-route="/Booking/Checkout"] .stay-checkout .event-flow-grid{
  width:100%;
  max-width:100%;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,420px);
  gap:32px;
  justify-content:center
}
body[data-route="/Booking/Checkout"] .stay-checkout .event-details,
body[data-route="/Booking/Checkout"] .stay-checkout .event-reservation,
body[data-route="/Booking/Checkout"] .stay-checkout .event-reservation-body,
body[data-route="/Booking/Checkout"] .stay-checkout .checkout-paths,
body[data-route="/Booking/Checkout"] .stay-checkout .guest-access,
body[data-route="/Booking/Checkout"] .stay-checkout #event-guest-form,
body[data-route="/Booking/Checkout"] .stay-checkout #event-guest-form label{
  min-width:0;
  max-width:100%;
  width:100%
}
body[data-route="/Booking/Checkout"] .stay-checkout .event-reservation{
  justify-self:center
}
body[data-route="/Booking/Checkout"] .stay-checkout .event-reservation-body{
  padding:20px;
  box-sizing:border-box
}
body[data-route="/Booking/Checkout"] .stay-checkout .event-reservation-body>*{
  min-width:0;
  max-width:100%
}
body[data-route="/Booking/Checkout"] .stay-checkout #event-guest-form input:not([type=checkbox]),
body[data-route="/Booking/Checkout"] .stay-checkout #event-guest-form select,
body[data-route="/Booking/Checkout"] .stay-checkout .guest-access input{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box
}
body[data-route="/Booking/Checkout"] .stay-checkout .event-price-line,
body[data-route="/Booking/Checkout"] .stay-checkout .event-total{
  width:100%;
  min-width:0;
  max-width:100%;
  box-sizing:border-box
}
body[data-route="/Booking/Checkout"] .stay-checkout .event-price-line>span:first-child,
body[data-route="/Booking/Checkout"] .stay-checkout .event-total>span{
  min-width:0;
  overflow-wrap:anywhere
}
body[data-route="/Booking/Checkout"] .stay-checkout .event-price-line>span:last-child,
body[data-route="/Booking/Checkout"] .stay-checkout .event-total strong{
  flex:0 0 auto
}
body[data-route="/Booking/Checkout"] .stay-checkout .stylish-divider{
  width:100%;
  max-width:100%;
  min-width:0
}
body[data-route="/Booking/Checkout"] .booking-manage .transaction-wide{
  width:100%;
  max-width:1080px;
  margin-inline:auto;
  padding-inline:clamp(16px,4vw,40px);
  box-sizing:border-box
}
@media(max-width:900px){
  body[data-route="/Booking/Checkout"] .stay-checkout .event-flow-grid{grid-template-columns:minmax(0,1fr)}
  body[data-route="/Booking/Checkout"] .stay-checkout .event-reservation{position:static;max-width:640px}
}
@media(max-width:767px){
  body[data-route="/Booking/Checkout"] .stay-checkout.event-flow{padding:120px 16px 32px}
}

.divider-icon {
    margin: 0 18px;
    color: #c9a96e;
    font-size: 20px;
    line-height: 1;
}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=file]):not([type=button]):not([type=submit]):not([type=reset]),
select,
textarea,
.v3-button,
.button,
.btn,
.landing-book,
.landing-detail,
.nav-book,
.mobile-book,
.v3-submit-button,
.event-continue,
.transaction-button,
.transaction-outline,
.date-trigger,
.room-how-many{transition:border-color .2s,background-color .2s,color .2s,box-shadow .2s}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=file]):not([type=button]):not([type=submit]):not([type=reset]):hover,
select:hover,
textarea:hover,
.date-trigger:hover,
.room-how-many:hover{border-color:#123e5a;box-shadow:0 0 0 3px #a8b89a66}
.v3-button:hover,
.button:hover,
.btn:hover,
.landing-book:hover,
.landing-detail:hover,
.nav-book:hover,
.mobile-book:hover,
.v3-submit-button:hover,
.event-continue:hover:not(:disabled),
.transaction-button:hover:not(:disabled),
.transaction-outline:hover:not(:disabled),
.room-reserve:hover:not(:disabled){box-shadow:0 0 0 3px #a8b89a73}
#frmAddBooking #event-guest-form :is(input,select).is-invalid,
#frmAddBooking #event-guest-form :is(input,select)[aria-invalid=true]{border-color:#9b3a2f;background:#fdf2f0;box-shadow:0 0 0 3px #9b3a2f33}
#frmAddBooking #event-guest-form label.is-invalid{color:#9b3a2f}
#frmAddBooking #event-guest-form .stay-agree.is-invalid{outline:2px solid #9b3a2f;outline-offset:4px}
.guest-access [data-guest-email].is-invalid,
.guest-access [data-guest-email][aria-invalid=true],
.guest-access [data-guest-email].is-invalid:hover,
.guest-access [data-guest-email][aria-invalid=true]:hover{border-color:#9b3a2f;background:#fdf2f0;box-shadow:0 0 0 3px #9b3a2f33}
.guest-access label.is-invalid{color:#9b3a2f}