/* Shared layout: one content width, restrained colors, clear booking hierarchy. */
:root{--ink:#272723;--muted:#686862;--paper:#faf9f6;--line:#deddd7;--accent:#a92c62;--width:1320px;--gutter:clamp(20px,4vw,64px)}
body{max-width:none;background:var(--paper);color:var(--ink)}
.preview{display:none}
header{padding:18px max(var(--gutter),calc((100vw - var(--width))/2));gap:24px;background:#fff;border-bottom:1px solid var(--line)}
.brand img{width:132px}header nav{gap:24px}header nav a{font-size:13px}.languages{gap:5px}.languages a{padding:6px!important}.languages a[aria-current]{outline:1px solid var(--accent)}
.book{background:var(--accent);color:white;border-radius:3px;padding:14px 20px;font-size:13px}.book:hover{background:#87204d}
.hero{display:flex;flex-direction:column;min-height:0;background:var(--paper);padding:0 var(--gutter)}
.hero-copy,.booking,.hero-image.slideshow{width:100%;max-width:var(--width);margin-left:auto;margin-right:auto}
.hero-copy{display:grid;grid-template-columns:1.5fr 1fr;column-gap:70px;row-gap:18px;padding:48px 0 34px;background:transparent;align-items:center}
.hero-copy .eyebrow{grid-column:1/-1;font-size:10px;letter-spacing:.14em;color:var(--muted);margin:0}
.hero-copy h1{grid-column:1;grid-row:2;font-size:clamp(35px,3.7vw,58px);line-height:1.12;letter-spacing:-.045em;max-width:780px;margin:0}
.hero-copy .intro{grid-column:2;grid-row:2;font-size:15px;line-height:1.7;margin:0;max-width:410px;color:#52524d}
.hero-copy .textlink{grid-column:2;grid-row:3;font-size:12px;margin:0;justify-self:start}.hero-foot{grid-column:1;grid-row:3;font-size:9px;letter-spacing:.12em;color:var(--muted);margin:0;padding:0}
.booking{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;padding:25px 0 22px;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:none;background:transparent;margin-bottom:28px}
.booking .eyebrow{font-size:9px;color:var(--muted);margin:2px 0 8px}.booking h2{font-size:24px;line-height:1.2;white-space:normal}
.booking form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(120px,.72fr) auto;gap:12px;align-items:start}
.booking label{font-size:11px;letter-spacing:0;font-weight:600}.booking input,.booking select{height:46px;margin-top:6px;border:1px solid #cecec6;border-radius:3px;background:white;font-size:14px;padding:9px 11px}
.booking form>button{height:46px;margin-top:24px;font-size:12px;padding:10px 18px}.guest-group .children-control{margin-top:5px}.children-toggle{font-size:12px;font-weight:500;line-height:1.4}
.booking form .booking-promotion{grid-column:1/3;grid-row:2;margin:-22px 0 0;line-height:1.5}.booking-promotion strong{font-size:12px;font-weight:600}.booking-promotion span{font-size:10px;color:var(--muted);margin-top:2px}
#children-panel{grid-column:1/-1;grid-row:3;border:1px solid var(--line);border-radius:3px;padding:16px;background:white}
.hero-image.slideshow{height:auto;aspect-ratio:40/11;min-height:260px;overflow:hidden;background:#ecebe5}
.hero-image>.slide,.hero-image .slide img{object-fit:contain;object-position:center}.hero-image .event-slide img{width:100%;height:100%;inset:0;position:absolute}.event-slide{background:#ecebe5}
.hero-image .promo-slide{display:grid;grid-template-columns:1fr 1fr;background:#eee9e3}.hero-image .promo-slide>img{position:absolute;left:50%;top:0;width:50%;height:100%;object-fit:contain;background:#eee9e3}
.promo-copy{position:relative;inset:auto;grid-column:1;align-self:center;padding:24px 10% 65px;max-width:none;background:transparent;color:var(--ink)}.promo-copy h2{font-size:clamp(23px,2.4vw,36px);line-height:1.15;margin:0 0 12px}.promo-copy p{font-size:14px;line-height:1.5;margin:0 0 18px}.promo-copy .book{padding:11px 18px;font-size:12px}
.hero-image .image-caption{background:rgba(25,25,24,.38);left:20px;bottom:58px;padding:6px 10px;font-size:11px;width:max-content;max-width:calc(100% - 40px)}
.slide-controls{left:20px;right:20px;bottom:14px;gap:9px}.slide-controls button{height:29px;min-width:29px;padding:3px 7px;font-size:12px;background:#2228;border:0;border-radius:2px}.slide-dots{gap:7px}.slide-dots button{height:6px;min-width:6px;width:6px;padding:0;font-size:0;border-radius:50%;background:#ffffffb0}.slide-dots button[aria-pressed=true]{background:#d4729c}.slide-pause{min-width:68px!important}
.facts{max-width:var(--width);margin:0 auto;padding:24px 0;font-size:11px;border-bottom:1px solid var(--line)}
.section{padding:68px max(var(--gutter),calc((100vw - var(--width))/2));background:var(--paper)}h2{font-size:clamp(32px,3vw,46px)}.section-head{gap:40px}.section-head>p{font-size:14px;color:var(--muted)}
.room-grid{gap:28px}.room-grid article{border:0;background:white}.room-content{padding:24px}.room-content .eyebrow{color:var(--muted)}.room-content h3{font-size:27px}.room-content p{color:var(--muted);font-size:14px}.room-book{border-color:var(--line);font-weight:500;border-radius:3px}.room-type{height:260px;padding:30px;background:#eee5df;color:var(--ink)}.room-type.dark{background:#e4e6e0;color:var(--ink)}.room-type span{font-size:20px;color:var(--muted)}.room-type h3{font-size:31px}
.room-details{border-top:1px solid var(--line)}.category-details>summary,.faq-group>h3{font-size:25px}.category-rows h3{font-size:17px}.category-rows p{color:var(--muted)}
.hotel{background:#edece6;gap:65px}.hotel h2{font-size:clamp(36px,3.5vw,52px)}.hotel-body{font-size:14px}.hotel-body .lead{font-size:19px}.arrival{gap:65px}.full-faq{background:#f1f0eb}.faq-group summary{font-size:14px}.faq-group p{font-size:14px}.faq-index a{background:transparent;border-color:var(--line);font-size:12px}.guest-docs{background:#fff;padding:24px}.last-call{background:#e9d9df;padding:52px var(--gutter)}.last-call h2{font-size:44px}footer{padding:48px max(var(--gutter),calc((100vw - var(--width))/2)) 24px}
@media(max-width:1100px){header nav{gap:14px}header{gap:14px}.booking{grid-template-columns:1fr;gap:15px}.booking>div:first-child{display:flex;align-items:baseline;gap:18px}.booking .eyebrow{margin:0}.booking h2{font-size:23px}.hero-copy{column-gap:38px}.facts{margin:0 var(--gutter)}}
@media(max-width:700px){header{padding:12px 20px;gap:12px}.brand img{width:100px}.languages svg{width:24px;height:16px}.languages a{padding:5px!important}.topbook{padding:10px 12px;font-size:11px}.hero{padding:0 20px}.hero-copy{display:block;padding:29px 0 25px}.hero-copy .eyebrow{font-size:9px;line-height:1.6}.hero-copy h1{font-size:37px;margin:16px 0}.hero-copy .intro{font-size:14px;margin:0 0 13px}.hero-copy .textlink{font-size:12px}.hero-foot{display:none}.booking{padding:20px 0;margin-bottom:22px;gap:15px}.booking>div:first-child{display:block}.booking .eyebrow{display:none}.booking h2{font-size:24px}.booking form{grid-template-columns:1fr 1fr;gap:11px}.booking form .booking-promotion{grid-column:1/-1;grid-row:2;margin:0}.booking-promotion strong{font-size:11px}.booking-promotion span{font-size:10px}.guest-group{grid-row:3;grid-column:1}.booking form>button{grid-row:3;grid-column:2;margin-top:24px;padding:8px;font-size:11px}.booking input,.booking select{font-size:16px}#children-panel{grid-row:4}.hero-image.slideshow{height:290px;aspect-ratio:auto;min-height:0}.promo-copy{padding:18px 14px 55px}.promo-copy h2{font-size:22px}.promo-copy p{font-size:12px}.promo-copy .book{font-size:11px;padding:9px}.hero-image .image-caption{font-size:10px;left:12px;max-width:calc(100% - 24px)}.slide-controls{left:12px;right:12px;gap:6px}.slide-dots{gap:5px}.slide-pause{min-width:52px!important}.facts{margin:0 20px;padding:20px 0;font-size:10px;gap:10px}.section{padding:45px 20px}.room-grid{gap:24px}.hotel,.arrival{gap:25px}.hotel h2{font-size:36px}.footer-main{gap:25px}.last-call h2{font-size:36px}}
@media(max-width:380px){header{gap:7px}.brand img{width:85px}.languages{gap:2px}.topbook{padding:9px}.promo-copy h2{font-size:19px}}

/* Compact child occupancy editor. */
.booking form #children-panel{width:310px;max-width:100%;justify-self:end;padding:12px;grid-column:1/-1;background:transparent;border:0;margin:0}.booking #children-panel>select{width:130px;height:38px;margin-top:4px;font-size:13px}.booking #children-ages{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}.booking #children-ages label:only-child{grid-column:1/-1;max-width:210px}.booking #children-ages select{height:38px;margin-top:4px;padding:7px 9px;font-size:13px}.booking #children-panel p{font-size:10px;line-height:1.5;margin-top:10px;max-width:285px}@media(max-width:700px){.booking form #children-panel{width:100%;padding:8px 0;justify-self:start}.booking #children-panel>select,.booking #children-ages select{font-size:16px}.booking #children-ages label:only-child{max-width:180px}}

/* Keep child details anchored beneath the adult selector. */
.booking form #children-panel{grid-column:3/5;grid-row:2;justify-self:start;align-self:start;width:280px;padding:0;margin:0}.booking #children-panel p{max-width:260px}.booking #children-ages{margin-top:7px}@media(max-width:700px){.booking form #children-panel{grid-column:1/-1;grid-row:4;width:280px;max-width:100%;padding:0;margin-top:0}}

.more-categories{text-align:center;margin-top:20px}.more-categories a{display:inline-block;font-size:11px;padding:6px 12px;border:1px solid var(--line);border-radius:3px;text-decoration:none}.more-categories a:hover{border-color:var(--accent);color:var(--accent)}.rooms-page-heading{padding-bottom:0}.rooms-page-heading h1{font-size:44px;margin-bottom:0}.rooms-page-heading+.room-details{border:0;padding-top:32px}.rooms-page-booking{padding:0 var(--gutter) 45px}
