/* =========================================================
   polo-isolate — polo style.css 전역이 랜딩 테마를 깨지 않게 되돌림.
   헤더(#header / #mainMenu / #logo) 규칙은 절대 덮어쓰지 않는다.
   ========================================================= */

/* polo section/container 전역 리셋 → public modules/layout 가 다시 적용 */
body > *:not(#header),
.body-inner > *:not(#header) {
  /* no-op marker — actual resets below */
}

section {
  padding: unset;
  position: relative;
  width: auto;
  overflow: visible;
  z-index: auto;
  background-color: transparent;
}

/*
 * polo style.css: h1–h6 { color:#1f1f1f } 가 상속을 막아
 * .process / .consult-copy 등 다크 밴드에서 제목이 안 보임.
 * main 안에서는 부모 color(라이트=잉크, 다크=#fff)를 따르게 한다.
 */
main h1,
main h2,
main h3,
main h4,
main h5,
main h6 {
  color: inherit;
}

/* public .container 토큰 복원 (polo mobile padding:0 30px 무력화)
   #mainMenu 안쪽 .container 는 polo 모바일 드로어(width:100%) 유지 */
.container,
.fh-container {
  width: min(calc(100% - (var(--gutter, 40px) * 2)), var(--container, 1180px));
  max-width: var(--container, 1180px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
}
#header > .header-inner > .container {
  width: min(calc(100% - (var(--gutter, 40px) * 2)), var(--container, 1180px));
  max-width: var(--container, 1180px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
}
#mainMenu > .container {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/*
 * Fixed #header (polo .header-always-fixed) 는 문서 흐름에서 빠지므로
 * 본문만 헤더 높이만큼 내린다. body.fx-public-page 단독에는 여백을 주지 않는다
 * (둘 다 걸면 “여백 규칙”으로 오해해 통째로 지웠을 때 콘텐츠가 헤더 밑으로 들어감).
 */
:root {
  --fx-header-h: 80px;
}
body.fx-has-solid-header {
  padding-top: var(--fx-header-h);
}
/* fixed 헤더가 깨지지 않도록 최소 보장 (polo style.css 와 동일 의도) */
#header.header-always-fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 199;
  margin: 0;
}

/* 로고 이미지가 modules/base.css 의 img{max-width:100%} 에 안 깨지게 */
#header #logo img {
  max-width: none;
}

/* sticky 시 로고 높이 — polo 기본 80 → 브랜드 PNG에 맞게 */
#header .header-inner #logo a > img,
#header #header-wrap #logo a > img {
  height: 44px;
  width: auto;
  padding-top: 0;
  padding-bottom: 0;
  vertical-align: middle;
}
#header #logo {
  display: flex;
  align-items: center;
}
#header #logo > a {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}

/* 페이지 로컬 헤더/푸터 잔재 숨김 (전 페이지 동일 훅) */
.fx-public-page .site-header,
.fx-public-page header.header,
.fx-public-page .mobile-menu,
.fx-public-page header:not(#header),
.fx-public-page footer:not(.fx-site-footer),
.fx-strip-page-header .site-header,
.fx-strip-page-header header.header,
.fx-strip-page-header .mobile-menu,
.fx-strip-page-header header:not(#header),
.fx-strip-page-header footer:not(.fx-site-footer) {
  display: none !important;
}
