.rkl-booking{--rkl-brand:#147260;--rkl-ink:#263d36;--rkl-bg:#f4f6f3;--primary:#147260;background:var(--rkl-bg);color:var(--rkl-ink);font-family:RKLSource,"Source Sans Pro",Arial,sans-serif;font-size:18px;line-height:1.4;padding-block:var(--space-l)}
.rkl-booking [data-etch-element=container]{gap:var(--space-m);display:flex;flex-direction:column}.rkl-booking [hidden]{display:none!important}.rkl-booking h1,.rkl-booking h2,.rkl-booking h3{color:var(--rkl-ink);font-family:inherit}.rkl-booking h1{font-size:clamp(29px,3vw,36px);font-weight:600;line-height:1.15}.rkl-booking h2{font-size:26px;font-weight:600}.rkl-booking h3{font-size:23px}.rkl-booking p{margin:0}.rkl-booking [data-rkl-runtime]{display:flex;flex-direction:column;gap:var(--space-m)}
.rkl-finder-top{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--space-l);align-items:end}.rkl-finder-text{display:flex;flex-direction:column;gap:var(--space-s)}.rkl-finder-text>p{font-size:18px;color:#626d68}.rkl-finder-text>div{margin-block-start:var(--space-s)}.rkl-finder-text [data-department-name]{margin:0 0 4px;font-size:24px}.rkl-finder-text [data-department-address]{font-size:17px;color:#626d68;margin-block-end:14px}.rkl-finder-photo{margin:0;display:flex;flex-direction:column;gap:6px}.rkl-finder-photo img{inline-size:100%;block-size:190px;object-fit:cover;border-radius:3px}.rkl-finder-photo figcaption{font-size:14px;text-align:end;color:#626d68}.rkl-finder-photo [data-department-placeholder]{block-size:190px;background:#e5e9e3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#626d68}.rkl-finder-photo [data-department-placeholder] strong{font-size:27px}.rkl-finder-photo [data-department-placeholder] span{font-size:16px}
.rkl-booking label{display:flex;flex-direction:column;gap:6px;font-size:16px;color:#626d68}.rkl-booking select,.rkl-booking input:not([type=checkbox]){border:1px solid #c5cfc7;border-radius:3px;min-block-size:44px;background:white;color:var(--rkl-ink);padding:8px 12px;max-inline-size:100%;font:inherit}.rkl-booking input[type=checkbox]{inline-size:20px;block-size:20px;accent-color:var(--rkl-brand)}.rkl-booking button,.rkl-booking [data-login],.rkl-booking [data-portal-link]{display:inline-flex;justify-content:center;align-items:center;min-block-size:44px;padding:9px 19px;background:var(--rkl-brand);color:white;border:1px solid var(--rkl-brand);border-radius:3px;text-decoration:none;font:inherit;line-height:1.25;font-weight:600}.rkl-booking button:disabled{opacity:.6;cursor:not-allowed}.rkl-booking button:hover:not(:disabled){background:#0b594a;color:white}.rkl-department-tabs{display:flex;gap:10px;flex-wrap:wrap}.rkl-booking [data-department]{min-inline-size:145px}.rkl-booking [data-department][aria-pressed=false],.rkl-booking [data-view],.rkl-booking [data-room-select],.rkl-booking [data-size-help]{background:white;color:var(--rkl-brand)}.rkl-booking [data-department][aria-pressed=true],.rkl-booking [data-view][aria-pressed=true]{background:var(--rkl-brand);color:white}
.rkl-booking-controls{display:flex;flex-wrap:wrap;gap:var(--space-s);align-items:end;border-block-end:1px solid #d9e0da;padding-block-end:var(--space-s)}.rkl-booking-controls select{min-inline-size:210px}.rkl-view-segment{display:flex;margin-inline-start:auto;border:1px solid #147260;border-radius:3px;overflow:hidden}.rkl-view-segment button{border:0;border-radius:0;font-weight:400;text-transform:uppercase}.rkl-development-controls{font-size:14px;color:#626d68}.rkl-development-controls summary{cursor:pointer;display:list-item;font-size:14px;color:#626d68}.rkl-development-controls[open]{padding:var(--space-s);border:1px solid #d9e0da;background:#edf2ed}.rkl-development-controls label{margin-block:12px}.rkl-development-controls .rkl-local-note{padding:0;border:0;background:transparent;font-size:14px}.rkl-development-controls>a{font-size:14px;color:var(--rkl-brand)}
.rkl-finder-body{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-m);align-items:start}.rkl-booking.has-selection .rkl-finder-body{grid-template-columns:minmax(0,2fr) minmax(310px,1fr)}.rkl-finder-results{min-inline-size:0}.rkl-booking [data-booking-status]{font-size:14px;color:#626d68;margin:0}.rkl-booking [data-room-list]{display:flex;flex-direction:column;gap:0}.rkl-booking .rkl-room-card{display:grid;grid-template-columns:110px minmax(0,1fr) 170px;gap:var(--space-s);align-items:center;padding:16px 20px;border:1px solid #d9e0da;border-radius:0;background:white}.rkl-room-card+.rkl-room-card{border-block-start:0}.rkl-booking .rkl-room-card.is-selected{border-inline-start:4px solid var(--rkl-brand);padding-inline-start:17px;background:#fbfdfb}.rkl-room-illustration img{inline-size:110px;block-size:90px;object-fit:contain}.rkl-room-main{display:flex;flex-direction:column;gap:3px;min-inline-size:0}.rkl-booking [data-room-category]{font-size:12px;color:var(--rkl-brand);text-transform:uppercase;letter-spacing:1.2px;font-weight:600}.rkl-booking [data-room-area]{font-size:28px;line-height:1.15;margin:0}.rkl-room-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.rkl-booking [data-room-name]{font-size:16px;color:#626d68}.rkl-booking [data-room-state]{font-size:12px;padding:3px 7px;border-radius:3px;background:#e9ece9;color:#526159}.rkl-booking [data-room-state][data-kind=available]{background:#e5f1ea;color:#195f46}.rkl-booking [data-room-state][data-kind=pending]{background:#fff0dc;color:#8c4b0a}.rkl-room-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.rkl-booking [data-room-price]{font-size:24px;font-weight:600;white-space:nowrap}.rkl-booking [data-room-select]{font-size:17px;font-weight:400}.rkl-room-empty{padding:var(--space-m);border:1px solid #d9e0da;background:white}
.rkl-booking-checkout{display:flex;flex-direction:column;gap:var(--space-s);padding:var(--space-m);border:1px solid #d9e0da;border-block-start:4px solid #f7931e;border-radius:3px;background:white;min-inline-size:0}.rkl-booking-checkout h2{font-size:27px}.rkl-booking-checkout h3{font-size:21px}.rkl-booking-checkout p{font-size:17px}.rkl-booking-checkout label:has([type=checkbox]){flex-direction:row-reverse;justify-content:flex-end;align-items:start;gap:10px}.rkl-booking-checkout [data-choice-note]{color:#626d68;font-size:15px}.rkl-booking [data-test-payment]{padding:var(--space-s);background:#e5f1ea;display:flex;flex-wrap:wrap;gap:12px}.rkl-booking [data-payment-summary]{flex-basis:100%;overflow-wrap:anywhere}.rkl-booking [data-booking-result]{font-weight:600}.rkl-booking [data-room-map]{overflow:auto;background:white;border:1px solid #d9e0da}.rkl-booking [data-room-map] svg{min-inline-size:650px;inline-size:100%;block-size:auto}.rkl-booking [data-map-unavailable]{padding:var(--space-l);font-size:19px}.rkl-booking [data-map-note]{font-size:14px;margin-block-start:12px;color:#626d68}.rkl-booking .rkl-map-available polygon{fill:#d5eee1;stroke:var(--rkl-brand)}.rkl-booking .rkl-map-unlinked{opacity:.3}.rkl-booking .rkl-map-selected polygon{fill:#f8d4a3;stroke:#b86208;stroke-width:3}.rkl-booking .rkl-map-room:focus polygon,.rkl-booking .rkl-map-room:hover polygon{stroke:#b86208;stroke-width:4}.rkl-booking :is(a,button,input,select,summary):focus-visible{outline:3px solid #b86208;outline-offset:3px}.rkl-booking [data-rkl-runtime]>p:last-child{font-size:14px;color:#626d68}
.rkl-booking dialog{max-inline-size:min(850px,calc(100vw - 32px));max-block-size:calc(100dvh - 40px);overflow:auto;border:1px solid #d9e0da;border-block-start:4px solid var(--rkl-brand);border-radius:4px;padding:var(--space-m);margin:auto;color:var(--rkl-ink);background:white;font-family:inherit}.rkl-booking dialog::backdrop{background:#263d3677}.rkl-booking dialog h2{margin-block-end:var(--space-s)}.rkl-booking dialog>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-m);margin-block:var(--space-m)}.rkl-booking dialog img{inline-size:100%;block-size:210px;object-fit:contain;object-position:left center}.rkl-booking dialog h3{font-size:21px;margin-block:12px}.rkl-booking dialog p{font-size:17px}
@media(min-width:1051px){.rkl-booking.has-selection .rkl-booking-checkout.is-sticky-fit{position:sticky;top:var(--rkl-sticky-top,16px);align-self:start}}
@media(max-width:1050px){.rkl-booking.has-selection .rkl-finder-body{grid-template-columns:minmax(0,1fr)}.rkl-finder-photo img,.rkl-finder-photo [data-department-placeholder]{block-size:175px}}
@media(max-width:760px){.rkl-finder-top{grid-template-columns:minmax(0,1fr);gap:var(--space-m)}.rkl-finder-photo img,.rkl-finder-photo [data-department-placeholder]{block-size:185px}.rkl-department-tabs button{flex:1;min-inline-size:0!important}.rkl-booking-controls{gap:12px}.rkl-booking-controls select{min-inline-size:0;inline-size:100%}.rkl-booking-controls>label{flex:1 0 100%}.rkl-view-segment{margin-inline-start:auto}.rkl-booking .rkl-room-card{grid-template-columns:80px minmax(0,1fr);gap:12px;padding:14px}.rkl-room-illustration img{inline-size:80px;block-size:80px}.rkl-room-actions{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.rkl-booking [data-room-area]{font-size:26px}.rkl-booking [data-room-price]{font-size:23px}.rkl-booking [data-size-help],.rkl-view-segment button{padding-inline:12px;font-size:16px}.rkl-booking.has-selection .rkl-finder-body{grid-template-columns:minmax(0,1fr)}.rkl-booking dialog>div{grid-template-columns:1fr}.rkl-booking dialog img{block-size:150px}.rkl-booking-checkout{padding:18px}}
@media(prefers-reduced-motion:reduce){.rkl-booking *{scroll-behavior:auto}}

/* Separate halls share one catalog and checkout; SVG stays sharp at every zoom level. */
.rkl-booking [data-room-map]{overflow:hidden}.rkl-booking .rkl-map-halls{display:flex;gap:8px;padding:14px 16px 0;flex-wrap:wrap}.rkl-booking .rkl-map-halls button[aria-pressed=false]{color:var(--rkl-brand);background:white}.rkl-booking .rkl-map-toolbar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;padding:14px 16px}.rkl-booking .rkl-map-caption{font-size:17px;font-weight:600}.rkl-booking .rkl-map-toolbar button{font-size:15px;padding:7px 12px}.rkl-booking .rkl-map-stage{max-inline-size:100%;overflow:auto;overscroll-behavior:contain}.rkl-booking .rkl-map-stage svg{display:block;min-inline-size:0;inline-size:100%;max-inline-size:none;block-size:auto}.rkl-booking .rkl-map-stage.is-zoomed svg{inline-size:max(150%,1100px)}.rkl-booking .rkl-map-room{cursor:pointer}.rkl-booking .rkl-map-room[aria-disabled=true]{cursor:default}.rkl-booking .rkl-map-room[aria-disabled=true]:hover polygon{stroke:#626d68;stroke-width:1.5}.rkl-booking .rkl-map-stage:focus-visible{outline:3px solid #b86208;outline-offset:-3px}

@media(max-width:1050px){.rkl-booking .rkl-finder-top{grid-template-columns:minmax(0,1fr)}}

/* The room detail column is always present, including before a selection. */
.rkl-booking .rkl-finder-body{grid-template-columns:minmax(0,2fr) minmax(310px,1fr)}.rkl-checkout-content{display:flex;flex-direction:column;gap:var(--space-s)}.rkl-checkout-placeholder{display:flex;flex-direction:column;gap:var(--space-s)}.rkl-room-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:14px;margin-block:10px 16px}.rkl-room-legend span{display:inline-flex;align-items:center;gap:6px}.rkl-room-legend span::before{content:'';width:12px;height:12px;border-radius:2px;background:#dce1dd;border:1px solid #626d68}.rkl-room-legend [data-state=available]::before{background:#d5eee1}.rkl-room-legend [data-state=rented]::before{background:#f1d8d5}.rkl-room-legend [data-state=reserved]::before{background:#dbe7fa}.rkl-booking [data-room-state][data-kind=available]{background:#e5f1ea;color:#195f46}.rkl-booking [data-room-state][data-kind=rented]{background:#f5e1de;color:#80362d}.rkl-booking [data-room-state][data-kind=reserved]{background:#e0eafb;color:#254d80}.rkl-booking .rkl-map-state-rented polygon{fill:#f1d8d5;stroke:#9a6058}.rkl-booking .rkl-map-state-reserved polygon{fill:#dbe7fa;stroke:#4c6f9e}.rkl-booking .rkl-map-state-unknown polygon{fill:#eef0ee;stroke:#626d68}.rkl-booking .rkl-map-selected polygon{fill:#f8d4a3;stroke:#b86208;stroke-width:3}
@media(min-width:1051px){.rkl-booking .rkl-booking-checkout.is-sticky-fit{position:sticky;top:var(--rkl-sticky-top,16px);align-self:start}}@media(max-width:1050px){.rkl-booking .rkl-finder-body{grid-template-columns:minmax(0,1fr)}}

/* Room facts lead the selected-room panel; the map key covers public states only. */
.rkl-booking .rkl-chosen-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:16px;border-block-end:1px solid #d9e0da;padding-block-end:18px}
.rkl-booking .rkl-chosen-fact{display:flex;flex-direction:column;gap:5px;min-inline-size:0}
.rkl-booking .rkl-fact-label{font-size:15px;line-height:1.3;color:#626d68}
.rkl-booking .rkl-fact-value{font-size:clamp(27px,2vw,32px);line-height:1.15;font-weight:600;color:var(--rkl-ink);white-space:nowrap}
.rkl-booking .rkl-map-legend{margin:0;padding:0 16px 14px;gap:10px 22px;line-height:1.4}
.rkl-booking .rkl-map-legend [data-state=available]::before{background:#d5eee1;border-color:#147260}
.rkl-booking .rkl-map-legend [data-state=selected]::before{background:#f8d4a3;border-color:#b86208}
.rkl-booking .rkl-map-legend [data-state=reserved]::before{background:#dbe7fa;border-color:#4c6f9e}
