/**
 * Hero Slider Fixes
 * Poprawki dla slidera hero - pozycja bullet pointów i animacje fade
 * 
 * @package Pienkos_Child
 */

/* Przeniesienie bullet pointów na prawą stronę */
.carousel-bullets {
    position: absolute;
    right: 30px !important;
    left: auto !important;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

/* Poprawione animacje fade out/fade in dla slajdów */
.carousel-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                visibility 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 0;
}

.carousel-slide.active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
}

.carousel-slide.fade-out {
    opacity: 0;
    visibility: hidden;
    z-index: 1;
    transition: opacity 0.6s cubic-bezier(0.55, 0.085, 0.68, 0.53),
                visibility 0.6s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

/* Poprawione animacje dla zawartości slajdów */
.carousel-slide .hero-content > * {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s cubic-bezier(0.23, 1, 0.32, 1),
                transform 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}

.carousel-slide.active .hero-content > span {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.4s;
}

.carousel-slide.active .hero-content > h1 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.5s;
}

.carousel-slide.active .hero-content > p {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.6s;
}

.carousel-slide.active .hero-content > a {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.7s;
}

/* Animacje fade-out dla zawartości */
.carousel-slide.fade-out .hero-content > * {
    opacity: 0;
    transform: translateY(-15px);
    transition: opacity 0.4s cubic-bezier(0.55, 0.085, 0.68, 0.53),
                transform 0.4s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    transition-delay: 0s;
}

/* Responsive - bullet pointy na mobile */
@media (max-width: 768px) {
    .carousel-bullets {
        right: 20px !important;
        gap: 12px;
    }
    
    .bullet {
        width: 10px;
        height: 10px;
    }
}

@media (max-width: 480px) {
    .carousel-bullets {
        right: 15px !important;
        gap: 10px;
    }
    
    .bullet {
        width: 8px;
        height: 8px;
    }
}

/* Zapewnienie że hero image nie interferuje z animacjami */
.carousel-slide .hero-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}

/* Overlay dla lepszego kontrastu tekstu */
.carousel-slide .position-absolute.bg-dark {
    z-index: 0;
}

/* Zawartość hero zawsze na górze */
.carousel-slide .container {
    position: relative;
    z-index: 1;
}

/* Dodatkowe zabezpieczenia dla płynnych animacji */
.hero-carousel {
    overflow: hidden;
    position: relative;
}

/* Optymalizacja wydajności animacji */
.carousel-slide,
.carousel-slide .hero-content > * {
    will-change: opacity, transform;
    backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
