/**
 * 오시는 길 — `_page-directions.scss` 포트 (px).
 * Breakpoints: base → 1023 > 767
 * 반응형은 각 섹션 본 코드 바로 아래에 배치.
 */

/* =========================================================
   Hero
   ========================================================= */
.site-main--directions .page-hero {
	margin-bottom: 120px;
}

.site-main--directions .page-hero__subtitle {
	color: #fff;
}

@media all and (max-width: 1023px) {
	.site-main--directions .page-hero{margin-bottom: 54px;}
}

/* =========================================================
   Map
   ========================================================= */
.site-main--directions .page-directions__main {
	display: flex;
	flex-direction: column;
}

.site-main--directions .page-directions__map-block {
	width: 100%;
	border-radius: 4px;
}

.site-main--directions .page-directions__map-frame {
	position: relative;
	width: 100%;
	height: 600px;
	max-width: 100%;
	overflow: hidden;
	background: var(--color-bg-2);
}

.site-main--directions .page-directions__map-frame .root_daum_roughmap .map_border{
	display: none;
}

.site-main--directions .page-directions__kakao-root,
.site-main--directions .page-directions__map-frame .root_daum_roughmap,
.site-main--directions .page-directions__map-frame .wrap_map {
	width: 100%;
	max-width: 100%;
}

.site-main--directions .page-directions__kakao-root {
	height: 100%;
	min-height: 600px;
}

.site-main--directions .page-directions__map-html {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

.site-main--directions .page-directions__map-html,
.site-main--directions .page-directions__map-html iframe {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	min-height: 780px;
	border: 0;
}

.site-main--directions .page-directions__map-html iframe {
	box-sizing: border-box;
}

@media all and (max-width: 1023px) {
	.site-main--directions .page-directions__map-frame{height: 432px;}
}

@media all and (max-width: 767px) {
	.site-main--directions .page-directions__map-frame{height: 300px;}
}

/* =========================================================
   Tagline
   ========================================================= */
.site-main--directions .page-directions__tagline-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px 40px;
	margin: 30px 0 120px;
}

.site-main--directions .page-directions__tagline-text {
	flex: 1 1 288px;
	min-width: 0;
}

.site-main--directions .page-directions__tagline-line {
	margin: 0;
	font-size: 38px;
	font-weight: 600;
	line-height: 1.6;
	color: #111;
	word-break: keep-all;
}

.site-main--directions .page-directions__tagline-note {
	margin: 15px 0 0;
	font-size: 18px;
	color: var(--color-neutral-5);
}

.site-main--directions .page-directions__maplinks {
	display: flex;
	flex-wrap: wrap;
	flex-shrink: 0;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	margin-top: 4px;
}

.site-main--directions .page-directions__maplink {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 120px;
	padding: 12px 30px;
	border: 1px solid var(--color-neutral-2);
	font-size: 16px;
	text-decoration: none;
	color: var(--color-neutral-4);
	background: #fff;
	transition: color 0.4s ease, border-color 0.4s ease;
}

.site-main--directions .page-directions__maplink:hover,
.site-main--directions .page-directions__maplink:focus-visible {
	color: #000;
	border-color: #000;
}

@media all and (max-width: 767px) {
	.site-main--directions .page-directions__tagline-row{margin: 30px 0 85px;}
	.site-main--directions .page-directions__tagline-line{font-size: 28px;}
	.site-main--directions .page-directions__tagline-note{font-size: 16px;}
	.site-main--directions .page-directions__maplink{font-size: 12px;padding: 10px 25px;}
}

/* =========================================================
   Section head
   ========================================================= */
.site-main--directions .page-directions__section-head {
	margin-bottom: 25px;
}

.site-main--directions .page-directions__section-head--shuttle {
	margin-bottom: 25px;
}

@media all and (max-width: 1023px) {
	.site-main--directions .page-directions__section-icon{width: 18px;}
}

@media all and (max-width: 767px) {
	.site-main--directions .page-directions__section-head{margin-bottom: 18px;}
}

/* =========================================================
   PT grid (지점/교통 리스트)
   ========================================================= */
.site-main--directions .page-directions__pt-grid {
	display: grid;
	grid-template-columns: 1fr;
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-main--directions .page-directions__pt-name {
	margin: 0 0 20px;
	padding: 25px 0;
	border-top: 1px solid var(--color-neutral-9);
	border-bottom: 1px solid var(--color-neutral-3);
	font-size: 22px;
	font-weight: 600;
	color: var(--color-neutral-7);
}

.site-main--directions .page-directions__pt-dl {
	line-height: 1.6;
	margin: 0;
}

.site-main--directions .page-directions__pt-row {
	margin: 0;
	padding: 0 0 25px 33px;
	position: relative;
	color: var(--color-neutral-7);
	--lhour-dot-left: 4px;
	--lhour-dot-color: #000;
}

.site-main--directions .page-directions__pt-row:last-child {
	padding-bottom: 25px;
}

.site-main--directions .page-directions__pt-dt {
	margin: 0;
	font-size: 22px;
	font-weight: 600;
	color: var(--color-neutral-7);
	line-height: 1.6;
}

.site-main--directions .page-directions__pt-dd {
	margin: 3px 0 0 0;
	font-size: 20px;
	color: var(--color-neutral-7);
	line-height: 1.6;
}

.site-main--directions .page-directions__pt-dd strong{
	font-weight: 600;
}

.site-main--directions .page-directions__pt-summary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	width: 100%;
	padding: 25px 33px;
	background: rgba(243, 238, 231, 0.5);
	font-size: 20px;
	border-top: 1px solid var(--color-neutral-3);
	border-bottom: 1px solid var(--color-neutral-3);
	margin-bottom: 25px;
}

