/**
 * 기획전 상단 메뉴 강조 효과 (animate.css 스타일 참고)
 * 메뉴 전체: PULSE, BOUNCE, FLASH, GLOW
 * 글자 강조: TEXT_PULSE, TEXT_BLINK, TEXT_SHINE, TEXT_SHAKE, TEXT_POP
 * 역동적: SHAKE, SWING, WOBBLE, RUBBER, TADA, HEARTBEAT
 */

/* 공통 타깃 셀렉터 */
.exh-highlight-pulse > a,
.exh-highlight-bounce > a,
.exh-highlight-flash > a,
.exh-highlight-glow > a,
.exh-highlight-shake > a,
.exh-highlight-swing > a,
.exh-highlight-wobble > a,
.exh-highlight-rubber > a,
.exh-highlight-tada > a,
.exh-highlight-heartbeat > a,
.exh-highlight-text-pulse > a,
.exh-highlight-text-blink > a,
.exh-highlight-text-shine > a,
.exh-highlight-text-shake > a,
.exh-highlight-text-pop > a,
.gnb-promo-list .gnb-link[class*="exh-highlight-"],
#gnb .gnb_cate .exhibition_item[class*="exh-highlight-"] > a {
	transform-origin: center center;
}

/* 강조 색상 = 글자색 (GNB 기본 흰색 #fff 보다 우선) */
.nav .nav_item.exhibition_item[class*="exh-highlight-"] > a,
.nav_exhibition_list .nav_exhibition_list_slide .nav_item.exhibition_item[class*="exh-highlight-"] > a,
.exhibit_gnb_wrap .exhibit_gnb_list .nav_item.exhibition_item[class*="exh-highlight-"] > a,
#gnb .gnb_cate .exhibition_item[class*="exh-highlight-"] > a,
.gnb-promo-list .gnb-link[class*="exh-highlight-"] {
	color: var(--exh-highlight-color, #ff6b00);
}

@media (prefers-reduced-motion: reduce) {
	[class*="exh-highlight-"] > a,
	.gnb-promo-list .gnb-link[class*="exh-highlight-"],
	#gnb .gnb_cate .exhibition_item[class*="exh-highlight-"] > a,
	.menu-highlight-preview[class*="exh-highlight-"] {
		animation: none !important;
	}
}

/* 펄스 - 맥박처럼 커졌다 작아짐 */
@keyframes exhMenuPulse {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.08); }
}

.exh-highlight-pulse > a,
.gnb-promo-list .gnb-link.exh-highlight-pulse,
#gnb .gnb_cate .exhibition_item.exh-highlight-pulse > a {
	display: inline-block;
	animation: exhMenuPulse 1.5s ease-in-out infinite;
}

/* 바운스 - 살짝 튀는 효과 */
@keyframes exhMenuBounce {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-4px); }
}

.exh-highlight-bounce > a,
.gnb-promo-list .gnb-link.exh-highlight-bounce,
#gnb .gnb_cate .exhibition_item.exh-highlight-bounce > a {
	display: inline-block;
	animation: exhMenuBounce 1.2s ease-in-out infinite;
}

/* 플래시 - 배경 색상 깜빡임 */
@keyframes exhMenuFlashBg {
	0%, 50%, 100% { opacity: 0; }
	25%, 75% { opacity: 0.22; }
}

.exh-highlight-flash > a,
.gnb-promo-list .gnb-link.exh-highlight-flash,
#gnb .gnb_cate .exhibition_item.exh-highlight-flash > a {
	position: relative;
	padding: 2px 6px;
	border-radius: 4px;
	z-index: 0;
}

.exh-highlight-flash > a::before,
.gnb-promo-list .gnb-link.exh-highlight-flash::before,
#gnb .gnb_cate .exhibition_item.exh-highlight-flash > a::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: var(--exh-highlight-color, #ff6b00);
	opacity: 0;
	z-index: -1;
	animation: exhMenuFlashBg 2s ease-in-out infinite;
}

/* 글로우 - 빛나는 테두리 */
@keyframes exhMenuGlow {
	0%, 100% { box-shadow: 0 0 0 0 transparent; }
	50% { box-shadow: 0 0 8px 2px var(--exh-highlight-color, #ff6b00); }
}

.exh-highlight-glow > a,
.gnb-promo-list .gnb-link.exh-highlight-glow,
#gnb .gnb_cate .exhibition_item.exh-highlight-glow > a {
	display: inline-block;
	border-radius: 4px;
	padding: 2px 6px;
	animation: exhMenuGlow 1.8s ease-in-out infinite;
}

/* 글자 펄스 - 밝기 맥박 (기본 글자색은 강조 색상) */
@keyframes exhMenuTextPulse {
	0%, 100% { filter: brightness(1); opacity: 1; }
	50% { filter: brightness(1.4); opacity: 0.9; }
}

.exh-highlight-text-pulse > a,
.gnb-promo-list .gnb-link.exh-highlight-text-pulse,
#gnb .gnb_cate .exhibition_item.exh-highlight-text-pulse > a {
	animation: exhMenuTextPulse 1.4s ease-in-out infinite;
}

