/**
 * Owl Carousel v2.2.0
 * Copyright 2013-2016 David Deutsch
 * Licensed under MIT (https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE)
 */
.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%;}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;cursor:hand;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item img.owl-lazy{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:-webkit-transform .1s ease;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-webkit-transform:scale(1.3,1.3);-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}

/* ============================================
   CARRUSEL GRANDE - Pantalla completa
   ============================================ */
.carousel-area {
    padding: 0;
    margin: 0;
    position: relative;
    width: 100%;
}

.carousel-area .brand-carousel .item {
    position: relative;
}

.carousel-area .carousel-slide {
    position: relative;
    width: 100%;
    padding-bottom: 49.81%; 
    overflow: hidden;
}

.carousel-area .carousel-slide img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    object-fit: initial;
    display: block;
}

/* Caption superpuesto */
.carousel-area .carousel-caption {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: #fff;
    z-index: 2;
    width: 90%;
    max-width: 1000px;
    padding: 20px;
}

.carousel-area .carousel-caption h1 {
    font-size: clamp(24px, 5vw, 48px);
    font-weight: 700;
    margin-bottom: clamp(10px, 2vw, 20px);
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);
    line-height: 1.2;
}

.carousel-area .carousel-caption p {
    font-size: clamp(14px, 2vw, 20px);
    font-weight: 400;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.7);
}

/* Overlay oscuro */
/* .carousel-area .carousel-slide::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0);
    z-index: 1;
} */

/* ============================================
   CARRUSEL PEQUEÑO - Responsivo
   ============================================ */

/* Contenedor del carrusel pequeño */
.carousel-area-small {
    /* padding: 40px 0; */
    padding-bottom: 40px;
    margin: 0 auto;
    position: relative;
    max-width: 1170px;
}

.carousel-area-small .brand-carousel .item {
    position: relative;
}

.carousel-area-small .carousel-slide {
    position: relative;
    width: 100%;
    /* max-height: 400px; */
    max-height: 70vh;
    overflow: hidden;
}

/* Control del tamaño de imagen */
.carousel-area-small .carousel-slide img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    display: block;
}

/* Caption superpuesto - versión pequeña */
.carousel-area-small .carousel-caption {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: #fff;
    z-index: 10;
    width: 85%;
    max-width: 600px;
}

.carousel-area-small .carousel-caption h1 {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 15px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    line-height: 1.2;
}

.carousel-area-small .carousel-caption p {
    font-size: 16px;
    font-weight: 400;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
}

/* Overlay oscuro para mejor legibilidad */
/* .carousel-area-small .carousel-slide::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1;
} */

.carousel-area-small .carousel-caption {
    z-index: 2;
}

/* ============================================
   RESPONSIVE - Carrusel Pequeño
   ============================================ */

@media (max-width: 1199px) {
    .carousel-area-small {
        max-width: 970px;
        padding: 35px 15px;
    }
}

@media (max-width: 991px) {
    .carousel-area-small {
        max-width: 750px;
        padding: 30px 15px;
    }
    
    .carousel-area-small .carousel-slide {
        max-height: 350px;
    }
    
    .carousel-area-small .carousel-slide img {
        height: 350px;
    }
    
    .carousel-area-small .carousel-caption h1 {
        font-size: 28px;
    }
}

@media (max-width: 768px) {
    .carousel-area-small {
        max-width: 100%;
        padding: 20px 15px;
    }
    
    .carousel-area-small .carousel-slide {
        max-height: 300px;
    }
    
    .carousel-area-small .carousel-slide img {
        height: 300px;
    }
    
    .carousel-area-small .carousel-caption h1 {
        font-size: 24px;
    }
    
    .carousel-area-small .carousel-caption p {
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .carousel-area-small {
        padding: 15px 10px;
    }
    
    .carousel-area-small .carousel-slide {
        max-height: 250px;
    }
    
    .carousel-area-small .carousel-slide img {
        height: 250px;
    }
    
    .carousel-area-small .carousel-caption h1 {
        font-size: 20px;
        margin-bottom: 10px;
    }
    
    .carousel-area-small .carousel-caption p {
        font-size: 12px;
    }
}

@media (max-width: 360px) {
    .carousel-area-small .carousel-slide {
        max-height: 220px;
    }
    
    .carousel-area-small .carousel-slide img {
        height: 220px;
    }
    
    .carousel-area-small .carousel-caption h1 {
        font-size: 18px;
    }
    
    .carousel-area-small .carousel-caption p {
        font-size: 11px;
    }
}