@charset "utf-8";

/* =========================================================
   layout.css — 공통 레이아웃 컴포넌트
   - GNB(헤더) / 좌측 메뉴 / 푸터
   - 디자인: 로그인전 leftmenu
   - 반응형: 데스크톱 기본 → 1024 태블릿 → 768 모바일
   - 공통 중앙정렬 컨테이너 .l_inner / 토큰은 common.css
========================================================= */

/* =========================================================
   1. 건너뛰기 링크 (skip navigation) — 2.4.1
========================================================= */
.skip_nav {display:flex; align-items:center; justify-content:center; position:absolute; top:-3.2rem; left:0; z-index:1000; width:100%; height:3.2rem; background:var(--color-text-title); color:var(--color-white); font-size:var(--fs-base); line-height:1.5; transition:top .2s ease;}
.skip_nav:focus {top:0;}

/* 키보드 초점 표시 (2.1.2) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {outline:2px solid var(--color-primary); outline-offset:-1px;} /* 음수 오프셋: 아웃라인이 요소 테두리를 덮어 안쪽 테두리 노출 방지 */

/* 본문 영역 — skip nav 이동 대상이라 tabindex="-1" 보유.
   새로고침 시 포커스 복원으로 생기는 기본 아웃라인 억제 (키보드 표시는 불필요) */
#content:focus-visible {outline:none;}

/* =========================================================
   2. GNB (헤더)
========================================================= */
.gnb {position:sticky; /* 임계값 전까지 화면 상단 고정 (NHIS #header 방식) */ top:0; left:0; z-index:100; background:var(--color-white); border-bottom:1px solid var(--color-border-gray);}
/* 임계값 초과 시 placeholder로 전환 — 표시는 fixed된 .gnb_in이 담당 */
#wrapper[class*="scroll_"] .gnb {position:relative;}

/* 헤더 본체 래퍼 — .gnb는 자리만 차지(script.js가 높이 고정), 실제 표시는 .gnb_in */
.gnb_in {position:relative; transform:translateY(0);}
/* 일정 이상 스크롤: fixed 전환 (#wrapper에 scroll_down/scroll_up 클래스 — script.js) */
#wrapper[class*="scroll_"] .gnb_in {position:fixed; top:0; left:0; z-index:100; width:100%; background:var(--color-white); border-bottom:1px solid var(--color-border-gray); transition:transform .4s ease .01s;}
#wrapper.scroll_down .gnb_in {transform:translateY(-100%); /* 아래로 스크롤 → 위로 슬라이드 숨김 */}
#wrapper.scroll_up .gnb_in {transform:translateY(0); /* 위로 스크롤 → 다시 표시 */}
/* 전체메뉴 펼침 중이거나 헤더 내부에 키보드 초점이 있으면 숨기지 않음 (2.1.1) */
#wrapper.scroll_down .gnb.is_open .gnb_in,
#wrapper.scroll_down .gnb_in:focus-within {transform:translateY(0);}

/* 전자정부 마스트헤드 */
.gnb_masthead {background:var(--color-masthead);}
.gnb_masthead_inner {display:flex; align-items:center; gap:.8rem; height:3.2rem; max-width:var(--gnb-max); /* 1600px (.l_inner 1440 덮어씀) */}
.gnb_flag {width:24px; height:16px; flex-shrink:0;}
.gnb_masthead_txt {font-size:var(--fs-base); color:var(--color-text-title);}

/* 헤더 본체 */
.gnb_body {position:relative; background:var(--color-white);}
.gnb_inner {display:grid; grid-template-columns:auto 1fr auto; align-items:center; column-gap:2.4rem; max-width:var(--gnb-max); /* 1600px (.l_inner 1440 덮어씀) */ padding-top:1.2rem;}

/* 로고 (row2, 좌측) */
.gnb_logo {grid-column:1; grid-row:2;}
.gnb_logo > a {display:inline-flex; align-items:center; gap:.8rem;}
.gnb_logo_symbol {width:40px; height:40px; flex-shrink:0;}
.gnb_logo_txt {font-family:'NanumGothic', 'Nanum Gothic', 'Pretendard GOV', sans-serif; font-size:1.8rem; font-weight:700; color:var(--color-text-title); white-space:nowrap;}

/* 유틸리티 + 주메뉴 묶음: 데스크톱은 래퍼 제거(그리드 직접 배치) */
.gnb_menu {display:contents;}

