.elementor-514 .elementor-element.elementor-element-a3ac0ad{--display:flex;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-html{padding-bottom:0px;}.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-514 .elementor-element.elementor-element-27a8d40 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-button[type="submit"]{color:#ffffff;}.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-514 .elementor-element.elementor-element-27a8d40 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-514 .elementor-element.elementor-element-27a8d40 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-514 .elementor-element.elementor-element-27a8d40 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-514 .elementor-element.elementor-element-27a8d40{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}#elementor-popup-modal-514 .dialog-message{width:640px;height:auto;}#elementor-popup-modal-514{justify-content:center;align-items:center;pointer-events:all;background-color:rgba(0,0,0,.8);}#elementor-popup-modal-514 .dialog-close-button{display:flex;font-size:22px;}#elementor-popup-modal-514 .dialog-widget-content{background-color:#02010100;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}#elementor-popup-modal-514 .dialog-close-button i{color:#FFFFFF;}#elementor-popup-modal-514 .dialog-close-button svg{fill:#FFFFFF;}/* Start custom CSS for form, class: .elementor-element-27a8d40 *//* ==========================================
   MOED | FORMULARIO POPUP DARK MODE
   Elementor Pro | CSS completo de reemplazo
========================================== */

/* ==========================================
   01. TARJETA PRINCIPAL
========================================== */

.elementor-514 .elementor-element.elementor-element-27a8d40 {
    position: relative;
    isolation: isolate;

    width: 100%;
    padding: 27px;

    background:
        linear-gradient(180deg, rgba(19, 17, 28, 0.98) 0%, rgba(12, 11, 18, 0.98) 100%) !important;

    border: 1.5px solid rgba(178, 150, 252, 0.48);
    border-radius: 27px;

    box-shadow:
        0 24px 55px rgba(0, 0, 0, 0.42),
        0 10px 35px rgba(78, 10, 95, 0.24),
        0 0 0 1px rgba(250, 24, 160, 0.04);

    transition:
        box-shadow .35s ease,
        border-color .35s ease,
        transform .35s ease;
}

.elementor-514 .elementor-element.elementor-element-27a8d40:hover {
    border-color: rgba(178, 150, 252, 0.78);

    box-shadow:
        0 28px 65px rgba(0, 0, 0, 0.48),
        0 14px 38px rgba(78, 10, 95, 0.30),
        0 0 26px rgba(178, 150, 252, 0.10);
}

/* Glow decorativo */
.elementor-514 .elementor-element.elementor-element-27a8d40::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 27px;
    pointer-events: none;

    background:
        radial-gradient(circle at 0% 0%, rgba(250, 24, 160, 0.10), transparent 28%),
        radial-gradient(circle at 100% 100%, rgba(71, 230, 225, 0.08), transparent 26%);

    opacity: .95;
}

/* ==========================================
   02. ESTRUCTURA DEL FORMULARIO
========================================== */

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-form-fields-wrapper {
    display: flex;
    flex-wrap: wrap;

    align-items: flex-start;
    align-content: flex-start;

    column-gap: 16px;
    row-gap: 15px;
}

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-group {
    position: relative;
    min-width: 0;
    margin: 0;
    padding: 0;
}

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-group.elementor-col-50 {
    width: calc(50% - 8px);
    flex: 0 0 calc(50% - 8px);
    max-width: calc(50% - 8px);
}

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-group.elementor-col-100 {
    width: 100%;
    flex: 0 0 100%;
    max-width: 100%;
}

/* ==========================================
   03. ETIQUETAS ACCESIBLES
========================================== */

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-label {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* ==========================================
   04. CAMPOS GENERALES
   Excluimos el Select deliberadamente
========================================== */

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-group input.elementor-field,
.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-group textarea.elementor-field {
    display: block;
    width: 100%;
    min-height: 54px;

    margin: 0;
    padding: 14px 18px;

    background: rgba(255, 255, 255, 0.05) !important;
    border: 1.5px solid rgba(178, 150, 252, 0.20) !important;
    border-radius: 16px !important;

    color: #FFFFFF !important;

    font-family: 'Nunito', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;

    box-shadow: none !important;
    outline: none !important;
    -webkit-appearance: none;

    transition:
        border-color .25s ease,
        box-shadow .25s ease,
        background .25s ease;
}

/* PLACEHOLDERS */

.elementor-514 .elementor-element.elementor-element-27a8d40 input.elementor-field::placeholder,
.elementor-514 .elementor-element.elementor-element-27a8d40 textarea.elementor-field::placeholder {
    color: #A8B0C5 !important;
    opacity: 1 !important;
}

/* HOVER */

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-group input.elementor-field:hover,
.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-group textarea.elementor-field:hover {
    border-color: rgba(178, 150, 252, 0.42) !important;
    background: rgba(255, 255, 255, 0.07) !important;
}

/* FOCUS */

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-group input.elementor-field:focus,
.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-group textarea.elementor-field:focus {
    border-color: #B296FC !important;
    background: rgba(255, 255, 255, 0.08) !important;
    box-shadow:
        0 0 0 4px rgba(178, 150, 252, 0.14),
        0 0 18px rgba(178, 150, 252, 0.08) !important;
}

/* ==========================================
   05. ESPACIO PARA ICONOS
========================================== */

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-group-name input.elementor-field,
.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-tel input.elementor-field,
.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-email input.elementor-field,
.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-textarea textarea.elementor-field {
    padding-left: 49px !important;
}

/* BASE DE ICONOS */

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-group-name::before,
.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-tel::before,
.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-email::before,
.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-textarea::before {
    content: "";
    position: absolute;
    z-index: 3;

    left: 17px;
    top: 16px;

    width: 21px;
    height: 21px;

    background-color: #DADDF2;
    pointer-events: none;
}

/* ==========================================
   06. ICONO NOMBRE
========================================== */

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-group-name::before {
    -webkit-mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3Cpath d='M4 21v-2a8 8 0 0 1 16 0v2'/%3E%3C/svg%3E")
        center / contain no-repeat;
    mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3Cpath d='M4 21v-2a8 8 0 0 1 16 0v2'/%3E%3C/svg%3E")
        center / contain no-repeat;
}

/* ==========================================
   07. ICONO WHATSAPP
========================================== */

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-tel::before {
    -webkit-mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.4 8.4 0 0 1-9 8.5 9 9 0 0 1-4-.9L3 21l1.9-5A8.5 8.5 0 1 1 21 11.5Z'/%3E%3Cpath d='M9 9c.5 3 3 5.5 6 6l1.5-1.5 2 1-1 2c-.5 1-2 1-3 0-4-1.5-7-4.5-8-8-.5-1 0-2 1-2l2-1 1 2L9 9Z'/%3E%3C/svg%3E")
        center / contain no-repeat;
    mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.4 8.4 0 0 1-9 8.5 9 9 0 0 1-4-.9L3 21l1.9-5A8.5 8.5 0 1 1 21 11.5Z'/%3E%3Cpath d='M9 9c.5 3 3 5.5 6 6l1.5-1.5 2 1-1 2c-.5 1-2 1-3 0-4-1.5-7-4.5-8-8-.5-1 0-2 1-2l2-1 1 2L9 9Z'/%3E%3C/svg%3E")
        center / contain no-repeat;
}

/* ==========================================
   08. ICONO EMAIL
========================================== */

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-email::before {
    -webkit-mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E")
        center / contain no-repeat;
    mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E")
        center / contain no-repeat;
}

/* ==========================================
   09. SELECT
========================================== */

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-select {
    position: relative;
}

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-select::before {
    content: none !important;
}

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-select .elementor-select-wrapper {
    position: relative !important;
    display: flex !important;
    align-items: center !important;

    width: 100%;
    min-height: 54px;

    margin: 0 !important;
    padding: 0 !important;

    background: rgba(255, 255, 255, 0.05) !important;
    border: 1.5px solid rgba(178, 150, 252, 0.20) !important;
    border-radius: 16px !important;

    box-shadow: none !important;
    outline: none !important;

    overflow: hidden;

    transition:
        border-color .25s ease,
        box-shadow .25s ease,
        background .25s ease;
}

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-select .elementor-select-wrapper select,
.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-select .elementor-select-wrapper select.elementor-field {
    display: block !important;

    width: 100% !important;
    height: 51px !important;
    min-height: 51px !important;

    margin: 0 !important;
    padding: 0 44px 0 49px !important;

    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;

    box-shadow: none !important;
    outline: none !important;

    color: #FFFFFF !important;

    font-family: 'Nunito', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: normal !important;

    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer;
}

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-select .elementor-select-wrapper select option {
    color: #111827;
    background: #FFFFFF;
}

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-select .elementor-select-wrapper::before {
    content: "";

    position: absolute;
    z-index: 3;

    left: 17px;
    top: 50%;
    transform: translateY(-50%);

    width: 21px;
    height: 21px;

    background-color: #DADDF2;

    -webkit-mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 2 9 5-9 5-9-5 9-5Z'/%3E%3Cpath d='m3 12 9 5 9-5M3 17l9 5 9-5'/%3E%3C/svg%3E")
        center / contain no-repeat;
    mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 2 9 5-9 5-9-5 9-5Z'/%3E%3Cpath d='m3 12 9 5 9-5M3 17l9 5 9-5'/%3E%3C/svg%3E")
        center / contain no-repeat;

    pointer-events: none;
}

/* Flecha del select */
.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-select .select-caret-down-wrapper {
    position: absolute !important;
    right: 17px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #DADDF2 !important;
    z-index: 3;
    pointer-events: none;
}

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-select .select-caret-down-wrapper svg {
    width: 15px;
    height: 15px;
}

/* Hover/Focus select */
.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-select .elementor-select-wrapper:hover {
    border-color: rgba(178, 150, 252, 0.42) !important;
    background: rgba(255, 255, 255, 0.07) !important;
}

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-select .elementor-select-wrapper:focus-within {
    border-color: #B296FC !important;
    background: rgba(255, 255, 255, 0.08) !important;
    box-shadow:
        0 0 0 4px rgba(178, 150, 252, 0.14),
        0 0 18px rgba(178, 150, 252, 0.08) !important;
}

/* ==========================================
   10. MENSAJE / TEXTAREA
========================================== */

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-textarea::before {
    top: 19px;
    width: 22px;
    height: 22px;

    -webkit-mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.4 8.4 0 0 1-9 8.5 9 9 0 0 1-4-.9L3 21l1.9-5A8.5 8.5 0 1 1 21 11.5Z'/%3E%3C/svg%3E")
        center / contain no-repeat;
    mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.4 8.4 0 0 1-9 8.5 9 9 0 0 1-4-.9L3 21l1.9-5A8.5 8.5 0 1 1 21 11.5Z'/%3E%3C/svg%3E")
        center / contain no-repeat;
}

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-textarea textarea.elementor-field {
    min-height: 125px;
    padding: 18px 18px 18px 49px !important;
    resize: vertical;
}

/* ==========================================
   11. BOTÓN
========================================== */

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-submit {
    width: 100%;
    flex: 0 0 100%;
    margin-top: 10px;
}

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-button {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 58px;

    padding: 14px 62px;
    overflow: hidden;

    color: #FFFFFF !important;

    background: linear-gradient(
        110deg,
        #FA18A0 0%,
        #A50091 35%,
        #730A82 68%,
        #4E0A5F 100%
    ) !important;

    border: none !important;
    border-radius: 999px !important;

    font-family: 'Nunito', sans-serif !important;
    font-size: 17px !important;
    font-weight: 900 !important;

    box-shadow:
        0 14px 30px rgba(250, 24, 160, 0.22),
        0 8px 18px rgba(78, 10, 95, 0.22);

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        filter .3s ease;
}

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-button-text {
    color: #FFFFFF !important;
    position: relative;
    z-index: 2;
}

/* Flecha fija en SVG, evita emoji en mobile */
.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-button::after {
    content: "";
    position: absolute;
    right: 28px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    z-index: 2;
    pointer-events: none;

    background-color: #FFFFFF;

    -webkit-mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7'/%3E%3Cpath d='M8 7h9v9'/%3E%3C/svg%3E")
        center / contain no-repeat;
    mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7'/%3E%3Cpath d='M8 7h9v9'/%3E%3C/svg%3E")
        center / contain no-repeat;

    transition: transform .3s ease;
}

/* Brillo interno */
.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-button::before {
    content: "";
    position: absolute;
    inset: 0;

    background: linear-gradient(
        110deg,
        transparent 20%,
        rgba(255, 255, 255, 0.14) 50%,
        transparent 80%
    );

    transform: translateX(-120%);
    transition: transform .6s ease;
}

/* Hover */
.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-button:hover {
    transform: translateY(-3px);
    filter: brightness(1.06);

    box-shadow:
        0 18px 36px rgba(250, 24, 160, 0.28),
        0 10px 28px rgba(78, 10, 95, 0.28);
}

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-button:hover::before {
    transform: translateX(120%);
}

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-button:hover::after {
    transform: translate(4px, calc(-50% - 4px));
}

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-button:focus-visible {
    outline: 3px solid #47E6E1;
    outline-offset: 4px;
}

/* ==========================================
   12. MENSAJES
========================================== */

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-message {
    margin-top: 15px;
    font-family: 'Nunito', sans-serif;
    font-size: 14px;
    font-weight: 700;
}

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-message-success {
    color: #47E6E1;
}

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-message-danger,
.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-error {
    color: #FF7AB8;
}

/* ==========================================
   13. ANIMACIÓN
========================================== */

@keyframes moedFormReveal {
    from {
        opacity: 0;
        transform: translateY(18px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-form {
    animation: moedFormReveal .8s cubic-bezier(.22, 1, .36, 1) both;
    position: relative;
    z-index: 2;
}

/* ==========================================
   14. TABLET
========================================== */

@media (max-width: 1024px) {
    .elementor-514 .elementor-element.elementor-element-27a8d40 {
        padding: 24px;
        border-radius: 24px;
    }

    .elementor-514 .elementor-element.elementor-element-27a8d40::before {
        border-radius: 24px;
    }

    .elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-form-fields-wrapper {
        column-gap: 13px;
        row-gap: 14px;
    }

    .elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-group.elementor-col-50 {
        width: calc(50% - 6.5px);
        flex-basis: calc(50% - 6.5px);
        max-width: calc(50% - 6.5px);
    }

    .elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-button {
        min-height: 56px;
        font-size: 16px !important;
    }
}

/* ==========================================
   15. MÓVIL
========================================== */

@media (max-width: 767px) {
    .elementor-514 .elementor-element.elementor-element-27a8d40 {
        padding: 20px 16px;
        border-radius: 22px;
    }

    .elementor-514 .elementor-element.elementor-element-27a8d40::before {
        border-radius: 22px;
    }

    .elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-form-fields-wrapper {
        column-gap: 0;
        row-gap: 13px;
    }

    .elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-group.elementor-col-50,
    .elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-group.elementor-col-100 {
        width: 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }

    .elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-group input.elementor-field,
    .elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-group textarea.elementor-field {
        min-height: 52px;
        font-size: 14px !important;
        border-radius: 14px !important;
    }

    .elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-select .elementor-select-wrapper {
        min-height: 52px;
        border-radius: 14px !important;
    }

    .elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-select .elementor-select-wrapper select {
        height: 49px !important;
        min-height: 49px !important;
        font-size: 14px !important;
    }

    .elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field-type-textarea textarea.elementor-field {
        min-height: 115px;
    }

    .elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-button {
        min-height: 55px;
        padding: 13px 52px;
        font-size: 16px !important;
    }

    .elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-button::after {
        right: 21px;
        width: 18px;
        height: 18px;
    }
}

/* ==========================================
   16. ACCESIBILIDAD
========================================== */

@media (prefers-reduced-motion: reduce) {
    .elementor-514 .elementor-element.elementor-element-27a8d40,
    .elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-form,
    .elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-field,
    .elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-button,
    .elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-button::before,
    .elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-button::after {
        animation: none !important;
        transition: none !important;
    }

    .elementor-514 .elementor-element.elementor-element-27a8d40 .elementor-button:hover {
        transform: none !important;
    }
}/* End custom CSS */