/*
 * ConnectPie – ASTRA HEADER / FOOTER 보조 스타일 (v1.0)
 * 주요 값(색, 글꼴, 버튼, 열 구성)은 Astra Customizer(Header/Footer Builder)에서 설정합니다 (docs/05 참고).
 * 이 파일은 Customizer만으로 어려운 디테일(활성 메뉴 밑줄, 서브메뉴 카드, 푸터 링크)만 보완하며,
 * .site-header / .site-footer 안으로 범위를 제한해 페이지 콘텐츠에는 영향을 주지 않습니다.
 */
.site-header .main-header-menu>.menu-item>.menu-link{font-family:var(--cp-font);font-size:14px;font-weight:500;color:var(--cp-ink)}
.site-header .main-header-menu>.current-menu-item>.menu-link,
.site-header .main-header-menu>.current-menu-ancestor>.menu-link{box-shadow:inset 0 -2px 0 var(--cp-blue)}
.site-header .main-header-menu .sub-menu{background:var(--cp-card);border:1px solid var(--cp-line);border-radius:12px;box-shadow:0 18px 40px -20px rgba(15,27,45,.53);padding:8px;min-width:230px}
.site-header .main-header-menu .sub-menu .menu-link{border:0;border-radius:8px;padding:10px 12px;font-family:var(--cp-font);font-size:14px;color:var(--cp-ink)}
.site-header .main-header-menu .sub-menu .menu-link:hover{background:var(--cp-pv)}
.site-header .ast-custom-button{transition:transform .2s ease;text-transform:none;letter-spacing:normal;font-weight:600}
.site-header .ast-custom-button:hover{transform:translateY(-2px)}