/* 상단 유틸리티 (row1, 우측) */
.gnb_util {grid-column:1 / -1; grid-row:1; justify-self:end; display:flex; align-items:center;}
.gnb_util > li {display:flex; align-items:center;}
.gnb_util > li + li::before {content:""; width:1px; height:16px; margin:0 1.2rem; background:var(--color-border-gray);}
.gnb_util_link {display:inline-flex; align-items:center; min-height:2.4rem; /* 최소 터치 타겟(2.5.8) */ padding:.2rem .4rem; font-size:var(--fs-base); color:var(--color-text-body);}
.gnb_util_link:hover,
.gnb_util_link:focus {text-decoration:underline;}

/* 주메뉴 (row2, 가운데) */
.gnb_nav {grid-column:2; grid-row:2; justify-self:center;}
.gnb_nav_list {display:flex; gap:7rem;}
.gnb_nav_list > li > .gnb_nav_link {display:flex; align-items:center; height:8rem; padding:0 1.6rem; font-size:var(--fs-19); font-weight:600; color:var(--color-text-title); cursor:pointer;}
.gnb_nav_list > li > .gnb_nav_link:hover,
.gnb_nav_list > li > .gnb_nav_link:focus {color:var(--color-primary-deep);}
.gnb_nav_list > li.active > .gnb_nav_link {color:var(--color-primary);}

/* 모바일 로그인 (PC 숨김 — 모바일 미디어쿼리에서 표시) */
.gnb_m_login {display:none;}

/* 전체메뉴 (row2, 우측) */
.gnb_allmenu {grid-column:3; grid-row:2; justify-self:end; display:inline-flex; align-items:center; gap:.8rem; height:8rem; padding:0 .4rem; border-radius:var(--radius-sm);}
.gnb_allmenu_ico {width:2.4rem; height:2.4rem; background:url(../images/common/ico_allmenu.svg) no-repeat center / 1.8rem 1.4rem;}
.gnb_allmenu_txt {font-size:var(--fs-19); font-weight:600; color:var(--color-text-title);}

/* 2depth 메가메뉴 (전체메뉴 펼침) */
.gnb_nav_item {position:relative;}
.gnb_sub {display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%); width:170px; padding-top:2rem; z-index:60;}
.gnb_sub > li > a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 4.3rem;
	padding: 1rem;
	font-size: var(--fs-lg);
	font-weight: 500;
	color: var(--color-text-body);
	text-align: center;
	white-space: nowrap;
}
.gnb_sub > li > a:hover,
.gnb_sub > li > a:focus {color:var(--color-primary-deep); text-decoration:underline;}

/* 펼침 배경 패널 — 높이는 가장 항목이 많은 .gnb_sub 개수에 맞춰 유동 조절(잘림 방지)
   (--gnb-sub-count = 최대 서브 항목 수, script.js가 주입 / 미주입 시 4로 폴백) */
.gnb_mega_bg {
	--gnb-sub-top: 2rem;   /* = .gnb_sub padding-top */
	--gnb-sub-item: 4.3rem;/* = .gnb_sub > li > a height */
	--gnb-sub-btm: 2rem;   /* 하단 여백 */
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	height: calc(var(--gnb-sub-top) + var(--gnb-sub-count, 4) * var(--gnb-sub-item) + var(--gnb-sub-btm));
	background: var(--color-white);
	border-top: 1px solid var(--color-border-gray);
	box-shadow: 0 0 1px rgba(0, 0, 0, .08), 0 8px 8px rgba(0, 0, 0, .12);
	z-index: 40;
}

/* 펼침 상태 (데스크톱) */
.gnb.is_open .gnb_sub,
.gnb.is_open .gnb_mega_bg {display:block;}

/* 주메뉴 영역 호버·키보드 포커스 시 전체메뉴 펼침과 동일하게 모든 서브메뉴 + 메가 배경 패널 표시 (개별 숨김/표시 없음)
   닫힘 기준: 주메뉴 바 + 메가 패널(gnb_mega_bg) 영역을 완전히 벗어났을 때 (패널 위에서는 유지) */
.gnb:not(.is_open):has(.gnb_nav:hover, .gnb_nav:focus-within, .gnb_mega_bg:hover) .gnb_sub,
.gnb:not(.is_open):has(.gnb_nav:hover, .gnb_nav:focus-within, .gnb_mega_bg:hover) .gnb_mega_bg {display:block;}

/* 모바일 전체메뉴 레이어 — PC 숨김, 모바일 미디어쿼리에서 is_open 시 표시 */
.gnb_mobile,
.gnb_mobile_dim {display:none;}