.site-main--directions .page-directions__pt-summary + .page-directions__pt-row {
	margin-top: 4px;
}

.site-main--directions .page-directions__pt-row::before{
	top:13px !important;
	left: 15px !important;
}

.site-main--directions .page-directions__pt-summary-lead {
	font-size: 22px;
	font-weight: 600;
}

.site-main--directions .page-directions__pt-summary-sep {
	flex-shrink: 0;
	color: var(--color-neutral-3);
	font-weight: 400;
}

.site-main--directions .page-directions__pt-summary-text {
	flex: 1 1 192px;
	min-width: 0;
	font-weight: 400;
}


@media all and (max-width: 767px) {
	.site-main--directions .page-directions__pt-name{font-size: 18px;padding: 17px 0;margin-bottom: 17px;}
	.site-main--directions .page-directions__pt-row{padding: 0 0 17px 20px;}
	.site-main--directions .page-directions__pt-row::before{top:10px !important;left: 9px !important;}
	.site-main--directions .page-directions__pt-row:last-child{padding-bottom: 17px;}
	.site-main--directions .page-directions__pt-dt{font-size: 18px;}
	.site-main--directions .page-directions__pt-dd{font-size: 16px;}
	.site-main--directions .page-directions__pt-summary{padding: 17px 20px;margin-bottom: 17px;}
	.site-main--directions .page-directions__pt-summary-lead{font-size: 18px;}
	.site-main--directions .page-directions__pt-summary-text{flex: auto;font-size: 16px;}
	.site-main--directions .page-directions__pt-summary-sep{display: none;}
}

/* =========================================================
   Shuttle
   ========================================================= */
.site-main--directions .page-directions__shuttle {
	margin-top: 150px;
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 200px;
}

.site-main--directions .page-directions__shuttle-as-pt {
	min-width: 0;
}

.site-main--directions .page-directions__shuttle-as-pt > :first-child {
	border-top: 1px solid var(--color-neutral-9);
	padding-top: 25px;
}

.site-main--directions .page-directions__shuttle-as-pt > :first-child .page-directions__pt-row{
	--lhour-dot-left: 15px;
}

.site-main--directions .page-directions__shuttle-as-pt > :first-child .page-directions__pt-row:first-child{
	padding-bottom: 10px;
}

.site-main--directions .page-directions__shuttle-as-pt > :first-child .page-directions__pt-dd{
	font-size: 22px;
	font-weight: 600;
	margin-top: 0;
}

.site-main--directions .page-directions__shuttle-group {
	border-top: 1px solid var(--color-neutral-9);
	padding-top: 25px;
	padding-bottom: 0;
	margin-top: 0;
}

.site-main--directions .page-directions__shuttle-group .page-directions__pt-row{
	padding-bottom: 10px;
	--lhour-dot-left: 15px;
}

.site-main--directions .page-directions__shuttle-group .page-directions__pt-row:last-child{
	padding-bottom: 25px;
}

.site-main--directions .page-directions__shuttle-as-pt > .page-directions__shuttle-group:last-child {
	border-bottom: 1px solid var(--color-neutral-3);
	margin-bottom: 0;
}

.site-main--directions .page-directions__shuttle-as-pt > .page-directions__shuttle-intro-dl:last-child {
	border-bottom: 1px solid var(--color-neutral-3);
	padding-bottom: 0;
	margin-bottom: 0;
}

.site-main--directions .page-directions__shuttle-split-tt {
	margin: 0 0 25px;
	padding-bottom: 25px;
	border-bottom: 1px solid var(--color-neutral-3);
	font-size: 22px;
	font-weight: 600;
	color: var(--color-neutral-7);
}

.site-main--directions .page-directions__shuttle-split-dl {
	flex: 1 1 192px;
	min-width: 0;
	margin: 0;
}

.site-main--directions .page-directions__shuttle-legacy {
	margin: 0;
	padding: 25px 0 0;
	border-top: 1px solid var(--color-neutral-9);
	line-height: 1.6;
	color: #1a1a1a;
	font-size: 20px;
}

@media all and (max-width: 1023px) {
	.site-main--directions .page-directions__shuttle{margin-bottom: 90px;margin-top: 72px;}
}

@media all and (max-width: 767px) {
	.site-main--directions .page-directions__shuttle-as-pt > :first-child{padding-top: 17px;}
	.site-main--directions .page-directions__shuttle-as-pt > :first-child .page-directions__pt-dd{font-size: 18px;}
	.site-main--directions .page-directions__shuttle-as-pt > :first-child .page-directions__pt-row{padding-left: 17px;--lhour-dot-left: 5px;}
	.site-main--directions .page-directions__shuttle-group{padding-top: 17px;}
	.site-main--directions .page-directions__shuttle-split-tt{font-size: 18px; margin: 0 0 17px;padding-bottom: 17px;}
	.site-main--directions .page-directions__shuttle-group .page-directions__pt-row:last-child{padding-bottom: 17px;}
	.site-main--directions .page-directions__shuttle-group .page-directions__pt-row{--lhour-dot-left: 8px;}
}

/* =========================================================
   WP content
   ========================================================= */
.site-main--directions .page-directions__wp-content {
	max-width: 768px;
	margin: 0;
	padding-top: 24px;
	border-top: 1px solid var(--color-neutral-2);
}