.site-footer{font-family:var(--cp-font);font-size:14px;color:var(--cp-on-navy)}
.site-footer .widget-title,.site-footer .cp-fh{display:block;margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.site-footer .widget ul{list-style:none;margin:0;padding:0}
.site-footer .widget li{margin:0;padding:0;border:0}
.site-footer .widget a,.site-footer .ast-footer-copyright a{display:block;padding:5px 0;color:var(--cp-on-navy);text-decoration:none}
.site-footer .widget a:hover{color:#fff}
.site-footer .cp-ftag{margin:10px 0 0;color:var(--cp-on-navy)}
.site-footer .cp-fbar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:13px}
@media (prefers-reduced-motion:reduce){.site-header .ast-custom-button{transition:none}}

/* 헤더 통일: Astra "Transparent Header"가 켜진 페이지에서도 헤더가 본문 위를 덮지 않도록
   (헤더를 문서 흐름에 두고 흰 배경 + 하단선). Customizer에서 Transparent Header를 끄는 것이 가장 좋고, 이 규칙은 안전장치입니다. */
body.cp-site.ast-theme-transparent-header #masthead{position:relative;left:auto;right:auto}
body.cp-site.ast-theme-transparent-header .site-header .main-header-bar,
body.cp-site.ast-theme-transparent-header .site-header .ast-primary-header-bar{background-color:var(--cp-card);border-bottom:1px solid var(--cp-line)}
/* 푸터: 콘텐츠와 같은 폭(1200 − 좌우 24px)과 여백 */
body .site-footer .ast-builder-grid-row-container-inner{box-sizing:border-box;max-width:1200px;margin-inline:auto;padding-inline:24px}
@media (max-width:767px){body .site-footer .ast-builder-grid-row-container-inner{padding-inline:20px}}

/* 모바일 푸터: 메뉴 열(Solutions/Company)은 숨기고 로고·연락처·저작권만 간략히 표시.
   Footer Builder에서 숨기고 싶은 다른 열에는 위젯/열에 CSS 클래스 cp-hide-m 을 추가하세요. */
@media (max-width:767px){
  .site-footer .footer-widget-area:has(.widget_nav_menu),
  .site-footer .footer-widget-area:has(.menu),
  .site-footer .ast-builder-menu,
  .site-footer .cp-hide-m{display:none}
}

/* Astra Footer Builder의 "HTML" 요소(Get in Touch 등): 메뉴 위젯 열과 같은 링크 색/간격/제목 스타일 */
.site-footer .ast-builder-html-element p{margin:0}
.site-footer .ast-builder-html-element a{display:block;padding:5px 0;color:var(--cp-on-navy);text-decoration:none}
.site-footer .ast-builder-html-element a:hover{color:#fff}
@media (min-width:768px){.site-footer .ast-builder-html-element{text-align:left}}

/* 푸터 제목 통일 (메뉴 위젯 제목 = HTML 요소 제목): 시안 .fh = 12px / 자간 .1em / 대문자 */
body .site-footer .widget-title,body .site-footer .cp-fh{display:block;margin:0 0 8px;font-family:var(--cp-font);font-size:12px;font-weight:700;line-height:1.55;letter-spacing:.1em;text-transform:uppercase;color:#fff}
/* HTML 요소: Astra가 열별 정렬(가운데)을 더 높은 우선순위로 주므로 맞춰서 덮어씀. 줄 사이 빈 줄(자동 <p>/<br>)도 제거 */
@media (min-width:768px){body .site-footer .footer-widget-area[data-section^="section-fb-html"] .ast-builder-html-element{text-align:left}}
body .site-footer .ast-builder-html-element br{display:none}
body .site-footer .ast-builder-html-element p:empty{display:none}
body .site-footer .ast-builder-html-element>*{margin-top:0}

/* ---- 모바일 메뉴 (Astra 헤더 브레이크포인트 이하, body.ast-header-break-point) ----
   데스크톱용 밑줄/서브메뉴 카드 스타일을 모바일에서는 해제하고, 행 높이와 화살표를 같은 기준(48px)으로 맞춥니다. */
body.ast-header-break-point .site-header .main-header-menu .menu-item{position:relative}
body.ast-header-break-point .site-header .main-header-menu>.menu-item>.menu-link{display:flex;align-items:center;min-height:48px;padding:0 48px 0 20px;border:0;border-bottom:1px solid var(--cp-line);box-shadow:none;font-family:var(--cp-font);font-size:15px;font-weight:500;line-height:1.4;color:var(--cp-ink)}
body.ast-header-break-point .site-header .main-header-menu>.current-menu-item>.menu-link,
body.ast-header-break-point .site-header .main-header-menu>.current-menu-ancestor>.menu-link{box-shadow:none;border-bottom:1px solid var(--cp-line);color:var(--cp-blue);font-weight:700}
/* 펼침(▼) 버튼: 링크 행과 같은 높이/세로 중앙 */
body.ast-header-break-point .site-header .main-header-menu .menu-item-has-children>.ast-menu-toggle{position:absolute;top:0;right:0;width:48px;height:48px;margin:0;padding:0;display:flex;align-items:center;justify-content:center;background:none;border:0;border-radius:0;box-shadow:none;color:var(--cp-ink)}
body.ast-header-break-point .site-header .main-header-menu .menu-item-has-children>.ast-menu-toggle:focus:not(:focus-visible){outline:none}
body.ast-header-break-point .site-header .main-header-menu .menu-item-has-children>.ast-menu-toggle .ast-icon{display:flex;align-items:center;justify-content:center;margin:0;line-height:1}
/* 하위 메뉴: 카드가 아니라 들여쓴 목록 */
body.ast-header-break-point .site-header .main-header-menu .sub-menu{position:static;min-width:0;margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
body.ast-header-break-point .site-header .main-header-menu .sub-menu .menu-link{display:flex;align-items:center;min-height:44px;padding:0 20px 0 36px;border:0;border-bottom:1px solid var(--cp-line);border-radius:0;font-family:var(--cp-font);font-size:14px;font-weight:500;color:var(--cp-ink)}
body.ast-header-break-point .site-header .main-header-menu .sub-menu .menu-link::before{display:none}
body.ast-header-break-point .site-header .main-header-menu .sub-menu .menu-link:hover{background:transparent;color:var(--cp-blue)}
