/* 진료 상담/예약 서브페이지 전용 스타일 (헤더 흰 배경 + 배너 + 상담 폼) */

/* ── 헤더: 서브페이지는 항상 흰 배경(솔리드), 어두운 텍스트 ── */
.sub .header { background: #fff; border-bottom: 1px solid #ececec; }
.sub .header.is-scrolled { background: #fff; }
.sub .gnb > ul > li > a { color: #222; }
.sub .gnb > ul > li:hover > a { color: #1F4BB4; }
.sub .header__logo-text strong { color: #1b1b1b; }
.sub .header__logo-text em { color: #666; }
.sub .btn-globe svg { stroke: #333; }
.sub .btn-menu span { background: #333; }

/* ── 본문: 고정 헤더(110px) 아래에서 시작 ── */
.rsv { padding-top: 110px; }

/* 상단 배너 */
.rsv__banner {
  height: 500px;
  background: #d9d9d9 url('../assets/img/rsv_banner.jpg') no-repeat center center;
  background-size: cover;
}

/* 본문 컨테이너 (중앙 정렬) */
.rsv__body { width: 700px; margin: 0 auto; padding: 80px 0 130px; text-align: center; }
.rsv__title { font-size: 52px; font-weight: 800; letter-spacing: -1.5px; color: #1b2340; }
.rsv__desc { margin-top: 26px; font-size: 22px; line-height: 34px; color: #555; }

/* 대표번호 */
.rsv__phone { margin-top: 66px; }
.rsv__phone-pill {
  display: inline-block; padding: 9px 26px; border-radius: 30px;
  background: #1F4BB4; color: #fff; font-size: 21px; font-weight: 700; letter-spacing: -0.5px;
}
.rsv__phone-num { display: block; margin-top: 16px; font-size: 46px; font-weight: 800; letter-spacing: -1px; color: #1F4BB4; }
.rsv__note { margin-top: 20px; font-size: 19px; color: #555; }
.rsv__note b, .rsv__req { color: #E53535; }

/* 폼 (본문보다 좁게, 중앙 정렬) */
.rsv__form { width: 531px; margin: 46px auto 0; text-align: left; }
.rsv__label { display: block; margin: 30px 0 12px; font-size: 21px; font-weight: 700; color: #222; }
.rsv__form > .rsv__label:first-child { margin-top: 0; }
.rsv__input, .rsv__select {
  width: 100%; height: 62px; padding: 0 22px;
  font-size: 19px; color: #333;
  background: #f7f7f9; border: 1px solid #e2e2e8; border-radius: 6px;
  font-family: inherit;
}
.rsv__input::placeholder { color: #aeb0b8; }
.rsv__select-wrap { position: relative; }
.rsv__select { appearance: none; -webkit-appearance: none; cursor: pointer; padding-right: 56px; }
.rsv__select-wrap::after {
  content: ''; position: absolute; right: 24px; top: 50%; width: 12px; height: 12px;
  margin-top: -8px; border-right: 2px solid #888; border-bottom: 2px solid #888;
  transform: rotate(45deg); pointer-events: none;
}

/* 동의 */
.rsv__agree { display: flex; align-items: center; margin-top: 30px; }
.rsv__agree-label { display: flex; align-items: center; font-size: 19px; color: #333; cursor: pointer; }
.rsv__agree-label input { position: absolute; opacity: 0; width: 0; height: 0; }
.rsv__radio {
  flex: none; width: 22px; height: 22px; margin-right: 12px; border-radius: 50%;
  border: 2px solid #bcbcc4; box-sizing: border-box; transition: border-color 0.15s;
}
.rsv__agree-label input:checked + .rsv__radio {
  border-color: #1F4BB4; background: radial-gradient(#1F4BB4 44%, transparent 46%);
}
.rsv__agree-label input:focus-visible + .rsv__radio { outline: 2px solid #1F4BB4; outline-offset: 2px; }
.rsv__view { margin-left: auto; font-size: 18px; color: #666; text-decoration: underline; white-space: nowrap; }

/* 상담신청 버튼 */
.rsv__submit {
  display: block; width: 100%; height: 68px; margin-top: 42px;
  background: #071A44; color: #fff; font-size: 23px; font-weight: 700; letter-spacing: -0.5px;
  border: 0; border-radius: 34px; cursor: pointer; transition: background 0.2s;
}
.rsv__submit:hover { background: #0d2a63; }

/* ── 모바일 ── */
@media (max-width: 1023px) {
  .rsv { padding-top: 11rem; }
  .rsv__banner { height: 42rem; }
  .rsv__body { width: auto; margin: 0; padding: 6rem 6rem 12rem; }
  .rsv__title { font-size: 5.4rem; letter-spacing: -0.15rem; }
  .rsv__desc { margin-top: 2.6rem; font-size: 2.7rem; line-height: 4rem; }
  .rsv__phone { margin-top: 6rem; }
  .rsv__phone-pill { padding: 1rem 2.8rem; border-radius: 3rem; font-size: 2.6rem; }
  .rsv__phone-num { margin-top: 1.8rem; font-size: 5.4rem; }
  .rsv__note { margin-top: 2.2rem; font-size: 2.4rem; }
  .rsv__form { margin-top: 5rem; }
  .rsv__label { margin: 3.6rem 0 1.4rem; font-size: 2.7rem; }
  .rsv__input, .rsv__select { height: 8.4rem; padding: 0 2.6rem; font-size: 2.6rem; border-radius: 0.8rem; }
  .rsv__select-wrap::after { right: 3rem; width: 1.5rem; height: 1.5rem; margin-top: -1rem; }
  .rsv__agree { margin-top: 3.6rem; }
  .rsv__agree-label { font-size: 2.5rem; }
  .rsv__radio { width: 3rem; height: 3rem; margin-right: 1.6rem; }
  .rsv__view { font-size: 2.4rem; }
  .rsv__submit { height: 9rem; margin-top: 5rem; font-size: 3rem; border-radius: 4.5rem; }
}
