* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Noto Sans KR", Arial, sans-serif;
  color: #222;
  line-height: 1.7;
  padding-bottom: 120px;
}

header, main, footer {
  max-width: 720px;
  margin: 0 auto;
  padding: 20px;
}

header h1 {
  font-size: 1.6rem;
}

header p {
  color: #555;
}

section {
  background: #f7f9fb;
  margin-top: 24px;
  padding: 20px;
  border-radius: 12px;
}

section h2 {
  margin-bottom: 12px;
  font-size: 1.25rem;
}

ol, ul {
  padding-left: 20px;
}

li {
  margin-bottom: 8px;
}

/* 리뷰 */
.review {
  padding: 14px;
  border-radius: 10px;
  margin-bottom: 10px;
}
.r1 { background:#fff5e6; }
.r2 { background:#e6f7ff; }
.r3 { background:#f0f4ff; }
.r4 { background:#ffeef4; }
.r5 { background:#eefaf0; }
.r6 { background:#f3f3f3; }

/* 비급여 표 */
.price-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 16px;
}

.price-table th {
  background: #3dd6b5;
  color: #fff;
  padding: 10px;
}

.price-table td {
  border-bottom: 1px solid #ddd;
  padding: 10px;
}

.price-note {
  margin-top: 12px;
  font-size: 0.9rem;
  color: #555;
}

/* 네이버 버튼 */
.naver-buttons {
  display: flex;
  gap: 12px;
  margin-top: 12px;
}

.naver-btn {
  flex: 1;
  padding: 12px;
  text-align: center;
  color: #fff;
  text-decoration: none;
  border-radius: 10px;
  font-weight: 600;
}

.map-btn { background:#03c75a; }
.review-btn { background:#ffac00; }

/* 전화 버튼 */
.call-button {
  position: fixed;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 32px);
  max-width: 720px;
  padding: 14px;
  background: #2b7cff;
  color: #fff;
  text-align: center;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 600;
}
