/* Apostille Korea - common site footer CSS (푸터 스타일 단일 기준 — 전 페이지 공통 로드). */
.site-footer { background: #f5f8fc; border-top: 1px solid #e3e9f2; color: #1a2e4a; }
.footer-utility {
    display: flex; flex-wrap: wrap; justify-content: center;
    padding: 15px 24px; border-bottom: 1px solid #e8edf4;
  }
.footer-utility a {
    position: relative; padding: 2px 18px;
    font-size: 13px; font-weight: 600; color: #5a6b82; text-decoration: none;
    transition: color 0.15s ease;
  }
.footer-utility a + a::before {
    content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
    width: 1px; height: 12px; background: #d6deea;
  }
.footer-utility a.strong { color: #0A2A5E; font-weight: 800; }
.footer-utility a:hover { color: #1E5BBA; }
.footer-inner { display: block !important; max-width: 1200px; margin: 0 auto; padding: 26px 24px 30px; }
.footer-company { display: block; width: 100%; text-align: center; }
.fc-name { font-size: 15px; font-weight: 800; color: #0A2A5E; display: flex; align-items: center; justify-content: center; gap: 8px 12px; flex-wrap: wrap; }
.fc-name > a { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.fc-name .fc-old { font-size: 12.5px; font-weight: 600; color: #56667d; }
.fc-meta { font-size: 12.5px; color: #5a6b82; line-height: 1.95; margin-top: 9px; text-align: center; }
.fc-meta .sep { color: #c4d0e0; margin: 0 9px; }
.footer-contacts {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px 24px;
    margin-top: 22px; padding-top: 22px; border-top: 1px dashed #d6deea;
  }
.fct-dept { font-size: 13px; font-weight: 700; color: #1a2e4a; margin-bottom: 5px; }
.fct-tel {
    display: block; font-size: 17px; font-weight: 800; color: #1E5BBA;
    letter-spacing: 0.3px; text-decoration: none;
  }
.fct-tel:hover { color: #0A3A8C; }
.fct-mail { display: block; font-size: 12.5px; color: #56667d; text-decoration: none; margin-top: 3px; }
.fct-mail:hover { color: #1E5BBA; }
.footer-bottom { border-top: 1px solid #e8edf4; padding: 16px 24px; text-align: center; }
.fb-note { font-size: 13px; font-weight: 700; color: #0A2A5E; margin-bottom: 4px; }
/* 보조 회색 글자는 모든 폭에서 대비 4.5:1 이상(2026-10-21 impeccable QA P1-1 — 아래 ≤1024 보정이 데스크톱에 빠져 있었다) */
.fb-copy { font-size: 12px; color: #5f6f86; }
@media (max-width: 900px){
.footer-contacts { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width:720px){
.footer-contacts{grid-template-columns:1fr 1fr;}
.footer-inner{padding:22px 18px;}
}
@media (max-width:480px){
.footer-contacts{grid-template-columns:1fr;}
.footer-utility a{padding:2px 11px;}
}
.gov-badge{position:relative;display:inline-flex;align-items:center;gap:7px;margin-left:12px;padding:5px 13px;border-radius:8px;
    font-size:12.5px;font-weight:800;color:#0A2A5E;background:linear-gradient(110deg,#f7faff,#e9f0fb);
    border:1px solid #cdd9ec;overflow:hidden;vertical-align:middle;cursor:pointer;
    transition:transform .16s ease,box-shadow .18s ease,border-color .18s;}
.gov-badge:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(20,80,180,.25);border-color:#9ec0ef;}
.gov-badge .gb-mark{width:17px;height:17px;flex-shrink:0;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.15));}
.gov-badge::after{content:"";position:absolute;top:-60%;bottom:-60%;width:46px;left:-80px;transform:rotate(18deg);
    background:linear-gradient(90deg,transparent,rgba(120,180,255,.18) 18%,rgba(255,255,255,.9) 45%,rgba(255,170,220,.3) 62%,rgba(120,255,210,.22) 78%,transparent);
    animation:gbShine 2.8s ease-in-out infinite;pointer-events:none;}
/* gbShine 키프레임이 빠져 있어 빛줄기가 멈춰 있었다 — 미리보기 css/site-header.css 정의 그대로(2026-10-19 T08). 동작 줄이기면 끈다. */
@keyframes gbShine{0%{left:-80px;}55%{left:calc(100% + 50px);}100%{left:calc(100% + 50px);}}
@media (prefers-reduced-motion:reduce){.gov-badge::after{animation:none;}.gov-wrap.tap .gb-finger{animation:none;}}
.gb-finger{position:absolute;right:-16px;bottom:-58px;width:89px;opacity:0;pointer-events:none;z-index:3;}
.gov-wrap{position:relative;display:inline-block;margin-left:0;vertical-align:middle;}
.gov-wrap .gov-badge{margin-left:0;}
.gov-wrap.tap .gb-finger{animation:gbTap 2.1s ease-in-out 3;}
@keyframes gbTap{0%{opacity:0;transform:translate(20px,26px) rotate(-16deg);}
    22%{opacity:1;transform:translate(3px,5px) rotate(-9deg);}
    38%{transform:translate(0,0) rotate(-6deg);}
    52%{transform:translate(5px,7px) rotate(-12deg);}
    82%{opacity:1;}100%{opacity:0;transform:translate(16px,22px) rotate(-16deg);}}
/* ≤1024 작은 손가락(40px)용 — 위 gbTap 의 이동 폭을 약 0.45 배로(T31). 데스크톱은 gbTap 그대로 */
@keyframes gbTapS{0%{opacity:0;transform:translate(9px,8px) rotate(-16deg);}
    22%{opacity:1;transform:translate(2px,2px) rotate(-9deg);}
    38%{transform:translate(0,0) rotate(-6deg);}
    52%{transform:translate(2px,3px) rotate(-12deg);}
    82%{opacity:1;}100%{opacity:0;transform:translate(7px,7px) rotate(-16deg);}}
/* 맥락부(국가/카테고리 문서 링크) */
.footer-context{background:#f5f8fc;border-top:1px solid #e3e9f2;padding:22px 24px 4px}
.footer-context .fx-in{max-width:1200px;margin:0 auto}
.footer-context h3{font-size:13px;font-weight:800;color:#0A2A5E;margin:0 0 10px}
.footer-context .fx-links{display:flex;flex-wrap:wrap;gap:6px 18px}
.footer-context .fx-links a{font-size:13px;color:#37507e;text-decoration:none;padding:4px 0;min-height:22px;display:inline-block}
.footer-context .fx-links a:hover{color:#1E5BBA;text-decoration:underline;text-underline-offset:2px}
.site-footer .kosub{font-size:.82em;color:#56667d;font-weight:600;margin-top:1px}
/* 회사명 한글부(구명칭 병기) — 한국어 문맥(enko 원본·ko판)에서만 노출 */
.fc-old .ko-only{display:none}
html[lang="ko"] .fc-old .ko-only{display:inline}

/* 모바일·태블릿 가독성 (2026-10-01 T11) — ≤1024 만, 데스크톱 그대로.
   전: 보조 국문(#8b9bb3, 10.7px)·구명칭·연락처 메일(#8b9bb3)·저작권(#9aa7b8, 11.5px)이 연한 회색이라 대비 2.2~2.6:1,
       정책 링크는 글자 높이만큼만 눌리고(약 36px) 줄이 바뀔 때 구분선 「|」 이 줄 머리에 남았다.
       회사 정보는 「|」 로 이어진 긴 한 덩어리라 휴대폰에서 항목 중간에서 끊겼다.
   후: 회색 글자 대비 4.5:1 이상·12px 이상, 정책 링크 44px 이상 터치 칸(휴대폰은 2열 칸), 회사 정보는 항목마다 한 줄. */
@media (max-width:1024px){
  .site-footer .kosub{font-size:12px;color:#56667d;}
  .fc-name .fc-old{font-size:13px;color:#56667d;}
  .fct-mail{color:#56667d;font-size:13px;}
  .fb-copy{font-size:12px;color:#5f6f86;}
  .footer-utility{gap:4px 6px;padding:12px 16px;}
  .footer-utility a{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-height:48px;padding:6px 14px;
    font-size:14px;color:#3f5170;line-height:1.3;text-align:center;box-sizing:border-box;}
  .footer-utility a.strong{color:#0A2A5E;}
  .footer-utility a + a::before{display:none;}
  .fc-meta{font-size:13.5px;line-height:1.7;color:#4f5f78;}
  .fc-meta a{color:inherit;display:inline-flex;align-items:center;min-height:44px;vertical-align:middle;}
  .fc-name > a{min-height:44px;}
  .gov-badge{min-height:44px;box-sizing:border-box;}
  /* 정부 배지의 손가락 그림(.gb-finger, right:-16px)이 휴대폰에서 화면 오른쪽 밖으로 나가 body 폭을 404px 로 늘렸다 → 푸터 안에서 자른다
     (clip 은 스크롤 상자를 만들지 않아 상단 고정 헤더에 영향 없음). T09 요청 11 */
  .site-footer{overflow-x:hidden;overflow-x:clip;} /* hidden = clip 미지원(iOS<16) 폴백. 푸터 안에 sticky 없음 */
  /* (2026-10-02 T12, T06 보고) 손가락 애니메이션(translate 최대 +20px)이 320·360 에서 배지 오른쪽 밖(화면 밖)으로 나가
     문서 크기(전체 스크린샷 폭)를 338·373px 로 늘렸다 → 배지 상자에서 가로만 자르고(세로는 보임) 시작점을 안쪽으로. 모든 푸터 변형 공통 클래스. */
  .gov-wrap{overflow-x:hidden;overflow-x:clip;overflow-y:visible;} /* hidden = clip 미지원(iOS<16) 폴백 */
  .gb-finger{right:0;}
  /* (2026-10-02 T31, 모바일 QA) 손가락(89px, 배지 아래로 58px 늘어짐)이 390 에서 대표자명·사업자번호 줄을 가렸다
     → 배지 「오른쪽 옆」 배지 높이 안에서 누르게: 40px 로 줄이고 배지 줄 안(top 2px)에 두며, 움직임 폭도 비례해 줄인 전용 키프레임.
     자리는 오른쪽 안쪽 여백 40px 을 같은 크기 음수 여백으로 상쇄해 만든다(배지 가운데 정렬·줄 폭 불변, 가로 자르기는 이 여백까지). */
  .gov-wrap{padding-right:40px;margin-right:-40px;}
  .gb-finger{right:2px;top:2px;bottom:auto;width:40px;}
  .gov-wrap.tap .gb-finger{animation-name:gbTapS;}
  .fb-note{font-size:13.5px;line-height:1.6;}
  .fb-note .kosub{display:block;margin-top:4px;line-height:1.55;}
  .footer-context .fx-links{gap:0 18px;}
  .footer-context .fx-links a{display:inline-flex;align-items:center;min-height:44px;padding:0;font-size:14px;}
  .footer-context h3{font-size:14px;}
}
@media (max-width:560px){
  .footer-utility{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:16px;}
  .footer-utility a{min-height:56px;padding:8px;border:1px solid #e1e8f2;border-radius:10px;background:#fff;}
  .footer-utility a:last-child:nth-child(odd){grid-column:1/-1;}
  .footer-inner{padding:22px 16px;}
  .footer-bottom{padding:16px;}
  /* 회사 정보: 「|」 자리에서 줄을 바꿔 항목마다 한 줄 */
  .fc-meta .sep{display:block;height:0;overflow:hidden;margin:0;font-size:0;}
  /* 회사명: 상호 한 줄 + 구명칭은 그 아래 한 줄 (상호가 두 줄로 쪼개지던 것) */
  .fc-name > a{flex-wrap:wrap;justify-content:center;text-align:center;row-gap:2px;}
  .fc-name .fc-old{flex-basis:100%;}
  .fc-meta{line-height:1.75;}
}
@media (max-width:374px){
  /* (2026-10-02 T12, T13 보고) 320·360 에서 「Mail-order License No. 2019-Seoul Jung-gu-0218」 이 하이픈에서 끊겨 줄을 넘었다.
     마크업을 바꾸지 않고는 값만 묶을 수 없어, 가장 긴 번호 줄이 한 줄에 들어가는 크기(12.5px, 보조 글자 기준 ≥12)로 줄인다. */
  .fc-meta{font-size:12.5px;letter-spacing:-.1px;}
}

/* 정책 링크는 ≤1024 에서 ☰ 서랍으로 옮겨 갔다(2026-10-02 T20). 처음엔 「개인정보처리방침」 하나만 남겼으나
   2026-10-07 사용자 결정으로 줄 전체를 숨긴다 — 개인정보처리방침을 포함한 다섯 개 모두 모든 페이지의 서랍(.nav-legal)에서 연다. 데스크톱은 그대로. */
@media (max-width:1024px){
  .site-footer .footer-utility{display:none !important;}
}
/* 푸터 글꼴 (2026-10-02 T22, 사용자 결정 — 모든 폭): body 에 글꼴이 없는 화면(홈·국가 등)에서 푸터가 브라우저 기본 세리프(Times New Roman)로 나왔다.
   헤더(.nav, site-gnb.css)와 같은 사이트 기본 스택을 푸터 전체에 준다. */
.site-footer, .footer-context{font-family:"Malgun Gothic","맑은 고딕","Apple SD Gothic Neo",sans-serif;}

/* 휴대폰 푸터 줄이기(2026-10-07 사용자 요청 「모바일 푸터가 세로로 너무 길다」 — 390px 에서 404px).
   회사 정보 8줄은 auth.js compactFooter() 가 붙인 「사업자 정보 ▾」 버튼 뒤로 접고, 안내 문구·저작권은 글자와 간격을 줄인다.
   버튼은 ≤560 에서만 보이고, 그보다 넓으면 늘 펼친 그대로다. */
.fc-toggle{display:none;}
@media (max-width:560px){
  .footer-inner{padding:16px 16px 12px;}
  .fc-name{font-size:14px;}
  .fc-name > a{min-height:36px;}
  .fc-name .fc-old{font-size:12px;}
  .fc-collapsible .fc-toggle{display:inline-flex;align-items:center;gap:4px;min-height:44px;margin:0 auto;padding:0 12px;
    border:0;background:none;font:inherit;font-size:13px;font-weight:600;color:#4f5f78;cursor:pointer;}
  .fc-collapsible .fc-chev{transition:transform .2s;}
  .fc-collapsible .fc-toggle[aria-expanded="true"] .fc-chev{transform:rotate(180deg);}
  .fc-collapsible .fc-meta{display:none;margin-top:2px;}
  .fc-collapsible .fc-meta.is-open{display:block;}
  .footer-bottom{padding:12px 16px calc(14px + env(safe-area-inset-bottom, 0px));}
  .fb-note{font-size:12.5px;font-weight:600;line-height:1.55;margin-bottom:6px;}
}
/* 휴대폰 푸터 「펼친 채 깔끔하게」(2026-10-07 사용자 정정 — 접지 말 것): 항목(auth.js 가 감싼 .fc-item)은 통째로 한 덩어리,
   들어가는 만큼 한 줄에 가운데 정렬로 흐른다. 「|」 구분자는 감추고 항목 사이 간격으로 나눈다. 글자 12.5px, 줄 간격 촘촘히. */
@media (max-width:560px){
  .fc-meta[data-fc-items]{display:flex;flex-wrap:wrap;justify-content:center;gap:3px 14px;margin-top:8px;font-size:12.5px;line-height:1.55;color:#4f5f78}
  .fc-meta[data-fc-items] .sep{display:none}
  .fc-meta[data-fc-items] .fc-item{display:inline-block;max-width:100%;text-align:center}
  .fc-meta[data-fc-items] a{display:inline;min-height:0;padding:4px 0;vertical-align:baseline}
  .fc-collapsible .fc-meta{display:flex}
}
/* 휴대폰 푸터 왼쪽 정렬 정리(2026-10-07 사용자 「아직 마음에 안 든다, 좌측 정렬하고 정리」) — 위 가운데 정렬 블록을 덮는다.
   회사명(+구 명칭)은 왼쪽 위 한 덩어리, 정보 항목은 왼쪽부터 흐르고 항목 사이는 가는 세로선(줄 머리의 선은 바깥 여백으로 가려 안 보임),
   안내 문구·저작권도 왼쪽 정렬·작은 글자. */
@media (max-width:560px){
  .site-footer .footer-inner{padding:20px 20px 16px}
  .site-footer .footer-company{text-align:left}
  .site-footer .fc-name{justify-content:flex-start;text-align:left;font-size:15px}
  .site-footer .fc-name > a{justify-content:flex-start;text-align:left;min-height:0;row-gap:0;column-gap:6px}
  .site-footer .fc-name .fc-old{flex-basis:auto;font-size:12px;font-weight:600;color:#56667d}
  .fc-meta[data-fc-items]{justify-content:flex-start;gap:4px 0;margin:10px 0 0 -13px;overflow:hidden;text-align:left;font-size:12.5px;line-height:1.5;color:#4f5f78}
  .fc-meta[data-fc-items] .fc-item{text-align:left;padding:0 12px;border-left:1px solid #cdd7e5}
  .site-footer .footer-bottom{padding:14px 20px calc(14px + env(safe-area-inset-bottom,0px));text-align:left}
  .site-footer .fb-note{font-size:12px;font-weight:600;line-height:1.55;color:#41536b;margin-bottom:6px}
  .site-footer .fb-note .kosub{font-size:11.5px}
  .site-footer .fb-copy{font-size:12px;color:#5f6f86}
  .site-footer .gov-wrap{margin-left:0;justify-content:flex-start}
}
/* 세로선 보정: 선은 항목 사이 빈칸(14px) 가운데에 그리고, 줄 머리 항목의 선은 목록 상자 바깥이라 잘려 안 보인다 */
@media (max-width:560px){
  .fc-meta[data-fc-items]{margin-left:0;column-gap:14px}
  .fc-meta[data-fc-items] .fc-item{position:relative;padding:0;border-left:0}
  .fc-meta[data-fc-items] .fc-item::before{content:"";position:absolute;left:-7px;top:.3em;bottom:.3em;width:1px;background:#cdd7e5}
}
@media (max-width:560px){.fc-meta[data-fc-items]{column-gap:20px}.fc-meta[data-fc-items] .fc-item::before{left:-10px}}/* 세로선 양옆 여유 */
