/* =========================
   BASE GLOBAL SLIDER
========================= */
.osgrap-slider {
    width: 100%;
    position: relative;
    overflow: hidden;
}

/* Wrapper estabilidad */
.osgrap-slider .swiper-wrapper {
    display: flex;
    align-items: stretch;
}

/* =========================
   SLIDE BASE
========================= */
.osgrap-slide {
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;

    /* Mejora render */
    backface-visibility: hidden;
    transform: translate3d(0,0,0);
}

/* =========================
   IMAGEN BASE (SIEMPRE USAR IMG)
========================= */
.slide-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.slide-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;

    /* Anti flicker */
    backface-visibility: hidden;
    transform: scale(1.01);
    transition: transform 6s ease;
}

/* Zoom suave activo */
.swiper-slide-active .slide-bg img {
    transform: scale(1.06);
}

/* =========================
   OVERLAY BASE (NEUTRO)
========================= */
.osgrap-slide .overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

/* =========================
   CONTENIDO BASE
========================= */
.slide-content {
    position: relative;
    z-index: 2;
    width: 100%;
}

.slide-inner {
    width: 100%;
}

/* =========================
   TIPOGRAFÍA BASE
========================= */
.osgrap-slider h1,
.osgrap-slider h2,
.osgrap-slider h3,
.osgrap-slider p {
    color: #fff;
    margin: 0;
}

/* Sombras base para legibilidad */
.slide-title {
    text-shadow: 0 6px 25px rgba(0,0,0,0.35);
}

.slide-desc {
    text-shadow: 0 4px 15px rgba(0,0,0,0.25);
}

/* =========================
   BOTÓN BASE
========================= */
.btn-slider {
    display: inline-block;
    text-decoration: none;
    transition: all 0.3s ease;
    will-change: transform;
}

/* =========================
   CONTROLES SWIPER
========================= */
.swiper-button-next,
.swiper-button-prev {
    z-index: 10;
    transition: all 0.3s ease;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
    transform: scale(1.1);
}

.swiper-pagination {
    z-index: 10;
}

.swiper-pagination-bullet {
    transition: all 0.3s ease;
}

/* =========================
   ANIMACIONES PRO (ENTRADA)
========================= */
.slide-title,
.slide-desc,
.btn-slider {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.7s ease;
}

/* Activo */
.swiper-slide-active .slide-title {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.2s;
}

.swiper-slide-active .slide-desc {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.4s;
}

.swiper-slide-active .btn-slider {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.6s;
}

/* =========================
   TRANSICIÓN SUAVE ENTRE SLIDES
========================= */
.swiper-slide {
    transition: opacity 0.6s ease;
}

/* =========================
   PERFORMANCE FIX
========================= */
.osgrap-slider,
.osgrap-slide,
.slide-bg img {
    will-change: transform, opacity;
}

/* =========================
   RESPONSIVE BASE
========================= */
@media (max-width: 768px) {

    .slide-title,
    .slide-desc,
    .btn-slider {
        transform: translateY(25px);
    }

}