/* 시간가구 — 네이버 예약(샘플). 주소가 비어 있는 동안 [data-naver-booking] 은 모두 숨김. 모바일 우선 */
[data-naver-booking][hidden] { display: none !important; }

.booking {
  position: relative; z-index: 1; background: var(--bg);
  padding: 72px 20px 56px;
}
.booking-inner { max-width: 1120px; margin: 0 auto; }
.booking h2 { font-size: 24px; line-height: 1.35; letter-spacing: 0.01em; font-weight: 300; }
.booking h3 { font-size: 20px; line-height: 1.35; letter-spacing: 0.02em; font-weight: 400; }
.booking-lead { margin-top: 12px; font-size: 16px; line-height: 1.6; letter-spacing: 0.02em; max-width: 34em; opacity: 0.85; }
.booking-grid {
  display: grid; gap: 16px; margin-top: 28px;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
}
.booking-item { display: flex; flex-direction: column; gap: 8px; padding: 20px; background: #2f2a27; }
.booking-item-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; font-size: 16px; line-height: 1.5; letter-spacing: 0.02em; }
.booking-item-desc { font-size: 16px; line-height: 1.55; letter-spacing: 0.02em; opacity: 0.8; }
.booking-sample {
  display: inline-block; padding: 1px 6px; border: 1px solid rgba(255, 255, 255, 0.5);
  font-size: 14px; line-height: 1.4; letter-spacing: 0.02em; opacity: 0.85; white-space: nowrap;
}
.booking-policy { margin-top: 36px; }
.booking-policy ul { margin-top: 12px; padding-left: 1.2em; list-style: disc; font-size: 16px; line-height: 1.7; letter-spacing: 0.02em; opacity: 0.9; }
.booking-policy li { margin: 4px 0; }
.booking-note { margin-top: 16px; font-size: 14px; line-height: 1.6; letter-spacing: 0.02em; opacity: 0.8; }
.booking-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; margin-top: 24px; }

@media (min-width: 768px) {
  .booking { padding: 96px 48px 72px; }
  .booking h2 { font-size: 32px; }
}
@media (min-width: 1100px) {
  .booking { padding: 112px 8% 88px; }
  .booking h2 { font-size: 40px; }
}