/* 글자 깜빡임 */
@keyframes exhMenuTextBlink {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.3; }
}

.exh-highlight-text-blink > a,
.gnb-promo-list .gnb-link.exh-highlight-text-blink,
#gnb .gnb_cate .exhibition_item.exh-highlight-text-blink > a {
	animation: exhMenuTextBlink 1.2s ease-in-out infinite;
}

/* 글자 반짝임 - 그라데이션 shimmer */
@keyframes exhMenuTextShine {
	0% { background-position: 200% center; }
	100% { background-position: -200% center; }
}

.exh-highlight-text-shine > a,
.gnb-promo-list .gnb-link.exh-highlight-text-shine,
#gnb .gnb_cate .exhibition_item.exh-highlight-text-shine > a {
	display: inline-block;
	background-image: linear-gradient(90deg, var(--exh-highlight-color, #ff6b00) 0%, var(--exh-highlight-color, #ff6b00) 30%, #ffffff 50%, #fff9c4 55%, var(--exh-highlight-color, #ff6b00) 70%, var(--exh-highlight-color, #ff6b00) 100%);
	background-size: 200% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	animation: exhMenuTextShine 2.2s linear infinite;
}

/* 글자 흔들림 */
@keyframes exhMenuTextShake {
	0%, 100% { transform: translateX(0); }
	10%, 50%, 90% { transform: translateX(-3px); filter: brightness(1.3); }
	30%, 70% { transform: translateX(3px); filter: brightness(1); }
}

.exh-highlight-text-shake > a,
.gnb-promo-list .gnb-link.exh-highlight-text-shake,
#gnb .gnb_cate .exhibition_item.exh-highlight-text-shake > a {
	display: inline-block;
	animation: exhMenuTextShake 0.65s ease-in-out infinite;
}

/* 글자 팝 - 확 튀어나옴 */
@keyframes exhMenuTextPop {
	0%, 100% { transform: scale(1); }
	35% { transform: scale(1.22); }
	55% { transform: scale(0.95); }
	70% { transform: scale(1.08); }
}

.exh-highlight-text-pop > a,
.gnb-promo-list .gnb-link.exh-highlight-text-pop,
#gnb .gnb_cate .exhibition_item.exh-highlight-text-pop > a {
	display: inline-block;
	font-weight: 700;
	animation: exhMenuTextPop 1.1s ease-in-out infinite;
}

/* 쉐이크 - 좌우 급격히 흔들림 */
@keyframes exhMenuShake {
	0%, 100% { transform: translateX(0); }
	10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); }
	20%, 40%, 60%, 80% { transform: translateX(5px); }
}

.exh-highlight-shake > a,
.gnb-promo-list .gnb-link.exh-highlight-shake,
#gnb .gnb_cate .exhibition_item.exh-highlight-shake > a {
	display: inline-block;
	animation: exhMenuShake 0.75s ease-in-out infinite;
}

/* 스윙 - 진자처럼 좌우 회전 */
@keyframes exhMenuSwing {
	20% { transform: rotate(14deg); }
	40% { transform: rotate(-10deg); }
	60% { transform: rotate(6deg); }
	80% { transform: rotate(-6deg); }
	100% { transform: rotate(0deg); }
}

.exh-highlight-swing > a,
.gnb-promo-list .gnb-link.exh-highlight-swing,
#gnb .gnb_cate .exhibition_item.exh-highlight-swing > a {
	display: inline-block;
	transform-origin: top center;
	animation: exhMenuSwing 1.4s ease-in-out infinite;
}

/* 워블 - 살짝 비틀거림 */
@keyframes exhMenuWobble {
	0%, 100% { transform: translateX(0) rotate(0); }
	15% { transform: translateX(-5px) rotate(-4deg); }
	30% { transform: translateX(4px) rotate(3deg); }
	45% { transform: translateX(-3px) rotate(-2deg); }
	60% { transform: translateX(2px) rotate(2deg); }
	75% { transform: translateX(-1px) rotate(-1deg); }
}

.exh-highlight-wobble > a,
.gnb-promo-list .gnb-link.exh-highlight-wobble,
#gnb .gnb_cate .exhibition_item.exh-highlight-wobble > a {
	display: inline-block;
	animation: exhMenuWobble 1.2s ease-in-out infinite;
}

/* 러버밴드 - 탄성 늘었다 줄어듦 */
@keyframes exhMenuRubber {
	0%, 100% { transform: scale(1); }
	30% { transform: scaleX(1.18) scaleY(0.82); }
	40% { transform: scaleX(0.88) scaleY(1.12); }
	50% { transform: scaleX(1.06) scaleY(0.94); }
	65% { transform: scaleX(0.97) scaleY(1.03); }
	75% { transform: scale(1); }
}

