/* =========================================================
   Twenty Twenty-Five
   Mobile Navigation Optimization
========================================================= */


/* =========================================================
   ±âº» Çì´õ
========================================================= */

.wp-block-site-title {
	margin: 0 !important;
	line-height: 1.2;
}

.wp-block-site-title a {
	color: inherit;
	text-decoration: none !important;
	font-weight: 700;
}


/* =========================================================
   ±âº» ³×ºñ°ÔÀÌ¼Ç
========================================================= */

.wp-block-navigation {
	margin-left: auto;
}

.wp-block-navigation .wp-block-navigation-item__content {
	text-decoration: none !important;
}


/* ÇöÀç ¸Þ´º */

.wp-block-navigation
.current-menu-item
> .wp-block-navigation-item__content {

	font-weight: 800;
}


/* =========================================================
   ÇÜ¹ö°Å ¹öÆ°
========================================================= */

.wp-block-navigation__responsive-container-open {

	width: 44px;
	height: 44px;

	display: flex;
	align-items: center;
	justify-content: center;

	padding: 8px;

	border: 0;
	border-radius: 10px;

	background: transparent;

	cursor: pointer;

	box-sizing: border-box;

	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
}

.wp-block-navigation__responsive-container-open:hover {

	background: rgba(0, 0, 0, 0.05);
}

.wp-block-navigation__responsive-container-open svg {

	width: 24px;
	height: 24px;
}


/* =========================================================
   ´Ý±â ¹öÆ°
========================================================= */

.wp-block-navigation__responsive-container-close {

	width: 44px;
	height: 44px;

	display: flex;
	align-items: center;
	justify-content: center;

	padding: 8px;

	border-radius: 10px;

	box-sizing: border-box;

	-webkit-tap-highlight-color: transparent;
}

.wp-block-navigation__responsive-container-close svg {

	width: 24px;
	height: 24px;
}


/* =========================================================
   ¸ð¹ÙÀÏ
========================================================= */

@media (max-width: 781px) {

	/* -----------------------------------------
	   »çÀÌÆ® ÀüÃ¼ °¡·Î ¹Ð¸² ¹æÁö
	----------------------------------------- */

	html,
	body {

		max-width: 100%;
		overflow-x: hidden;
	}


	/* -----------------------------------------
	   Çì´õ ³ôÀÌ Ãà¼Ò
	----------------------------------------- */

	header .wp-block-group.alignwide,
	.wp-block-template-part
	.wp-block-group.alignwide {

		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}


	/* -----------------------------------------
	   »çÀÌÆ® Á¦¸ñ
	----------------------------------------- */

	.wp-block-site-title {

		max-width: calc(100vw - 95px);

		font-size: 1.08rem !important;
		line-height: 1.2 !important;

		white-space: nowrap;

		overflow: hidden;
		text-overflow: ellipsis;

		flex-shrink: 1;
		min-width: 0;
	}


	.wp-block-site-title a {

		display: block;

		overflow: hidden;
		text-overflow: ellipsis;

		white-space: nowrap;
	}


	/* -----------------------------------------
	   ³×ºñ°ÔÀÌ¼Ç
	----------------------------------------- */

	.wp-block-navigation {

		margin-left: auto;

		flex-shrink: 0;
	}


	/* -----------------------------------------
	   ÇÜ¹ö°Å ¹öÆ°
	----------------------------------------- */

	.wp-block-navigation__responsive-container-open {

		width: 44px;
		height: 44px;

		padding: 8px;
	}


	/* -----------------------------------------
	   ¸ð¹ÙÀÏ ÀüÃ¼ ¸Þ´º
	----------------------------------------- */

	.wp-block-navigation__responsive-container.is-menu-open {

		position: fixed;

		inset: 0;

		width: 100%;
		height: 100%;

		box-sizing: border-box;

		padding-top:
			max(
				16px,
				env(safe-area-inset-top)
			);

		padding-right: 18px;

		padding-bottom:
			max(
				24px,
				env(safe-area-inset-bottom)
			);

		padding-left: 18px;

		overflow-y: auto;

		z-index: 999999;
	}


	/* -----------------------------------------
	   ¸Þ´º ³»ºÎ
	----------------------------------------- */

	.wp-block-navigation__responsive-container-content {

		width: 100%;

		padding-top: 22px !important;
	}


	.wp-block-navigation__responsive-container-content
	.wp-block-navigation__container {

		width: 100%;

		display: flex;

		flex-direction: column;

		align-items: stretch !important;

		gap: 0 !important;
	}


	/* -----------------------------------------
	   ¸Þ´º Ç×¸ñ
	----------------------------------------- */

	.wp-block-navigation__responsive-container-content
	.wp-block-navigation-item {

		width: 100%;

		margin: 0;

		border-bottom:
			1px solid
			rgba(0, 0, 0, 0.08);
	}


	/* -----------------------------------------
	   ¸Þ´º ¸µÅ©
	----------------------------------------- */

	.wp-block-navigation__responsive-container-content
	.wp-block-navigation-item__content {

		display: flex;

		width: 100%;

		min-height: 52px;

		align-items: center;

		padding: 12px 6px;

		box-sizing: border-box;

		font-size: 16px;

		font-weight: 600;

		line-height: 1.4;

		text-align: left;

		text-decoration: none !important;

		-webkit-tap-highlight-color: transparent;
	}


	.wp-block-navigation__responsive-container-content
	.wp-block-navigation-item__content:active {

		opacity: 0.65;
	}


	/* -----------------------------------------
	   ÇöÀç ¸Þ´º °­Á¶
	----------------------------------------- */

	.wp-block-navigation__responsive-container-content
	.current-menu-item
	> .wp-block-navigation-item__content {

		font-weight: 800;
	}


	/* -----------------------------------------
	   ¼­ºê¸Þ´º
	----------------------------------------- */

	.wp-block-navigation__responsive-container-content
	.wp-block-navigation__submenu-container {

		width: 100% !important;

		margin: 0 !important;

		padding:
			0
			0
			8px
			14px !important;

		box-sizing: border-box;

		border: 0 !important;

		background: transparent !important;
	}


	.wp-block-navigation__responsive-container-content
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item {

		border-bottom: 0;
	}


	.wp-block-navigation__responsive-container-content
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item__content {

		min-height: 44px;

		padding: 9px 6px;

		font-size: 14px;

		font-weight: 500;

		opacity: 0.82;
	}

}


/* =========================================================
   ÀÛÀº ¸ð¹ÙÀÏ
========================================================= */

@media (max-width: 360px) {

	.wp-block-site-title {

		max-width: calc(100vw - 85px);

		font-size: 0.98rem !important;
	}


	.wp-block-navigation__responsive-container-open,
	.wp-block-navigation__responsive-container-close {

		width: 42px;
		height: 42px;
	}

}