.elementor-4032 .elementor-element.elementor-element-dc1d1e1{--display:flex;}.elementor-4032 .elementor-element.elementor-element-60a41b7{--e-search-placeholder-color:var( --e-global-color-secondary );--e-search-input-color:var( --e-global-color-astglobalcolor4 );}#elementor-popup-modal-4032 .dialog-widget-content{animation-duration:1.2s;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}#elementor-popup-modal-4032{background-color:rgba(0,0,0,.8);justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-4032 .dialog-message{height:auto;}#elementor-popup-modal-4032 .dialog-close-button{display:flex;}/* Start custom CSS for search, class: .elementor-element-60a41b7 *//* ============================================
   PERSI LENTS — PREMIUM SEARCH
   Elementor Search Widget / Popup
============================================ */

.elementor-4032 .elementor-element.elementor-element-60a41b7 {
    --persi-navy: #102D4F;
    --persi-blue: #29A3F5;
    --persi-border: #DEE7EF;
    --persi-ease: cubic-bezier(.22, 1, .36, 1);

    width: 100%;
    max-width: 840px;
    margin: 0 auto;
}

/* ============================================
   01 — ESTRUCTURA GENERAL
============================================ */

.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search {
    width: 100%;
    overflow: visible;
}

.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-form {
    position: relative;

    display: flex;
    align-items: stretch;

    width: 100%;
    min-height: 76px;
    padding: 7px;

    background: #FFFFFF;

    border: 1px solid var(--persi-border);
    border-radius: 18px;

    box-shadow:
        0 24px 65px rgba(8, 25, 51, .16),
        0 6px 20px rgba(8, 25, 51, .07);

    transition:
        border-color .4s ease,
        box-shadow .5s var(--persi-ease),
        transform .5s var(--persi-ease);
}

/* Foco: profundidad y borde celeste */

.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-form:focus-within {
    border-color: var(--persi-blue);

    box-shadow:
        0 28px 75px rgba(8, 25, 51, .19),
        0 0 0 4px rgba(41, 163, 245, .11);

    transform: translateY(-2px);
}

/* ============================================
   02 — CONTENEDOR DEL INPUT
============================================ */

.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-input-wrapper {
    position: relative;

    display: flex;
    align-items: center;

    flex: 1 1 auto;
    min-width: 0;
}

/* ============================================
   03 — CAMPO DE BÚSQUEDA
============================================ */

.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-input {
    box-sizing: border-box;

    display: block;
    width: 100%;
    min-width: 0;
    min-height: 60px;

    margin: 0 !important;
    padding: 0 24px !important;

    border: none !important;
    border-radius: 12px !important;

    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;

    color: var(--persi-navy) !important;

    font-family: "Josefin Sans", sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: .1px;

    -webkit-appearance: none;
    appearance: none;

    transition: color .3s ease;
}

/* Placeholder */

.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-input::placeholder {
    color: #8290A0 !important;
    opacity: 1;

    font-weight: 400;
    transition: color .35s ease;
}

/* Placeholder cuando se activa */

.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-input:focus::placeholder {
    color: #A4B1BF !important;
}

/* Evitar estilos predeterminados de focus */

