@charset "UTF-8";
/* =============================================================================
   서브페이지 공용 — About(4) · Guide(insurance·price) · Policy(2)
   컨트롤러 3개가 이 파일 하나를 공유한다. 여기 넣은 규칙은 9개 페이지에 퍼진다.
   About 전용 규칙에는 반드시 스코프 클래스를 붙인다.
   ========================================================================== */

/* ── 인사말 진입부 텍스처 (About 4페이지 전용) — 바이올렛 톤
   background-color 없이 background-image 만 쓴다 — 채색 블록 예산(≤3/페이지,
   layout-audit.mjs 는 backgroundColor 만 검사)에 잡히지 않는다. ── */
.entry-a--bg { background-image: url('/www/assets/img/about-head-bg.webp'); background-size: cover; background-position: center; }

/* ── 이용안내(Guide) 자동차보험·FAQ 전용 텍스처 — 같은 스타일, 민트 톤 ──
   비급여 진료비용(guide_price.php)은 Type B(entry-b)라 해당 없음 */
.entry-a--guide { background-image: url('/www/assets/img/guide-head-bg.webp'); background-size: cover; background-position: center; }

/* ── 약관·개인정보(Policy) 전용 텍스처 — 같은 스타일, 슬레이트 톤 ── */
.entry-a--policy { background-image: url('/www/assets/img/policy-head-bg.webp'); background-size: cover; background-position: center; }

/* ── 지도 프레임 (About 오시는길) — 사진 프레임과 동일 취급, 카드 아님 ── */
.map-frame { border-radius: var(--r-inner); overflow: hidden; box-shadow: var(--sh-hairline); }

/* ── 층 라벨 (About 시설안내) — 배지 채색 대신 텍스트 라벨 ── */
.floor-label { display: block; font-size: 12px; font-weight: var(--fw-medium); letter-spacing: var(--tk-eyebrow-en); text-transform: uppercase; color: var(--violet); margin-bottom: var(--sp-12); }

/* ── 진료원칙 목록 (About 인사말) ─────────────────────────────────────── */
.principle-list { display: grid; gap: var(--sp-32); }
@media (min-width: 768px) { .principle-list { gap: var(--sp-40); } }

.principle-row {
    display: grid; gap: var(--sp-12);
    padding-top: var(--sp-20);
    border-top: 2px solid var(--violet);
}
@media (min-width: 1024px) {
    .principle-row { grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: var(--sp-48); align-items: start; }
}
.principle-row .principle-text { font-size: 15px; }

/* ── 입원실 표 (About 시설안내) — 헤더·데이터 정렬축이 어긋나 보이던 문제라
   table-layout:fixed 로 열 너비를 고정하고 정렬을 맞춘다 (2026-08-29) ── */
.room-table thead th { font-size: 13px; color: var(--ash); border-bottom: 1px solid var(--hairline); }
.room-table td.num { font-variant-numeric: tabular-nums; }
.room-table tr.total th, .room-table tr.total td {
    font-weight: var(--fw-medium); color: var(--ink);
    border-top: 1px solid var(--ink); border-bottom: 0;
}
.room-table { table-layout: fixed; width: 100%; }
.room-table th:first-child, .room-table td:first-child { width: 40%; }
.room-table th:not(:first-child), .room-table td:not(:first-child) { width: 30%; }

/* .steps / .step 은 style.css 공용 (치료안내 추나 페이지와 함께 쓴다) */

/* ── 서류 체크리스트 (Guide) ──────────────────────────────────────────── */
.doc-list li { display: flex; gap: var(--sp-12); align-items: flex-start; }
.doc-list li + li { margin-top: var(--sp-12); }
.doc-list .doc-name { font-weight: var(--fw-medium); color: var(--ink); }

/* ── 약관 본문 (Policy) ───────────────────────────────────────────────── */
.policy-body { max-width: 860px; }
.policy-body .updated { font-size: 13px; color: var(--ash); margin-bottom: var(--sp-40); }

.policy-section { padding-top: var(--sp-32); margin-top: var(--sp-32); border-top: 1px solid var(--hairline); }
.policy-section:first-of-type { padding-top: 0; margin-top: 0; border-top: 0; }

.policy-section h3 {
    font-size: 19px; line-height: var(--lh-heading-sm);
    color: var(--ink); font-weight: var(--fw-medium);
    margin-bottom: var(--sp-16);
}
@media (min-width: 768px) { .policy-section h3 { font-size: 20px; } }

.policy-section p { font-size: 15px; line-height: var(--lh-body); color: var(--carbon); }
.policy-section p + p { margin-top: var(--sp-12); }
.policy-section strong { color: var(--ink); font-weight: var(--fw-medium); }

/* 약관 안에 들어가는 표 — 테두리 없이 헤어라인만 (진료시간 표와 같은 규칙) */
.pricing-table { width: 100%; margin: var(--sp-16) 0; font-size: 14px; }
.pricing-table th, .pricing-table td { padding: 12px; text-align: left; border-bottom: 1px solid var(--hairline); vertical-align: top; }
.pricing-table thead th { font-size: 13px; font-weight: var(--fw-medium); color: var(--ash); border-bottom-color: var(--ink); }
.pricing-table tbody td { color: var(--carbon); }

/* 안내 상자 */
.notice-box { padding: var(--sp-20); border-radius: var(--r-inner); background: var(--mist); margin-top: var(--sp-16); }
.notice-box h4 { font-size: 15px; font-weight: var(--fw-medium); color: var(--ink); margin-bottom: var(--sp-12); }
.notice-box p { font-size: 14px; }

/* ── 비급여 표 (Guide) — 헤더·데이터 정렬축이 어긋나고 열 너비가 내용 길이에
   따라 들쭉날쭉해 보이던 문제라 table-layout:fixed 로 열 너비를 고정한다.
   항목이 97개라 표를 좌우 2단으로 나눠 배치한다(비고 열은 값이 없어 제거) —
   피드백: 2026-08-29 ── */
.price-table-grid { display: grid; gap: var(--sp-32); }
@media (min-width: 1024px) { .price-table-grid { grid-template-columns: 1fr 1fr; gap: 0 var(--sp-56); } }

.price-table th, .price-table td { white-space: nowrap; }
.price-table td:first-child, .price-table th:first-child { white-space: normal; }
.price-table thead th { font-size: 13px; color: var(--ash); }
.price-table { table-layout: fixed; width: 100%; }
.price-table th:first-child, .price-table td:first-child { width: 66%; }
.price-table th:nth-child(2), .price-table td:nth-child(2) { width: 34%; }
