:root{
	--footer-h: 64px; /* 하단 네비 실제 높이 기준 */
}

body {
	font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
	margin-bottom: 0;
	padding: 0;
	margin: 0 auto;
	background: #152a54;
	max-width: 800px;
	width: auto;
	height: 100%;
	top: 0;
	bottom: 0;
}

/* iOS 안전영역 포함한 뷰포트 적용을 head에 함께 추가 권장:
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
*/

ul {
	width: 100%;
	list-style: none;
	padding: 0;
	margin: 0;
}

.imagemap {
	position: relative;
	width: 100%;
}

img,
video {
	display: block;
	width: 100%;
	-webkit-user-select: none;
	-webkit-touch-callout: none;
}

/* 비디오 기본 폭 유지(세로는 원본 비율) */
video {
	height: auto;
}

/* iOS 탭 하이라이트 제거 */
a, .nav-item {
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}

a:link,
a:visited,
a:active {
	text-decoration: none;
	color: #000;
}

a:hover {
	text-decoration: none;
	color: red;
}

.container {
	width: 100%;
	max-width: 800px;
	color: #000;
	z-index: 0;
	/* 하단 네비 + 세이프에어리어만큼 바닥 여백 확보 */
	padding-bottom: calc(var(--footer-h) + env(safe-area-inset-bottom) + 16px);
}

/* iOS 11 레거시 대응 */
@supports (padding: constant(safe-area-inset-bottom)) {
	.container{
		padding-bottom: calc(var(--footer-h) + constant(safe-area-inset-bottom) + 16px);
	}
}

.nav {
	display: flex;
	flex-direction: row;
	width: 100%;
	max-width: 800px;
	margin: auto;
	background-color: #fff;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.8);
	position: fixed;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	z-index: 1000;
	/* 홈 인디케이터 회피 */
	padding-bottom: env(safe-area-inset-bottom);
}

/* iOS 11 레거시 대응 */
@supports (padding: constant(safe-area-inset-bottom)) {
	.nav{
		padding-bottom: constant(safe-area-inset-bottom);
	}
}

.nav-item {
	display: grid;
	place-items: center; /* 가로 + 세로 중앙 정렬 */
	flex-grow: 1;
	padding: 8px 0; /* 터치 타겟 살짝 키움 */
	cursor: pointer;
	transition: all 0.2s ease-out;
	text-align: center; /* 내부 텍스트 중앙 정렬 */
}

.nav-text {
	font-size: 20px;
	margin: auto;
	text-align: center;
	font-weight: 500;
	display: none;
	transition: all 0.3s ease;
}

.material-icons {
	display: inline;
	font-size: 32px !important;
	transition: color .3s;
	text-align: center;
}

.kakaomap {
	position: absolute;
	top: 19.06%;
	left: 8%;
	width: 84%;
	height: 39.34%;
	display: block;
}

.nav-item div {
	font-size: 10px; /* 9px → 10px로 가독성 보강 */
	text-align: center;
	margin: 4px auto 0;
}

.nav-item img {
	width: 32px;
	height: 32px;
}
