/**
 * Remokorea site overrides
 * 폰트 스택은 상용(www.remokorea.com)과 동일하게 유지.
 * Loaded after style.css.
 */

:root {
  /* 상용과 동일: Instrument Sans 미로드 → Pretendard로 헤딩 폴백 */
  --bs-body-font-family: "Pretendard", "SCoreDream", "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;
  --remo-focus: #0f766e;
}

body {
  font-family: var(--bs-body-font-family);
}

/* style.css 의 Instrument Sans / Inter 헤딩·버튼 폴백 (상용과 동일) */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6,
.display-10,
.font-heading {
  font-family: var(--bs-body-font-family) !important;
}

.btn,
.font-base {
  font-family: var(--bs-body-font-family) !important;
}

/*
 * 헤더 오프셋: header-absolute 대응.
 * padding-top 은 header.php .nimo-page-header 값을 사용 (여기서 0으로 덮지 않음).
 */

/* 앱 페이지: 전역 section 7.5rem만 중립화 */
.remo-app-shell > section:not([class*="py-"]):not([class*="pt-"]):not([class*="pb-"]),
main.container > section:not([class*="py-"]):not([class*="pt-"]):not([class*="pb-"]) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.remo-app-shell section.py-5,
main.container > section.py-5 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

@media (max-width: 767.98px) {
  .remo-app-shell section.py-5,
  main.container > section.py-5 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
}

/* Keyboard focus ring */
*:focus-visible {
  outline: 2px solid var(--remo-focus) !important;
  outline-offset: 2px !important;
}

.btn:focus-visible,
.nav-link:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible,
a:focus-visible {
  outline: 2px solid var(--remo-focus) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 0.2rem rgba(15, 118, 110, 0.25) !important;
}

/* Quote: mobile sticky primary CTA */
.quote-mobile-cta {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1040;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
  background: rgba(255, 255, 255, 0.96);
  border-top: 1px solid #e5e7eb;
  box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.08);
}

.quote-mobile-cta .btn {
  background-color: #cddc39;
  color: #1f2937;
  font-weight: 700;
}

body.has-quote-mobile-cta {
  padding-bottom: 88px;
}

@media (min-width: 768px) {
  .quote-mobile-cta {
    display: none !important;
  }
  body.has-quote-mobile-cta {
    padding-bottom: 0;
  }
}