.exh-highlight-rubber > a,
.gnb-promo-list .gnb-link.exh-highlight-rubber,
#gnb .gnb_cate .exhibition_item.exh-highlight-rubber > a {
	display: inline-block;
	animation: exhMenuRubber 1.3s ease-in-out infinite;
}

/* 짜잔 - 확대+회전 */
@keyframes exhMenuTada {
	0%, 100% { transform: scale(1) rotate(0); }
	10%, 20% { transform: scale(0.9) rotate(-4deg); }
	30%, 50%, 70%, 90% { transform: scale(1.14) rotate(4deg); }
	40%, 60%, 80% { transform: scale(1.14) rotate(-4deg); }
}

.exh-highlight-tada > a,
.gnb-promo-list .gnb-link.exh-highlight-tada,
#gnb .gnb_cate .exhibition_item.exh-highlight-tada > a {
	display: inline-block;
	animation: exhMenuTada 1.6s ease-in-out infinite;
}

/* 하트비트 - 빠른 이중 맥박 */
@keyframes exhMenuHeartbeat {
	0%, 100% { transform: scale(1); }
	14% { transform: scale(1.15); }
	28% { transform: scale(1); }
	42% { transform: scale(1.15); }
	70% { transform: scale(1); }
}

.exh-highlight-heartbeat > a,
.gnb-promo-list .gnb-link.exh-highlight-heartbeat,
#gnb .gnb_cate .exhibition_item.exh-highlight-heartbeat > a {
	display: inline-block;
	animation: exhMenuHeartbeat 1.4s ease-in-out infinite;
}

/* 관리자 미리보기 */
.menu-highlight-preview-wrap {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-left: 16px;
	vertical-align: middle;
	flex-wrap: wrap;
}

.menu-highlight-color-wrap {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-left: 8px;
}

.menu-highlight-color-wrap.disabled {
	opacity: 0.45;
	pointer-events: none;
}

.menu-highlight-preview-label {
	font-size: 12px;
	color: #666;
}

.menu-highlight-preview {
	display: inline-block;
	padding: 6px 14px;
	font-size: 14px;
	font-weight: 600;
	color: #333;
	border: 1px dashed #ddd;
	border-radius: 4px;
	background: #fafafa;
}

.menu-highlight-preview.exh-highlight-pulse {
	animation: exhMenuPulse 1.5s ease-in-out infinite;
}

.menu-highlight-preview.exh-highlight-bounce {
	animation: exhMenuBounce 1.2s ease-in-out infinite;
}

.menu-highlight-preview.exh-highlight-flash {
	animation: none;
}

.menu-highlight-preview.exh-highlight-flash::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: var(--exh-highlight-color, #ff6b00);
	opacity: 0;
	z-index: -1;
	animation: exhMenuFlashBg 2s ease-in-out infinite;
}

.menu-highlight-preview.exh-highlight-flash {
	position: relative;
	z-index: 0;
}

.menu-highlight-preview.exh-highlight-glow {
	animation: exhMenuGlow 1.8s ease-in-out infinite;
}

.menu-highlight-preview.exh-highlight-text-pulse {
	animation: exhMenuTextPulse 1.4s ease-in-out infinite;
}

.menu-highlight-preview.exh-highlight-text-blink {
	animation: exhMenuTextBlink 1.2s ease-in-out infinite;
}

.menu-highlight-preview.exh-highlight-text-shine {
	background-image: linear-gradient(90deg, #333 0%, #333 35%, var(--exh-highlight-color, #ff6b00) 50%, var(--exh-highlight-color, #ffd54f) 55%, #333 65%, #333 100%);
	background-size: 200% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	animation: exhMenuTextShine 2.2s linear infinite;
}

.menu-highlight-preview.exh-highlight-text-shake {
	animation: exhMenuTextShake 0.65s ease-in-out infinite;
}

.menu-highlight-preview.exh-highlight-text-pop {
	animation: exhMenuTextPop 1.1s ease-in-out infinite;
}

.menu-highlight-preview.exh-highlight-shake {
	animation: exhMenuShake 0.75s ease-in-out infinite;
}

.menu-highlight-preview.exh-highlight-swing {
	transform-origin: top center;
	animation: exhMenuSwing 1.4s ease-in-out infinite;
}

.menu-highlight-preview.exh-highlight-wobble {
	animation: exhMenuWobble 1.2s ease-in-out infinite;
}

.menu-highlight-preview.exh-highlight-rubber {
	animation: exhMenuRubber 1.3s ease-in-out infinite;
}

.menu-highlight-preview.exh-highlight-tada {
	animation: exhMenuTada 1.6s ease-in-out infinite;
}

.menu-highlight-preview.exh-highlight-heartbeat {
	animation: exhMenuHeartbeat 1.4s ease-in-out infinite;
}
