/* Seyfor Certifikát – Badge Styles */

.seyfor-cert-badge {
    display: flex;
    margin: 20px 0;
}

/* Alignment */
.seyfor-cert-align-left {
    justify-content: flex-start;
}

.seyfor-cert-align-center {
    justify-content: center;
}

.seyfor-cert-align-right {
    justify-content: flex-end;
}

/* Image base */
.seyfor-cert-img {
    display: block;
    height: auto;
    max-width: 100%;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.seyfor-cert-badge a {
    display: inline-block;
    line-height: 0;
}

.seyfor-cert-badge a:hover .seyfor-cert-img {
    transform: scale(1.03);
    opacity: 0.9;
}

/* Sizes */
.seyfor-cert-size-small .seyfor-cert-img {
    max-width: 200px;
}

.seyfor-cert-size-medium .seyfor-cert-img {
    max-width: 340px;
}

.seyfor-cert-size-large .seyfor-cert-img {
    max-width: 500px;
}

/* ===================== */
/*  Entrance Animations  */
/* ===================== */

/* 1. Fly-in from left + scale bounce */
@keyframes seyfor-fly-in {
    0% {
        opacity: 0;
        transform: translateX(-120px) scale(0.4);
    }
    60% {
        opacity: 1;
        transform: translateX(10px) scale(1.08);
    }
    80% {
        transform: translateX(-4px) scale(0.97);
    }
    100% {
        opacity: 1;
        transform: translateX(0) scale(1);
    }
}

.seyfor-cert-anim-fly .seyfor-cert-img {
    opacity: 0;
    animation: seyfor-fly-in 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

/* 2. Scale-up pop */
@keyframes seyfor-pop {
    0% {
        opacity: 0;
        transform: scale(0);
    }
    50% {
        opacity: 1;
        transform: scale(1.15);
    }
    70% {
        transform: scale(0.95);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

.seyfor-cert-anim-pop .seyfor-cert-img {
    opacity: 0;
    animation: seyfor-pop 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

/* 3. Fade-in + rise from below */
@keyframes seyfor-rise {
    0% {
        opacity: 0;
        transform: translateY(50px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.seyfor-cert-anim-rise .seyfor-cert-img {
    opacity: 0;
    animation: seyfor-rise 0.6s ease-out forwards;
}

/* 4. Stamp / slam effect */
@keyframes seyfor-stamp {
    0% {
        opacity: 0;
        transform: scale(3) rotate(-12deg);
    }
    50% {
        opacity: 1;
        transform: scale(0.9) rotate(2deg);
    }
    70% {
        transform: scale(1.05) rotate(-1deg);
    }
    100% {
        opacity: 1;
        transform: scale(1) rotate(0deg);
    }
}

.seyfor-cert-anim-stamp .seyfor-cert-img {
    opacity: 0;
    animation: seyfor-stamp 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

/* 5. Glow pulse (continuous after entrance) */
@keyframes seyfor-glow-pulse {
    0%, 100% {
        filter: drop-shadow(0 0 0px rgba(34, 204, 237, 0));
    }
    50% {
        filter: drop-shadow(0 0 18px rgba(34, 204, 237, 0.6));
    }
}

.seyfor-cert-anim-glow .seyfor-cert-img {
    animation: seyfor-pop 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) forwards,
               seyfor-glow-pulse 2.5s ease-in-out 0.7s infinite;
}

/* Animation delay utility (for scroll-triggered use) */
.seyfor-cert-delay-200 .seyfor-cert-img { animation-delay: 0.2s; }
.seyfor-cert-delay-400 .seyfor-cert-img { animation-delay: 0.4s; }
.seyfor-cert-delay-600 .seyfor-cert-img { animation-delay: 0.6s; }
