/* bw-reserve.css — 예약·줄서기·숙소 예약처 단추 (2026-10-08 K6-detail-ui)
 * 마크업: includes/_reserve_links.php (.bw-rsv …) — 링크 목록·문구는 includes/reserve_links.php 가 정한다.
 * 규칙: 터치 높이 48px · 글자 대비 4.5:1 이상(강조색 #C2410C = 흰 글자 5.2:1, 회색 글자 #5B6470 = 흰 바탕 5.9:1) · focus-visible 링 · 라이트 전용.
 * 전역 토큰이 없는 페이지에서도 깨지지 않게 var(--토큰, 기본값) 형태로만 쓴다. */

.bw-rsv, .bw-rsv * { box-sizing: border-box; }
.bw-rsv { display: flex; flex-direction: column; gap: 10px; min-width: 0; margin: 0 0 14px; }
.bw-rsv:last-child { margin-bottom: 0; }
.bw-rsv__title { margin: 0; font-size: 15px; font-weight: 800; line-height: 1.35; color: var(--bw-ink-900, #0B0E14); letter-spacing: 0; }

/* 단추 */
.bw-rsv__btn { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-height: 48px; padding: 12px 16px;
  border: 1px solid var(--bw-line-strong, #CFCCBE); border-radius: 12px; background: var(--bw-paper, #fff); color: var(--bw-ink-900, #0B0E14);
  font: inherit; font-size: 15px; font-weight: 700; line-height: 1.3; text-align: left; text-decoration: none; cursor: pointer;
  -webkit-tap-highlight-color: transparent; transition: background-color .15s, border-color .15s, color .15s; }
.bw-rsv__btn--primary { background: #C2410C; border-color: #C2410C; color: #fff; }
.bw-rsv__btn--secondary, .bw-rsv__btn--outline, .bw-rsv__btn--map { background: var(--bw-paper, #fff); color: var(--bw-ink-900, #0B0E14); }
.bw-rsv__btn--outline { min-height: 44px; padding: 10px 14px; font-size: 14px; }
.bw-rsv__btn--map { min-height: 44px; font-size: 14px; border-color: var(--bw-line-strong, #CFCCBE); }
/* 2026-10-08 K6 보완: 긴 문구('Reserve or join the waitlist')가 제공자 이름을 눌러 'CatchTabl/e' 처럼 글자 단위로 끊기던 것.
   제공자(via)는 줄이지 않고(flex 0 0 auto) 낱말 경계에서만 줄바꿈, 모자란 폭은 문구(cta)가 낱말 단위로 줄바꿈하며 받는다. overflow-wrap:anywhere 는 최소 폭을 1글자로 만들어 쓰지 않는다. */
.bw-rsv__cta { flex: 1 1 0; min-width: 0; overflow-wrap: break-word; }
.bw-rsv__via { flex: 0 0 auto; max-width: 48%; font-size: 12px; font-weight: 600; line-height: 1.3; text-align: right; overflow-wrap: break-word; word-break: keep-all; }
.bw-rsv__ext { flex: 0 0 auto; width: 16px; height: 16px; }
@media (hover: hover) {
  .bw-rsv__btn--primary:hover { background: #9A3412; border-color: #9A3412; }
  .bw-rsv__btn--secondary:hover, .bw-rsv__btn--outline:hover, .bw-rsv__btn--map:hover { background: var(--bw-ink-50, #F4F5F6); border-color: var(--bw-ink-700, #2A2F38); }
}
.bw-rsv a:focus-visible, .bw-rsv summary:focus-visible, .bw-rsv button:focus-visible { outline: 3px solid #C2410C; outline-offset: 2px; }

/* 안내 글 */
.bw-rsv__note, .bw-rsv__hint, .bw-rsv__fine, .bw-rsv__disclosure { margin: 0; font-size: 12px; line-height: 1.5; color: var(--bw-ink-500, #5B6470); }
.bw-rsv__note { margin-top: -4px; }

/* 다른 예약처 접이식 */
.bw-rsv__more { margin: 0; }
.bw-rsv__more > summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 44px; padding: 0 2px; font-size: 14px; font-weight: 700; color: var(--bw-ink-700, #2A2F38); cursor: pointer; list-style: none; }
.bw-rsv__more > summary::-webkit-details-marker { display: none; }
.bw-rsv__more > summary::after { content: ""; flex: 0 0 auto; width: 8px; height: 8px; margin: -3px 4px 0 0; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .15s; }
.bw-rsv__more[open] > summary { margin-bottom: 4px; }
.bw-rsv__more[open] > summary::after { transform: rotate(-135deg); margin-top: 3px; }
.bw-rsv__list, .bw-rsv__search-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.bw-rsv__list > li, .bw-rsv__search-list > li { min-width: 0; }
.bw-rsv__list .bw-rsv__note { margin: 4px 0 0; }

/* 숙소 — 예약 사이트에서 검색 */
.bw-rsv__search { display: grid; gap: 8px; padding-top: 4px; }
.bw-rsv__search-title { margin: 0; font-size: 13px; font-weight: 800; color: var(--bw-ink-700, #2A2F38); }

/* 신고 */
.bw-rsv__report { align-self: flex-start; min-height: 44px; padding: 0 2px; border: 0; background: none; color: var(--bw-ink-500, #5B6470); font: inherit; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

/* 옆 카드 안에서 — 카드 제목(h3) 바로 아래 */
.fd-side-card .bw-rsv, .sd-side-card .bw-rsv { margin: 0 0 12px; }
.fd-side-card .bw-rsv + .fd-side-cta, .fd-side-card .bw-rsv + .bw-ml { margin-top: 4px; }
.stayd-book .bw-rsv { margin: 12px 0; }

/* 상세 페이지 정보 줄: 예약처 */
.bw-rsv-inforow-v { text-align: right; max-width: 62%; overflow-wrap: anywhere; }
