/* ======================================================
   SOUTH PHARM - RESPONSIVE
   ====================================================== */

@media (max-width:1199.98px){

    /* General */
    .sp-section{padding:90px 0}
    .sp-card{padding:28px}

    /* Hero / Carrusel */
    .sp-hero-slide--main,
    .sp-hero-slide--image{
        min-height:650px;
    }

    .sp-hero-content{
        max-width:600px;
        padding:70px 35px 70px 0;
    }

    .sp-hero h1{
        font-size:clamp(2.2rem,3.5vw,3rem);
    }

    .sp-hero-slide--main::after{
        background:linear-gradient(
            90deg,
            rgba(255,255,255,1) 0%,
            rgba(255,255,255,.98) 34%,
            rgba(255,255,255,.83) 48%,
            rgba(255,255,255,.25) 66%,
            rgba(255,255,255,0) 78%
        );
    }

    .sp-hero-arrow--prev{left:18px}
    .sp-hero-arrow--next{right:18px}

    /* Anpel */
    .sp-anpel-factory img{height:400px}
    .sp-anpel-card-body{padding:28px}
}


@media (max-width:991.98px){

    /* Header */
    .sp-header .navbar-collapse{padding:20px 0 8px}
    .sp-header .navbar-nav{align-items:stretch!important}
    .sp-header .sp-btn{width:100%;margin-top:8px}

    /* General */
    .sp-section{padding:80px 0}

    /* Hero / Slide 01 */
    .sp-hero-slide--main{
        display:block;
        min-height:0;
        background:var(--sp-white);
    }

    .sp-hero-container{
        padding-top:65px;
        padding-bottom:55px;
    }

    .sp-hero-content{
        max-width:720px;
        padding:0;
    }

    .sp-hero h1{
        max-width:680px;
        font-size:clamp(2.15rem,5vw,3rem);
    }

    .sp-hero .sp-lead{
        max-width:680px;
    }

    .sp-hero-slide--main::after{
        display:none;
    }

    .sp-hero-media{
        position:relative;
        inset:auto;
        height:440px;
    }

    /* Hero / Slide 02 */
    .sp-hero-slide--image{
        min-height:100%;
    }

    /* Hero / Controles */
    .sp-hero-arrow{
        top:auto;
        bottom:190px;
        width:42px;
        height:42px;
        transform:none;
    }

    .sp-hero-arrow--prev{left:18px}
    .sp-hero-arrow--next{right:18px}

    .sp-hero-arrow--prev:hover,
    .sp-hero-arrow--next:hover{
        transform:none;
    }

    .sp-hero-dots{
        bottom:24px;
    }

    /* Confianza */
    .sp-trust .col-lg-3:nth-child(2n) .sp-trust-item{
        border-right:0;
    }

    .sp-trust .col-lg-3:nth-last-child(-n+2) .sp-trust-item{
        border-bottom:0;
    }

    /* Anpel */
    .sp-anpel-intro{margin-bottom:55px}
    .sp-anpel-lead{max-width:720px}
    .sp-anpel-brand{margin-top:28px}
    .sp-anpel-factory img{height:420px}

    .sp-anpel-resources{
        align-items:flex-start;
        flex-direction:column;
    }

    /* Formulario */
    .sp-form{padding:32px}

    /* Footer */
    .sp-footer{padding-top:60px}
    .sp-footer-bottom{margin-top:36px}
}


@media (max-width:767.98px){

    /* General */
    .sp-section{padding:70px 0}
    .sp-card{padding:26px}

    /* Hero / Carrusel */
    .sp-hero-container{
        padding-top:55px;
        padding-bottom:45px;
    }

    .sp-hero h1{
        font-size:clamp(2rem,7vw,2.65rem);
        line-height:1.1;
    }

    .sp-hero .sp-lead{
        margin-top:20px;
        font-size:1rem;
    }

    .sp-hero-media{
        height:380px;
    }

    .sp-hero-arrow{
        bottom:160px;
        width:40px;
        height:40px;
    }

    /* Confianza */
    .sp-trust-item{
        flex-direction:column;
        align-items:flex-start;
        min-height:150px;
        padding:22px;
    }

    /* Anpel */
    .sp-anpel-intro{margin-bottom:45px}
    .sp-anpel-brand img{max-width:210px}
    .sp-anpel-factory img{height:340px}
    .sp-anpel-card-body{padding:26px}

    .sp-anpel-resources{
        margin-top:40px;
        padding:28px;
    }

    .sp-anpel-resources .sp-btn{
        width:100%;
    }

    /* Formulario */
    .sp-form{padding:26px}

    /* Footer */
    .sp-footer{padding-top:55px}
    .sp-footer-logo{max-width:175px}

    .sp-footer-bottom{
        margin-top:34px;
        padding:16px 0;
    }
}


