/* ==========================================================================
   SEINPROEC - EXACT DESKTOP & 100% FAITHFUL MOBILE RESPONSIVE CSS
   Garantiza 100% fidelidad tanto en Escritorio como en Móviles y Tablets
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. FONT AWESOME & EICONS - DECLARACIÓN LOCAL ROBUSTA
   -------------------------------------------------------------------------- */
@font-face {
    font-family: "Font Awesome 5 Free";
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url("../webfonts/fa-solid-900.woff2") format("woff2"),
         url("../webfonts/fa-solid-900.woff") format("woff"),
         url("../webfonts/fa-solid-900.ttf") format("truetype");
}

@font-face {
    font-family: "Font Awesome 5 Free";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../webfonts/fa-regular-400.woff2") format("woff2"),
         url("../webfonts/fa-regular-400.woff") format("woff"),
         url("../webfonts/fa-regular-400.ttf") format("truetype");
}

@font-face {
    font-family: "Font Awesome 5 Brands";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../webfonts/fa-brands-400.woff2") format("woff2"),
         url("../webfonts/fa-brands-400.woff") format("woff"),
         url("../webfonts/fa-brands-400.ttf") format("truetype");
}

@font-face {
    font-family: "eicons";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/eicons.woff2") format("woff2"),
         url("../fonts/eicons.woff") format("woff"),
         url("../fonts/eicons.ttf") format("truetype");
}

/* --------------------------------------------------------------------------
   2. RESET Y BASE GLOBAL
   -------------------------------------------------------------------------- */
*, *::before, *::after {
    box-sizing: border-box;
}

html, body {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    color: #333333;
    background-color: #ffffff;
}

/* Ocultar etiquetas (labels) duplicadas sobre los inputs del formulario (Nombre, Celular, Email) */
.elementor-field-label,
label.elementor-field-label {
    display: none !important;
}

/* --------------------------------------------------------------------------
   3. VERSIÓN DE ESCRITORIO (PRESERVADA 100% INTACTA)
   -------------------------------------------------------------------------- */
@media (min-width: 769px) {
    .elementor-section {
        position: relative;
        width: 100%;
        display: block;
    }

    .elementor-section.elementor-section-boxed > .elementor-container {
        max-width: 1140px;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
    }

    .elementor-section.elementor-section-full_width > .elementor-container {
        max-width: 100%;
        width: 100%;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
    }

    .elementor-row, 
    .elementor-container {
        display: flex;
        flex-direction: row;
        width: 100%;
    }

    .elementor-column {
        display: flex;
        flex-direction: column;
        position: relative;
        min-height: 1px;
    }

    .elementor-column-wrap, 
    .elementor-widget-wrap {
        width: 100%;
        display: flex;
        flex-direction: column;
        position: relative;
    }

    /* Anchos de columnas en escritorio */
    .elementor-section:not(.elementor-element-7d27c7d1):not(.elementor-element-79b80b4f):not(.elementor-element-28a896af) .elementor-col-100 { width: 100% !important; flex: 0 0 100% !important; max-width: 100% !important; }
    .elementor-section:not(.elementor-element-7d27c7d1):not(.elementor-element-79b80b4f):not(.elementor-element-28a896af) .elementor-col-50  { width: 50% !important; flex: 0 0 50% !important; max-width: 50% !important; }
    .elementor-section:not(.elementor-element-7d27c7d1):not(.elementor-element-79b80b4f):not(.elementor-element-28a896af) .elementor-col-33  { width: 33.3333% !important; flex: 0 0 33.3333% !important; max-width: 33.3333% !important; }
    .elementor-section:not(.elementor-element-7d27c7d1):not(.elementor-element-79b80b4f):not(.elementor-element-28a896af) .elementor-col-25  { width: 25% !important; flex: 0 0 25% !important; max-width: 25% !important; }
    .elementor-section:not(.elementor-element-7d27c7d1):not(.elementor-element-79b80b4f):not(.elementor-element-28a896af) .elementor-col-20  { width: 20% !important; flex: 0 0 20% !important; max-width: 20% !important; }
    .elementor-section:not(.elementor-element-7d27c7d1):not(.elementor-element-79b80b4f):not(.elementor-element-28a896af) .elementor-col-16  { width: 16.6666% !important; flex: 0 0 16.6666% !important; max-width: 16.6666% !important; }
    .elementor-section:not(.elementor-element-7d27c7d1):not(.elementor-element-79b80b4f):not(.elementor-element-28a896af) .elementor-col-66  { width: 66.6666% !important; flex: 0 0 66.6666% !important; max-width: 66.6666% !important; }

    .elementor-inner-section > .elementor-container {
        display: flex !important;
        flex-direction: row !important;
        width: 100% !important;
        flex-wrap: nowrap !important;
    }
}

