/* =========================================================
   policy.css — 정책 페이지 (개인정보처리방침 / 이용약관 / 비급여)
   ========================================================= */

.policy-wrap {
  max-width: 800px;
  margin: 0 auto;
  padding: var(--space-12) var(--space-4);
}

/* 제목 */
.policy-wrap h1 {
  font-size: var(--fs-h1);
  font-weight: var(--fw-bold);
  margin-bottom: var(--space-2);
}

.policy-effective {
  font-size: var(--fs-small);
  color: var(--color-text-mute);
  margin-bottom: var(--space-12);
}

/* 섹션 */
.policy-section {
  margin-bottom: var(--space-12);
}

.policy-section__title {
  font-size: var(--fs-h3);
  font-weight: var(--fw-bold);
  color: var(--color-primary-700);
  margin-bottom: var(--space-4);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--color-border);
}

.policy-section p {
  font-size: var(--fs-small);
  color: var(--color-text-sub);
  line-height: 1.8;
  margin-bottom: var(--space-3);
}

.policy-section ul,
.policy-section ol {
  padding-left: var(--space-6);
  margin-bottom: var(--space-3);
}

.policy-section li {
  font-size: var(--fs-small);
  color: var(--color-text-sub);
  line-height: 1.8;
  margin-bottom: var(--space-2);
}

/* 강조 박스 */
.policy-highlight {
  background: var(--color-primary-50);
  border-left: 3px solid var(--color-primary-500);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  padding: var(--space-4) var(--space-6);
  margin: var(--space-4) 0;
  font-size: var(--fs-small);
  color: var(--color-text);
  line-height: 1.8;
}

/* 비급여 테이블 */
.policy-table-wrap {
  overflow-x: auto;
  margin: var(--space-4) 0;
}

.policy-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--fs-small);
}

.policy-table thead th {
  background: var(--color-primary-700);
  color: #fff;
  padding: var(--space-3) var(--space-4);
  text-align: left;
  font-weight: var(--fw-semibold);
  white-space: nowrap;
}

.policy-table tbody td {
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--color-border);
  color: var(--color-text-sub);
  vertical-align: top;
  line-height: 1.6;
}

.policy-table tbody tr:nth-child(even) td {
  background: var(--color-bg-alt);
}

.policy-table tbody tr:hover td {
  background: var(--color-primary-50);
}

.policy-table .td-price {
  text-align: right;
  white-space: nowrap;
  font-weight: var(--fw-semibold);
  color: var(--color-text);
}

.policy-table .td-cat {
  font-weight: var(--fw-semibold);
  color: var(--color-primary-700);
}

/* 비급여 안내 배너 */
.noncov-notice {
  background: var(--color-bg-alt);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-6);
  margin-bottom: var(--space-8);
  font-size: var(--fs-small);
  color: var(--color-text-sub);
  line-height: 1.8;
}

.noncov-notice strong {
  color: var(--color-text);
  font-weight: var(--fw-semibold);
}

/* 관련 링크 */
.policy-links {
  display: flex;
  gap: var(--space-4);
  flex-wrap: wrap;
  margin-top: var(--space-12);
  padding-top: var(--space-8);
  border-top: 1px solid var(--color-border);
}

.policy-links a {
  font-size: var(--fs-small);
  color: var(--color-text-mute);
  text-decoration: underline;
  transition: color var(--transition-fast);
}

.policy-links a:hover { color: var(--color-primary-500); }

/* 모바일: 다열 가격표가 화면을 넘지 않도록 폰트·여백 축소 */
@media (max-width: 640px) {
  .policy-table {
    font-size: 0.75rem;
  }
  .policy-table thead th,
  .policy-table tbody td {
    padding: var(--space-2) var(--space-1);
  }
  .policy-table thead th {
    white-space: normal;
    word-break: keep-all;
  }
}
