.elementor-160 .elementor-element.elementor-element-5799fe9{--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;}/* Start custom CSS for html, class: .elementor-element-21aa403 *//* Montserrat */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;600;700&display=swap');

/* CONTENEDOR PRINCIPAL – 100vh */
.conciviles-servicios {
    display: flex;
    height: 91vh;
    width: 100%;
    font-family: 'Montserrat', sans-serif;
    overflow: hidden;
}

/* CADA SERVICIO (desktop) */
.conciviles-servicios .servicio {
    position: relative;
    flex: 1; /* tamaño base */
    background-image: var(--bg);
    background-size: cover;
    background-position: center;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 3vw;
    color: #fff;
    cursor: pointer;
    overflow: hidden;
    transition:
        flex 0.4s ease,
        transform 0.3s ease;
}

/* Overlay */
.conciviles-servicios .servicio::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.60);
    transition: background 0.3s ease;
    z-index: 1;
}

/* TÍTULO – más pequeño ahora */
.conciviles-servicios .servicio h3 {
    font-size: clamp(18px, 1.6vw, 26px);
    font-weight: 700;
    color: #FFCF00;
    margin: 0 0 0.7em;
    z-index: 2;
}

/* DESCRIPCIÓN Y BOTÓN (ocultos en desktop) */
.conciviles-servicios .servicio p,
.conciviles-servicios .servicio .btn-servicio {
    opacity: 0;
    transform: translateY(20px);
    z-index: 2;
    transition: .3s ease;
    pointer-events: none;
}

/* Botón */
.conciviles-servicios .servicio .btn-servicio {
    display: inline-block;
    background: #FFCF00;
    color: #000;
    padding: 10px 24px;
    margin-top: 15px;
    font-weight: 600;
    border-radius: 4px;
    text-decoration: none;
}

/* EFECTO HOVER – acordeón horizontal */
.conciviles-servicios:hover .servicio {
    flex: 0.4;
}

.conciviles-servicios .servicio:hover {
    flex: 2;
    transform: scale(1.02);
}

/* Mostrar texto + botón */
.conciviles-servicios .servicio:hover p,
.conciviles-servicios .servicio:hover .btn-servicio {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

/* Overlay más oscuro en hover */
.conciviles-servicios .servicio:hover::before {
    background: rgba(0,0,0,0.15);
}

/* --------- RESPONSIVE: TABLET / MÓVIL COMO CARRUSEL --------- */
@media (max-width: 1024px) {

    .conciviles-servicios {
        height: 100vh;
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .conciviles-servicios .servicio {
        flex: 0 0 100%;
        min-width: 100%;
        height: 100vh;
        scroll-snap-align: center;
        transform: none !important;
        justify-content: flex-end;
        padding: 40px 30px;
    }

    /* siempre visibles */
    .conciviles-servicios .servicio p,
    .conciviles-servicios .servicio .btn-servicio {
        opacity: 1 !important;
        transform: translateY(0) !important;
        pointer-events: auto !important;
    }

    /* overlay más suave para leer bien */
    .conciviles-servicios .servicio::before {
        background: rgba(0,0,0,0.45) !important;
    }

    /* desactivar “acordeón” */
    .conciviles-servicios:hover .servicio,
    .conciviles-servicios .servicio:hover {
        flex: 0 0 100% !important;
    }
}

/* Ocultar scrollbar */
.conciviles-servicios::-webkit-scrollbar {
    display: none;
}
.conciviles-servicios {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Wrapper general */
.conciviles-servicios-wrapper {
    position: relative;
}

/* Botones carrusel (ocultos por defecto) */
.carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background: rgba(0,0,0,0.6);
    color: #fff;
    border: none;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    font-size: 20px;
    cursor: pointer;
    display: none; /* se muestran solo en responsive */
}

/* Izquierda / derecha */
.carousel-btn.prev {
    left: 12px;
}
.carousel-btn.next {
    right: 12px;
}

/* Mostrar flechas únicamente en tablet/mobile */
@media (max-width: 1024px) {
    .carousel-btn {
        display: flex;
        align-items: center;
        justify-content: center;
    }
}/* End custom CSS */