/* Hotel-only recipe: limestone, graphite, quiet serif. Current photography and
   page structure are retained. No third-party fonts, gradients or animation loop. */
:root{--paper:#fcfbf6;--stone:#dee9d6;--ink:#1a281c;--muted:#485847;--accent:#2e5a2c;--line:#9cae98}html{scroll-padding-top:100px}body{color:var(--ink);background:var(--paper);font-family:'Trebuchet MS','Noto Sans CJK SC',Arial,sans-serif;font-size:16px;line-height:1.55}h1,h2,h3{font-family:Georgia,'Noto Serif CJK SC',serif;font-weight:400}h1{letter-spacing:-.035em}h2{letter-spacing:-.025em}.pill{background:var(--accent);color:#ffffff;min-height:48px;font-size:15px;line-height:1.4}.pill.light{background:#f7faf5;color:#1a281c}.pill.small{min-height:44px;font-size:13px}.micro,.viewer-caption,.room-note,.room-picker .selected-summary span,.section-top>p{font-size:14px;line-height:1.55;color:var(--muted)}.eyebrow{font-size:12px;color:var(--muted)}.hero .eyebrow,.hero-sub,.hero-bottom{color:white}.room-chips button{width:48px;min-height:48px;font-size:15px}.type-tabs button{min-height:48px;font-size:15px}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}:focus-visible{outline:3px solid #2c7f76;outline-offset:4px}input,select,textarea{border:1px solid #70896b;font-size:16px;min-height:46px;box-sizing:border-box}input[type=checkbox]{min-height:24px;min-width:24px;width:24px;flex:0 0 24px;accent-color:var(--accent)}label.check{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.5;margin:14px 0}.skip-link{position:fixed;top:-80px;left:16px;background:white;color:var(--ink);padding:12px;z-index:100}.skip-link:focus{top:10px}.candidate-notice{background:#dee9d6;color:#344930;padding:10px 6%;font-size:13px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.candidate-notice button{border:1px solid var(--ink);padding:8px 14px;background:transparent;min-height:44px}.candidate-notice #connection-status{font-size:12px}.hero{min-height:590px;height:min(80svh,860px)}.hero-copy h1{font-size:clamp(3.2rem,6vw,7rem)}.explore{padding-top:65px;padding-bottom:65px}.explore-layout{grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.viewer-area{min-width:0}.section-top h2{font-size:clamp(2.2rem,3.5vw,4rem)}#viewer-poster{height:540px;border-radius:2px;overflow:hidden}#viewer-poster>img{width:100%;height:100%;object-fit:cover}.viewer-overlay{background:linear-gradient(transparent,#182d29dc);min-height:45%;justify-content:end}.viewer-overlay .eyebrow,.viewer-overlay p{color:white}.viewer-overlay p{font-size:14px}.viewer-caption{padding:12px 0;gap:12px;display:flex;align-items:start}.viewer-caption button{flex:0 0 auto;min-height:44px;color:var(--ink);border:1px solid var(--line);padding:9px;background:transparent;font-size:13px}#viewer-status{font-size:14px;line-height:1.6;color:var(--muted);margin:8px 0}#viewer-shell{position:relative;width:100%;height:540px;background:var(--stone);isolation:isolate;border:1px solid #b0c3ac}#viewer{display:block;position:absolute;inset:0;width:100%;height:100%;border:0}#viewer canvas{display:block;touch-action:none;width:100%;height:100%}#viewer-tools{position:absolute;right:12px;top:12px;z-index:2}#viewer-tools button{background:#fffaf5ee;color:#1a281c;min-height:44px;border:1px solid #a7b7a4;padding:9px 14px;font:inherit;font-size:13px}#viewer-options{display:flex;flex-direction:column;gap:6px;margin-top:6px}#viewer-options[hidden]{display:none}.diagram-label{position:absolute;left:12px;bottom:10px;right:12px;margin:0;font-size:12px;pointer-events:none;color:#253c21;background:#faf8f0d9;padding:6px 10px;width:fit-content;max-width:calc(100% - 24px)}#viewer-shell:fullscreen{height:100vh;height:100dvh;width:100vw;border:0}#viewer-shell:fullscreen #viewer-tools{top:16px;right:16px}#viewer-shell[hidden],#viewer-poster[hidden]{display:none}#selected-image{height:185px;object-fit:cover}.room-picker{background:#e5eedf;padding:24px;min-width:0}.room-picker h3{font-size:30px}.selected-summary{flex-wrap:wrap}.selected-summary span{font-size:13px}#room-note{font-size:14px}.plan{gap:7%;padding-top:72px;padding-bottom:72px;background:#e3ecdc}.plan-heading>p:not(.eyebrow){font-size:16px;line-height:1.6}.plan form{min-width:0}form label{font-size:14px}.addons{border:0;border-top:1px solid #a4b5a0;padding:16px 0;margin:22px 0 10px}.addons legend{padding-right:14px;font-family:Georgia,serif;font-size:23px}.quote-result{background:#f8faf6;border:1px solid #aec3aa;margin-top:20px;padding:24px}.quote-result h3{font-size:28px;margin:0 0 16px}.price-line{display:flex;justify-content:space-between;align-items:baseline;gap:18px;font-size:15px;padding:9px 0;border-bottom:1px solid #dae6d2}.price-line strong{text-align:right;font-size:15px;font-family:inherit;max-width:52%;overflow-wrap:anywhere}.price-line span{max-width:54%}.freshness{font-size:13px;font-weight:600;color:#41553d;line-height:1.5;margin-bottom:0}#hold-panel{padding:8px 0}#hold-status,#request-result,#payment-result{margin-top:18px;font-size:15px;line-height:1.6;overflow-wrap:anywhere}#release-hold{margin-top:12px;border:1px solid #94a890;background:transparent;padding:10px;font-size:14px;min-height:44px}#request-details{margin-top:22px}#request-details summary{font-size:19px;font-family:Georgia,serif;min-height:44px;cursor:pointer}#payment-panel{border-top:1px solid #a0b59c;margin-top:24px;padding-top:24px}#payment-panel h3{font-size:28px}#payment-panel>p{font-size:15px}#journey-error:not(:empty){padding:15px;border-left:4px solid #9a3826;background:#fff5ee;color:#732918;margin-top:16px;font-size:15px}.mobile-book{font-size:15px}.room-content .price{font-size:15px}.room-image>span{font-size:12px}.visit .micro,.visit .eyebrow{color:#ffffff}footer p,footer small{font-size:13px}#quote-result[hidden],#hold-panel[hidden],#request-details[hidden],#payment-panel[hidden]{display:none}button[hidden]{display:none}
@media(min-width:1500px){.explore-layout{grid-template-columns:minmax(0,1fr) 330px}#viewer-shell,#viewer-poster{height:640px}}@media(max-width:1050px){.explore-layout{grid-template-columns:1fr 270px;gap:20px}#viewer-shell,#viewer-poster{height:490px}.room-picker{padding:20px}.section-top>p{max-width:40%}}@media(max-width:760px){html{scroll-padding-top:72px}header{padding:12px 5%;height:auto;min-height:72px}.header-actions{gap:12px}header nav{display:none}.brand{font-size:15px}.brand small{font-size:12px}.candidate-notice{padding:10px 5%;font-size:12px}.candidate-notice #connection-status{font-size:12px}.hero{height:65svh;min-height:470px;max-height:760px}.hero-copy h1{font-size:clamp(3.3rem,12vw,5.3rem)}.hero-sub{font-size:16px;max-width:290px}.hero-copy{left:6%;right:6%}.hero-buttons{gap:18px}.section{padding-left:5%;padding-right:5%}.section-top{display:block}.section-top>p{max-width:none;font-size:14px;margin-top:18px}.explore{padding-top:40px;padding-bottom:40px}.explore-layout{grid-template-columns:1fr;gap:18px}.viewer-area{margin-left:-5.56%;margin-right:-5.56%}#viewer-shell,#viewer-poster{height:min(62svh,560px);min-height:330px;border-left:0;border-right:0}#viewer-poster>img{object-fit:cover}.viewer-caption,#viewer-status{margin-left:5%;margin-right:5%}.viewer-caption{font-size:13px}.viewer-caption button{font-size:12px}.viewer-overlay{padding:24px}.room-picker{padding:22px}#selected-image{height:200px}.room-chips{gap:9px}.room-chips button{min-width:46px;min-height:46px}.type-tabs button{font-size:14px;min-height:48px}.plan{display:block;padding-top:45px;padding-bottom:45px}.plan-heading{margin-bottom:30px}.plan-heading>p:not(.eyebrow){font-size:16px}.plan-heading h2{font-size:40px}.form-row{gap:12px}.form-row>label{min-width:0}.quote-result{padding:18px}.price-line{font-size:14px}.price-line strong{font-size:14px}.micro{font-size:13px}.viewer-overlay p{font-size:13px}.eyebrow{font-size:12px}.intro p{font-size:16px}.visit h2{font-size:42px}.visit p{font-size:16px}.mobile-book{bottom:12px;left:5%;right:5%;min-height:48px}.room-image>span{font-size:12px}}
@media(orientation:landscape) and (max-height:550px){header{position:relative}.hero{height:auto;min-height:430px}.explore-layout{grid-template-columns:1fr}#viewer-shell{height:72svh;min-height:300px}.room-picker{display:block}.diagram-label{font-size:12px}.mobile-book{position:static;margin:18px 5%;width:90%}#viewer-shell:fullscreen{height:100dvh;min-height:0}.hero-copy{top:auto;bottom:55px;transform:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Long translations and 200% text enlargement remain reflowable. */
header{flex-wrap:wrap;gap:12px}.room-chips button{width:auto;min-width:48px;padding:8px 12px}h1,h2,h3,.brand,.selected-badge{overflow-wrap:anywhere}.hero-copy,.hero-sub{max-width:100%}.hero h1{line-height:1.02}.form-row{min-width:0}.form-row label{min-width:0}

.viewer-caption{flex-wrap:wrap}.viewer-caption>span{flex:1 1 180px;min-width:0}.viewer-caption button{max-width:100%;white-space:normal;overflow-wrap:anywhere}

/* HR3-PU: contact/card review choice; hidden unless both review gates are satisfied. */
#bank-review-switch{border:0;padding:0;margin:20px 0 18px;min-width:0}
#bank-review-switch[hidden]{display:none!important}
#bank-review-switch legend{font-family:var(--sans);font-size:16px;font-weight:600;margin-bottom:10px}
#bank-review-switch .booking-methods{display:grid;grid-template-columns:1fr 1fr;gap:6px;border:1px solid var(--line);padding:5px;border-radius:16px;background:#fff}
#bank-review-switch button{min-height:52px;min-width:0;border:0;padding:12px 10px;border-radius:11px;background:transparent;font:600 16px/1.4 var(--sans);overflow-wrap:anywhere}
#bank-review-switch button[aria-pressed=true]{background:var(--green);color:#fff;box-shadow:0 3px 12px #18261b1a}
#bank-review-switch button:hover:not(:disabled){box-shadow:0 3px 12px #18261b25}
#plan{scroll-margin-top:18px}
@media(max-width:760px){
 #plan .plan-heading p,#plan .selected-badge span,#plan .selected-badge a,
 #booking-form p,#booking-form label,#booking-form label span,#booking-form legend,#booking-form .pill,
 #booking-form .field-label,#booking-form .date-nights,#booking-form .date-close,#booking-form .date-pop-head,
 #booking-form .kid-chip,#booking-form .kid-add,#booking-form .kid-ages button,#booking-form .quiet-link,
 #booking-form .price-line,#booking-form .freshness,#booking-form input,#booking-form textarea,#booking-form select,
 #booking-form [data-vc=month],#booking-form [data-vc=year],#booking-form [data-vc=week],
 #booking-form [data-vc-week-day-btn],#booking-form [data-vc-date-btn]{font-size:16px}
 #booking-form,#plan .plan-heading{min-width:0}
 #booking-form .price-line{gap:14px;flex-wrap:wrap}
 #booking-form .price-line strong{margin-left:auto}
 #booking-form .date-field{gap:8px;padding-inline:12px}
 #booking-form .date-nights{padding-inline:6px}
 #booking-form .book-contact .pill{gap:8px;overflow-wrap:anywhere}
 #booking-form .date-pop [data-vc-date-btn]{width:38px;min-width:0}
}
/* Keep the skip link available on keyboard focus without an offscreen fixed overlay. */
.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden;white-space:nowrap}
@media(max-width:760px){
 #booking-form .price-line strong,#booking-form #hold-status,#booking-form #release-hold,
 #booking-form #request-result,#booking-form #payment-result,#booking-form #journey-error:not(:empty){font-size:16px}
}

/* HOTEL-MULTIROOM-UI-R1: scoped to the booking form; no global design/font changes. */
#booking-form .order-room-line{position:relative;min-inline-size:0;max-width:100%;margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:2px}
#booking-form .order-room-line legend{padding-inline:8px;font:inherit;font-weight:600;overflow-wrap:anywhere}
#booking-form .order-first-room{margin-top:12px}
#booking-form .order-room-line label,#booking-form .order-room-line select{min-width:0;max-width:100%}
#booking-form .order-room-line select{width:100%;min-height:44px}
/* Room picker in the site style (Owner 10-03: the native list looked like old Windows); C09 */
#booking-form .order-room-line .room-pick-wrap{min-width:0;max-width:100%;padding-inline-end:52px;box-sizing:border-box}
#booking-form .order-empty-room .room-pick-wrap{padding-inline-end:0}
#booking-form .order-room-line[hidden],#plan[data-room-selected="false"] #plan-room-photos{display:none}
#booking-form .order-room-line .room-pick{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:48px;padding:0 14px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:2px;font:inherit;text-align:start;cursor:pointer;overflow-wrap:anywhere}
#booking-form .order-room-line .room-pick::after{content:"";flex:none;width:8px;height:8px;border-right:1.5px solid var(--green);border-bottom:1.5px solid var(--green);transform:translateY(-2px) rotate(45deg);transition:transform .2s}
#booking-form .order-room-line .room-pick[aria-expanded="true"]{border-color:var(--green)}
#booking-form .order-room-line .room-pick[aria-expanded="true"]::after{transform:translateY(2px) rotate(225deg)}
#booking-form .order-room-line .room-picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:10px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:2px;max-width:100%}
#booking-form .order-room-line .room-picks[hidden]{display:none}
#booking-form .order-room-line .room-pick-option{min-height:44px;padding:6px 10px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:2px;font:inherit;text-align:start;cursor:pointer;overflow-wrap:anywhere}
#booking-form .order-room-line .room-pick-option:hover:not(:disabled),#booking-form .order-room-line .room-pick-option:focus-visible{border-color:var(--green)}
#booking-form .order-room-line .room-pick-option.active{background:var(--green);border-color:var(--green);color:#fff}
#booking-form .order-room-line .room-pick-option:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:760px){#booking-form .order-room-line .room-pick,#booking-form .order-room-line .room-pick-option{font-size:16px}#booking-form .order-room-line .room-picks{grid-template-columns:minmax(0,1fr)}}
#booking-form .order-guests{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-block:16px}
#booking-form .order-room-line .field-label{display:block;margin-bottom:8px}
#booking-form .order-room-line .stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:2px;max-width:100%}
#booking-form .order-room-line .step{border:0;background:transparent;min-width:44px;min-height:44px}
#booking-form .order-room-line .step-value{min-width:44px;min-height:44px;display:inline-grid;place-items:center}
#booking-form .order-room-line .kid-chips{display:flex;flex-wrap:wrap;gap:8px}
#booking-form .order-room-line .kid-chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;border:1px solid var(--line);padding-inline-start:10px;border-radius:2px}
#booking-form .order-room-line .kid-chip button,#booking-form .order-room-line .kid-add,#booking-form .order-room-line .kid-ages button{min-width:44px;min-height:44px;background:transparent;border:1px solid var(--line);border-radius:2px}
#booking-form .order-room-line .kid-chip button{border:0}
#booking-form .order-room-line .kid-add{padding-inline:12px;margin-top:8px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
#booking-form .order-room-line .kid-ages{display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:8px;margin-top:10px;max-width:100%}
#booking-form .order-room-line .kid-ages[hidden],#room-assistance[hidden]{display:none}
#booking-form .order-remove{position:absolute;inset-block-start:8px;inset-inline-end:8px;min-height:44px;min-width:44px;background:transparent;color:var(--ink);border:0;border-radius:50%;padding:0;font:400 27px/1 var(--sans,system-ui)}
#booking-form .order-remove:hover{background:#fff8}
#order-first-controls{margin-bottom:18px}
#booking-form .order-adult-note{padding:12px;border-inline-start:3px solid var(--green)}
#order-room-lines,#room-assistance,#booking-form .order-price-room{min-width:0;max-width:100%;overflow-wrap:anywhere}
#room-assistance{display:grid;gap:12px;margin-block:12px 22px}
#room-assistance .pill,#order-add-room{min-height:44px;white-space:normal;text-align:start;overflow-wrap:anywhere}
#booking-form .order-shared-dates{margin-block:8px 20px}
#booking-form .order-price-room h4{margin-block:18px 8px;font:inherit;font-weight:600}
#booking-form .order-room-line .check{min-height:44px;align-items:center}
@media(max-width:760px){
 #booking-form .order-guests{grid-template-columns:minmax(0,1fr)}
 #booking-form .order-room-line{padding:14px;margin-inline:0}
 #booking-form .order-room-line .form-row{display:grid;grid-template-columns:minmax(0,1fr)}
 #booking-form .order-room-line .kids-wrap,#booking-form .order-room-line .stepper-wrap{min-width:0;max-width:100%}
}
#booking-form .order-room-line .vc-source-inline{display:none}
