/* book.css — 예약 화면 (SC-BOOK-01 초안). main.css 다음에 불러오기 */
/* 밝은 화면이므로 GNB를 공간 살펴보기·오시는 길과 같은 흰 바탕으로 */
body[data-view="book"] .gnb{background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--c-ink);border-bottom-color:var(--c-line)}
.book{padding:calc(var(--gnb-h) + clamp(56px,8vw,96px)) 0 var(--sec)}
.bk-sample{margin:-32px 0 40px;padding:12px 16px;border:1px dashed var(--c-brass);color:var(--c-brass-dk);font-size:1.3rem;line-height:1.6}
.bk-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:56px;align-items:start}
.bk-step{margin-bottom:48px}
.bk-step__title{display:flex;align-items:baseline;gap:12px;margin-bottom:20px;font:400 2rem/1.4 var(--f-serif)}
.bk-step__title small{font:400 1.2rem/1 var(--f-serif);letter-spacing:.24em;color:var(--c-brass-dk)}
.bk-branch{display:flex;gap:8px}
.bk-branch button{flex:1;height:52px;border:1px solid var(--c-line);font:500 1.5rem/1 var(--f-sans);color:var(--c-tile);transition:border-color .25s,color .25s,background .25s}
.bk-branch button small{margin-left:6px;font-size:1.1rem;letter-spacing:.16em;color:var(--c-brass-dk)}
.bk-branch button[aria-pressed="true"]{border-color:var(--c-ink);color:var(--c-ink);background:var(--c-paper)}
.bk-dates{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}
.bk-field{display:block}
.bk-field>span{display:block;margin-bottom:8px;font-size:1.3rem;color:var(--c-tile)}
.bk-field input{width:100%;height:50px;padding:0 14px;border:1px solid var(--c-line);background:var(--c-paper);font:400 1.5rem/1 var(--f-sans);color:var(--c-ink)}
.bk-field input:focus{outline:none;border-color:var(--c-ink)}
.bk-nights{height:50px;display:flex;align-items:center;padding:0 6px;font:400 1.6rem/1 var(--f-serif);color:var(--c-brass-dk)}
.bk-hint{margin-top:10px;font-size:1.25rem;color:var(--c-brass-dk)}
.bk-pay-note b{color:var(--c-ink);font-weight:500}
.bk-empty{padding:28px 0;color:var(--c-tile);font-size:1.4rem}
.bk-room{display:flex;gap:16px;align-items:flex-start;padding:22px 20px;border:1px solid var(--c-line);margin-bottom:-1px;cursor:pointer;transition:background .2s}
.bk-room:hover{background:var(--c-paper)}
.bk-room input{margin-top:5px;accent-color:var(--c-ink)}
.bk-room:has(input:checked){position:relative;z-index:1;border-color:var(--c-ink);background:var(--c-paper)}
.bk-room.is-out{cursor:not-allowed;opacity:.45}
.bk-room__body{flex:1;min-width:0}
.bk-room__img{flex:none;width:120px;height:160px;object-fit:cover;background:var(--c-paper)}
.bk-room.is-out .bk-room__img{filter:grayscale(1)}
.bk-room__eng{display:block;margin-bottom:6px;font:400 1.1rem/1 var(--f-serif);letter-spacing:.2em;color:var(--c-brass-dk)}
.bk-room__name{display:block;font:400 1.9rem/1.4 var(--f-serif)}
.bk-room__desc{display:block;margin-top:6px;font-size:1.35rem;line-height:1.6;color:var(--c-tile)}
.bk-room__side{text-align:right;white-space:nowrap}
.bk-room__price{display:block;font:500 1.8rem/1.3 var(--f-sans)}
.bk-room__left{display:block;margin-top:6px;font-size:1.2rem;color:var(--c-brass-dk)}
.bk-guest{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bk-agree{margin-top:20px;display:grid;gap:10px}
.bk-agree label{display:flex;gap:10px;align-items:flex-start;font-size:1.4rem;line-height:1.6;cursor:pointer}
.bk-agree input{margin-top:4px;accent-color:var(--c-ink)}
.bk-side{position:sticky;top:calc(var(--gnb-h) + 24px);padding:28px;background:var(--c-paper)}
.bk-sum__list{display:grid;gap:10px;padding-bottom:18px;border-bottom:1px solid var(--c-line);font-size:1.4rem}
.bk-sum__list div{display:flex;justify-content:space-between;gap:12px}
.bk-sum__list dt{color:var(--c-tile)}
.bk-sum__lines{padding:14px 0;border-bottom:1px solid var(--c-line);font-size:1.3rem;color:var(--c-tile)}
.bk-sum__lines li{display:flex;justify-content:space-between;padding:3px 0}
.bk-sum__total{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0}
.bk-sum__total b{font:500 2.4rem/1 var(--f-sans)}
.bk-refund{padding:16px;background:#fff;font-size:1.3rem}
.bk-refund__title{margin-bottom:10px;font-weight:500}
.bk-refund li{display:flex;justify-content:space-between;gap:10px;padding:4px 0}
.bk-refund li b{font-weight:500;white-space:nowrap}
.bk-refund__note{margin-top:10px;line-height:1.6;color:var(--c-tile)}
.bk-refund__note b{color:var(--c-ink)}
.bk-pay{width:100%;height:56px;margin-top:20px;font-size:1.5rem}
.bk-pay-note{margin-top:10px;font-size:1.2rem;line-height:1.6;color:var(--c-tile);text-align:center}
.bk-result{margin-top:20px;padding:16px;border:1px dashed var(--c-brass);font-size:1.25rem}
.bk-result__title{margin-bottom:8px;color:var(--c-brass-dk)}
.bk-result pre{white-space:pre-wrap;word-break:break-all;font-size:1.2rem}
@media (max-width:1024px){
  .bk-grid{grid-template-columns:1fr;gap:8px}
  .bk-side{position:static}
}
@media (max-width:767px){
  .bk-dates{grid-template-columns:1fr 1fr}
  .bk-nights{grid-column:1/-1;height:auto}
  .bk-guest{grid-template-columns:1fr}
  .bk-room{flex-wrap:wrap}
  .bk-room__side{width:100%;padding-left:28px;text-align:left}
  .bk-room__img{width:96px;height:128px}
}

/* 시설 사진 슬라이드 */
.bk-fac{position:relative;margin-top:20px}
.bk-fac__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;aspect-ratio:3/2;background:var(--c-line)}
.bk-fac__track::-webkit-scrollbar{display:none}
.bk-fac__slide{flex:0 0 100%;margin:0;scroll-snap-align:start}
.bk-fac__slide img{display:block;width:100%;height:100%;object-fit:cover}
.bk-fac__nav{position:absolute;top:calc(50% - 32px);width:40px;height:40px;border:0;background:rgba(255,255,255,.85);color:var(--c-ink);font-size:2.6rem;line-height:1;cursor:pointer;transition:opacity .2s}
.bk-fac__nav--prev{left:10px}.bk-fac__nav--next{right:10px}
.bk-fac__nav:disabled{opacity:0;pointer-events:none}
.bk-fac__foot{display:flex;justify-content:space-between;margin-top:10px;font-size:1.3rem;color:var(--c-tile)}
@media (max-width:767px){.bk-fac__nav{width:34px;height:34px;font-size:2.2rem}}
.bk-agree--side{margin-top:20px;padding-top:18px;border-top:1px solid var(--c-line)}
.bk-agree--side label{font-size:1.35rem}

/* PG 심사용: 이용 안내 블록 */
.bk-policy{margin-top:64px;padding-top:40px;border-top:1px solid rgba(0,0,0,.12)}
.bk-policy__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:20px}
.bk-policy h3{font-size:1.5rem;font-weight:600;margin-bottom:10px}
.bk-policy ul{list-style:disc;padding-left:18px}
.bk-policy li{font-size:1.35rem;line-height:1.7;margin-bottom:4px;color:var(--c-tile,#555)}
.bk-policy a{text-decoration:underline}
@media(max-width:900px){.bk-policy__grid{grid-template-columns:1fr;gap:24px}}
.bk-result a{text-decoration:underline}
.bk-agree small{display:block;font-size:.92em;color:var(--c-tile,#777);margin-top:2px}
.bk-pay-hint{margin-top:8px;font-size:1.2rem;line-height:1.5;color:#b0552c;text-align:center}
.bk-paybox{margin-top:20px;padding:12px 0;border-top:1px solid rgba(0,0,0,.12)}
.bk-paybox__title{font-size:1.4rem;font-weight:600;margin:6px 0 4px}
.bk-confirm{max-width:520px;width:calc(100% - 32px);max-height:calc(100vh - 40px);overflow:auto;border:0;padding:28px 24px;box-shadow:0 12px 48px rgba(0,0,0,.25);background:#fbfaf7}
.bk-confirm::backdrop{background:rgba(20,20,20,.5)}
.bk-confirm h2{font-size:1.9rem;margin:0 0 16px}
.bk-confirm__agree{display:flex;gap:8px;align-items:flex-start;margin:18px 0 14px;font-size:1.35rem;line-height:1.6}
.bk-confirm__agree input{margin-top:4px}
.bk-confirm__btns{display:flex;gap:10px}
.bk-confirm__btns .btn{flex:1}
.bk-confirm__btns .btn[disabled]{opacity:.4;cursor:not-allowed}

.bk-ota{margin-top:14px;font-size:1.15rem;line-height:1.6;color:var(--c-tile,#777);text-align:center}
.bk-ota a{text-decoration:underline;color:inherit}
