@charset "utf-8";
/* =====================================================
   오시는 길 — page-location (Claude Design v2)
   ===================================================== */

.page-location { display:block; overflow:hidden; }

/* 지도 */
.page-location__map {
	position:relative;
	border-radius:40px;
	overflow:hidden;
	background:var(--bg3);
	box-shadow:0 20px 44px oklch(0.30 0.05 148 / 0.08);
	margin-bottom:44px;
	height:500px;
}

.page-location__map .root_daum_roughmap_landing {
	width:100%; height:100%;
}
.page-location__map .root_daum_roughmap .wrap_map {height:100%;}
.page-location__map .root_daum_roughmap .wrap_controllers {display:none;}
.page-location__map .root_daum_roughmap .cont {display:none;}

/* 인포 그리드 */
.page-location__grid {
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:16px;
}
.page-location__info {
	background:var(--bg3);
	border-radius:28px;
	padding:32px 28px;
	display:flex; flex-direction:column; gap:8px;
	box-shadow:var(--sh-card);
	transition:transform .3s ease, box-shadow .3s ease;
}
.page-location__info:hover {
	transform:translateY(-4px);
	box-shadow:0 20px 44px oklch(0.30 0.05 148 / 0.10);
}
.page-location__info--tint {
	background:oklch(0.93 0.045 122);
}
.page-location__label {
	font-family:var(--f_ui);
	font-size:var(--fs11);
	font-weight:700;
	letter-spacing:0.22em;
	text-transform:uppercase;
	color:oklch(0.55 0.09 148);
}
.page-location__info h3 {
	margin:0;
	font-family:var(--f_display);
	font-weight:700;
	font-size:var(--fs22);
	color:oklch(0.31 0.05 148);
	letter-spacing:-0.02em;
}
.page-location__info p {
	margin:0;
	font-size:var(--fs14);
	line-height:1.85;
	color:var(--tx-body);
}
.page-location__info p strong {
	display:inline-block; min-width:44px;
	font-family:var(--f_ui);
	font-size:var(--fs11);
	font-weight:700;
	letter-spacing:0.14em;
	color:oklch(0.60 0.06 148);
}
.page-location__info a {
	color:oklch(0.44 0.08 148);
	transition:color .2s ease;
}
.page-location__info a:hover { color:oklch(0.34 0.08 148); }

/* ==================== 반응형 ==================== */
@media screen and (max-width:1199px) {
	.page-location__map { border-radius:28px; margin-bottom:32px; }
	.page-location__map iframe { height:380px; }
	.page-location__grid { grid-template-columns:repeat(2, 1fr); gap:12px; }
	.page-location__info { padding:26px 22px; border-radius:22px; }
}
@media screen and (max-width:767px) {
	.page-location__map { border-radius:22px; }
	.page-location__map iframe { height:300px; }
	.page-location__grid { grid-template-columns:1fr; }
	.page-location__info h3 { font-size:var(--fs19); }
}
