.elementor-365 .elementor-element.elementor-element-f7b70b8{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-365 .elementor-element.elementor-element-a99f2d0{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-365 .elementor-element.elementor-element-614c909{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-365 .elementor-element.elementor-element-cd306c2{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-365 .elementor-element.elementor-element-cd306c2.e-con{--align-self:center;}.elementor-365 .elementor-element.elementor-element-4f9aa00{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-365 .elementor-element.elementor-element-4f9aa00.e-con{--align-self:center;}.elementor-365 .elementor-element.elementor-element-1e720c2{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-365 .elementor-element.elementor-element-8a45f38{border-style:solid;border-radius:20px 20px 20px 20px;}.elementor-365 .elementor-element.elementor-element-8a45f38 .elementor-wrapper{--video-aspect-ratio:2.33333;}.elementor-365 .elementor-element.elementor-element-8a45f38 .elementor-custom-embed-play i{color:var( --e-global-color-5295db9 );font-size:80px;}.elementor-365 .elementor-element.elementor-element-8a45f38 .elementor-custom-embed-play svg{fill:var( --e-global-color-5295db9 );width:80px;height:80px;}.elementor-365 .elementor-element.elementor-element-6f4354e{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-365 .elementor-element.elementor-element-9fbb6dd{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:10px 0px 0px 0px;}.elementor-365 .elementor-element.elementor-element-9fbb6dd .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:32px;font-weight:600;color:#0033A0;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-365 .elementor-element.elementor-element-fbf1ecf{text-align:justify;}.elementor-365 .elementor-element.elementor-element-0f563a5{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-365 .elementor-element.elementor-element-ed7830d{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-365 .elementor-element.elementor-element-c93caf2{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:10px;--margin-bottom:20px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-365 .elementor-element.elementor-element-c93caf2.e-con{--align-self:center;}.elementor-365 .elementor-element.elementor-element-74265ac{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-365 .elementor-element.elementor-element-34ecd00{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:10px 0px 0px 0px;}.elementor-365 .elementor-element.elementor-element-34ecd00 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:32px;font-weight:600;color:#0033A0;}.elementor-365 .elementor-element.elementor-element-a29e5e6{--e-image-carousel-slides-to-show:4;margin:-1px 0px calc(var(--kit-widget-spacing, 0px) + -21px) 0px;padding:0px 0px 0px 0px;}.elementor-365 .elementor-element.elementor-element-a29e5e6.elementor-element{--align-self:center;}.elementor-365 .elementor-element.elementor-element-a29e5e6 .swiper-pagination-bullet{width:12px;height:12px;background:var( --e-global-color-65cf889 );}.elementor-365 .elementor-element.elementor-element-a29e5e6 .swiper-pagination-bullet:not(.swiper-pagination-bullet-active){background:var( --e-global-color-primary );opacity:var( --e-global-color-primary );}.elementor-365 .elementor-element.elementor-element-9f8e0e3{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-365 .elementor-element.elementor-element-56922e5{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-365 .elementor-element.elementor-element-1db797c{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-365 .elementor-element.elementor-element-70fd093{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:10px 0px 0px 0px;}.elementor-365 .elementor-element.elementor-element-70fd093 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:32px;font-weight:600;color:#0033A0;}.elementor-365 .elementor-element.elementor-element-f9b939f{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-365 .elementor-element.elementor-element-69e68c5{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image-box .elementor-image-box-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-image-box:has(:hover) .elementor-image-box-title,
					 .elementor-widget-image-box:has(:focus) .elementor-image-box-title{color:var( --e-global-color-primary );}.elementor-widget-image-box .elementor-image-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-365 .elementor-element.elementor-element-c93afce.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-365 .elementor-element.elementor-element-c93afce.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-365 .elementor-element.elementor-element-c93afce.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-365 .elementor-element.elementor-element-c93afce .elementor-image-box-wrapper .elementor-image-box-img{width:70%;}.elementor-365 .elementor-element.elementor-element-c93afce .elementor-image-box-img img{transition-duration:0.3s;}.elementor-365 .elementor-element.elementor-element-c93afce .elementor-image-box-description{font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:400;}.elementor-365 .elementor-element.elementor-element-1622801{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-365 .elementor-element.elementor-element-0d7a0f4.elementor-position-right .elementor-image-box-img{margin-left:0px;}.elementor-365 .elementor-element.elementor-element-0d7a0f4.elementor-position-left .elementor-image-box-img{margin-right:0px;}.elementor-365 .elementor-element.elementor-element-0d7a0f4.elementor-position-top .elementor-image-box-img{margin-bottom:0px;}.elementor-365 .elementor-element.elementor-element-0d7a0f4 .elementor-image-box-wrapper .elementor-image-box-img{width:70%;}.elementor-365 .elementor-element.elementor-element-0d7a0f4 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-365 .elementor-element.elementor-element-0d7a0f4 .elementor-image-box-description{font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:400;}.elementor-365 .elementor-element.elementor-element-bb39556{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-365 .elementor-element.elementor-element-f210d91{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-365 .elementor-element.elementor-element-7ec7674{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-365 .elementor-element.elementor-element-7f1235e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:10px 0px 0px 0px;}.elementor-365 .elementor-element.elementor-element-7f1235e .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:32px;font-weight:600;color:#0033A0;}.elementor-365 .elementor-element.elementor-element-c32e9b8{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-365 .elementor-element.elementor-element-9fbb6dd .elementor-heading-title{font-size:18px;}.elementor-365 .elementor-element.elementor-element-34ecd00 .elementor-heading-title{font-size:18px;}.elementor-365 .elementor-element.elementor-element-a29e5e6{--e-image-carousel-slides-to-show:2;}.elementor-365 .elementor-element.elementor-element-70fd093 .elementor-heading-title{font-size:18px;}.elementor-365 .elementor-element.elementor-element-c93afce .elementor-image-box-img{margin-bottom:0px;}.elementor-365 .elementor-element.elementor-element-0d7a0f4 .elementor-image-box-img{margin-bottom:0px;}.elementor-365 .elementor-element.elementor-element-7f1235e .elementor-heading-title{font-size:18px;}}@media(min-width:768px){.elementor-365 .elementor-element.elementor-element-4f9aa00{--width:80%;}.elementor-365 .elementor-element.elementor-element-74265ac{--width:80%;}.elementor-365 .elementor-element.elementor-element-56922e5{--width:80%;}.elementor-365 .elementor-element.elementor-element-f210d91{--width:80%;}}/* Start custom CSS for container, class: .elementor-element-c93caf2 *//* ============================================================
   🎨 ESTILOS PARA SECCIÓN DE MARCAS - PROTECLINE
   VERSIÓN OPTIMIZADA - TAMAÑOS DE IMÁGENES AUMENTADOS
   ============================================================ */

/* ============================================================
   📐 VARIABLES DE TAMAÑO DE IMÁGENES
   🔧 AJUSTA ESTOS VALORES PARA CAMBIAR EL TAMAÑO
   ============================================================ */
:root {
    /* --- TAMAÑOS DE IMÁGENES POR DISPOSITIVO --- */
    --sp-img-width-xl: 200px;      /* 🔧 Pantallas grandes (1400px+) */
    --sp-img-height-xl: 100px;     /* 🔧 Pantallas grandes (1400px+) */
    
    --sp-img-width-lg: 170px;      /* 🔧 Escritorio normal (1025-1399px) */
    --sp-img-height-lg: 85px;      /* 🔧 Escritorio normal (1025-1399px) */
    
    --sp-img-width-md: 140px;      /* 🔧 Tablet (769-1024px) */
    --sp-img-height-md: 70px;      /* 🔧 Tablet (769-1024px) */
    
    --sp-img-width-sm: 110px;      /* 🔧 Móvil (481-768px) */
    --sp-img-height-sm: 65px;      /* 🔧 Móvil (481-768px) */
    
    --sp-img-width-xs: 85px;       /* 🔧 Móvil pequeño (361-480px) */
    --sp-img-height-xs: 55px;      /* 🔧 Móvil pequeño (361-480px) */
    
    --sp-img-width-xxs: 80px;      /* 🔧 Móvil muy pequeño (≤360px) */
    --sp-img-height-xxs: 58px;     /* 🔧 Móvil muy pequeño (≤360px) */
    
    /* --- ESPACIADO INTERNO DE LAS IMÁGENES --- */
    --sp-img-padding-xl: 14px 24px;   /* 🔧 Padding en pantallas grandes */
    --sp-img-padding-lg: 12px 20px;   /* 🔧 Padding en escritorio */
    --sp-img-padding-md: 10px 16px;   /* 🔧 Padding en tablet */
    --sp-img-padding-sm: 8px 14px;    /* 🔧 Padding en móvil */
    --sp-img-padding-xs: 6px 10px;    /* 🔧 Padding en móvil pequeño */
    --sp-img-padding-xxs: 4px 8px;    /* 🔧 Padding en móvil muy pequeño */
}

/* ============================================================
   📦 CONTENEDOR PADRE
   ============================================================ */
.ContPadre {
    position: relative !important;
    overflow: hidden !important;
    padding: 5px 20px !important;
    background: transparent !important;
}

/* ============================================================
   📝 TÍTULO
   ============================================================ */
.Titulo {
    margin-bottom: 0px !important;
    margin-top: 0px !important;
    text-align: center !important;
    position: relative !important;
    z-index: 2 !important;
}

.Titulo .elementor-heading-title {
    font-family: 'Montserrat', 'Segoe UI', Arial, sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;

    padding: 0 20px !important;
    display: inline-block !important;
    position: relative !important;
    margin-bottom: 0 !important;
}

/* --- Línea decorativa debajo del título --- */
.Titulo .elementor-heading-title::after {
    content: '' !important;
    display: block !important;
    width: 80px !important;
    height: 2px !important;
    margin: 2px auto 0 !important;
    background: linear-gradient(90deg, 
        #00b4d8, 
        #48cae4, 
        #f26419
    ) !important;
    border-radius: 2px !important;
    transition: width 0.6s ease !important;
}

.Titulo:hover .elementor-heading-title::after {
    width: 50px !important;
}

/* ============================================================
   🖼️ CARRUSEL - IMÁGENES
   ============================================================ */
.ContDimension {
    position: relative !important;
    z-index: 2 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* --- ESTILO PRINCIPAL DE LAS IMÁGENES (AUMENTADO) --- */
.ContDimension .swiper-slide-image {
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    background: rgba(255, 255, 255, 0.85) !important;
    padding: 12px 20px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    box-shadow: 0 3px 15px rgba(0, 0, 0, 0.05) !important;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    
    /* --- TAMAÑO POR DEFECTO (Escritorio) --- */
    max-width: var(--sp-img-width-lg) !important;
    max-height: var(--sp-img-height-lg) !important;
}

/* --- CONTENEDOR DE CADA SLIDE --- */
.ContDimension .swiper-slide {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: auto !important;
    padding: 12px !important;
}

/* --- EFECTO HOVER --- */
.ContDimension .swiper-slide:hover .swiper-slide-image {
    transform: scale(1.08) translateY(-4px) !important;
    box-shadow: 0 10px 30px rgba(0, 180, 216, 0.18) !important;
    border-color: rgba(0, 180, 216, 0.3) !important;
    background: rgba(255, 255, 255, 0.95) !important;
}

/* ============================================================
   🎯 PUNTOS DE NAVEGACIÓN
   ============================================================ */
.ContDimension .swiper-pagination {
    position: relative !important;
    margin-top: 8px !important;
    margin-bottom: 0px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 6px !important;
}

.ContDimension .swiper-pagination-bullet {
    width: 10px !important;
    height: 10px !important;
    background: rgba(10, 26, 58, 0.15) !important;
    opacity: 1 !important;
    border-radius: 50% !important;
    transition: all 0.4s ease !important;
    border: 2px solid transparent !important;
    cursor: pointer !important;
    display: inline-block !important;
    margin: 0 !important;
}

.ContDimension .swiper-pagination-bullet-active {
    background: linear-gradient(135deg, #00b4d8, #f26419) !important;
    transform: scale(1.3) !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
    box-shadow: 0 0 20px rgba(0, 180, 216, 0.2) !important;
    width: 12px !important;
    height: 12px !important;
}

.ContDimension .swiper-pagination-bullet:hover {
    background: rgba(10, 26, 58, 0.3) !important;
    transform: scale(1.15) !important;
}

/* ============================================================
   📱 RESPONSIVE - USA LAS VARIABLES
   ============================================================ */

/* --- Pantallas grandes (1400px+) --- */
@media (min-width: 1400px) {
    .ContDimension .swiper-slide-image {
        max-width: var(--sp-img-width-xl) !important;
        max-height: var(--sp-img-height-xl) !important;
        padding: var(--sp-img-padding-xl) !important;
        border-radius: 14px !important;
    }
    .ContPadre {
        padding: 5px 30px !important;
    }
}

/* --- Escritorio normal (1025-1399px) --- */
@media (min-width: 1025px) and (max-width: 1399px) {
    .ContDimension .swiper-slide-image {
        max-width: var(--sp-img-width-lg) !important;
        max-height: var(--sp-img-height-lg) !important;
        padding: var(--sp-img-padding-lg) !important;
    }
}

/* --- Tablet (769-1024px) --- */
@media (max-width: 1024px) and (min-width: 769px) {
    .ContDimension .swiper-slide-image {
        max-width: var(--sp-img-width-md) !important;
        max-height: var(--sp-img-height-md) !important;
        padding: var(--sp-img-padding-md) !important;
        border-radius: 10px !important;
    }
    .ContPadre {
        padding: 5px 15px !important;
    }
    .ContDimension .swiper-slide {
        padding: 10px !important;
    }
}

/* --- Móvil (481-768px) --- */
@media (max-width: 768px) {
    .ContDimension .swiper-slide-image {
        max-width: var(--sp-img-width-sm) !important;
        max-height: var(--sp-img-height-sm) !important;
        padding: var(--sp-img-padding-sm) !important;
        border-radius: 8px !important;
    }
    .ContDimension .swiper-slide {
        padding: 8px !important;
    }
    .ContPadre {
        padding: 5px 12px !important;
    }
}

/* --- Móvil pequeño (361-480px) --- */
@media (max-width: 480px) {
    .ContDimension .swiper-slide-image {
        max-width: var(--sp-img-width-xs) !important;
        max-height: var(--sp-img-height-xs) !important;
        padding: var(--sp-img-padding-xs) !important;
        border-radius: 6px !important;
    }
    .ContDimension .swiper-slide {
        padding: 6px !important;
    }
    .ContPadre {
        padding: 5px 10px !important;
    }
}

/* --- Móvil muy pequeño (≤360px) --- */
@media (max-width: 360px) {
    .ContDimension .swiper-slide-image {
        max-width: var(--sp-img-width-xxs) !important;
        max-height: var(--sp-img-height-xxs) !important;
        padding: var(--sp-img-padding-xxs) !important;
    }
    .ContDimension .swiper-slide {
        padding: 4px !important;
    }
    .ContPadre {
        padding: 5px 8px !important;
    }
}

/* ============================================================
   📝 FUENTE MONTSERRAT
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9f8e0e3 *//* ============================================================
   🏢 SECCIÓN DE MARCAS - PROTECLINE (COMPLETA)
   ============================================================
   📌 ESTRUCTURA: Clases "TituloGeneral" y "ContImgTxt"
   🎨 PALETA: Azul (#0033A0), Naranja (#F05A28), Amarillo (#FFB81C)
   🔒 AISLADO: Solo afecta a las clases específicas
   🔥 ESPACIADO REDUCIDO - VERSIÓN COMPACTA
   ============================================================ */

/* ============================================================
   📝 FUENTE MONTSERRAT
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');

/* ============================================================
   🛡️ CONTENEDOR PRINCIPAL - TituloGeneral
   ============================================================ */

/* --- FONDO Y ESTILOS DEL CONTENEDOR --- */
.TituloGeneral {
    position: relative !important;
    padding: 15px 0 10px 0 !important; /* 🔥 REDUCIDO */
    background: linear-gradient(160deg, #F8FAFF 0%, #FFFFFF 100%) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 12px rgba(10, 26, 58, 0.04) !important;
    z-index: 1 !important;
}

/* --- DECORACIÓN DE FONDO: CÍRCULO NARANJA --- */
.TituloGeneral::before {
    content: '' !important;
    position: absolute !important;
    top: -20% !important;
    right: -5% !important;
    width: 300px !important;
    height: 300px !important;
    background: radial-gradient(circle, rgba(242, 100, 25, 0.04) 0%, transparent 70%) !important;
    border-radius: 50% !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

/* --- DECORACIÓN DE FONDO: CÍRCULO AZUL --- */
.TituloGeneral::after {
    content: '' !important;
    position: absolute !important;
    bottom: -15% !important;
    left: -5% !important;
    width: 250px !important;
    height: 250px !important;
    background: radial-gradient(circle, rgba(0, 51, 160, 0.03) 0%, transparent 70%) !important;
    border-radius: 50% !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

/* --- ASEGURA QUE LOS ELEMENTOS INTERNOS ESTÉN POR ENCIMA --- */
.TituloGeneral .elementor-container {
    position: relative !important;
    z-index: 2 !important;
}

/* ============================================================
   📝 TÍTULO PRINCIPAL - H3 (AZUL + MONTSERRAT)
   ============================================================ */
.TituloGeneral .elementor-widget-heading h3.elementor-heading-title {
    font-family: 'Montserrat', 'Segoe UI', Arial, sans-serif !important; /* 🔥 MONTSERRAT */
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #0033A0 !important; /* 🔥 AZUL CORPORATIVO */
    letter-spacing: 1px !important;
    text-align: center !important;

    position: relative !important;
    display: inline-block !important;
    padding: 0 20px 10px 20px !important; /* 🔥 REDUCIDO */
    margin: 0 auto 5px auto !important; /* 🔥 REDUCIDO */
    width: 100% !important;
    max-width: 800px !important;
}

/* --- LÍNEA DECORATIVA (estilo logo) --- */
.TituloGeneral .elementor-widget-heading h3.elementor-heading-title::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 80px !important; /* 🔥 REDUCIDO */
    height: 3px !important; /* 🔥 REDUCIDO */
    background: linear-gradient(90deg, #FFB81C, #F05A28) !important; /* 🔥 AMARILLO→NARANJA */
    border-radius: 3px !important;
    box-shadow: 0 2px 15px rgba(240, 90, 40, 0.15) !important;
}

/* --- SUBRAYADO SECUNDARIO --- */
.TituloGeneral .elementor-widget-heading h3.elementor-heading-title::before {
    content: '' !important;
    position: absolute !important;
    bottom: -3px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 40px !important; /* 🔥 REDUCIDO */
    height: 2px !important; /* 🔥 REDUCIDO */
    background: linear-gradient(90deg, #0033A0, #FFB81C) !important; /* 🔥 AZUL→AMARILLO */
    border-radius: 3px !important;
    opacity: 0.4 !important;
}

/* ============================================================
   📦 CONTENEDOR DE IMÁGENES - ContImgTxt
   ============================================================ */

/* --- ESTILO DEL CONTENEDOR PRINCIPAL --- */
.ContImgTxt {
    position: relative !important;
    z-index: 2 !important;
    padding: 5px 0 2px 0 !important; /* 🔥 REDUCIDO */
    margin: 0 !important;
}

/* --- CONTENEDOR DE CADA TARJETA --- */
.ContImgTxt .elementor-container .elementor-column .elementor-element-populated {
    padding: 6px !important; /* 🔥 REDUCIDO */
}

/* --- ESTILO DEL WRAPPER DE IMAGEN BOX --- */
.ContImgTxt .elementor-image-box-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 14px 12px 12px 12px !important; /* 🔥 REDUCIDO */
    background: #FFFFFF !important;
    border-radius: 14px !important;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    box-shadow: 0 2px 12px rgba(10, 26, 58, 0.04) !important;
    border: 1px solid rgba(10, 26, 58, 0.04) !important;
    height: 100% !important;
    min-height: 240px !important; /* 🔥 REDUCIDO */
    position: relative !important;
    overflow: hidden !important;
}

/* --- BORDE SUPERIOR CON GRADIENTE --- */
.ContImgTxt .elementor-image-box-wrapper::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 3px !important; /* 🔥 REDUCIDO */
    background: linear-gradient(90deg, #FFB81C, #F05A28, #0033A0) !important; /* 🔥 ACTUALIZADO */
    opacity: 0 !important;
    transition: opacity 0.4s ease !important;
    border-radius: 14px 14px 0 0 !important;
}

/* --- EFECTO HOVER DEL CONTENEDOR --- */
.ContImgTxt .elementor-image-box-wrapper:hover {
    transform: translateY(-5px) !important; /* 🔥 REDUCIDO */
    box-shadow: 0 10px 30px rgba(10, 26, 58, 0.08) !important;
    border-color: rgba(240, 90, 40, 0.12) !important;
}

.ContImgTxt .elementor-image-box-wrapper:hover::before {
    opacity: 1 !important;
}

/* --- CUADRADO DECORATIVO (esquina) --- */
.ContImgTxt .elementor-image-box-wrapper::after {
    content: '' !important;
    position: absolute !important;
    top: -25px !important;
    right: -25px !important;
    width: 50px !important;
    height: 50px !important;
    background: linear-gradient(135deg, #F05A28, #FFB81C) !important;
    opacity: 0.04 !important;
    transform: rotate(45deg) !important;
    transition: all 0.4s ease !important;
    pointer-events: none !important;
    border-radius: 4px !important;
}

.ContImgTxt .elementor-image-box-wrapper:hover::after {
    opacity: 0.08 !important;
    transform: rotate(45deg) scale(1.2) !important;
}

/* ============================================================
   🖼️ ESTILO DE LA IMAGEN
   ============================================================ */

/* --- CONTENEDOR DE LA IMAGEN --- */
.ContImgTxt .elementor-image-box-img {
    width: 100% !important;
    max-width: 140px !important; /* 🔥 REDUCIDO */
    margin: 0 auto 10px auto !important; /* 🔥 REDUCIDO */
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    position: relative !important;
    z-index: 1 !important;
}

/* --- ESTILO DE LA IMAGEN --- */
.ContImgTxt .elementor-image-box-img img {
    width: 100% !important;
    height: auto !important;
    max-height: 70px !important; /* 🔥 REDUCIDO */
    object-fit: contain !important;
    border-radius: 10px !important;
    padding: 8px 14px !important; /* 🔥 REDUCIDO */
    background: rgba(255, 255, 255, 0.9) !important;
    border: 1px solid rgba(10, 26, 58, 0.06) !important;
    box-shadow: 0 2px 10px rgba(10, 26, 58, 0.04) !important;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

/* --- EFECTO HOVER DE LA IMAGEN --- */
.ContImgTxt .elementor-image-box-wrapper:hover .elementor-image-box-img img {
    transform: scale(1.05) !important;
    border-color: rgba(240, 90, 40, 0.25) !important;
    box-shadow: 0 4px 18px rgba(240, 90, 40, 0.08) !important;
    background: #FFFFFF !important;
}

/* ============================================================
   📝 ESTILO DEL TÍTULO (h3)
   ============================================================ */

/* --- TÍTULO --- */
.ContImgTxt .elementor-image-box-content h3.elementor-image-box-title {
    font-family: 'Montserrat', 'Segoe UI', Arial, sans-serif !important;
    font-size: 16px !important; /* 🔥 REDUCIDO */
    font-weight: 700 !important;
    color: #0033A0 !important; /* 🔥 AZUL */
    margin: 0 0 4px 0 !important; /* 🔥 REDUCIDO */
    letter-spacing: 0.3px !important;
    transition: color 0.3s ease !important;
    position: relative !important;
    z-index: 1 !important;
}

/* --- LÍNEA DECORATIVA BAJO EL TÍTULO --- */
.ContImgTxt .elementor-image-box-content h3.elementor-image-box-title::after {
    content: '' !important;
    display: block !important;
    width: 30px !important; /* 🔥 REDUCIDO */
    height: 2px !important; /* 🔥 REDUCIDO */
    margin: 5px auto 0 auto !important; /* 🔥 REDUCIDO */
    background: linear-gradient(90deg, #FFB81C, #F05A28) !important;
    border-radius: 2px !important;
    transition: width 0.4s ease !important;
}

/* --- EFECTO HOVER DEL TÍTULO --- */
.ContImgTxt .elementor-image-box-wrapper:hover .elementor-image-box-title {
    color: #F05A28 !important;
}

.ContImgTxt .elementor-image-box-wrapper:hover .elementor-image-box-title::after {
    width: 40px !important;
}

/* ============================================================
   📝 ESTILO DE LA DESCRIPCIÓN
   ============================================================ */

/* --- DESCRIPCIÓN --- */
.ContImgTxt .elementor-image-box-content .elementor-image-box-description {
    font-family: 'Montserrat', 'Segoe UI', Arial, sans-serif !important;
    font-size: 11px !important; /* 🔥 REDUCIDO */
    font-weight: 400 !important;
    color: #6B7A8F !important;
    line-height: 1.5 !important; /* 🔥 REDUCIDO */
    margin: 0 !important;
    padding: 0 3px !important;
    position: relative !important;
    z-index: 1 !important;
}

/* --- TEXTO DESTACADO EN DESCRIPCIÓN --- */
.ContImgTxt .elementor-image-box-content .elementor-image-box-description strong {
    color: #F05A28 !important;
    font-weight: 600 !important;
}

/* --- ICONO DECORATIVO ANTES DE LA DESCRIPCIÓN --- */
.ContImgTxt .elementor-image-box-content .elementor-image-box-description::before {
    content: '◆ ' !important;
    color: #0033A0 !important;
    font-size: 9px !important;
    opacity: 0.4 !important;
}

/* ============================================================
   📱 RESPONSIVE - AJUSTES PROFESIONALES
   ============================================================ */

/* --- Tablet (769-1024px) --- */
@media (max-width: 1024px) and (min-width: 769px) {
    .TituloGeneral {
        padding: 12px 0 8px 0 !important;
    }
    
    .TituloGeneral .elementor-widget-heading h3.elementor-heading-title {
        font-size: 22px !important;
        padding: 0 15px 8px 15px !important;
    }
    
    .TituloGeneral .elementor-widget-heading h3.elementor-heading-title::after {
        width: 60px !important;
        height: 3px !important;
    }
    
    .ContImgTxt .elementor-image-box-img {
        max-width: 120px !important;
    }
    
    .ContImgTxt .elementor-image-box-img img {
        max-height: 58px !important;
        padding: 6px 10px !important;
    }
    
    .ContImgTxt .elementor-image-box-content h3.elementor-image-box-title {
        font-size: 14px !important;
    }
    
    .ContImgTxt .elementor-image-box-content .elementor-image-box-description {
        font-size: 10px !important;
    }
    
    .ContImgTxt .elementor-image-box-wrapper {
        padding: 12px 10px 10px 10px !important;
        min-height: 200px !important;
    }
}

/* --- Móvil (481-768px) --- */
@media (max-width: 768px) {
    .TituloGeneral {
        padding: 10px 8px 6px 8px !important;
        border-radius: 14px !important;
    }
    
    .TituloGeneral .elementor-widget-heading h3.elementor-heading-title {
        font-size: 18px !important;
        padding: 0 10px 8px 10px !important;
        letter-spacing: 0.5px !important;
        max-width: 100% !important;
    }
    
    .TituloGeneral .elementor-widget-heading h3.elementor-heading-title::after {
        width: 50px !important;
        height: 2px !important;
    }
    
    .TituloGeneral .elementor-widget-heading h3.elementor-heading-title::before {
        width: 25px !important;
        height: 2px !important;
        bottom: -2px !important;
    }
    
    .ContImgTxt .elementor-image-box-img {
        max-width: 100px !important;
        margin-bottom: 8px !important;
    }
    
    .ContImgTxt .elementor-image-box-img img {
        max-height: 48px !important;
        padding: 5px 8px !important;
        border-radius: 8px !important;
    }
    
    .ContImgTxt .elementor-image-box-content h3.elementor-image-box-title {
        font-size: 13px !important;
        margin-bottom: 3px !important;
    }
    
    .ContImgTxt .elementor-image-box-content .elementor-image-box-description {
        font-size: 9.5px !important;
        line-height: 1.4 !important;
        padding: 0 2px !important;
    }
    
    .ContImgTxt .elementor-image-box-content .elementor-image-box-description::before {
        content: '' !important;
    }
    
    .ContImgTxt .elementor-image-box-wrapper {
        padding: 12px 8px 10px 8px !important;
        border-radius: 12px !important;
        min-height: 180px !important;
    }
    
    .ContImgTxt .elementor-image-box-wrapper::after {
        width: 35px !important;
        height: 35px !important;
        top: -18px !important;
        right: -18px !important;
    }
    
    .ContImgTxt .elementor-container .elementor-column .elementor-element-populated {
        padding: 4px !important;
    }
    
    /* --- 2 columnas en móvil --- */
    .ContImgTxt .elementor-container .elementor-column {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        width: 50% !important;
    }
}

/* --- Móvil pequeño (≤480px) --- */
@media (max-width: 480px) {
    .TituloGeneral {
        padding: 8px 6px 4px 6px !important;
        border-radius: 12px !important;
    }
    
    .TituloGeneral .elementor-widget-heading h3.elementor-heading-title {
        font-size: 15px !important;
        padding: 0 8px 6px 8px !important;
        letter-spacing: 0.3px !important;
    }
    
    .TituloGeneral .elementor-widget-heading h3.elementor-heading-title::after {
        width: 40px !important;
        height: 2px !important;
    }
    
    .TituloGeneral .elementor-widget-heading h3.elementor-heading-title::before {
        width: 20px !important;
        height: 1px !important;
        bottom: -2px !important;
    }
    
    .ContImgTxt .elementor-image-box-img {
        max-width: 80px !important;
        margin-bottom: 6px !important;
    }
    
    .ContImgTxt .elementor-image-box-img img {
        max-height: 38px !important;
        padding: 4px 6px !important;
        border-radius: 6px !important;
    }
    
    .ContImgTxt .elementor-image-box-content h3.elementor-image-box-title {
        font-size: 11px !important;
        margin-bottom: 2px !important;
    }
    
    .ContImgTxt .elementor-image-box-content h3.elementor-image-box-title::after {
        width: 20px !important;
        height: 2px !important;
        margin-top: 3px !important;
    }
    
    .ContImgTxt .elementor-image-box-wrapper:hover .elementor-image-box-title::after {
        width: 28px !important;
    }
    
    .ContImgTxt .elementor-image-box-content .elementor-image-box-description {
        font-size: 8.5px !important;
        line-height: 1.3 !important;
        padding: 0 !important;
    }
    
    .ContImgTxt .elementor-image-box-wrapper {
        padding: 8px 5px 6px 5px !important;
        border-radius: 10px !important;
        min-height: 140px !important;
    }
    
    .ContImgTxt .elementor-image-box-wrapper::after {
        width: 25px !important;
        height: 25px !important;
        top: -12px !important;
        right: -12px !important;
    }
}

/* --- Móvil muy pequeño (≤360px) --- */
@media (max-width: 360px) {
    .ContImgTxt .elementor-image-box-img {
        max-width: 70px !important;
    }
    
    .ContImgTxt .elementor-image-box-img img {
        max-height: 32px !important;
        padding: 3px 5px !important;
    }
    
    .ContImgTxt .elementor-image-box-content h3.elementor-image-box-title {
        font-size: 10px !important;
    }
    
    .ContImgTxt .elementor-image-box-content .elementor-image-box-description {
        font-size: 7.5px !important;
    }
    
    .ContImgTxt .elementor-image-box-wrapper {
        min-height: 120px !important;
        padding: 6px 4px 4px 4px !important;
    }
}

/* --- Pantallas grandes (≥1400px) --- */
@media (min-width: 1400px) {
    .TituloGeneral {
        padding: 20px 0 15px 0 !important;
        border-radius: 20px !important;
    }
    
    .TituloGeneral .elementor-widget-heading h3.elementor-heading-title {
        font-size: 32px !important;
        padding: 0 30px 12px 30px !important;
        max-width: 900px !important;
    }
    
    .TituloGeneral .elementor-widget-heading h3.elementor-heading-title::after {
        width: 100px !important;
        height: 4px !important;
    }
    
    .ContImgTxt .elementor-image-box-img {
        max-width: 170px !important;
    }
    
    .ContImgTxt .elementor-image-box-img img {
        max-height: 85px !important;
        padding: 10px 18px !important;
    }
    
    .ContImgTxt .elementor-image-box-content h3.elementor-image-box-title {
        font-size: 19px !important;
    }
    
    .ContImgTxt .elementor-image-box-content .elementor-image-box-description {
        font-size: 12px !important;
    }
    
    .ContImgTxt .elementor-image-box-wrapper {
        padding: 20px 18px 16px 18px !important;
        min-height: 280px !important;
    }
}

/* ============================================================
   🎨 MEJORAS VISUALES ADICIONALES
   ============================================================ */

/* --- SEPARADOR ENTRE TARJETAS (sutil) --- */
@media (min-width: 769px) {
    .ContImgTxt .elementor-container .elementor-column:not(:last-child) .elementor-image-box-wrapper::after {
        content: '' !important;
        position: absolute !important;
        right: -8px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 1px !important;
        height: 50% !important;
        background: linear-gradient(180deg, transparent, rgba(10, 26, 58, 0.06), transparent) !important;
        z-index: 2 !important;
    }
}

/* --- Ocultar separador en móvil --- */
@media (max-width: 768px) {
    .ContImgTxt .elementor-container .elementor-column:not(:last-child) .elementor-image-box-wrapper::after {
        display: none !important;
    }
}

/* ============================================================
   🔧 INSTRUCCIONES DE USO EN ELEMENTOR
   ============================================================ */
/* 
   🛠️ PASOS PARA APLICAR ESTILOS:
   
   1. Copia TODO este código CSS
   2. Ve a Elementor > Ajustes > CSS personalizado
   3. Pega el código y guarda
   
   ✅ El diseño se aplicará automáticamente a:
   - Contenedor con clase "TituloGeneral"
   - Contenedor con clase "ContImgTxt"
   - Widgets Heading (H3)
   - Widgets Image Box
*//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c32e9b8 *//* ============================================================
   🚀 ESTILOS PROFESIONALES PARA .carruselInfr
   ✅ Paleta: Naranja #F15A24 | Azul #1D3557 | Amarillo #FFC300
   ✅ Diseño limpio, compacto y sin deformación de imágenes
   ✅ Aislado para no afectar otros contenedores
   ============================================================ */

/* --- 1. CONTENEDOR PRINCIPAL (La carta que envuelve el carrusel) --- */
.carruselInfr {
    /* Fondo completamente transparente para que se vea el fondo de la página */
    background: transparent !important;
    
    /* Eliminamos cualquier borde por defecto */
    border: none !important;
    
    /* Sombra sutil y elegante para dar profundidad (Negro con opacidad) */
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
    
    /* Bordes redondeados suaves para un look moderno */
    border-radius: 12px !important;
    
    /* Padding mínimo (solo 5px arriba/abajo y 0 a los lados) */
    padding: 5px 0 !important;
    
    /* Oculta cualquier desbordamiento interno */
    overflow: hidden !important;
}

/* --- 2. CONTENEDOR DEL CARRUSEL (Swiper) --- */
.carruselInfr .swiper {
    /* Asegura que el carrusel ocupe todo el ancho disponible */
    width: 100% !important;
    
    /* Elimina cualquier padding interno del swiper */
    padding: 0 !important;
}

/* --- 3. CONTENEDOR DE DIAPOSITIVAS (Wrapper) --- */
.carruselInfr .swiper-wrapper {
    /* Alinea verticalmente las diapositivas al centro */
    align-items: center !important;
    
    /* Elimina cualquier margen no deseado */
    margin: 0 !important;
}

/* --- 4. CADA DIAPOSITIVA (Slide individual) --- */
.carruselInfr .swiper-slide {
    /* Usamos Flexbox para centrar la imagen dentro del slide */
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    
    /* Altura fija para mantener consistencia (ajustable según necesidad) */
    height: 320px !important;
    
    /* Fondo transparente para que no haya "manchas" grises */
    background: transparent !important;
    
    /* Padding mínimo para que la imagen respire ligeramente */
    padding: 5px !important;
    
    /* Sin bordes redondeados en los slides individuales */
    border-radius: 0 !important;
    
    /* Posicionamiento relativo para posibles efectos futuros */
    position: relative !important;
}

/* --- 5. ESTILO DE LAS IMÁGENES (¡Evita deformaciones!) --- */
.carruselInfr .swiper-slide-image {
    /* La imagen ocupa todo el espacio del slide */
    width: 100% !important;
    height: 100% !important;
    
    /* 'contain' asegura que la imagen se vea COMPLETA sin cortarse */
    /* 'cover' la estiraría para llenar, pero 'contain' es más seguro */
    object-fit: contain !important;
    
    /* Transición suave para el efecto hover */
    transition: transform 0.3s ease !important;
    
    /* Sombra ligera tipo "drop-shadow" para darle profundidad a la imagen */
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.1)) !important;
    
    /* Asegura que la imagen no se desborde */
    max-width: 100% !important;
    max-height: 100% !important;
}

/* --- 6. EFECTO HOVER EN IMÁGENES (Zoom sutil) --- */
.carruselInfr .swiper-slide:hover .swiper-slide-image {
    /* Aumenta el tamaño un 2% al pasar el mouse (efecto profesional) */
    transform: scale(1.02) !important;
}

/* --- 7. BOTONES DE NAVEGACIÓN (FLECHAS) --- */

/* Estilo base de las flechas */
.carruselInfr .elementor-swiper-button {
    /* Fondo con el color NARANJA de la paleta */
    background: #F15A24 !important;
    
    /* Tamaño compacto y equilibrado */
    width: 38px !important;
    height: 38px !important;
    
    /* Forma circular perfecta */
    border-radius: 50% !important;
    
    /* Sombra para que resalten sobre cualquier fondo */
    box-shadow: 0 4px 15px rgba(241, 90, 36, 0.3) !important;
    
    /* Transición suave para el hover */
    transition: all 0.3s ease !important;
    
    /* Flexbox para centrar el icono SVG */
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    
    /* Color del icono (BLANCO) */
    color: #FFFFFF !important;
    
    /* Asegura que estén por encima del contenido */
    z-index: 999 !important;
}

/* Estilo específico del SVG dentro del botón (la flecha) */
.carruselInfr .elementor-swiper-button svg {
    /* Color BLANCO para la flecha */
    fill: #FFFFFF !important;
    
    /* Tamaño proporcionado al botón */
    width: 18px !important;
    height: 18px !important;
}

/* Efecto HOVER en las flechas (Inversión de colores) */
.carruselInfr .elementor-swiper-button:hover {
    /* Fondo BLANCO al pasar el mouse */
    background: #FFFFFF !important;
    
    /* Sombra más prominente en hover */
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2) !important;
}

/* La flecha SVG cambia a NARANJA en hover */
.carruselInfr .elementor-swiper-button:hover svg {
    fill: #F15A24 !important;
}

/* Posición de la flecha IZQUIERDA (ligeramente fuera del carrusel) */
.carruselInfr .elementor-swiper-button-prev {
    left: -5px !important;
}

/* Posición de la flecha DERECHA (ligeramente fuera del carrusel) */
.carruselInfr .elementor-swiper-button-next {
    right: -5px !important;
}

/* --- 8. PAGINACIÓN (PUNTOS INDICADORES) --- */

/* Contenedor de la paginación */
.carruselInfr .swiper-pagination {
    /* Posicionamiento relativo para que esté fuera del carrusel */
    position: relative !important;
    
    /* Elimina el posicionamiento inferior por defecto */
    bottom: auto !important;
    
    /* Margen superior para separar los puntos del carrusel */
    margin-top: 10px !important;
    
    /* Alineación al centro */
    text-align: center !important;
}

/* Estilo de los puntos INACTIVOS */
.carruselInfr .swiper-pagination-bullet {
    /* Color gris claro para puntos inactivos */
    background: #D1D5DB !important;
    
    /* Tamaño equilibrado */
    width: 10px !important;
    height: 10px !important;
    
    /* Forma circular */
    border-radius: 50% !important;
    
    /* Removemos la opacidad por defecto de Swiper */
    opacity: 1 !important;
    
    /* Transición suave para cambios de estado */
    transition: all 0.3s ease !important;
    
    /* Cursor pointer para indicar que son interactivos */
    cursor: pointer !important;
}

/* Estilo del punto ACTIVO (AMARILLO de la paleta) */
.carruselInfr .swiper-pagination-bullet-active {
    /* Color AMARILLO vibrante */
    background: #FFC300 !important;
    
    /* Aumenta ligeramente el tamaño para destacar */
    transform: scale(1.3) !important;
    
    /* Sombra con efecto "glow" en amarillo */
    box-shadow: 0 0 12px rgba(255, 195, 0, 0.5) !important;
}

/* --- 9. RESPONSIVE: AJUSTES PARA TABLET Y MÓVIL --- */

/* Pantallas menores a 768px (tablets y móviles) */
@media (max-width: 768px) {
    /* Reducimos la altura de los slides en móviles */
    .carruselInfr .swiper-slide {
        height: 200px !important;
        padding: 2px !important;
    }
    
    /* Reducimos el padding del contenedor principal */
    .carruselInfr {
        padding: 5px 0 !important;
        border-radius: 8px !important;
    }
    
    /* Botones más pequeños en móviles */
    .carruselInfr .elementor-swiper-button {
        width: 30px !important;
        height: 30px !important;
    }
    
    /* Iconos más pequeños dentro de los botones */
    .carruselInfr .elementor-swiper-button svg {
        width: 14px !important;
        height: 14px !important;
    }
    
    /* Puntos de paginación más pequeños */
    .carruselInfr .swiper-pagination-bullet {
        width: 8px !important;
        height: 8px !important;
    }
}

/* --- 10. EXTRAS: MEJORAS DE ACCESIBILIDAD Y RENDIMIENTO --- */

/* Asegura que el carrusel no cause scroll horizontal en la página */
.carruselInfr .elementor-image-carousel-wrapper {
    overflow: hidden !important;
}

/* Elimina el fondo gris del contenedor de la imagen en Elementor */
.carruselInfr .swiper-slide-inner {
    background: transparent !important;
    padding: 0 !important;
}

/* Mejora la carga de imágenes con un efecto de transición suave */
.carruselInfr .swiper-slide-image {
    will-change: transform !important;
    backface-visibility: hidden !important;
}/* End custom CSS */