@media (max-width:575.98px){

    /* General */
    body{font-size:15px}

    .sp-section{padding:60px 0}
    .sp-logo{max-width:165px}
    .sp-card{padding:24px}

    /* Hero / Carrusel */
    .sp-hero-container{
        padding-top:45px;
        padding-bottom:40px;
    }

    .sp-hero h1{
        font-size:clamp(1.9rem,9vw,2.35rem);
        letter-spacing:-.02em;
    }

    .sp-hero .sp-eyebrow{
        margin-bottom:14px;
        font-size:.74rem;
    }

    .sp-hero .sp-btn{
        width:100%;
    }

    .sp-hero-note{
        font-size:.85rem;
    }

    .sp-hero-media{
        height:320px;
    }

    .sp-hero-arrow{
        bottom:135px;
        width:38px;
        height:38px;
    }

    .sp-hero-arrow--prev{left:12px}
    .sp-hero-arrow--next{right:12px}

    .sp-hero-dots{
        bottom:18px;
        gap:7px;
        padding:6px 9px;
    }

    /* Confianza */
    .sp-trust-item{
        min-height:160px;
        padding:20px 16px;
    }

    .sp-trust-item > i{
        font-size:1.7rem;
    }

    /* Anpel */
    .sp-anpel-lead{
        margin-top:20px;
        font-size:1rem;
    }

    .sp-anpel-brand{margin-top:25px}
    .sp-anpel-brand img{max-width:190px}
    .sp-anpel-factory img{height:280px}

    .sp-anpel-card-body{
        padding:24px 22px 26px;
    }

    .sp-anpel-card h3{
        font-size:1.15rem;
    }

    .sp-anpel-resources{
        padding:24px 20px;
    }

    .sp-anpel-resources p{
        font-size:1rem;
    }

    /* Formulario */
    .sp-form{
        padding:22px 18px;
        border-radius:9px;
    }

    .sp-form .sp-btn{
        min-height:54px;
        padding:.75rem 1rem;
        font-size:.9rem;
    }

    /* Footer */
    .sp-footer{padding-top:45px}
    .sp-footer-logo{max-width:165px}

    .sp-footer p,
    .sp-footer address a,
    .sp-footer address span{
        font-size:.85rem;
    }

    .sp-footer-bottom{
        align-items:flex-start;
        margin-top:30px;
    }

    .sp-footer-signature{
        font-size:.65rem;
    }
}


/* ======================================================
   ACCESIBILIDAD / REDUCED MOTION
   ====================================================== */

@media (prefers-reduced-motion:reduce){

    html{scroll-behavior:auto}

    *,*::before,*::after{
        scroll-behavior:auto!important;
        transition-duration:.01ms!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
    }

    .sp-hero-track,
    .sp-hero-arrow,
    .sp-hero-dot,
    .sp-anpel-card-media img{
        transition:none;
    }

    .sp-anpel-card:hover .sp-anpel-card-media img{
        transform:none;
    }
}

/* ======================================================
   TÉRMINOS Y CONDICIONES - RESPONSIVE
   ====================================================== */

@media (max-width:767.98px){

    .sp-legal{
        padding:55px 0 70px;
    }

    .sp-legal-header{
        margin-bottom:28px;
        padding-bottom:24px;
    }

    .sp-legal-logo{
        max-width:170px;
    }

    .sp-legal-header h1{
        margin-top:10px;
    }

    .sp-legal-accordion .accordion-button{
        padding:19px 20px;
        font-size:.95rem;
    }

    .sp-legal-accordion .accordion-body{
        padding:20px;
    }
}


@media (max-width:575.98px){

    .sp-legal{
        padding:45px 0 60px;
    }

    .sp-legal-logo{
        max-width:155px;
    }

    .sp-legal-intro{
        font-size:.95rem;
    }

    .sp-legal-accordion{
        border-radius:9px;
    }

    .sp-legal-accordion .accordion-button{
        padding:18px;
        font-size:.9rem;
    }

    .sp-legal-accordion .accordion-body{
        padding:18px;
        font-size:.9rem;
    }

    .sp-legal-actions .sp-btn{
        width:100%;
    }
}