/* NEW76: shared brand, purposeful reservation workspace. Dials 4 / 2 / 4. */
body.booking-premium .n29-hero{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:70px;width:min(1200px,calc(100% - 64px));margin:auto;padding:48px 0 56px;background:#fff;min-height:0}
body.booking-premium .n29-hero-copy{padding:0}
body.booking-premium .n29-hero h1{font-size:76px;line-height:1.15;letter-spacing:-.065em;color:#152e47;margin:0}
body.booking-premium .n29-hero .n29-eyebrow{font-size:14px;letter-spacing:.1em;color:#24736b;margin:0 0 24px}
body.booking-premium .n29-hero .n29-intro:empty{display:none}
body.booking-premium .booking-hero-image{display:block;width:100%;height:260px;object-fit:cover;object-position:65% 65%;border-radius:20px}
body.booking-premium .n29-chapters{background:#fff;border-block:1px solid #dce3e9;box-shadow:none;color:#152e47}
body.booking-premium .n29-chapters a{color:#536b80;min-height:62px;padding:18px 24px;font-size:17px;border-color:#dce3e9}
body.booking-premium .n29-chapters a[aria-current=location]{background:#152e47;color:#fff}
body.booking-premium .rn-content{background:#f2f5f7}
body.booking-premium .rn-booking-reviewed{display:block;background:transparent;width:min(1200px,calc(100% - 64px));margin:auto;padding:56px 0 72px}
body.booking-premium .booking-workspace{display:grid;grid-template-columns:1fr 1fr;border-radius:24px;background:#fff;box-shadow:0 16px 48px #152e470a;overflow:hidden;border:1px solid #dce3e9}
body.booking-premium .booking-date-pane{padding:40px;background:#edf2f5;border-right:1px solid #dce3e9}
body.booking-premium .booking-details-pane{padding:40px;min-width:0}
body.booking-premium .rn-booking-reviewed .booking-field-heading{font-size:30px;line-height:1.4;font-weight:800;letter-spacing:-.04em;color:#152e47;margin:0 0 30px}
body.booking-premium .rn-booking-reviewed .mjs-booking-calendar{padding:0;border:0;border-radius:0;background:transparent;margin:0}
body.booking-premium .rn-booking-reviewed .mjs-calendar-month{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0;margin:0 0 22px;font-size:25px;color:#152e47}
body.booking-premium .rn-booking-reviewed .mjs-calendar-month strong{color:#152e47}
body.booking-premium .rn-booking-reviewed .mjs-calendar-month button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid #ccd7df;border-radius:50%;background:transparent;color:#152e47;font:26px/1 Arial,sans-serif}
body.booking-premium .rn-booking-reviewed .mjs-calendar-month button:disabled{opacity:.4;background:transparent}
body.booking-premium .rn-booking-reviewed .mjs-calendar-grid{border:0;gap:6px;grid-template-rows:34px repeat(var(--mjs-calendar-weeks,5),54px);grid-auto-rows:54px}
body.booking-premium .rn-booking-reviewed .mjs-calendar-grid>*{padding:0;border:0;border-radius:10px;background:transparent;font-size:20px;color:#152e47}
body.booking-premium .rn-booking-reviewed .mjs-calendar-grid>b{background:transparent;color:#536b80;font-size:16px;font-weight:600}
body.booking-premium .rn-booking-reviewed .mjs-calendar-grid button:disabled{background:transparent;color:#9cabb7}
body.booking-premium .rn-booking-reviewed .mjs-calendar-grid button:not(:disabled){background:#fff;box-shadow:0 2px 4px #152e4705}
body.booking-premium .rn-booking-reviewed .mjs-calendar-grid button:not(:disabled):hover{outline:1px solid #24736b;color:#24736b}
body.booking-premium .rn-booking-reviewed .mjs-calendar-grid button.selected{background:#152e47;color:#fff;box-shadow:0 5px 12px #152e4726}
body.booking-premium .rn-booking-reviewed [data-calendar-selection]{background:#fff;border-radius:10px;padding:16px 18px;margin:24px 0 0;font-size:18px;line-height:1.6;color:#24736b;font-weight:700}
body.booking-premium .rn-booking-reviewed .mjs-booking-warning{padding:22px 0 0;margin:0;color:#536b80;font-size:16px;line-height:1.8}
body.booking-premium .rn-booking-reviewed .mjs-booking-fields{display:grid;gap:22px;background:none;padding:0;border:0;border-radius:0;margin:0}
body.booking-premium .rn-booking-reviewed .mjs-booking-fields .booking-field-heading{margin-bottom:4px}
body.booking-premium .rn-booking-reviewed .mjs-booking-fields>div{display:block;padding:0;border:0}
body.booking-premium .rn-booking-reviewed .mjs-booking-fields>div>b{font-size:18px;line-height:1.5;margin:0 0 10px;font-weight:750;color:#152e47}
body.booking-premium .rn-booking-reviewed :is(input:not([type=checkbox]),select){height:54px;min-height:54px;border:1px solid #d4dfe7;border-radius:8px;background:#fff;font-size:18px;padding:10px 12px;color:#152e47;transition:border-color .15s,box-shadow .15s}
body.booking-premium .rn-booking-reviewed :is(input:not([type=checkbox]),select):focus{border-color:#24736b;outline:2px solid #24736b22;outline-offset:1px;background:#fff}
body.booking-premium .rn-booking-reviewed .mjs-booking-birth{grid-template-columns:1.2fr 1fr 1fr;gap:8px}
body.booking-premium .rn-booking-reviewed .mjs-booking-birth>span{gap:5px}
body.booking-premium .rn-booking-reviewed .mjs-booking-birth small{font-size:16px;color:#536b80}
body.booking-premium .rn-booking-reviewed .mjs-booking-phone{gap:7px;font-size:17px}
body.booking-premium .rn-booking-reviewed .mjs-booking-consent{border:0;border-top:1px solid #e3e9ed;border-radius:0;background:none;margin:28px 0 24px;padding:22px 0 0}
body.booking-premium .booking-consent-row{display:flex;align-items:center;flex-wrap:nowrap;gap:12px}
body.booking-premium .booking-consent-row .mjs-booking-agree{align-items:center;flex:1;min-width:0;margin:0;font-size:16px;font-weight:500;line-height:1.7;gap:10px}
body.booking-premium .rn-booking-reviewed .mjs-booking-agree input{accent-color:#152e47;width:22px;height:22px;flex:0 0 22px;margin:0}
body.booking-premium .booking-consent-open{display:block;flex-shrink:0;white-space:nowrap;margin:0;padding:0;border:0;border-radius:0;background:none;color:#24736b;font-size:15px;line-height:1.8;font-weight:700;text-decoration:underline;text-underline-offset:4px}
body.booking-premium .rn-booking-reviewed .mjs-booking-apply{width:100%;max-width:none;min-height:60px;margin:0;padding:16px 24px;border:0;border-radius:10px;background:#152e47;color:white;font-size:21px;font-weight:750;box-shadow:none;transition:background .15s;cursor:pointer}
body.booking-premium .rn-booking-reviewed .mjs-booking-apply:hover{background:#24736b}
body.booking-premium .rn-booking-reviewed .mjs-booking-note{text-align:center;padding:32px 0 0;margin:0;border:0;border-radius:0;background:transparent}
body.booking-premium .rn-booking-reviewed .mjs-booking-note h3{font-size:21px;color:#152e47;line-height:1.6;margin:0 0 14px}
body.booking-premium .rn-booking-reviewed .mjs-booking-note p{font-size:17px;line-height:1.8;margin:6px 0;color:#536b80}
body.booking-premium .rn-booking-reviewed .mjs-booking-note>strong{font-size:16px;line-height:1.8;color:#536b80;margin-top:12px;font-weight:600}
body.booking-premium .rn-booking-reviewed [data-booking-feedback]{font-size:17px;line-height:1.7}
@media(max-width:1100px){body.booking-premium .booking-date-pane,body.booking-premium .booking-details-pane{padding:28px}body.booking-premium .n29-hero{gap:40px}body.booking-premium .n29-hero h1{font-size:62px}}
@media(max-width:850px){body.booking-premium .n29-hero{width:calc(100% - 44px);gap:30px;grid-template-columns:1fr 1fr;padding:32px 0}body.booking-premium .booking-hero-image{height:210px}body.booking-premium .n29-hero h1{font-size:50px}body.booking-premium .booking-workspace{grid-template-columns:1fr}body.booking-premium .booking-date-pane{border-right:0;border-bottom:1px solid #dce3e9}body.booking-premium .rn-booking-reviewed{width:min(580px,calc(100% - 44px));padding:32px 0 48px}body.booking-premium .n29-chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;overflow:visible}body.booking-premium .n29-chapters a{justify-content:center;min-width:0;white-space:nowrap;padding:14px 5px;min-height:54px;font-size:14px}body.booking-premium .n29-chapters a:after{display:none}}
@media(max-width:600px){body.booking-premium .n29-hero{display:block;padding:32px 0 26px}body.booking-premium .n29-hero h1{font-size:46px}body.booking-premium .n29-hero .n29-eyebrow{font-size:12px;margin-bottom:14px}body.booking-premium .booking-hero-image{margin-top:24px;height:175px;border-radius:14px;object-position:60% 65%}body.booking-premium .booking-workspace{border-radius:18px}body.booking-premium .booking-date-pane,body.booking-premium .booking-details-pane{padding:24px 18px}body.booking-premium .rn-booking-reviewed .booking-field-heading{font-size:25px;margin-bottom:24px}body.booking-premium .rn-booking-reviewed .mjs-calendar-month{font-size:22px}body.booking-premium .rn-booking-reviewed .mjs-calendar-grid{gap:3px;grid-template-rows:30px repeat(var(--mjs-calendar-weeks,5),42px)}body.booking-premium .rn-booking-reviewed .mjs-calendar-grid>*{font-size:17px}body.booking-premium .rn-booking-reviewed .mjs-booking-birth{gap:6px}body.booking-premium .rn-booking-reviewed .mjs-booking-birth select{padding-inline:4px}body.booking-premium .rn-booking-reviewed .mjs-booking-birth small{font-size:14px}body.booking-premium .rn-booking-reviewed .mjs-booking-phone{gap:4px}body.booking-premium .rn-booking-reviewed .mjs-booking-phone input{padding-inline:8px}body.booking-premium .rn-booking-reviewed .mjs-booking-note h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){body.booking-premium .rn-booking-reviewed :is(input,select,button){transition:none}}

body.booking-premium .booking-workspace [id]{scroll-margin-top:var(--foot-anchor-offset,170px)}

@media(max-width:600px){body.booking-premium .rn-booking-reviewed .mjs-booking-birth>span{display:flex;flex-direction:column-reverse;align-items:stretch;gap:5px}body.booking-premium .rn-booking-reviewed .mjs-booking-birth small{color:#536b80;font-size:14px}body.booking-premium .rn-booking-reviewed .mjs-booking-birth{grid-template-columns:1.2fr 1fr 1fr}}

body.booking-premium .rn-booking-reviewed .mjs-booking-note .rn-marked{justify-content:center}

body.booking-premium [data-reservation-form]{width:100%;margin:0}
body.booking-premium [data-reservation-form]>.error{margin:0 0 24px;padding:18px;border:1px solid #e1b8b0;border-radius:12px;color:#932f28}

.booking-premium .rn-message-dialog p{white-space:pre-line;word-break:keep-all;line-height:1.8}

