/* layout-home.css : home 레이아웃 공통(헤더/푸터)만 */

/* ===== Top Navigation (Layout) ===== */
.topnav {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 10;
}

.topnav-inner {
	max-width: 1600px;
	margin: 0 auto;
	padding: 18px 24px;
	display: flex;
	align-items: center;
	gap: 22px;
}

.topnav-brand img {
	height: 40px;
	display: block;
}

.topnav-menu {
	display: flex;
	align-items: center;
	gap: 22px;
	margin-left: 12px;
}

.topnav-link {
	color: rgba(255, 255, 255, 0.72);
	text-decoration: none;
	font-size: 14px;
	letter-spacing: -0.2px;
	padding: 6px 2px;
}

.topnav-link:hover {
	color: rgba(255, 255, 255, 0.92);
}

.topnav-actions {
	margin-left: auto;
	display: flex;
	align-items: center;
}

.topnav-login {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 36px;
	padding: 0 14px;
	border-radius: 10px;
	background: #999;
	color: #0b0f14;
	text-decoration: none;
	font-weight: 700;
	font-size: 13px;
}

@media (max-width: 767px) {
	.topnav-menu {
		display: none;
	}

	.topnav-inner {
		padding: 14px 18px;
	}

	.topnav-login {
		display: none;
	}
}

/* ===== Mobile Topnav ===== */

.topnav-burger{
	display:none;
	position:relative;
	width:40px;
	height:40px;
	margin-left:10px;
	padding:0;
	border-radius:12px;
	border:1px solid rgba(255,255,255,0.10);
	background:rgba(255,255,255,0.06);
	cursor:pointer;
	-webkit-tap-highlight-color:transparent;
}

.topnav-burger span{
	position:absolute;
	left:50%;
	width:18px;
	height:2px;
	background:rgba(255,255,255,0.82);
	border-radius:2px;
	transform:translateX(-50%);
}

.topnav-burger span:nth-child(1){ top:13px; }
.topnav-burger span:nth-child(2){ top:19px; }
.topnav-burger span:nth-child(3){ top:25px; }


/* 모바일에서 기존 메뉴 숨기고 햄버거 노출 */
@media (max-width: 860px) {
	.topnav-menu { display: none; }
	.topnav-burger { display: inline-flex; }
}

/* 모바일 메뉴 오버레이 */
.mnav {
	position: fixed;
	inset: 0;
	z-index: 9999;
}

.mnav-dim {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.55);
	backdrop-filter: blur(6px);
}

.mnav-panel {
	position: absolute;
	top: 0;
	right: 0;
	width: min(320px, 86vw);
	height: 100%;
	background: rgba(10, 12, 16, 0.96);
	border-left: 1px solid rgba(255,255,255,0.10);
	box-shadow: -12px 0 40px rgba(0,0,0,0.45);
	padding: 16px;
	transform: translateX(100%);
	transition: transform 0.18s ease;
}

.mnav.is-open .mnav-panel {
	transform: translateX(0);
}

.mnav-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 6px 2px 14px;
	border-bottom: 1px solid rgba(255,255,255,0.08);
}

.mnav-title {
	color: rgba(255,255,255,0.88);
	font-size: 14px;
	font-weight: 700;
}

.mnav-close {
	border: 1px solid rgba(255,255,255,0.10);
	background: rgba(255,255,255,0.06);
	color: rgba(255,255,255,0.78);
	border-radius: 10px;
	height: 34px;
	padding: 0 10px;
	cursor: pointer;
}

.mnav-menu {
	padding: 12px 2px;
	display: grid;
	gap: 6px;
}

.mnav-link {
	display: block;
	padding: 12px 10px;
	border-radius: 12px;
	color: rgba(233,238,246,0.78);
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.08);
	word-break: keep-all;
}

.mnav-link:hover {
	background: rgba(255,255,255,0.07);
	color: rgba(255,255,255,0.90);
}

.mnav-strong {
	margin-top: 8px;
	background: rgba(255,255,255,0.07);
	color: rgba(255,255,255,0.88);
}