	/* -----------------------------------
   HERO SWIPER ALAP BEÁLLÍTÁSOK
----------------------------------- */
.heroSwiper {
    width: 100%;
    height: 70vh;
    position: relative;
}

.heroSwiper .swiper-slide {
    width: 100%;
    height: 100%;
    position: relative;
}

.hero-media {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Pagination */
.swiper-button-prev,
.swiper-button-next {
    color: #fff;
    z-index: 100;
}

.swiper-pagination-bullet {
    background: #fff;
    opacity: .8;
}

.swiper-pagination-bullet-active {
    background: #d62839;
}

.heroSwiper .swiper-pagination {
    z-index: 60 !important;
    bottom: 20px;
    position: absolute !important;
}
.swiper-slide {
    position: relative; 
}

.banner-section {
    position: relative;
    z-index: 1;
}




/* -----------------------------------
   HERO SZÖVEG SZERKEZET (ÚJ!)
----------------------------------- */

	/* wrapper pozíció */
	.hero-text-wrapper {
		position: absolute;
		top: 50%;
		right: 5%;
		transform: translateY(-50%);
		z-index: 50;
		pointer-events: none;
		width: auto;
		max-width: 520px;
	}

/* háttér ami balról jobbra nyílik */
.hero-bg {
    position: absolute;
    inset: 0;
    width: 0%;
    background: rgba(0,0,0,.15);
    backdrop-filter: blur(6px);
    border-radius: 5px;
    transition: width 1.8s ease;
    z-index: -1;
    overflow: hidden;
}

/* tartalmi blokk – eredeti tipográfiával */
.hero-text {
    padding: 25px 30px;
    pointer-events: auto;
}

/* -----------------------------------
   ANIMÁCIÓK – SZÖVEG ALULRÓL
----------------------------------- */

.hero-title-anim,
.hero-sub-anim,
.hero-btn-anim {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 1.9s ease, transform 1.9s ease;
}



/* -----------------------------------
   PROGRESS KÖR
----------------------------------- */
.video-progress-circle {
    position: absolute;
    bottom: 25px;
    left: 25px;
    z-index: 99;
    opacity: 0;
    transition: opacity .4s ease;
    width: 36px;
    height: 36px;
}

/* restart ikon */
.video-progress-circle .video-restart-btn {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 14px;
    color: #fff;
    cursor: pointer;
    user-select: none;

    opacity: .9;
    transition: transform .2s ease;
}

.video-progress-circle .video-restart-btn:hover {
    transform: scale(1.15);
}


.video-progress-circle svg {
    transform: rotate(-90deg);
}

.video-progress-circle circle.bg {
    stroke: rgba(255,255,255,0.3);
    stroke-width: 4;
    fill: none;
}

.video-progress-circle circle.progress {
    stroke: #d62839;
    stroke-width: 4;
    fill: none;
    stroke-linecap: round;
}



/* ---- RESPONSIVE HERO HEIGHT ---- */

/* TABLET (max 992px) */
@media (max-width: 992px) {
    .heroSwiper {
        height: 60vh;
    }

    /* wrapper mozgatása */
    .hero-text-wrapper {
        right: 3%;
        transform: translateY(-50%);
        max-width: 420px;
    }

    .hero-text h1 {
        font-size: 2rem;
    }

    .hero-text p {
        font-size: 1rem;
    }
	
    .video-progress-circle {
        left: auto !important;
        right: 6% !important;
        bottom: 12% !important;
    }
}


/* --- MOBIL (max 768px) --- */
@media (max-width: 768px) {

    .heroSwiper {
        height: 50vh;
    }

    /* --- a wrapper pozícióját állítjuk (nem a hero-text-et!) --- */
    .hero-text-wrapper {
        top: auto;
        bottom: 10%;
        left: 5%;
        right: auto;
        transform: none;
        width: 90%;
        max-width: 90%;

    }

    /* háttér mobilon NE legyen, csak desktopon */
    .hero-bg {
        background: none;
        backdrop-filter: none;
        width: 100% !important; /* ne nyíljon, fixen legyen */
        opacity: 1 !important;
    }

    /* tartalom */
    .hero-text {
        padding: 0;
        text-align: left;
    }

    .hero-text h1 {
        font-size: 2.5rem;
        line-height: 1.3;
        margin-bottom: 6px;
    }

    .hero-text p {
        font-size: .9rem;
        margin-bottom: 10px;
    }

    .hero-text .btn-simple-sm {
        padding: 6px 14px;
        font-size: .9rem;
    }
    .video-progress-circle {
        left: auto !important;
        right: 8% !important;
        bottom: 10% !important; /* kicsit feljebb */
    }

}


/* --- KIS MOBIL (max 480px) --- */
@media (max-width: 480px) {

    .heroSwiper {
        height: 42vh;
    }

    .hero-text-wrapper {
        bottom: 8%;
        left: 4%;
        width: 92%;
		    z-index: 200 !important;

    }

    .hero-text h1 {
        font-size:1.8rem;
    }

    .hero-text p {
        font-size: 1.1rem;
    }
	
	    .video-progress-circle {
        right: 6% !important;
        bottom: 12% !important;
    }

}


/* ===========================
   HERO PREVIEW + LOADER
=========================== */
.hero-preview-container {
    position: absolute;
    inset: 0;
    z-index: 5; /* FIX: legyen a slider fölött, de a menü alatt */
    overflow: hidden;
}

.hero-preview-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-loader {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 160px;
    height: 4px;
    background: rgba(255,255,255,0.3);
    border-radius: 3px;
    overflow: hidden;
    z-index: 6;
}

.hero-loader-bar {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #ffffff, #d62839);
    transition: width .18s linear;
}

/* HERO TEXT ALWAYS ON TOP OF EVERYTHING */
.hero-text-wrapper {
    z-index: 200 !important;
}


.hero-video-lazy {
    width: 100%;
    height: 100%;
    position: absolute; /* fontos! */
    top: 0;
    left: 0;
    overflow: hidden;
}

.hero-video-lazy video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