/* =========================================================
   3. 좌측 메뉴 (마이페이지) — PC 아코디언
========================================================= */
.side_menu {width:var(--side-w); flex-shrink:0;}
.side_menu_title {margin-bottom:2.4rem; font-size:2.4rem; font-weight:700; line-height:var(--lh-base); letter-spacing:-1px; color:var(--color-text-title);}
.side_menu_list {border-top:1px solid var(--color-text-muted); /* 첫 항목 위 진한 라인 #8a949e */ border-bottom:1px solid var(--color-bg-subtle); /* #e6e8ea */}
.side_menu_item + .side_menu_item {border-top:1px solid var(--color-bg-subtle);}

/* 1depth 링크 / 펼침 토글 공통 */
.side_menu_link,
.side_menu_toggle {
	display: flex;
	align-items: center;
	gap: 1rem;
	width: 100%;
	min-height: 5.8rem;
	padding: 1.6rem 1.6rem 1.6rem .8rem;
	font-size: var(--fs-lg);     /* 17px */
	font-weight: 700;
	color: var(--color-text-title);
	text-align: left;
}
.side_menu_link:hover,
.side_menu_link:focus {color:var(--color-primary-deep);} /* a 호버 색상 #083891 */
.side_menu_toggle:hover,
.side_menu_toggle:focus {color:var(--color-primary);}
.side_menu_item.active > .side_menu_link {color:var(--color-primary-deep);}
.side_menu_label {flex:1 1 0; min-width:0;}

/* 펼침(아코디언) 화살표 (▼ 닫힘 / ▲ 열림) */
.side_menu_arrow {position:relative; width:2.4rem; height:2.4rem; flex-shrink:0;}
.side_menu_arrow::before {content:""; position:absolute; left:50%; top:50%; width:.9rem; height:.9rem; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translate(-50%, -75%) rotate(45deg);}

/* 펼침 상태 */
.side_menu_item.is_open > .side_menu_toggle {color:var(--color-primary-deep); border-bottom:2px solid var(--color-primary-deep);}
.side_menu_item.is_open > .side_menu_toggle .side_menu_arrow::before {transform:translate(-50%, -25%) rotate(225deg);}
.side_menu_item:not(.is_open) > .side_submenu {display:none;}

