/**
 * HC Page Loader Pro v2.0.0
 * 파일 위치: hc-page-loader-pro/assets/css/page-loader.css
 */

#hcPlpOverlay {
	position: fixed;
	inset: 0;
	/* hc-joyn-menu #hcMenuWrapper(9992)·route-loading(100000) 위 — 햄버거 메뉴 링크 클릭 직후 스피너가 가려지지 않음 */
	z-index: 100050 !important;
	background-color: var(--hcplp-bg, rgba(0,0,0,.88));
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-family: -apple-system, 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
	transition: opacity .22s ease, visibility .22s ease;
}

#hcPlpOverlay.hcplp-show {
	opacity: 1;
	pointer-events: all;
	visibility: visible;
}

/* 링크 네비 등: 페이드 최소화 — 클릭 직후 스피너가 바로 보이게 */
#hcPlpOverlay.hcplp-from-nav.hcplp-show {
	transition: opacity 0.04s ease, visibility 0.04s ease;
}

/* html.hcplp-initial 시 즉시 표시 — wp_head 인라인 스타일에서 처리 */

/* 스피너 공통 */
.hcplp-spinner { width: 52px; height: 52px; flex-shrink: 0; }
.hcplp-spinner--clover { display: none; }
.hcplp-type-clover .hcplp-spinner--circle { display: none; }
.hcplp-type-clover .hcplp-spinner--clover { display: flex; align-items: center; justify-content: center; }

/* 원형 */
.hcplp-spinner--circle svg {
	width: 100%; height: 100%;
	animation: hcplp-rot .8s linear infinite;
	transform-origin: center;
}
.hcplp-track { stroke: rgba(255,255,255,.12); }
.hcplp-arc   { stroke: var(--hcplp-color,#fff); stroke-dasharray: 28 85; transform-origin: center; }
@keyframes hcplp-rot { to { transform: rotate(360deg); } }

/* 클로버 */
.hcplp-clover { width: 52px; height: 52px; position: relative; animation: hcplp-rot 3s linear infinite; }
.hcplp-clover-arm { position: absolute; top: 50%; left: 50%; width: 0; height: 0; }
.hcplp-clover-arm:nth-child(1) { transform: rotate(0deg); }
.hcplp-clover-arm:nth-child(2) { transform: rotate(90deg); }
.hcplp-clover-arm:nth-child(3) { transform: rotate(180deg); }
.hcplp-clover-arm:nth-child(4) { transform: rotate(270deg); }
.hcplp-clover-petal {
	width: 20px; height: 20px; border-radius: 50%;
	background: var(--hcplp-color,#fff);
	position: absolute; top: -10px; left: -10px;
	animation: hcplp-breathe 1s ease-in-out infinite;
}
.hcplp-clover-arm:nth-child(2) .hcplp-clover-petal { animation-delay: .25s; }
.hcplp-clover-arm:nth-child(3) .hcplp-clover-petal { animation-delay: .5s; }
.hcplp-clover-arm:nth-child(4) .hcplp-clover-petal { animation-delay: .75s; }
@keyframes hcplp-breathe {
	0%,100% { transform: translateY(0) scale(.25); opacity: .45; }
	50%     { transform: translateY(-16px) scale(1); opacity: 1; }
}

/* 메시지 */
.hcplp-message { margin-top: 20px; font-size: 13px; color: rgba(255,255,255,.65); text-align: center; }
.hcplp-message:empty { display: none; }

/* 느린 네트워크 */
.hcplp-slow-msg {
	margin-top: 8px; font-size: 12px; color: rgba(255,255,255,.35); text-align: center;
	opacity: 0; max-height: 0; overflow: hidden;
	transition: opacity .5s, max-height .4s;
}
.hcplp-slow-msg.hcplp-visible { opacity: 1; max-height: 40px; }
.hcplp-slow-msg:empty { display: none; }

/* 취소 버튼 */
.hcplp-cancel {
	margin-top: 24px; padding: 8px 24px;
	border-radius: 24px; border: 1px solid rgba(255,255,255,.22);
	background: transparent; color: rgba(255,255,255,.6); font-size: 12px; cursor: pointer;
	opacity: 0; pointer-events: none;
	transition: background .2s, color .2s, border-color .2s, opacity .5s;
}
.hcplp-cancel.hcplp-visible { opacity: 1; pointer-events: auto; }
.hcplp-cancel:hover { background: rgba(255,255,255,.1); color: rgba(255,255,255,.9); border-color: rgba(255,255,255,.45); }
.hcplp-cancel:active { transform: scale(.97); }

body.hcplp-loading { overflow: hidden; }
