/* Preloader — AED ProŽivot.CZ */
/* Barevně a typograficky navazuje na styly/style.css (Open Sans, #B22A1D / #FF3D28 / #46110B / #222 / #f6f6f6) */

html.preloader-lock { overflow: hidden;}

.preloader { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden; background: radial-gradient(circle at 50% 38%, #3a0e09 0%, #221313 55%, #161616 100%); transition: opacity .6s ease, visibility .6s ease;}
.preloader--hidden { opacity: 0; visibility: hidden; pointer-events: none;}

/* Dekorativní záře — odkaz na plovoucí kruhy z hlavičky webu (.circle-hp-0x) */
.preloader__glow { position: absolute; border-radius: 100%; filter: blur(2px); opacity: .55; animation: preloaderFloat 6s ease-in-out infinite;}
.preloader__glow--a { width: 90px; height: 90px; top: 18%; left: 20%; background: radial-gradient(circle, #FF3D28, #46110B 70%); animation-delay: 0s;}
.preloader__glow--b { width: 60px; height: 60px; bottom: 22%; right: 22%; background: radial-gradient(circle, #FF3D28, #46110B 70%); animation-delay: 1.2s;}
.preloader__glow--c { width: 40px; height: 40px; bottom: 30%; left: 28%; background: radial-gradient(circle, rgba(246,246,246,.4), rgba(246,246,246,0) 70%); animation-delay: 2.4s;}

.preloader__inner { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 20px;}

/* Znak — srdce s bleskem, shodné s logem projektu */
.preloader__mark { display: block; margin: 0 auto 22px auto; overflow: visible;}
.preloader__heart { stroke-dasharray: 100; stroke-dashoffset: 100; animation: preloaderDraw 2.4s ease-in-out infinite;}
.preloader__bolt { transform-origin: 50% 46%; filter: drop-shadow(0 0 6px rgba(255,61,40,.65)); animation: preloaderPulse 1.15s ease-in-out infinite;}

.preloader__title { font-family: 'Open Sans', sans-serif; font-weight: 800; font-size: 26px; letter-spacing: 1px; color: #f6f6f6; margin: 0 0 8px 0;}
.preloader__title span { font-weight: 300;}

.preloader__subtitle { font-family: 'Open Sans', sans-serif; font-weight: 600; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; color: #f1cbc7; margin: 0 0 22px 0;}

/* EKG křivka jako indikátor načítání */
.preloader__ecg { display: block; overflow: visible;}
.preloader__ecg path { stroke-dasharray: 14 10; animation: preloaderScan 1.4s linear infinite;}

@keyframes preloaderDraw {
    0% { stroke-dashoffset: 100;}
    55% { stroke-dashoffset: 0;}
    100% { stroke-dashoffset: 0;}
}
@keyframes preloaderPulse {
    0%, 100% { transform: scale(1); opacity: 1;}
    15% { transform: scale(1.18); opacity: .85;}
    30% { transform: scale(1); opacity: 1;}
    45% { transform: scale(1.1); opacity: .9;}
    60% { transform: scale(1); opacity: 1;}
}
@keyframes preloaderScan {
    to { stroke-dashoffset: -240;}
}
@keyframes preloaderFloat {
    0%, 100% { transform: translateY(0) scale(1); opacity: .5;}
    50% { transform: translateY(-10px) scale(1.08); opacity: .8;}
}

@media screen and (max-width: 767px) {
    .preloader__mark { width: 96px; height: 86px;}
    .preloader__title { font-size: 21px;}
    .preloader__ecg { width: 180px; height: 32px;}
}

@media (prefers-reduced-motion: reduce) {
    .preloader__heart, .preloader__bolt, .preloader__ecg path, .preloader__glow { animation: none;}
    .preloader__heart { stroke-dashoffset: 0;}
}