/* 2depth 하위 목록 */
.side_submenu {padding:.8rem 0;}
.side_submenu_link {display:flex; align-items:center; min-height:4rem; padding:0 1.6rem; border-radius:var(--radius-lg); font-size:var(--fs-base); /* 15px */ color:var(--color-text-title);}
.side_submenu_link::before {content:""; flex-shrink:0; width:.4rem; height:.4rem; margin-right:.8rem; border-radius:1px; background:#33363d; /* color/icon/gray */}
.side_submenu_link:hover,
.side_submenu_link:focus {color:var(--color-primary-deep); text-decoration:underline;}
.side_submenu_link.is_active {background:var(--color-primary-light); /* #ecf2fe */ font-weight:700; color:var(--color-primary-deep);}
.side_submenu_link.is_active::before {background:var(--color-primary-deep);}

/* =========================================================
   4. 푸터
========================================================= */
.footer {background:var(--color-footer-bg); color:var(--color-white); padding:4rem 0 6rem;}
.footer_inner {display:flex; flex-direction:column; gap:2rem; width:min(100% - 40px, var(--content-max)); /* 박스=콘텐츠 1400px (.l_inner 1440 덮어씀) */ max-width:none; margin:0 auto; padding:0;}

/* 상단: 정부상징/로고 + 주소 + 관련사이트 */
.footer_top {display:flex; justify-content:space-between; align-items:flex-start; gap:2.4rem;}
.footer_top_info {display:flex; flex-direction:column; gap:2rem;}
.footer_brand {display:flex; align-items:center; gap:3.2rem;}
.footer_moge {width:170px; height:49px;}
.footer_logo {display:inline-flex; align-items:center; gap:.8rem;}
.footer_logo_symbol {width:40px; height:42px;}
.footer_logo_txt {font-family:'NanumGothic', 'Nanum Gothic', 'Pretendard GOV', sans-serif; font-size:1.3rem; font-weight:700; color:var(--color-white); white-space:nowrap;}
.footer_addr {display:flex; flex-direction:column; gap:.4rem; font-style:normal; font-size:var(--fs-base); color:var(--color-footer-text);}

/* 우측 상단 묶음 — QR 이미지 + 바로가기 링크 */
.footer_side {display:flex; align-items:center; gap:2.4rem;}
.footer_qr {flex-shrink:0; width:9.6rem; height:9.6rem; padding:.4rem; border-radius:var(--radius-sm); background:var(--color-white);}
.footer_qr_img {display:block; width:100%; height:100%;}

/* 바로가기 유틸 링크 (우측 상단) */
.footer_util {display:flex; flex-direction:column; align-items:flex-end; gap:.7rem;}
.footer_util a {display:inline-flex; align-items:center; gap:.6rem; min-height:2.4rem; /* 최소 터치 타겟(2.5.8) */ font-size:var(--fs-lg); color:var(--color-white);}
.footer_util a:hover,
.footer_util a:focus {text-decoration:underline;}
.footer_util_arrow {flex-shrink:0; width:.7rem; height:.7rem; border-style:solid; border-width:1.5px 1.5px 0 0; border-color:currentColor; transform:rotate(45deg);}

/* 관련사이트 드롭다운 (커스텀 disclosure — 우측 정렬, 위로 펼침) */
.footer_sites {position:relative; display:flex; justify-content:flex-end;}
.footer_sites_btn {display:inline-flex; align-items:center; gap:1rem; width:200px; height:3.8rem; padding:0 1.2rem; border:1px solid var(--color-footer-line); border-radius:var(--radius-sm); background:var(--color-footer-bg); color:var(--color-white); font-size:var(--fs-base); cursor:pointer;}
.footer_sites_label {flex:1 1 0; min-width:0; text-align:left;}
.footer_sites_arrow {flex-shrink:0; width:.8rem; height:.8rem; border-style:solid; border-width:1.5px 1.5px 0 0; border-color:currentColor; transform:translateY(.15rem) rotate(-45deg); transition:transform .2s;}
.footer_sites_btn[aria-expanded="true"] .footer_sites_arrow {transform:translateY(-.1rem) rotate(135deg);}
.footer_sites_list {position:absolute; right:0; bottom:calc(100% + .8rem); z-index:10; display:flex; flex-direction:column; gap:.8rem; width:200px; margin:0; padding:1.2rem; list-style:none; border:1px solid var(--color-footer-line); border-radius:var(--radius-sm); background:var(--color-footer-bg);}
.footer_sites_list[hidden] {display:none;}
.footer_sites_list a {display:block; min-height:2.4rem; /* 최소 터치 타겟 */ padding:.2rem 0; font-size:var(--fs-base); line-height:var(--lh-base); color:var(--color-white);}
.footer_sites_list a:hover,
.footer_sites_list a:focus {text-decoration:underline;}

/* 하단: 약관/정책 + 카피라이트 */
.footer_bottom {display:flex; justify-content:space-between; align-items:center; gap:2.4rem; padding-top:2rem; border-top:1px solid var(--color-footer-line);}
.footer_links {display:flex; align-items:center; gap:2.4rem;}
.footer_links a {display:inline-flex; align-items:center; min-height:2.4rem; /* 최소 터치 타겟(2.5.8) */ font-size:var(--fs-lg); color:var(--color-white);}
.footer_links a:hover,
.footer_links a:focus {text-decoration:underline;}
.footer_links a.is_point {color:var(--color-footer-point); font-weight:600; text-decoration:underline;}
.footer_copy {font-size:var(--fs-base); color:var(--color-footer-sub);}

/* =========================================================
   5. 반응형
========================================================= */
/* 태블릿 이하: 주메뉴 간격 축소 */
@media (max-width:1280px) {
.gnb_nav_list {gap:2.8rem;}
}

/* 모바일: GNB 전체메뉴 토글 + 좌측 메뉴 가로 탭 + 푸터 적층 */
@media (max-width:768px) {
/* --- GNB (모바일 72px 바: 로고 + 로그인 + 전체메뉴 / 마스트헤드 표시) --- */
/* 마스트헤드 */
.gnb_masthead_txt {font-size:var(--fs-sm); /* 375px 한 줄 유지 */}
.gnb_inner {display:flex; align-items:center; column-gap:1.6rem; height:7.2rem; padding:0 2rem;}
.gnb_logo > a {gap:.6rem;}
.gnb_logo_symbol {width:30px; height:30px;}
.gnb_logo_txt {font-size:1.4rem;}
/* 로그인/전체메뉴: 아이콘 + 텍스트 세로형 버튼 */
.gnb_m_login {display:inline-flex; flex-direction:column; align-items:center; gap:.4rem; margin-left:auto; /* 우측 정렬 (로고와 사이 띄움) */ padding:.4rem; border-radius:var(--radius-sm);}
.gnb_m_login_ico {width:2rem; height:2rem; background:url(../images/common/ico_login.svg) no-repeat center / 1.6rem 1.6rem;}
.gnb_m_login_txt {font-size:1.3rem; font-weight:600; line-height:var(--lh-base); color:var(--color-text-title);}
/* 로그인후: 마이페이지 (아이콘만 교체) */
.gnb_m_my .gnb_m_login_ico {background-image:url(../images/common/ico_myinfo.svg); background-size:1.5rem 1.6rem;}
.gnb_allmenu {flex-direction:column; gap:.4rem; height:auto; padding:.4rem;}
.gnb_allmenu_ico {width:2rem; height:2rem; background-size:1.8rem 1.4rem;}
.gnb_allmenu_txt {font-size:1.3rem; font-weight:600; line-height:var(--lh-base);}

/* PC 서브메뉴(유틸/주메뉴/메가메뉴)는 모바일에서 미사용 — 전용 레이어(.gnb_mobile)로 대체 */
.gnb_menu,
.gnb_mega_bg {display:none !important;}

/* --- 모바일 전체메뉴 레이어 (화면 전체 덮음) ---
   열림: 딤 페이드인(.25s) → 패널 오른쪽에서 슬라이드인(.2s 지연)
   닫힘: 패널 슬라이드아웃 → 딤 페이드아웃 (역순) */
.gnb_mobile_dim {display:block; position:fixed; inset:0; z-index:199; background:rgba(0, 0, 0, .6); opacity:0; visibility:hidden; transition:opacity .25s ease .15s, visibility 0s .4s;}
body.gnb_mobile_lock .gnb_mobile_dim {opacity:1; visibility:visible; transition:opacity .25s ease;}
.gnb_mobile {display:flex; position:fixed; inset:0; z-index:200; flex-direction:column; background:var(--color-white); transform:translateX(100%); visibility:hidden; transition:transform .3s ease, visibility 0s .3s;}
.gnb_mobile.is_open {transform:translateX(0); visibility:visible; transition:transform .3s ease .2s;}
/* 레이어 열림 동안 본문 스크롤 잠금 (script.js가 body에 부여) */
body.gnb_mobile_lock {overflow:hidden;}

/* 상단: 유틸 링크 + 닫기 + 로그인 안내 */
.gnb_mobile_head {display:flex; flex-direction:column; flex-shrink:0; gap:3.2rem; padding:2rem; border-bottom:1px solid var(--color-border-gray);}
.gnb_mobile_util {display:flex; align-items:center; justify-content:space-between;}
.gnb_mobile_util_list {display:flex; align-items:center;}
.gnb_mobile_util_list > li {display:flex; align-items:center;}
.gnb_mobile_util_list > li + li::before {content:""; width:1px; height:14px; margin:0 1.6rem; background:var(--color-border-gray);}
.gnb_mobile_util_link {display:inline-flex; align-items:center; min-height:4.4rem; /* 터치 타겟(2.1.3) */ margin:-.6rem 0; /* 행 시각 높이 32px 유지 */ font-size:var(--fs-base); color:var(--color-text-title);}
.gnb_mobile_close {position:relative; flex-shrink:0; width:4.4rem; /* 터치 타겟(2.1.3) */ height:4.4rem; margin:-.6rem -1rem -.6rem 0; /* 아이콘 시각 위치·행 높이 유지 */ color:var(--color-text-title);}
.gnb_mobile_close::before,
.gnb_mobile_close::after {content:""; position:absolute; left:50%; top:50%; width:18px; height:2px; background:currentColor;}
.gnb_mobile_close::before {transform:translate(-50%, -50%) rotate(45deg);}
.gnb_mobile_close::after {transform:translate(-50%, -50%) rotate(-45deg);}
.gnb_mobile_login {align-self:flex-start; font-size:var(--fs-19); font-weight:700; color:var(--color-text-title);}
/* 로그인후: 사용자명 + 로그아웃 */
.gnb_mobile_user {display:flex; align-items:center; gap:.8rem;}
.gnb_mobile_user_name {flex:1 1 0; min-width:0; font-size:var(--fs-19); font-weight:700; color:var(--color-text-title);}
.gnb_mobile_logout {display:inline-flex; flex-shrink:0; align-items:center; gap:.8rem; font-size:var(--fs-lg); font-weight:600; color:var(--color-text-title);}
.gnb_mobile_logout_ico {width:2rem; height:2rem; background:url(../images/common/ico_logout.svg) no-repeat center / 1.6rem 1.6rem;}

/* 본문: 좌측 1depth 탭 + 우측 2/3depth 패널 */
.gnb_mobile_body {display:flex; flex:1 1 auto; min-height:0;}
.gnb_mobile_tabs {flex-shrink:0; width:140px; overflow-y:auto; background:var(--color-bg);}
.gnb_mobile_tab {display:block; width:100%; padding:1.6rem 2rem; font-size:var(--fs-lg); font-weight:700; line-height:var(--lh-base); color:var(--color-text-title); text-align:left;}
.gnb_mobile_tab.active {background:var(--color-white); color:var(--color-primary-deep);}
.gnb_mobile_panels {flex:1 1 0; min-width:0; overflow-y:auto;}
.gnb_mobile_sec {padding:2rem 2rem .8rem;}
.gnb_mobile_tit {display:block; padding:.4rem .8rem 1.2rem; border-bottom:1px solid var(--color-border-gray); font-size:var(--fs-19); font-weight:700; color:var(--color-text-title);}
.gnb_mobile_menu {padding:.8rem 0;}
.gnb_mobile_link {
	display: flex;
	align-items: center;
	gap: .4rem;
	width: 100%;
	padding: 1.2rem .8rem;
	border-radius: var(--radius-lg);
	font-size: var(--fs-lg);
	line-height: var(--lh-base);
	color: var(--color-text-title);
	text-align: left;
}
/* 3depth 보유 항목 토글 화살표 (▼ 닫힘 / ▲ 열림) */
.gnb_mobile_toggle::after {content:""; flex-shrink:0; width:.8rem; height:.8rem; margin-left:auto; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-2px) rotate(45deg);}
.gnb_mobile_menu > .has_sub.is_open > .gnb_mobile_toggle {background:var(--color-primary-light); font-weight:700; color:var(--color-primary-deep);}
.gnb_mobile_menu > .has_sub.is_open > .gnb_mobile_toggle::after {transform:translateY(2px) rotate(225deg);}
.gnb_mobile_menu > .has_sub.is_open > .gnb_mobile_sub {margin-top:.8rem;}
.gnb_mobile_menu > .has_sub:not(.is_open) > .gnb_mobile_sub {display:none;}
/* 3depth */
.gnb_mobile_sub a {display:flex; align-items:center; width:100%; padding:1rem 1.6rem; border-radius:var(--radius-md); font-size:var(--fs-lg); line-height:var(--lh-base); color:var(--color-text-title);}
.gnb_mobile_sub a::before {content:""; flex-shrink:0; width:.4rem; height:.4rem; margin-right:.8rem; border-radius:1px; background:#33363d; /* color/icon/gray */}

/* --- 좌측 메뉴: 모바일 숨김 --- */
.side_menu {display:none;}

/* --- 푸터 (모바일) --- */
.footer_inner {gap:3.2rem;}
.footer_top {flex-direction:column; align-items:stretch; gap:1.6rem;}
.footer_util {align-items:flex-start; gap:.4rem; /* 모바일은 좌측 정렬 */}
.footer_side {gap:1.6rem;}
.footer_qr {width:8rem; height:8rem;}
.footer_brand {gap:2rem;}
.footer_moge {width:11rem; height:auto; /* 모바일도 성평등가족부 로고 표시(디자인 변경) */}
.footer_logo_symbol {width:33px; height:35px;}
.footer_logo_txt {font-size:1.1rem; font-weight:600;}
.footer_addr {font-size:var(--fs-sm); /* 14px */ line-height:var(--lh-base); /* 21px */ color:rgba(255, 255, 255, .75);}
.footer_addr_time {display:block; /* 모바일은 운영시간 줄바꿈 */}
.footer_sites {justify-content:stretch; margin-top:-1.6rem; /* footer_top과의 간격 1.6rem (inner gap 3.2rem 보정) */}
.footer_sites_btn {width:100%;}
.footer_sites_list {width:100%;}
.footer_bottom {flex-direction:column; align-items:flex-start; gap:4rem; padding-top:3.2rem; border-top-color:rgba(255, 255, 255, .1);}
.footer_links {flex-wrap:wrap; gap:.8rem 2.4rem;}
.footer_links a {font-size:var(--fs-md); /* 16px */}
}
