/* ════════════════════════════════════════════
   legal.css — 약관/이용안내 공통 CSS
════════════════════════════════════════════ */

/* ── Hero ── */
#legal-hero, #price-hero {
  padding-top:140px;
  background:var(--cream);
}
.legal-hero-inner, .price-hero-inner {
  padding:0 56px 48px;
}
.legal-hero-label, .price-hero-label {
  font-family:'DM Sans',sans-serif;
  font-size:9px; letter-spacing:.28em; text-transform:uppercase;
  color:var(--gold); margin-bottom:16px;
  display:flex; align-items:center; gap:12px;
}
.legal-hero-label::before,
.price-hero-label::before {
  content:''; width:24px; height:1px; background:var(--gold); opacity:.5;
}
.legal-hero-title, .price-hero-title {
  font-family:'Marcellus','Pretendard',sans-serif;
  font-size:clamp(28px,4vw,52px);
  letter-spacing:.04em; line-height:1.1; color:var(--dark);
  margin-bottom:16px;
}
.legal-hero-sub {
  font-family:'DM Sans',sans-serif;
  font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  color:rgba(140,90,58,.4); margin-top:8px;
}

.price-hero-desc {
  font-size:16.5px; font-weight:400; line-height:2;
  color:rgba(60,44,28,.5); letter-spacing:.01em;
}

/* ── 탭 네비 ── */
.legal-tab-nav {
  display:flex; flex-wrap:wrap;
  border-top:1px solid var(--gb);
  position:sticky; top:60px; z-index:200;
  background:rgba(245,240,232,.96);
  backdrop-filter:blur(16px);
}
.legal-tab-nav a {
  padding:16px 28px;
  font-family:'DM Sans',sans-serif;
  font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--warm); text-decoration:none;
  border-right:1px solid var(--gb);
  position:relative; transition:color .25s;
  white-space:nowrap;
}
.legal-tab-nav a:last-child { border-right:none; }
.legal-tab-nav a::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:1px;
  background:var(--gold); transform:scaleX(0);
  transition:transform .35s cubic-bezier(.77,0,.175,1);
}
.legal-tab-nav a:hover,
.legal-tab-nav a.active { color:var(--gold); }
.legal-tab-nav a:hover::after,
.legal-tab-nav a.active::after { transform:scaleX(1); }

/* ── 본문 공통 ── */
#legal-section, #price-section {
  background:var(--cream);
  padding:64px 0 120px;
}
.legal-wrap, .price-wrap {
  max-width:900px;
  margin:0 auto;
  padding:0 56px;
}

/* ── 약관 콘텐츠 ── */
.legal-content h2 {
  font-family:'Marcellus','Pretendard',sans-serif;
  font-size:clamp(18px,1.8vw,24px);
  letter-spacing:.04em; color:var(--dark);
  margin-bottom:40px;
  padding-bottom:20px;
  border-bottom:1px solid var(--gb);
}
.legal-block {
  margin-bottom:40px;
  padding-bottom:40px;
  border-bottom:1px solid var(--gb);
}
.legal-block:last-child { border-bottom:none; }
.legal-content h3 {
  font-family:'Pretendard',sans-serif;
  font-size:16.5px; font-weight:600; letter-spacing:.06em;
  color:var(--dark); margin-bottom:12px; text-transform:uppercase;
}
.legal-content p {
  font-size:17px; font-weight:400; line-height:2.2;
  color:rgba(60,44,28,.75); letter-spacing:.01em;
  margin-bottom:12px;
}
.legal-content p:last-child { margin-bottom:0; }
.legal-content ul, .legal-content ol {
  padding-left:0; list-style:none; margin-bottom:12px;
}
.legal-content ul li, .legal-content ol li {
  font-size:17px; font-weight:400; line-height:2;
  color:rgba(60,44,28,.7); letter-spacing:.01em;
  padding-left:20px; position:relative;
}
.legal-content ul li::before {
  content:'–'; position:absolute; left:0;
  color:var(--gold); font-weight:400;
}
.legal-content ol { counter-reset:legal-counter; }
.legal-content ol li::before {
  content:counter(legal-counter) '.';
  counter-increment:legal-counter;
  position:absolute; left:0;
  color:var(--gold); font-size:11px; font-family:'DM Sans',sans-serif;
  top:2px;
}
.legal-content strong {
  font-weight:500; color:var(--dark);
}
.legal-note {
  font-size:14px; color:rgba(60,44,28,.5) !important;
}
.legal-date {
  margin-top:32px;
  padding-top:24px;
  border-top:1px solid var(--gb);
}
.legal-date p {
  font-size:14px; color:rgba(60,44,28,.45) !important;
}

/* ── 비급여 테이블 ── */
.price-notice {
  padding:20px 24px;
  border-left:2px solid var(--gold);
  background:rgba(196,154,104,.05);
  margin-bottom:40px;
}
.price-notice p {
  font-size:16.5px; font-weight:400; line-height:2;
  color:rgba(60,44,28,.65); letter-spacing:.01em;
}
.price-table-wrap { overflow-x:auto; }
.price-table {
  width:100%; border-collapse:collapse;
  border-top:1px solid var(--dark);
}
.price-table thead th {
  font-family:'Pretendard',sans-serif;
  font-size:11.5px; font-weight:500; letter-spacing:.05em;
  color:var(--dark); text-align:center;
  padding:13px 12px;
  background:rgba(60,44,28,.03);
  border-bottom:1px solid var(--gb);
  white-space:nowrap;
}
.price-table tbody tr { border-bottom:1px solid var(--gb); transition:background .15s; }
.price-table tbody tr:hover { background:rgba(196,154,104,.04); }
.price-table tbody td {
  font-size:15px; font-weight:400;
  color:rgba(60,44,28,.8); letter-spacing:.01em;
  padding:15px 12px; vertical-align:middle;
}
.td-date { font-size:13.5px; color:rgba(60,44,28,.38); white-space:nowrap; }
.td-name { font-weight:400; color:var(--dark); }
.td-price { text-align:right; white-space:nowrap; font-feature-settings:'tnum'; }
.td-unit { text-align:center; font-size:14px; color:rgba(60,44,28,.55); }
.price-footnote {
  margin-top:20px;
  font-size:14px; font-weight:400;
  color:rgba(60,44,28,.4); letter-spacing:.01em;
}

/* ── Responsive ── */
@media(max-width:900px) {
  #legal-hero, #price-hero { padding-top:100px; }
  .legal-hero-inner, .price-hero-inner { padding:0 24px 40px; }
  .legal-wrap, .price-wrap  { padding:0 24px; }
  .legal-tab-nav a          { padding:13px 16px; font-size:9px; }
  .td-date                  { display:none; }
  .price-table tbody td     { padding:12px 8px; font-size:14px; }
  .price-table thead th     { padding:11px 8px; font-size:10.5px; }
}