.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-input:focus,
.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-input:hover {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* ============================================
   04 — BOTÓN DE BÚSQUEDA
============================================ */

.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-submit {
    display: flex !important;
    align-items: center;
    justify-content: center;

    flex: 0 0 64px;

    width: 64px !important;
    min-width: 64px;
    min-height: 60px;

    padding: 0 !important;
    margin: 0 !important;

    border: 1px solid transparent !important;
    border-radius: 12px !important;

    background: var(--persi-navy) !important;
    color: #FFFFFF !important;

    cursor: pointer;

    box-shadow:
        0 4px 12px rgba(16, 45, 79, .12);

    transition:
        background .4s ease,
        transform .4s var(--persi-ease),
        box-shadow .4s ease;
}

/* Ícono de búsqueda */

.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-submit svg {
    width: 21px !important;
    height: 21px !important;

    fill: currentColor;
    color: inherit;

    transition:
        transform .4s var(--persi-ease);
}

.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-submit i {
    font-size: 20px;
    color: inherit;

    transition:
        transform .4s var(--persi-ease);
}

/* Hover celeste */

.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-submit:hover {
    background: var(--persi-blue) !important;
    color: #FFFFFF !important;

    transform: translateY(-1px);

    box-shadow:
        0 8px 22px rgba(41, 163, 245, .25);
}

/* Ícono ligeramente más grande */

.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-submit:hover svg,
.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-submit:hover i {
    transform: scale(1.08);
}

/* Al hacer clic */

.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-submit:active {
    transform: scale(.97);
}

/* Accesibilidad */

.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-submit:focus-visible {
    outline: 2px solid var(--persi-blue);
    outline-offset: 3px;
}

/* ============================================
   05 — BOTÓN PARA LIMPIAR EL CAMPO
============================================ */

.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-input-wrapper > i,
.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-clear {
    color: #91A1B2;
    opacity: .7;

    cursor: pointer;

    transition:
        color .3s ease,
        opacity .3s ease,
        transform .3s ease;
}

.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-input-wrapper > i:hover,
.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-clear:hover {
    color: var(--persi-blue);
    opacity: 1;
    transform: scale(1.08);
}

/* ============================================
   06 — RESULTADOS EN VIVO
   Se aplican cuando están habilitados
============================================ */

.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-results-container {
    background: #FFFFFF;

    border: 1px solid #E5ECF3;
    border-radius: 14px;

    box-shadow:
        0 20px 50px rgba(12, 31, 52, .13);

    color: var(--persi-navy);

    max-height: 380px;
    overflow-y: auto;
    overscroll-behavior: contain;
}

/* Espaciado de resultados */

.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-results {
    padding: 8px;
}

/* Links de resultados */

.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-results a {
    color: var(--persi-navy);

    border-radius: 8px;

    transition:
        background .3s ease,
        color .3s ease;
}

.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-results a:hover {
    color: var(--persi-blue);
    background: #F2F9FF;
}

/* Scroll interno discreto */

.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-results-container::-webkit-scrollbar {
    width: 5px;
}

.elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-results-container::-webkit-scrollbar-thumb {
    background: #C7D6E4;
    border-radius: 10px;
}

/* ============================================
   07 — EFECTO HOVER GENERAL
============================================ */

@media (hover: hover) {

    .elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-form:hover {
        border-color: #C2D4E5;
    }

    .elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-form:focus-within:hover {
        border-color: var(--persi-blue);
    }
}

/* ============================================
   08 — TABLET
============================================ */

@media (max-width: 1024px) {

    .elementor-4032 .elementor-element.elementor-element-60a41b7 {
        max-width: 720px;
    }

    .elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-form {
        min-height: 68px;
        border-radius: 16px;
    }

    .elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-input {
        min-height: 52px;
        font-size: 16px;
    }

    .elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-submit {
        flex-basis: 56px;
        width: 56px !important;
        min-width: 56px;
        min-height: 52px;
    }
}

/* ============================================
   09 — MOBILE
============================================ */

@media (max-width: 767px) {

    .elementor-4032 .elementor-element.elementor-element-60a41b7 {
        width: 100%;
        max-width: 100%;
    }

    .elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-form {
        min-height: 60px;
        padding: 5px;

        border-radius: 13px;

        box-shadow:
            0 16px 40px rgba(8, 25, 51, .14);
    }

    .elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-input {
        min-height: 48px;

        padding: 0 12px !important;

        font-size: 14px;
        letter-spacing: 0;
    }

    .elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-submit {
        flex-basis: 48px;

        width: 48px !important;
        min-width: 48px;
        min-height: 48px;

        border-radius: 9px !important;
    }

    .elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-submit svg {
        width: 18px !important;
        height: 18px !important;
    }

    .elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-results-container {
        max-height: 50vh;
    }

    .elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-form:focus-within {
        transform: none;
    }
}

/* ============================================
   10 — ACCESIBILIDAD
============================================ */

@media (prefers-reduced-motion: reduce) {

    .elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-form,
    .elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-input,
    .elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-submit,
    .elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-submit svg,
    .elementor-4032 .elementor-element.elementor-element-60a41b7 .e-search-submit i {
        transition: none !important;
        animation: none !important;
    }
}/* End custom CSS */