/**
 * Preloader (Módulo 3). Overlay a pantalla completa que se desvanece.
 */
.zorzal-preloader{
	position:fixed;inset:0;z-index:999999;
	display:flex;align-items:center;justify-content:center;
	background:var(--zdp-bg,#0f1115);
	transition:opacity .5s ease,visibility .5s ease;
}
.zorzal-preloader.zorzal-hide{opacity:0;visibility:hidden;pointer-events:none;}
.zorzal-preloader__inner{display:flex;flex-direction:column;align-items:center;gap:22px;}
.zorzal-preloader__logo{
	width:var(--zdp-size,120px);height:auto;display:block;
}
.zorzal-anim-fade .zorzal-preloader__logo{animation:zdpFade 1.4s ease-in-out infinite;}
.zorzal-anim-zoom .zorzal-preloader__logo{animation:zdpZoom 1.4s ease-in-out infinite;}
.zorzal-anim-pulse .zorzal-preloader__logo{animation:zdpPulse 1.2s ease-in-out infinite;}

.zorzal-preloader__spinner{
	width:38px;height:38px;border-radius:50%;
	border:3px solid rgba(255,255,255,.15);
	border-top-color:var(--zdp-accent,#ff7a1a);
	animation:zdpSpin .8s linear infinite;
}
.zorzal-preloader__bar{
	width:180px;height:4px;border-radius:999px;overflow:hidden;
	background:rgba(255,255,255,.12);
}
.zorzal-preloader__bar span{
	display:block;height:100%;width:0;
	background:var(--zdp-accent,#ff7a1a);
	transition:width .2s ease;
}
@keyframes zdpSpin{to{transform:rotate(360deg)}}
@keyframes zdpFade{0%,100%{opacity:.4}50%{opacity:1}}
@keyframes zdpZoom{0%,100%{transform:scale(.9)}50%{transform:scale(1.05)}}
@keyframes zdpPulse{0%,100%{transform:scale(1);filter:drop-shadow(0 0 0 transparent)}50%{transform:scale(1.04);filter:drop-shadow(0 0 18px var(--zdp-accent,#ff7a1a))}}
@media (prefers-reduced-motion:reduce){
	.zorzal-preloader__logo,.zorzal-preloader__spinner{animation:none!important;}
}

/* ---- Forma del logo (encuadrado / circular / tarjeta) ---- */
.zorzal-preloader__logowrap{display:inline-flex;align-items:center;justify-content:center;line-height:0;}
.zorzal-preloader__logowrap .zorzal-preloader__logo{display:block;}
.zorzal-plw--rounded .zorzal-preloader__logo{border-radius:18px;overflow:hidden;}
.zorzal-plw--circle .zorzal-preloader__logo{border-radius:50%;overflow:hidden;object-fit:cover;aspect-ratio:1;width:var(--zdp-size,120px);height:var(--zdp-size,120px);}
.zorzal-plw--card{background:var(--zdp-card,#fff);padding:var(--zdp-pad,18px);box-shadow:0 12px 34px -12px rgba(0,0,0,.5);}
.zorzal-plw--card.zorzal-plw--rounded{border-radius:24px;}
.zorzal-plw--card.zorzal-plw--circle{border-radius:50%;}
.zorzal-plw--card.zorzal-plw--plain{border-radius:16px;}
