/* Shared booking notice + mobile sticky bar. Colors come from each sample's --bk-* variables. */
:root{--bk-bar-bg:#222;--bk-bar-fg:#fff;--bk-primary-bg:#fff;--bk-primary-fg:#222;--bk-sheet-bg:#fff;--bk-sheet-fg:#222;--bk-line:rgba(127,127,127,.35);--bk-radius:12px;--bk-btn-radius:999px;--bk-font:'Noto Sans KR',system-ui,sans-serif}
html.bk-lock,html.bk-lock body{overflow:hidden}
.bk-modal[hidden]{display:none}
.bk-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;font-family:var(--bk-font)}
.bk-backdrop{position:absolute;inset:0;background:rgba(10,12,10,.55);opacity:0;transition:opacity .2s}
.bk-dialog{position:relative;width:min(440px,100%);max-height:calc(100dvh - 40px);overflow:auto;background:var(--bk-sheet-bg);color:var(--bk-sheet-fg);border-radius:var(--bk-radius);padding:30px 26px 24px;box-shadow:0 24px 60px rgba(0,0,0,.3);transform:translateY(16px);opacity:0;transition:transform .22s ease,opacity .22s ease;word-break:keep-all}
.bk-modal.is-open .bk-backdrop{opacity:1}.bk-modal.is-open .bk-dialog{transform:none;opacity:1}
.bk-close{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;background:transparent;color:inherit;font-size:28px;line-height:1;cursor:pointer;border-radius:50%}
.bk-close:hover{background:var(--bk-line)}
.bk-kicker{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.04em;opacity:.85}
.bk-title{margin:0 40px 14px 0;font:700 19px/1.5 var(--bk-font);letter-spacing:-.02em}
.bk-room{margin:0 0 14px;font-size:13px;font-weight:600;opacity:.9}
.bk-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 12px}
.bk-action{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 6px 12px;border:1px solid var(--bk-line);border-radius:calc(var(--bk-radius) * .8);background:transparent;color:inherit;font:600 13px var(--bk-font);cursor:pointer;min-height:44px}
.bk-action svg{width:34px;height:34px}
.bk-action:hover,.bk-action.is-current{border-color:currentColor}
.bk-status{min-height:1.6em;margin:0 0 8px;font-size:13px;line-height:1.6}
.bk-notice{margin:0;padding-top:12px;border-top:1px solid var(--bk-line);font-size:12px;line-height:1.7;opacity:.88}
.bk-dialog :focus-visible,.bk-bar :focus-visible{outline:3px solid currentColor;outline-offset:2px}
.bk-bar{display:none}
@media(max-width:768px){
 body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
 .bk-bar{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:900;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:var(--bk-bar-bg);color:var(--bk-bar-fg);box-shadow:0 -6px 20px rgba(0,0,0,.14);font-family:var(--bk-font)}
 .bk-bar-btn{display:flex;align-items:center;justify-content:center;gap:6px;min-height:50px;border:1px solid var(--bk-line);border-radius:var(--bk-btn-radius);background:transparent;color:inherit;font:700 15px var(--bk-font);cursor:pointer;-webkit-tap-highlight-color:transparent}
 .bk-bar-btn svg{width:20px;height:20px;flex:none}
 .bk-bar-btn.is-primary{background:var(--bk-primary-bg);color:var(--bk-primary-fg);border-color:transparent}
 .bk-modal{align-items:flex-end;padding:0}
 .bk-dialog{width:100%;max-height:88dvh;border-radius:var(--bk-radius) var(--bk-radius) 0 0;padding:28px 20px calc(20px + env(safe-area-inset-bottom));transform:translateY(100%)}
}
@media(prefers-reduced-motion:reduce){.bk-dialog,.bk-backdrop{transition:none}}
/* Room card facts (객실명 · 인원 · 요금 예시 · 예약 버튼) */
.rc-facts{margin:14px 0 0;padding:0;display:grid;gap:0}
.rc-facts>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-top:1px solid var(--rc-line,var(--bk-line));font-size:13px}
.rc-facts dt{margin:0;font-weight:600;opacity:.85}
.rc-facts dd{margin:0;font-weight:700;text-align:right}
.rc-ex{font-weight:500;font-size:.92em;opacity:.85;margin-left:2px}
.rc-book{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;min-height:46px;padding:0 22px;border:0;border-radius:var(--bk-btn-radius);background:var(--rc-btn-bg,var(--bk-primary-bg));color:var(--rc-btn-fg,var(--bk-primary-fg));font:700 14px var(--bk-font);cursor:pointer;width:100%}
.rc-book:hover{filter:brightness(1.08)}
.rc-book:focus-visible{outline:3px solid currentColor;outline-offset:2px}
