/*
 * Estilos para Solvitu Testimonios Pro
 * Diseño premium: globo turquesa con cola + mockup de celular SUPERPUESTO
 */

@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;0,900;1,400;1,700&display=swap');

:root {
    --st-teal: #1EC9B0;
    --st-teal-dark: #17B09A;
    --st-teal-light: #26D9BF;
    --st-gold: #F9C932;
    --st-white: #FFFFFF;
    --st-font: 'Lato', 'Stolz', sans-serif;
}

.st-container {
    width: 100%;
    max-width: 960px;
    margin: 60px auto;
    padding: 0 20px;
    font-family: var(--st-font);
    box-sizing: border-box;
}

/* El wrapper define el área relativa para el posicionamiento absoluto */
.st-wrapper {
    position: relative;
    /* Espacio arriba y abajo para que el celular sobresalga sin cortarse */
    padding: 60px 0 80px 0;
    margin-right: 40px; /* Margen para el sobresaliente derecho del celular */
}

/* Globo: ancho 100% para que el fondo turquesa se extienda detrás del celular */
.st-bubble {
    position: relative;
    width: 100%;
    min-height: 260px;
    background: linear-gradient(145deg,
            var(--st-teal-light) 0%,
            var(--st-teal) 55%,
            var(--st-teal-dark) 100%);
    border-radius: 28px;
    /* Añadimos padding a la derecha para que el texto NO quede debajo del celular */
    padding: 50px 280px 50px 52px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    box-shadow:
        0 25px 60px rgba(30, 201, 176, 0.28),
        0 8px 20px rgba(0, 0, 0, 0.10);
    z-index: 1;
}

/* Cola del globo */
.st-bubble::after {
    content: '';
    position: absolute;
    bottom: -36px;
    left: 52px;
    width: 0;
    height: 0;
    border-left: 0px solid transparent;
    border-right: 50px solid transparent;
    border-top: 38px solid var(--st-teal-dark);
}

/* Estrellas */
.st-stars {
    display: flex;
    gap: 6px;
    margin-bottom: 22px;
}

.st-stars span {
    font-size: 36px;
    line-height: 1;
    color: var(--st-gold);
    text-shadow: 0 2px 6px rgba(249, 201, 50, 0.40);
    animation: st-star-pop 0.35s ease backwards;
}

.st-stars span:nth-child(1) { animation-delay: 0.05s; }
.st-stars span:nth-child(2) { animation-delay: 0.10s; }
.st-stars span:nth-child(3) { animation-delay: 0.15s; }
.st-stars span:nth-child(4) { animation-delay: 0.20s; }
.st-stars span:nth-child(5) { animation-delay: 0.25s; }

@keyframes st-star-pop {
    from {
        transform: scale(0.4) rotate(-20deg);
        opacity: 0;
    }
    to {
        transform: scale(1) rotate(0deg);
        opacity: 1;
    }
}

.st-text {
    font-size: 19px;
    font-weight: 400;
    font-style: italic;
    line-height: 1.55;
    color: var(--st-white);
    margin: 0 0 28px 0;
    letter-spacing: 0.01em;
}

.st-name {
    font-size: 22px;
    font-weight: 900;
    color: var(--st-white);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin: 0;
}

.st-name::after {
    content: ' .';
    opacity: 0.85;
}

/* ——————————————————————————————————————————
   CELULAR: position absolute ENCIMA del globo
   —————————————————————————————————————————— */
.st-phone-mockup {
    position: absolute;
    right: -20px; /* Sobresale hacia afuera por la derecha */
    top: 50%;
    transform: translateY(-50%);
    /* Más alto que el globo → sobresale arriba y abajo */
    height: calc(100% + 40px);
    width: 280px;
    z-index: 10;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.st-phone-mockup img {
    height: 100%;
    width: auto;
    display: block;
    object-fit: contain;
    filter: drop-shadow(16px 12px 18px rgba(0, 0, 0, 0.25));
}

/* Responsive */
@media (max-width: 768px) {
    .st-wrapper {
        padding: 20px 0 0 0;
        margin-right: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .st-bubble {
        width: 100%;
        padding: 38px 28px 50px;
        border-radius: 20px;
        min-height: auto;
    }

    .st-bubble::after {
        left: 50%;
        transform: translateX(-50%);
        border-right-width: 36px;
        border-left-width: 36px;
        border-top-width: 30px;
        bottom: -28px;
    }

    .st-text {
        font-size: 16px;
    }

    .st-name {
        font-size: 18px;
    }

    .st-stars span {
        font-size: 28px;
    }

    .st-phone-mockup {
        position: relative;
        right: auto;
        top: auto;
        transform: none;
        width: 180px;
        height: auto;
        margin-top: -18px;
    }

    .st-phone-mockup img {
        height: auto;
        width: 100%;
    }
}

@media (max-width: 480px) {
    .st-container {
        margin: 30px auto;
        padding: 0 14px;
    }
}

/* ——————————————————————————————————————————
   MEJORAS PARA EL SLIDER (SWIPER)
   —————————————————————————————————————————— */

.st-slider-main-wrapper {
    position: relative;
    width: 100%;
    max-width: 1100px; /* Un poco más ancho que st-container para las flechas */
    margin: 40px auto;
}

.st-swiper-container {
    width: 100%;
    padding-bottom: 50px !important; /* Espacio para los puntos */
}

/* Estilo de las flechas */
.st-swiper-container .swiper-button-next,
.st-swiper-container .swiper-button-prev {
    color: var(--st-teal);
    background: var(--st-white);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.3s ease;
}

.st-swiper-container .swiper-button-next::after,
.st-swiper-container .swiper-button-prev::after {
    font-size: 18px;
    font-weight: bold;
}

.st-swiper-container .swiper-button-next:hover,
.st-swiper-container .swiper-button-prev:hover {
    background: var(--st-teal);
    color: var(--st-white);
    box-shadow: 0 6px 16px rgba(30, 201, 176, 0.35);
}

/* Posición de las flechas en desktop */
.st-swiper-container .swiper-button-prev { left: 10px; }
.st-swiper-container .swiper-button-next { right: 10px; }

/* Estilo de los puntos (pagination) */
.st-swiper-container .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: #ccc;
    opacity: 1;
    transition: all 0.3s ease;
}

.st-swiper-container .swiper-pagination-bullet-active {
    background: var(--st-teal);
    width: 28px;
    border-radius: 5px;
}

/* Ocultar flechas en tablets/móviles para priorizar touch */
@media (max-width: 1024px) {
    .st-swiper-container .swiper-button-next,
    .st-swiper-container .swiper-button-prev {
        display: none !important;
    }
}

/* Asegurar que el slide no corte el diseño */
.swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 0;
}

.swiper-slide .st-container {
    margin: 0 auto; /* Eliminar el margen vertical grande cuando está en el slider */
}