.elementor-invisible {
    visibility: visible !important;
    opacity: 1 !important;
    animation: none !important;
}

/* Header de escritorio superpuesto transparente sobre el video (Solo Home / 1078) */
@media (min-width: 769px) {
    .elementor-1078.elementor-location-header {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        z-index: 99 !important;
        background: transparent !important;
    }
}

/* Header de escritorio para Páginas Internas (ID 1226) con fondo blanco */
@media (min-width: 769px) {
    .elementor-1226.elementor-location-header {
        position: relative !important;
        width: 100% !important;
        z-index: 99 !important;
        background: #ffffff !important;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
    }

    .elementor-1226 .elementor-element-28a896af {
        background: #ffffff !important;
        padding: 10px 20px !important;
    }

    .elementor-1226 .elementor-element-28a896af > .elementor-container {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        max-width: 1280px !important;
        margin: 0 auto !important;
    }

    .elementor-1226 .elementor-element-1ea53608 {
        width: 16% !important;
        flex: 0 0 16% !important;
        max-width: 16% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    .elementor-1226 .elementor-element-5296e6ee {
        width: 100% !important;
        margin: 0 !important;
    }

    .elementor-1226 .elementor-element-5296e6ee img {
        max-width: 130px !important;
        width: 130px !important;
        height: auto !important;
        display: block !important;
    }

    .elementor-1226 .elementor-element-10837e24 {
        width: 52% !important;
        flex: 0 0 52% !important;
        max-width: 52% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .elementor-1226 .elementor-element-52de440d .elementor-nav-menu--main {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        position: relative !important;
    }

    .elementor-1226 .elementor-element-52de440d .elementor-nav-menu--main > ul.elementor-nav-menu {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
        align-items: center !important;
        white-space: nowrap !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 12px !important;
        list-style: none !important;
    }

    .elementor-1226 .elementor-element-52de440d .elementor-nav-menu--main > ul.elementor-nav-menu > li {
        display: inline-flex !important;
        align-items: center !important;
        position: relative !important;
    }

    .elementor-1226 .elementor-element-52de440d .elementor-nav-menu--main > ul.elementor-nav-menu > li > a {
        color: #3D4D87 !important;
        font-size: 14.5px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        padding: 8px 4px !important;
        display: inline-flex !important;
        align-items: center !important;
    }

    .elementor-1226 .elementor-element-52de440d .elementor-nav-menu--main > ul.elementor-nav-menu > li > a:hover,
    .elementor-1226 .elementor-element-52de440d .elementor-nav-menu--main > ul.elementor-nav-menu > li > a.elementor-item-active,
    .elementor-1226 .elementor-element-52de440d .elementor-nav-menu--main > ul.elementor-nav-menu > li.current-menu-item > a {
        color: #FF0132 !important;
    }

    .elementor-1226 .elementor-element-30483c80 {
        width: 32% !important;
        flex: 0 0 32% !important;
        max-width: 32% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        justify-content: center !important;
    }

    .elementor-1226 .elementor-element-30483c80 .elementor-widget-wrap {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .elementor-1226 .elementor-element-1bb4181b {
        display: inline-flex !important;
        align-items: center !important;
        margin: 0 !important;
    }

    .elementor-1226 .elementor-element-1bb4181b .elementor-icon-list-items {
        display: inline-flex !important;
        flex-direction: row !important;
        gap: 8px !important;
    }

    .elementor-1226 .elementor-element-1bb4181b .elementor-icon-list-icon i {
        color: #3D4D87 !important;
        font-size: 13px !important;
    }

    .elementor-1226 .elementor-element-c3a9b60 {
        display: inline-flex !important;
        align-items: center !important;
        margin: 0 !important;
    }

    .elementor-1226 .elementor-element-c3a9b60 .elementor-icon-list-items {
        display: inline-flex !important;
        flex-direction: row !important;
        gap: 10px !important;
    }

    .elementor-1226 .elementor-element-c3a9b60 .elementor-icon-list-item {
        display: inline-flex !important;
        align-items: center !important;
        font-size: 12.5px !important;
        color: #3D4D87 !important;
        line-height: 1 !important;
    }

    .elementor-1226 .elementor-element-c3a9b60 .elementor-icon-list-icon i {
        color: #FF0132 !important;
        margin-right: 4px !important;
        font-size: 13px !important;
    }

    .elementor-1226 .elementor-element-4f30738e {
        display: flex !important;
        justify-content: flex-end !important;
        width: 100% !important;
        margin: 2px 0 0 0 !important;
    }

    .elementor-1226 .elementor-element-4f30738e .elementor-button {
        background-color: #3D4D87 !important;
        color: #ffffff !important;
        border-radius: 4px !important;
        padding: 7px 16px !important;
        font-size: 12.5px !important;
        font-weight: 600 !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        text-decoration: none !important;
    }

    .elementor-1226 .elementor-element-4f30738e .elementor-button:hover {
        background-color: #FF0132 !important;
    }
}

.elementor-element-79b80b4f {
    position: relative !important;
    z-index: 10 !important;
    background: transparent !important;
    padding: 8px 30px !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.elementor-element-79b80b4f .elementor-container {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.elementor-element-16c05634 {
    width: 50% !important;
    flex: 0 0 50% !important;
}

.elementor-element-16c05634 .elementor-icon-list-item,
.elementor-element-16c05634 .elementor-icon-list-item > a {
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
}

.elementor-element-3af35344 {
    width: 50% !important;
    flex: 0 0 50% !important;
}

.elementor-element-35b4816a .elementor-icon-list-item,
.elementor-element-35b4816a .elementor-icon-list-item > span,
.elementor-element-35b4816a .elementor-icon-list-text {
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    font-size: 13px !important;
}

.elementor-element-7d27c7d1 {
    position: relative !important;
    z-index: 99 !important;
    background: transparent !important;
    padding: 20px 0 !important;
}

.elementor-element-7d27c7d1 > .elementor-container {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
}

.elementor-element-1a2d8550 {
    width: 18% !important;
    flex: 0 0 18% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

.elementor-element-1a2d8550 img {
    max-width: 140px !important;
    height: auto !important;
    display: block !important;
}

.elementor-element-22141b08 {
    width: 64% !important;
    flex: 0 0 64% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.elementor-element-22141b08 .elementor-nav-menu--main {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    position: relative !important;
}

.elementor-element-22141b08 .elementor-nav-menu--main > ul.elementor-nav-menu {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center !important;
    white-space: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 8px !important;
    list-style: none !important;
}

.elementor-element-22141b08 .elementor-nav-menu--main > ul.elementor-nav-menu > li {
    display: inline-flex !important;
    align-items: center !important;
    white-space: nowrap !important;
    position: relative !important;
}

/* Flechas de submenú: EXACTAMENTE UNA FLECHA LIMPIA */
.elementor-nav-menu a > .sub-arrow ~ .sub-arrow,
.elementor-nav-menu a > .sub-arrow:nth-of-type(n+2) {
    display: none !important;
}

.elementor-nav-menu--main > ul.elementor-nav-menu > li > a > .sub-arrow {
    margin-left: 6px !important;
    font-size: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
}

.elementor-nav-menu--main > ul.elementor-nav-menu > li > a > .sub-arrow i {
    font-size: 10px !important;
    transform: none !important;
}

/* ==========================================================================
   ESTILO EXACTO DEL SUBMENÚ (DROPDOWN Y FLYOUT VERTICAL)
   ========================================================================== */
.elementor-nav-menu--main ul.sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    background-color: #ffffff !important;
    box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.15) !important;
    border-top: 3px solid #E20613 !important;
    border-radius: 0 0 4px 4px !important;
    padding: 0 !important;
    margin: 0 !important;
    min-width: 250px !important;
    width: max-content !important;
    display: none !important;
    flex-direction: column !important;
    z-index: 99999 !important;
    list-style: none !important;
}

/* Mostrar dropdown al pasar el mouse */
.elementor-nav-menu--main li:hover > ul.sub-menu,
.elementor-nav-menu--main li:focus-within > ul.sub-menu,
.elementor-nav-menu--main li.highlighted > ul.sub-menu {
    display: flex !important;
}

.elementor-nav-menu--main ul.sub-menu > li {
    display: block !important;
    width: 100% !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

.elementor-nav-menu--main ul.sub-menu > li:last-child {
    border-bottom: none !important;
}

.elementor-nav-menu--main ul.sub-menu > li > a {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 13px 20px !important;
    color: #3D4D87 !important;
    background-color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.elementor-nav-menu--main ul.sub-menu > li > a .sub-arrow {
    margin-left: 15px !important;
    display: inline-flex !important;
    align-items: center !important;
}

.elementor-nav-menu--main ul.sub-menu > li > a .sub-arrow i {
    font-size: 10px !important;
    transform: rotate(-90deg) !important;
}

/* Hover y estado activo del item padre */
.elementor-nav-menu--main ul.sub-menu > li:hover > a,
.elementor-nav-menu--main ul.sub-menu > li.highlighted > a,
.elementor-nav-menu--main ul.sub-menu > li > a:hover {
    background-color: #3D4D87 !important;
    color: #ffffff !important;
}

.elementor-nav-menu--main ul.sub-menu > li:hover > a .sub-arrow i,
.elementor-nav-menu--main ul.sub-menu > li.highlighted > a .sub-arrow i {
    color: #ffffff !important;
}

/* Submenú anidado de segundo nivel (Flyout lateral) */
.elementor-nav-menu--main ul.sub-menu ul.sub-menu {
    top: 0 !important;
    left: 100% !important;
    border-top: none !important;
    border-left: 1px solid #f0f0f0 !important;
    box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.12) !important;
    min-width: 320px !important;
    width: max-content !important;
}

.elementor-nav-menu--main ul.sub-menu ul.sub-menu > li > a {
    color: #3D4D87 !important;
    background-color: #ffffff !important;
    font-size: 14px !important;
    padding: 13px 22px !important;
}

.elementor-nav-menu--main ul.sub-menu ul.sub-menu > li > a:hover {
    background-color: #f7f9fc !important;
    color: #E20613 !important;
}

.elementor-element-3aa33aac {
    width: 18% !important;
    flex: 0 0 18% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

.elementor-element-6f8003c .elementor-button {
    white-space: nowrap !important;
}

/* Hero con video en escritorio */
.elementor-element-261f3039 {
    position: relative !important;
    min-height: 650px !important;
    height: 100vh !important;
    max-height: 850px !important;
    width: 100% !important;
    margin-top: 0 !important;
    background-color: #000000 !important;
    overflow: hidden !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    z-index: 1 !important;
}

.elementor-background-video-container {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    z-index: 1 !important;
    display: block !important;
    background-color: #000000 !important;
}

.elementor-background-video-container video,
video.elementor-background-video-hosted {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    z-index: 1 !important;
    background-color: #000000 !important;
    display: block !important;
    margin: 0 auto !important;
}

.elementor-element-261f3039 .elementor-container {
    position: relative !important;
    z-index: 5 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
}

/* ==========================================================================
   SECCIÓN SEINPROEC (ACERCA DE) - LOGO CENTRADO Y TARJETA
   ========================================================================== */
.elementor-element-df16b43 > .elementor-container {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
}

.elementor-element-77b2565 {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.elementor-element-0690e6e {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}

.elementor-element-0690e6e .elementor-widget-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
}

.elementor-element-28bc1eb {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    text-align: center !important;
}

.elementor-element-28bc1eb img {
    margin: 0 auto !important;
    display: block !important;
    max-width: 320px !important;
    height: auto !important;
}

/* ==========================================================================
   EQUAL HEIGHT PARA LAS 4 TARJETAS DE SERVICIOS (ASESORÍA, DISEÑO, ETC.)
   Y DEMÁS CAJAS DE LA WEB PARA QUE TODAS TENGAN LA MISMA MEDIDA
   ========================================================================== */
.elementor-element-1193b23 > .elementor-container {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
}

.elementor-element-0f71111,
.elementor-element-ddf1566,
.elementor-element-cb9f10b,
.elementor-element-9bd329b {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    height: auto !important;
}

.elementor-element-0f71111 .elementor-column-wrap,
.elementor-element-0f71111 .elementor-widget-wrap,
.elementor-element-ddf1566 .elementor-column-wrap,
.elementor-element-ddf1566 .elementor-widget-wrap,
.elementor-element-cb9f10b .elementor-column-wrap,
.elementor-element-cb9f10b .elementor-widget-wrap,
.elementor-element-9bd329b .elementor-column-wrap,
.elementor-element-9bd329b .elementor-widget-wrap {
    height: 100% !important;
    min-height: 100% !important;
    flex: 1 1 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: center !important;
    box-sizing: border-box !important;
}

.elementor-element-0f71111 .elementor-widget-image-box,
.elementor-element-ddf1566 .elementor-widget-image-box,
.elementor-element-cb9f10b .elementor-widget-image-box,
.elementor-element-9bd329b .elementor-widget-image-box,
.elementor-element-0f71111 .elementor-image-box-wrapper,
.elementor-element-ddf1566 .elementor-image-box-wrapper,
.elementor-element-cb9f10b .elementor-image-box-wrapper,
.elementor-element-9bd329b .elementor-image-box-wrapper {
    height: 100% !important;
    flex: 1 1 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.elementor-image-box-img {
    height: 80px !important;
    min-height: 80px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 12px !important;
}

.elementor-image-box-img img {
    max-height: 70px !important;
    width: auto !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    display: block !important;
}

.elementor-image-box-content {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    width: 100% !important;
    justify-content: flex-start !important;
}

.elementor-image-box-title {
    margin-bottom: 12px !important;
    font-size: 19px !important;
}

.elementor-image-box-description {
    flex-grow: 1 !important;
    line-height: 1.6 !important;
}

/* Igualar altura de las 6 cajas en Servicios Que Ofrecemos */
.elementor-widget-exad-exclusive-card,
.exad-card,
.exad-card-inner {
    height: 100% !important;
    min-height: 220px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
}

/* ==========================================================================
   PUNTOS / PAGINACIÓN DE CARRUSELES Y SLIDERS CENTRADOS
   ========================================================================== */
.swiper-pagination,
.swiper-pagination-bullets,
.swiper-pagination-horizontal,
.elementor-image-carousel-wrapper .swiper-pagination,
.elementor-swiper .swiper-pagination,
.swiper-container .swiper-pagination {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    margin: 15px auto 0 auto !important;
    text-align: center !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    transform: none !important;
    z-index: 10 !important;
}

.swiper-pagination-bullet {
    margin: 0 4px !important;
    display: inline-block !important;
}

/* Iconos de Redes Sociales en Footer */
.elementor-social-icons-wrapper {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 15px !important;
}

.elementor-social-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    color: #ffffff !important;
    font-size: 20px !important;
    text-decoration: none !important;
    transition: transform 0.2s ease, opacity 0.2s ease !important;
}

.elementor-social-icon-facebook {
    background-color: #3b5998 !important;
}

.elementor-social-icon-instagram {
    background-color: #3f729b !important;
}

.elementor-social-icon:hover {
    transform: scale(1.08) !important;
    opacity: 0.9 !important;
}

/* Iconos de Contacto (Casa, Mail, Telefono, Reloj) */
.elementor-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.elementor-icon i {
    font-size: 32px !important;
    color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   4. OPTIMIZACIÓN RESPONSIVE COMPLETA PARA MÓVIL Y TABLET (MAX-WIDTH: 768px)
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {

    /* --- Protección contra scroll horizontal --- */
    html, body {
        width: 100% !important;
        max-width: 100vw !important;
        overflow-x: hidden !important;
        position: relative !important;
    }

    /* --- Contenedores y Secciones --- */
    .elementor-section {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        box-sizing: border-box !important;
    }

    .elementor-section.elementor-section-boxed > .elementor-container,
    .elementor-section.elementor-section-full_width > .elementor-container,
    .elementor-inner-section > .elementor-container,
    .elementor-container,
    .elementor-row {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 !important;
        flex-wrap: wrap !important;
        box-sizing: border-box !important;
    }

    /* --- Columnas a fila única (100% width) --- */
    .elementor-column,
    .elementor-col-100,
    .elementor-col-50,
    .elementor-col-33,
    .elementor-col-25,
    .elementor-col-20,
    .elementor-col-16,
    .elementor-col-66 {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-top: 10px !important;
        margin-bottom: 15px !important;
        box-sizing: border-box !important;
        text-align: center !important;
    }

    .elementor-column-wrap,
    .elementor-widget-wrap,
    .elementor-element-populated {
        width: 100% !important;
        max-width: 100% !important;
        padding: 4px !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* --- Header Móvil idéntico a la web original --- */
    .elementor-element-79b80b4f {
        display: none !important;
    }

    .elementor-element-7d27c7d1 {
        padding: 10px 15px !important;
        background-color: #000000 !important;
    }

    .elementor-element-7d27c7d1 > .elementor-container {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
    }

    .elementor-element-1a2d8550 {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        margin: 0 auto !important;
    }

    .elementor-element-1a2d8550 img {
        max-width: 90px !important;
        width: 90px !important;
        height: auto !important;
        margin: 0 auto !important;
        display: block !important;
    }

    .elementor-element-22141b08 {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin: 0 auto !important;
    }

    .elementor-element-22141b08 .elementor-nav-menu--main {
        display: none !important;
    }

    .elementor-element-22141b08 .elementor-menu-toggle {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin: 0 auto !important;
        color: #ffffff !important;
        font-size: 24px !important;
        background: transparent !important;
    }

    .elementor-element-3aa33aac {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin: 0 auto !important;
    }

    /* --- Header Móvil para Páginas Internas (1226) --- */
    .elementor-1226.elementor-location-header {
        position: relative !important;
        width: 100% !important;
        background: #ffffff !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
        z-index: 99 !important;
    }

    .elementor-1226 .elementor-element-28a896af {
        padding: 12px 10px !important;
        background: #ffffff !important;
    }

    .elementor-1226 .elementor-element-28a896af > .elementor-container {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        width: 100% !important;
    }

    .elementor-1226 .elementor-element-1ea53608 {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin: 0 auto !important;
    }

    .elementor-1226 .elementor-element-5296e6ee {
        width: 100% !important;
        text-align: center !important;
        margin: 0 !important;
    }

    .elementor-1226 .elementor-element-5296e6ee img {
        max-width: 130px !important;
        width: 130px !important;
        height: auto !important;
        margin: 0 auto !important;
        display: block !important;
    }

    .elementor-1226 .elementor-element-10837e24 {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin: 0 auto !important;
    }

    .elementor-1226 .elementor-element-52de440d .elementor-nav-menu--main {
        display: none !important;
    }

    .elementor-1226 .elementor-element-52de440d .elementor-menu-toggle {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin: 0 auto !important;
        color: #3D4D87 !important;
        font-size: 26px !important;
        background: transparent !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 6px !important;
        padding: 6px 12px !important;
    }

    .elementor-1226 .elementor-element-30483c80 {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 5px auto 0 auto !important;
    }

    .elementor-1226 .elementor-element-30483c80 .elementor-widget-wrap {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 12px !important;
        width: 100% !important;
    }

    .elementor-1226 .elementor-element-1bb4181b {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin: 0 !important;
    }

    .elementor-1226 .elementor-element-1bb4181b .elementor-icon-list-items {
        display: flex !important;
        flex-direction: row !important;
        gap: 14px !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .elementor-1226 .elementor-element-1bb4181b .elementor-icon-list-item a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #3D4D87 !important;
        font-size: 16px !important;
    }

    .elementor-1226 .elementor-element-c3a9b60 {
        width: 100% !important;
        max-width: 100% !important;
        margin: 4px 0 !important;
    }

    .elementor-1226 .elementor-element-c3a9b60 .elementor-icon-list-items {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 6px !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
    }

    .elementor-1226 .elementor-element-c3a9b60 .elementor-icon-list-item {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        line-height: 1.4 !important;
        font-size: 13px !important;
        color: #3D4D87 !important;
        white-space: normal !important;
        word-break: break-all !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .elementor-1226 .elementor-element-c3a9b60 .elementor-icon-list-item:after {
        display: none !important;
    }

    .elementor-1226 .elementor-element-c3a9b60 .elementor-icon-list-icon {
        padding: 0 !important;
        margin: 0 !important;
    }

    .elementor-1226 .elementor-element-c3a9b60 .elementor-icon-list-icon i {
        color: #FF0132 !important;
        font-size: 14px !important;
    }

    .elementor-1226 .elementor-element-4f30738e {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 6px 0 0 0 !important;
    }

    .elementor-1226 .elementor-element-4f30738e .elementor-button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        background-color: #3D4D87 !important;
        color: #ffffff !important;
        border-radius: 6px !important;
        padding: 10px 22px !important;
        font-size: 13.5px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        width: auto !important;
        min-width: 200px !important;
    }

    /* --- Hero con Video Centrado en Celular --- */
    .elementor-element-261f3039 {
        min-height: 280px !important;
        height: 280px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 0 !important;
        padding: 0 !important;
        background-color: #000000 !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }

    .elementor-background-video-container {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        background-color: #000000 !important;
    }

    .elementor-background-video-container video,
    video.elementor-background-video-hosted {
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        transform: none !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
        object-position: center center !important;
        margin: 0 auto !important;
        display: block !important;
    }

    /* --- Tipografía y Títulos Adaptables --- */
    h1, .elementor-heading-title.elementor-size-xl,
    h1.elementor-heading-title {
        font-size: clamp(22px, 6vw, 30px) !important;
        line-height: 1.25 !important;
        text-align: center !important;
        max-width: 100% !important;
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
        margin: 10px auto !important;
    }

    h2, .elementor-heading-title.elementor-size-large,
    h2.elementor-heading-title {
        font-size: clamp(19px, 5.2vw, 24px) !important;
        line-height: 1.3 !important;
        text-align: center !important;
        max-width: 100% !important;
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
        margin: 8px auto !important;
    }

    h3, .elementor-heading-title.elementor-size-medium,
    h3.elementor-heading-title {
        font-size: clamp(17px, 4.5vw, 20px) !important;
        line-height: 1.35 !important;
        text-align: center !important;
        max-width: 100% !important;
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
        margin: 8px auto !important;
    }

    p, .elementor-text-editor, .elementor-widget-text-editor {
        font-size: 14.5px !important;
        line-height: 1.6 !important;
        text-align: center !important;
        max-width: 100% !important;
        overflow-wrap: break-word !important;
        margin: 8px auto !important;
    }

    ul, ol, .elementor-icon-list-items {
        text-align: left !important;
        display: inline-block !important;
        margin: 10px auto !important;
        max-width: 100% !important;
        padding-left: 20px !important;
    }

    .elementor-icon-list-item {
        margin-bottom: 8px !important;
        font-size: 14px !important;
    }

    /* --- Tarjetas / Cards en Móvil --- */
    .elementor-widget-icon-box,
    .elementor-widget-image-box {
        width: 96% !important;
        max-width: 100% !important;
        margin: 8px auto !important;
        box-sizing: border-box !important;
    }

    /* --- Marcas que Trabajamos - Carrusel Swiper en Móvil --- */
    .elementor-widget-image-carousel .elementor-image-carousel-wrapper.swiper,
    .elementor-widget-image-carousel .swiper-container {
        display: block !important;
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        margin: 15px auto !important;
    }

    .elementor-widget-image-carousel .elementor-image-carousel.swiper-wrapper {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        height: auto !important;
        align-items: center !important;
    }

    .elementor-widget-image-carousel .swiper-slide {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        height: auto !important;
        flex-shrink: 0 !important;
        text-align: center !important;
    }

    /* Logos de Marcas que Trabajamos */
    .elementor-element-3613cf6 .elementor-widget-image-carousel .swiper-slide img {
        max-width: 155px !important;
        width: auto !important;
        height: auto !important;
        max-height: 110px !important;
        object-fit: contain !important;
        margin: 0 auto !important;
        display: block !important;
    }

    /* Fotos de Nuestro Trabajo (Slider) */
    .elementor-element-f999932 .elementor-widget-image-carousel .swiper-slide img {
        max-width: 240px !important;
        width: auto !important;
        height: auto !important;
        max-height: 220px !important;
        object-fit: cover !important;
        border-radius: 8px !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12) !important;
        margin: 0 auto !important;
        display: block !important;
    }

    /* --- Galería "Nuestro Trabajo" en Móvil --- */
    .elementor-image-gallery .gallery,
    .gallery-columns-6 {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 10px auto !important;
    }

    .gallery-item {
        width: 100% !important;
        margin: 0 !important;
    }

    .gallery-item img {
        width: 100% !important;
        height: 125px !important;
        object-fit: cover !important;
        border-radius: 6px !important;
        display: block !important;
    }

    /* --- Botones Móviles Táctiles y Centrados --- */
    .elementor-button,
    .elementor-button-wrapper,
    a.elementor-button,
    button.elementor-button {
        display: inline-block !important;
        width: auto !important;
        min-width: 180px !important;
        max-width: 100% !important;
        margin: 12px auto !important;
        padding: 12px 20px !important;
        font-size: 14.5px !important;
        text-align: center !important;
        box-sizing: border-box !important;
        border-radius: 5px !important;
    }

    .elementor-widget-button {
        text-align: center !important;
        width: 100% !important;
    }

    /* --- Imágenes Responsivas --- */
    img {
        max-width: 100% !important;
        height: auto !important;
        margin: 0 auto !important;
        display: block !important;
    }

    .elementor-widget-image {
        text-align: center !important;
        margin: 10px auto !important;
    }

    /* --- Formulario de Contacto Móvil --- */
    form.elementor-form,
    .elementor-form {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 4px !important;
        box-sizing: border-box !important;
    }

    .elementor-form-fields-wrapper {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 10px !important;
        box-sizing: border-box !important;
    }

    /* Ocultar etiquetas (labels) duplicadas para que solo se vea el campo limpio con su placeholder */
    .elementor-field-label,
    label.elementor-field-label {
        display: none !important;
    }

    .elementor-field-group,
    .elementor-field-group.elementor-col-100,
    .elementor-field-group.elementor-col-50,
    .elementor-field-group.elementor-col-33 {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    form.elementor-form input,
    form.elementor-form textarea,
    form.elementor-form select,
    .elementor-field-textual {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 15px !important;
        padding: 11px 14px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        border-radius: 4px !important;
        border: 1px solid rgba(255, 255, 255, 0.2) !important;
    }

    form.elementor-form button,
    form.elementor-form input[type="submit"],
    .elementor-button.elementor-size-sm {
        width: 100% !important;
        padding: 12px !important;
        font-size: 16px !important;
        box-sizing: border-box !important;
    }

    /* --- Modal / Popup Responsivo --- */
    .dialog-widget-content,
    .elementor-popup-modal .dialog-message,
    .elementor-modal {
        width: calc(100% - 24px) !important;
        max-width: 100% !important;
        max-height: 90vh !important;
        overflow-y: auto !important;
        margin: auto !important;
        box-sizing: border-box !important;
        border-radius: 8px !important;
    }

    /* --- Footer y Redes Sociales en Móvil --- */
    .elementor-social-icons-wrapper {
        display: flex !important;
        justify-content: center !important;
        gap: 16px !important;
        margin: 15px auto !important;
    }

    .elementor-social-icon {
        width: 48px !important;
        height: 48px !important;
    }

    /* --- Header Estándar de WordPress (Páginas de blog / posts como por-que-confiar-en-nosotros) --- */
    .site-header {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        padding: 10px 14px !important;
        box-sizing: border-box !important;
    }

    .site-header .site-navigation {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .site-header ul.menu {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
        box-sizing: border-box !important;
    }

    .site-header ul.menu li {
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    .site-header ul.sub-menu,
    .site-navigation ul.sub-menu,
    .site-navigation ul.menu li ul {
        display: none !important;
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        box-shadow: none !important;
        left: auto !important;
        top: auto !important;
    }

    .site-header ul.menu li.menu-item-has-children:hover > ul.sub-menu,
    .site-header ul.menu li.menu-item-has-children:focus-within > ul.sub-menu,
    .site-navigation ul.menu li.menu-item-has-children:hover > ul,
    .site-navigation ul.menu li.menu-item-has-children:focus-within > ul {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .site-header ul.sub-menu li,
    .site-navigation ul.menu li ul li {
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
        box-sizing: border-box !important;
        border: none !important;
    }

    .site-header ul.sub-menu li a,
    .site-navigation ul.menu li ul li a {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
        padding: 8px 10px !important;
        text-align: center !important;
    }
}

/* ==========================================================================
   5. AJUSTES FINOS PARA PANTALLAS EXTRA PEQUEÑAS (MAX-WIDTH: 430px)
   ========================================================================== */
@media (max-width: 430px) {
    .elementor-section {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    h1, .elementor-heading-title.elementor-size-xl {
        font-size: 21px !important;
    }

    h2, .elementor-heading-title.elementor-size-large {
        font-size: 18.5px !important;
    }

    .elementor-element-261f3039 {
        min-height: 240px !important;
        height: 240px !important;
    }

    .elementor-image-gallery .gallery,
    .gallery-columns-6 {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 6px !important;
    }

    .gallery-item img {
        height: 105px !important;
    }
}
