/* REOR detail pages common system
   Loaded after each page's legacy inline styles so every detail page follows one theme. */

.reor-sub-page {
  --detail-green: #1B3A2D;
  --detail-green-mid: #2C5F45;
  --detail-mist: #F2F6F3;
  --detail-warm: #F6F4F1;
  --detail-line: #E8E8E6;
  --detail-text: #3A3A38;
  --detail-muted: #7A6C67;
  color: var(--detail-text);
  font-family: 'Pretendard', 'Noto Sans KR', 'Apple SD Gothic Neo', sans-serif;
}

/* Typography: keep the approved scale */
.reor-sub-page .section-label,
.reor-sub-page .sec-label,
.reor-sub-page .doctor-role,
.reor-sub-page .doctor-role-sm,
.reor-sub-page .sub-label,
.reor-sub-page .hero-label,
.reor-sub-page .info-label,
.reor-sub-page .meta-label,
.reor-sub-page .cta-label,
.reor-sub-page .mid-cta-label,
.reor-sub-page .price-cta-label,
.reor-sub-page .schedule-cta-label,
.reor-sub-page .subway-label {
  font-family: 'Montserrat', 'Pretendard', sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: .22em !important;
}

.reor-sub-page .intro-desc,
.reor-sub-page .doctor-desc,
.reor-sub-page .section-desc,
.reor-sub-page .sec-desc,
.reor-sub-page .sub-desc,
.reor-sub-page .hero-desc,
.reor-sub-page .cta-sub,
.reor-sub-page .phil-desc,
.reor-sub-page .effect-desc,
.reor-sub-page .cal-desc,
.reor-sub-page .tc-desc,
.reor-sub-page .rec-text,
.reor-sub-page .subway-desc,
.reor-sub-page .loc-parking,
.reor-sub-page .about-point-text p {
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.9 !important;
  letter-spacing: -.015em !important;
}

.reor-sub-page .doctor-quote,
.reor-sub-page .doctor-quote-wrap {
  font-size: 22px !important;
  line-height: 1.8 !important;
}

/* Common detail visual */
.reor-sub-page .sub-visual {
  min-height: 430px;
}
.reor-sub-page .sub-visual::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, rgba(16,40,30,.62), rgba(16,40,30,.18));
  pointer-events: none;
}
.reor-sub-page .sub-visual-text {
  position: relative;
  z-index: 2;
}
.reor-sub-page .sub-title {
  font-family: 'MaruBuri', serif !important;
  font-size: clamp(44px, 5vw, 68px) !important;
  line-height: 1.12 !important;
}
.reor-sub-page .sub-desc {
  color: rgba(255,255,255,.84) !important;
}

/* Local navigation */
.reor-sub-page .sub-nav {
  position: relative;
  top: 0;
  margin-top: 0;
  z-index: 5;
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid var(--detail-line);
  box-shadow: 0 8px 24px rgba(27,58,45,.035);
}
.reor-sub-page .sub-nav-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 48px;
}
.reor-sub-page .sub-tab {
  min-height: 68px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: var(--detail-muted);
  border-bottom: 2px solid transparent;
}
.reor-sub-page .sub-tab.active,
.reor-sub-page .sub-tab:hover {
  color: var(--detail-green);
  border-bottom-color: var(--detail-green);
}

/* Detail page spacing and cards */
.reor-sub-page .page-section,
.reor-sub-page .content-section,
.reor-sub-page .treatment-section,
.reor-sub-page .event-section,
.reor-sub-page .price-section {
  padding-top: 110px !important;
  padding-bottom: 110px !important;
}
.reor-sub-page [class*='card'],
.reor-sub-page .info-box,
.reor-sub-page .schedule-box {
  border-radius: 0 !important;
}
.reor-sub-page .t-card,
.reor-sub-page .ev-card,
.reor-sub-page .price-card,
.reor-sub-page .effect-card {
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.reor-sub-page .t-card:hover,
.reor-sub-page .ev-card:hover,
.reor-sub-page .price-card:hover,
.reor-sub-page .effect-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 45px rgba(27,58,45,.09);
}

/* Buttons */
.reor-sub-page .btn-white,
.reor-sub-page .btn-ghost,
.reor-sub-page .btn-primary,
.reor-sub-page .btn-outline,
.reor-sub-page .hero-cta,
.reor-sub-page .t-card-btn,
.reor-sub-page .pc-reserve,
.reor-sub-page .map-btn,
.reor-sub-page .copy-btn {
  font-size: 16px !important;
  min-height: 52px;
  padding: 14px 28px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  text-decoration: none;
}

/* Images */
.reor-sub-page img {
  max-width: 100%;
}
.reor-sub-page .map-frame iframe {
  width: 100%;
  height: 100%;
  min-height: 520px;
  border: 0;
  display: block;
}

/* CTA consistency */
.reor-sub-page .cta-banner,
.reor-sub-page .mid-cta,
.reor-sub-page .price-cta {
  background: var(--detail-green) !important;
}

@media (max-width: 900px) {
  .reor-sub-page .sub-nav-inner { padding: 0 20px; overflow-x: auto; white-space: nowrap; }
  .reor-sub-page .sub-tab { min-height: 58px; padding-left: 18px !important; padding-right: 18px !important; }
}

@media (max-width: 768px) {
  .reor-sub-page .section-label,
  .reor-sub-page .sec-label,
  .reor-sub-page .doctor-role,
  .reor-sub-page .doctor-role-sm,
  .reor-sub-page .sub-label,
  .reor-sub-page .hero-label,
  .reor-sub-page .info-label,
  .reor-sub-page .meta-label,
  .reor-sub-page .cta-label,
  .reor-sub-page .mid-cta-label,
  .reor-sub-page .price-cta-label,
  .reor-sub-page .schedule-cta-label,
  .reor-sub-page .subway-label { font-size: 13px !important; }

  .reor-sub-page .intro-desc,
  .reor-sub-page .doctor-desc,
  .reor-sub-page .section-desc,
  .reor-sub-page .sec-desc,
  .reor-sub-page .sub-desc,
  .reor-sub-page .hero-desc,
  .reor-sub-page .cta-sub,
  .reor-sub-page .phil-desc,
  .reor-sub-page .effect-desc,
  .reor-sub-page .cal-desc,
  .reor-sub-page .tc-desc,
  .reor-sub-page .rec-text,
  .reor-sub-page .subway-desc,
  .reor-sub-page .loc-parking,
  .reor-sub-page .about-point-text p { font-size: 16px !important; }

  .reor-sub-page .doctor-quote,
  .reor-sub-page .doctor-quote-wrap { font-size: 19px !important; }

  .reor-sub-page .sub-visual { min-height: 360px; }
  .reor-sub-page .sub-title { font-size: clamp(38px, 11vw, 52px) !important; }
  .reor-sub-page .page-section,
  .reor-sub-page .content-section,
  .reor-sub-page .treatment-section,
  .reor-sub-page .event-section,
  .reor-sub-page .price-section { padding-top: 74px !important; padding-bottom: 74px !important; }
  .reor-sub-page .btn-white,
  .reor-sub-page .btn-ghost,
  .reor-sub-page .btn-primary,
  .reor-sub-page .btn-outline,
  .reor-sub-page .hero-cta,
  .reor-sub-page .t-card-btn,
  .reor-sub-page .pc-reserve,
  .reor-sub-page .map-btn,
  .reor-sub-page .copy-btn { font-size: 15px !important; width: 100%; }
}
