/**
 * ┌─────────────────────────────────────────────────────────────────────┐
 * │  FILE INDEX — 여수뉴스포털                                          │
 * ├──────────────┬──────────────────────────────────────────────────────┤
 * │  파일명      │  book.css                                             │
 * │  위치        │  /book/assets/css/book.css                            │
 * │  생성일      │  2026-07-11                                           │
 * ├──────────────┼──────────────────────────────────────────────────────┤
 * │  기능/역할   │  예약포털 전용 CSS                                    │
 * │  접두사 규칙 │  CSS 변수: --bk-*  /  클래스: .bk-*                  │
 * │  전역 금지   │  :root에서 --primary 등 전역 변수 재정의 금지         │
 * │              │  .btn .card .badge 등 전역 클래스명 재정의 금지       │
 * └──────────────┴──────────────────────────────────────────────────────┘
 */

/* ── 1. 예약포털 전용 CSS 변수 ── */
:root {
  --bk-primary:      var(--primary,      #6366f1);
  --bk-primary-dark: var(--primary-dark, #4f46e5);
  --bk-link:         var(--link-color,   #6366f1);

  --bk-fs-xs:   var(--fs-xs,   12px);
  --bk-fs-sm:   var(--fs-sm,   14px);
  --bk-fs-base: var(--fs-base, 16px);
  --bk-fs-lg:   var(--fs-lg,   18px);
  --bk-lh:      1.7;

  --bk-gray-100: #f8fafc;
  --bk-gray-200: #f1f5f9;
  --bk-gray-300: #e2e8f0;
  --bk-gray-500: #94a3b8;
  --bk-gray-700: #475569;
  --bk-gray-900: #1e293b;

  --bk-radius:  var(--card-radius, 12px);
  --bk-shadow:  var(--card-shadow, 0 1px 6px rgba(0,0,0,.08));
  --bk-gap:     var(--grid-gap,    20px);
}

/* ── 2. 래퍼 ── */
.bk-wrap {
  width: 100%;
  font-size: var(--bk-fs-base);
  line-height: var(--bk-lh);
  color: var(--bk-gray-900);
}
.bk-wrap * { box-sizing: border-box; }

/* ── 3. 섹션 헤더 ── */
.bk-sec-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--bk-primary);
}
.bk-sec-title {
  font-size: var(--bk-fs-lg);
  font-weight: 700;
  color: var(--bk-gray-900);
}

/* ── 4. 예약 카드 ── */
.bk-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: var(--bk-gap);
}
.bk-card {
  background: #fff;
  border: 1px solid var(--bk-gray-300);
  border-radius: var(--bk-radius);
  box-shadow: var(--bk-shadow);
  overflow: hidden;
  transition: box-shadow .2s;
}
.bk-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.12); }
.bk-card-body { padding: 16px; }
.bk-card-title {
  font-size: var(--bk-fs-sm);
  font-weight: 700;
  color: var(--bk-gray-900);
  margin: 0 0 8px;
}
.bk-card-meta {
  font-size: var(--bk-fs-xs);
  color: var(--bk-gray-500);
}

/* ── 5. 예약 상태 배지 ── */
.bk-badge {
  display: inline-block;
  padding: 2px 8px;
  font-size: var(--bk-fs-xs);  /* 배지 예외: 12px */
  font-weight: 600;
  border-radius: 4px;
  background: var(--bk-primary);
  color: #fff;
}
.bk-badge-available { background: #10b981; }
.bk-badge-full      { background: #ef4444; }
.bk-badge-pending   { background: #f59e0b; color: #000; }

/* ── 6. 반응형 ── */
@media (max-width: 768px) {
  .bk-grid { grid-template-columns: 1fr; }
}
