/* ==========================
   CONTENEDOR
========================== */

.ab-carousel{
    position:relative;
    overflow:hidden;
    margin:0 12px 12px;
    border-radius:16px;
    background:#fff;
    height:220px;
    box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);
    user-select:none;
    touch-action:pan-y;
}

/* ==========================
   SLIDES
========================== */

.ab-slides{
    display:flex;
    height:100%;
    transition:transform .5s ease;
}

.ab-slide{
    min-width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    background:#fff;
    position:relative;
}

/* ==========================
   IMAGEN
========================== */

.ab-slide img{
    display:block;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
    transition:.35s;
}

.ab-slide:hover img{
    transform:scale(1.05);
}


/* ==========================
   DOTS
========================== */

.ab-dots{
    position:absolute;
    bottom:10px;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    gap:8px;
    z-index:20;
}

.ab-dot{
    width:6px;
    height:6px;
    border-radius:3px;
    background:rgba(0,0,0,.25);
    transition:.3s;
    cursor:pointer;
}

.ab-dot.active{
    width:30px;
    background:#cc2229;
}

/* ==========================
   FLECHAS
========================== */

.ab-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:42px;
    height:42px;
    border:none;
    border-radius:50%;
    background:rgba(255,255,255,.95);
    box-shadow:0 3px 12px rgba(0,0,0,.2);
    font-size:22px;
    cursor:pointer;
    z-index:30;
}

.ab-arrow-prev{left:10px;}
.ab-arrow-next{right:10px;}

/* ==========================
   TABLET Y DESKTOP
========================== */

@media (min-width:600px){

    .ab-carousel{
        height:400px;
        margin:0 20px 16px;
    }

}

/* ==========================
   MÓVIL
========================== */

@media (max-width:599px){

    .ab-carousel{
        height:180px;
    }

    .ab-slide img{
        max-width:95%;
        max-height:90%;
    }

    .ab-arrow{
        width:32px;
        height:32px;
        font-size:16px;
    }

    .ab-arrow-prev{
        left:4px;
    }

    .ab-arrow-next{
        right:4px;
    }

    .ab-dots{
        bottom:5px;
    }

}

.ab-caption{
    display:none;
}
