.seojan-vmenu,
.seojan-vmenu * {
	box-sizing: border-box;
}

.seojan-vmenu {
	width: 100%;
}

.seojan-vmenu__list,
.seojan-vmenu .sub-menu {
	display: flex;
	flex-direction: column;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.seojan-vmenu__list > .menu-item,
.seojan-vmenu .sub-menu > .menu-item {
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.seojan-vmenu a {
	position: relative;
	display: block;
	width: 100%;
	text-decoration: none;
	transition-property: color, background-color, border-color, box-shadow, transform, opacity;
	transition-timing-function: ease;
}

.seojan-vmenu a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.seojan-vmenu .sub-menu {
	position: static;
	inset: auto;
	visibility: visible;
	opacity: 1;
	transform: none;
}

.seojan-vmenu--width-fit .seojan-vmenu,
.seojan-vmenu--width-fit .seojan-vmenu__list,
.seojan-vmenu--width-fit .seojan-vmenu__list > .menu-item,
.seojan-vmenu--width-fit .seojan-vmenu__list > .menu-item > a {
	width: max-content;
	max-width: 100%;
}

.seojan-vmenu--hover-shift .seojan-vmenu a:hover,
.seojan-vmenu--hover-shift .seojan-vmenu a:focus-visible {
	transform: translateX(-6px);
}

html[dir="ltr"] .seojan-vmenu--hover-shift .seojan-vmenu a:hover,
html[dir="ltr"] .seojan-vmenu--hover-shift .seojan-vmenu a:focus-visible {
	transform: translateX(6px);
}

.seojan-vmenu--hover-lift .seojan-vmenu a:hover,
.seojan-vmenu--hover-lift .seojan-vmenu a:focus-visible {
	transform: translateY(-2px);
}

.seojan-vmenu--hover-zoom .seojan-vmenu a:hover,
.seojan-vmenu--hover-zoom .seojan-vmenu a:focus-visible {
	transform: scale(1.03);
}

.seojan-vmenu--hover-underline {
	--seojan-vmenu-underline-height: 2px;
	--seojan-vmenu-underline-tip: 9px;
	--seojan-vmenu-underline-bottom: 0px;
}

.seojan-vmenu--hover-underline .seojan-vmenu a {
	overflow: hidden;
}

.seojan-vmenu--hover-underline .seojan-vmenu a::after {
	position: absolute;
	right: 0;
	bottom: var(--seojan-vmenu-underline-bottom);
	left: 0;
	height: var(--seojan-vmenu-underline-height);
	content: "";
	background-color: currentColor;
	transform: scaleX(0);
	transform-origin: right center;
	transition-property: transform;
	transition-timing-function: ease;
}

.seojan-vmenu--hover-underline .seojan-vmenu a:hover::after,
.seojan-vmenu--hover-underline .seojan-vmenu a:focus-visible::after,
.seojan-vmenu--hover-underline .seojan-vmenu .current-menu-item > a::after,
.seojan-vmenu--hover-underline .seojan-vmenu .current-menu-ancestor > a::after {
	transform: scaleX(1);
}

.seojan-vmenu--underline-pencil.seojan-vmenu--hover-underline .seojan-vmenu a::after {
	clip-path: polygon(
		0 50%,
		var(--seojan-vmenu-underline-tip) 0,
		100% 0,
		100% 100%,
		var(--seojan-vmenu-underline-tip) 100%
	);
}

.seojan-vmenu--underline-straight.seojan-vmenu--hover-underline .seojan-vmenu a::after {
	border-radius: 999px;
}

html[dir="ltr"] .seojan-vmenu--hover-underline .seojan-vmenu a::after {
	transform-origin: left center;
}

html[dir="ltr"] .seojan-vmenu--underline-pencil.seojan-vmenu--hover-underline .seojan-vmenu a::after {
	clip-path: polygon(
		0 0,
		calc(100% - var(--seojan-vmenu-underline-tip)) 0,
		100% 50%,
		calc(100% - var(--seojan-vmenu-underline-tip)) 100%,
		0 100%
	);
}

.seojan-vmenu__notice {
	padding: 12px;
	border: 1px dashed #b7b7b7;
	border-radius: 4px;
	font-size: 13px;
	text-align: center;
}
