@charset "UTF-8";
/* =========================================================================
 *  모바일/태블릿 GNB (≤991px 햄버거 메뉴) — Figma 1000-21906(tablet) / 1034-22388(mobile)
 *  - 전체 폭 상단 드롭다운 아코디언. 데스크탑(≥992)은 건드리지 않음.
 *  - 마크업: index/mmenu.php (.gnbm) / 동작: js/custom.js (.gnbm-toggle)
 *  - mobile(≤767) 값을 기본으로, tablet(768–991)에서 일부만 override.
 * ========================================================================= */

@media (max-width: 991px) {

	/* 닫힌 헤더: 로그인/회원가입 텍스트 숨김(메뉴 하단으로 이동) — Figma 닫힌 헤더는 로고+햄버거만 */
	#header .h_nav .tLink { display: none; }
	/* 닫힌 헤더 로고 — 열린 패널 상단/Figma(모바일 로고200·h60)와 일치 (전역 img max-width:100% 무력화) */
	#header.header-narrow .header-logo img { width: 200px; max-width: none; margin: 18px 0; }
	/* 햄버거 버튼 — #header(relative) 기준 세로 정중앙·우측 15px 고정(로고 좌측/X/chevron과 동일) */
	#header .mmenu-toggle-btn {
		position: absolute; top: 50%; right: 15px; transform: translateY(-50%);
		float: none; margin: 0; padding: 0;
		display: flex; align-items: center; justify-content: center;
		min-width: 0; line-height: 1; color: #333;
	}
	/* 햄버거 아이콘 — Figma mingcute:menu-line (24px) */
	.mmenu-toggle-btn .gnbm-burger { display: block; width: 24px; height: 24px; max-width: none; color: #333; }

	/* ===== 패널(전체 화면) ===== */
	.mobile-nav {
		left: -100%;
		width: 100%;
		top: 0;
		height: 100%;
		padding: 0;
		box-sizing: border-box;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		background-color: #fff;
		z-index: 1200;
	}
	.mmenu-open .mobile-nav { left: 0 !important; }
	/* 구 드로어 잔재(.mmenu-open.body{left:250px}) 무력화 — 전체폭 오버레이라 본문 시프트 금지 */
	.mmenu-open.body { left: 0 !important; }
	#mobile-menu-overlay { z-index: 1190; }
	.mobile-nav-wrapper { min-height: 100%; }

	.gnbm { display: flex; flex-direction: column; min-height: 100%; }

	/* ===== 상단(로고 + 닫기) ===== */
	.gnbm-top {
		display: flex; align-items: center; justify-content: space-between;
		flex: 0 0 auto; height: 60px; padding: 0 15px; /* 좌우 15px = 닫힌 헤더 로고 좌측(.header-logo padding 15px)과 동일 */
	}
	.gnbm-logo { display: flex; align-items: center; }
	.gnbm-logo img { width: 200px; max-width: none; height: auto; display: block; }
	.gnbm-close {
		position: relative; top: 0; /* default.css .mmenu-toggle-btn{position:absolute; top:13px} 무력화 (top까지 0으로) */
		display: flex; align-items: center; justify-content: center;
		flex: 0 0 auto; width: 44px; height: 44px; min-width: 0; padding: 9px; float: none;
		border: 1px solid #e7e5e4; border-radius: 100px; background: #fff;
		color: #44403c; cursor: pointer; -webkit-appearance: none; appearance: none;
	}
	.gnbm-close svg { width: 24px; height: 24px; display: block; }

	/* ===== 리스트 ===== */
	.gnbm-list { list-style: none; margin: 0; padding: 0; flex: 1 0 auto; }
	.gnbm-item { list-style: none; position: relative; }
	.gnbm-row { display: flex; align-items: center; justify-content: space-between; }
	.gnbm-link {
		display: block; flex: 1 1 auto; min-width: 0;
		text-decoration: none; word-break: keep-all;
	}
	.gnbm-link:link, .gnbm-link:visited, .gnbm-link:hover, .gnbm-link:focus { color: inherit; text-decoration: none; }

	/* chevron 토글 */
	.gnbm-toggle {
		flex: 0 0 auto; display: flex; align-items: center; justify-content: center;
		border: 0; background: transparent; cursor: pointer; padding: 0;
		color: #a8a29e; -webkit-appearance: none; appearance: none;
	}
	.gnbm-chev { display: block; transition: transform .25s ease; }
	.gnbm-item.is-open > .gnbm-row > .gnbm-toggle .gnbm-chev { transform: rotate(180deg); }

	/* ===== 1단계 ===== */
	.gnbm-row--l1 { padding: 20px 15px; border-bottom: 1px solid #e7e5e4; }
	.gnbm-row--l1 .gnbm-link {
		font-family: 'Pretendard', sans-serif; font-weight: 700;
		font-size: 20px; line-height: 25px; letter-spacing: -0.45px; color: #44403c;
	}
	.gnbm-row--l1 .gnbm-toggle { width: 44px; height: 25px; } /* 텍스트 높이와 동일 → chevron 유무와 무관하게 행 높이 균일(아이콘 시각은 동일) */

	/* ===== 서브(아코디언) — 표시는 JS slide가 제어 ===== */
	.gnbm-sub { list-style: none; margin: 0; padding: 0; display: none; }

	/* ===== 2단계 ===== */
	.gnbm-row--l2 { padding: 20px 15px 20px 24px; min-height: 71px; background: #fff; }
	.gnbm-row--l2 .gnbm-link {
		display: flex; align-items: center; gap: 10px;
		font-family: 'Pretendard', sans-serif; font-weight: 500;
		font-size: 17px; line-height: 1.3; letter-spacing: -0.85px; color: #57534e;
	}
	.gnbm-row--l2 .gnbm-link::before {
		content: ''; flex: 0 0 auto; width: 4px; height: 4px; border-radius: 50%; background: #57534e;
	}
	.gnbm-row--l2 .gnbm-toggle { width: 36px; height: 36px; }
	.gnbm-row--l2 .gnbm-chev { width: 16px; height: 9px; }

	/* ===== 3단계(의료진) ===== */
	.gnbm-sub--l3 { background: #f9f9f9; }
	.gnbm-row--l3 { padding: 16px 15px 16px 32px; background: #f9f9f9; }
	.gnbm-row--l3 .gnbm-link {
		font-family: 'Pretendard', sans-serif; font-weight: 500;
		font-size: 17px; line-height: normal; letter-spacing: -0.68px; color: #57534e;
	}

	/* ===== 하단(로그인/회원가입) ===== */
	.gnbm-foot {
		display: flex; align-items: center; justify-content: flex-end; gap: 4px;
		flex: 0 0 auto; padding: 20px 15px;
	}
	.gnbm-foot__link {
		font-family: 'Pretendard', sans-serif; font-size: 14px; letter-spacing: -0.45px;
		color: #333; text-decoration: none;
	}
	.gnbm-foot__link:link, .gnbm-foot__link:visited, .gnbm-foot__link:hover { color: #333; text-decoration: none; }
	.gnbm-foot__bar { font-size: 14px; color: #777; }
}

/* ===== Tablet (768–991) override ===== */
@media (min-width: 768px) and (max-width: 991px) {
	/* 닫힌 헤더 — Figma 태블릿: 로고 210·상하 margin 30px (헤더 높이 ≈85px) */
	#header.header-narrow .header-logo img { width: 210px; margin: 30px 0; }
	.gnbm-top { height: 85px; padding: 0 15px; } /* 닫힌 헤더(로고25+상하30)와 동일 높이로 동기화 */
	.gnbm-logo img { width: 210px; }
	.gnbm-row--l2 { padding-left: 40px; }
	.gnbm-row--l2 .gnbm-link { font-size: 21px; line-height: 31px; letter-spacing: -0.84px; }
	.gnbm-row--l2 .gnbm-toggle { width: 44px; height: 44px; }
	.gnbm-row--l2 .gnbm-chev { width: 20px; height: 11px; }
	.gnbm-row--l3 { padding-left: 60px; }
	.gnbm-foot { padding: 30px 15px; }
}
