.elementor-272 .elementor-element.elementor-element-86eff76{--display:flex;}.elementor-272 .elementor-element.elementor-element-a436937{--display:flex;}.elementor-272 .elementor-element.elementor-element-2a211b3{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-272 .elementor-element.elementor-element-a80fe2d{padding:0px 0px 0px 0px;}.elementor-272 .elementor-element.elementor-element-f4babe2{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-272 .elementor-element.elementor-element-2cbef82{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;--padding-top:5px;--padding-bottom:2px;--padding-left:5px;--padding-right:2px;}.elementor-272 .elementor-element.elementor-element-2cbef82.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-272 .elementor-element.elementor-element-50599d7.elementor-element{--align-self:flex-start;}.elementor-272 .elementor-element.elementor-element-27340fa{--display:flex;}.elementor-272 .elementor-element.elementor-element-68cb6aa.elementor-element{--align-self:flex-start;}.elementor-272 .elementor-element.elementor-element-f7c51e2{width:100%;max-width:100%;}.elementor-272 .elementor-element.elementor-element-1c5402a{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-272 .elementor-element.elementor-element-25c92e4{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:5em;--padding-bottom:5em;--padding-left:0em;--padding-right:0em;}.elementor-272 .elementor-element.elementor-element-298d8e9{--display:flex;}.elementor-272 .elementor-element.elementor-element-298d8e9.e-con{--align-self:center;}.elementor-272 .elementor-element.elementor-element-de032c9{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:5em;--padding-bottom:5em;--padding-left:0em;--padding-right:0em;}.elementor-272 .elementor-element.elementor-element-ebfc998{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--justify-items:center;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-272 .elementor-element.elementor-element-e75cad7{--display:flex;}.elementor-272 .elementor-element.elementor-element-05cacf2{--display:flex;--padding-top:2em;--padding-bottom:2em;--padding-left:0em;--padding-right:0em;}.elementor-272 .elementor-element.elementor-element-c5f7259{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--justify-items:center;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-272 .elementor-element.elementor-element-764f24f{--display:flex;}.elementor-272 .elementor-element.elementor-element-c47a0cc{--display:flex;--padding-top:5em;--padding-bottom:5em;--padding-left:0em;--padding-right:0em;}.elementor-272 .elementor-element.elementor-element-e53c9c7{--display:flex;}.elementor-272 .elementor-element.elementor-element-b8dfaf2{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-272 .elementor-element.elementor-element-743ceb0{--display:flex;}.elementor-272 .elementor-element.elementor-element-a3dee3d{padding:0em 0em 0em 0em;}.elementor-272 .elementor-element.elementor-element-8426ce0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(max-width:1024px){.elementor-272 .elementor-element.elementor-element-ebfc998{--grid-auto-flow:row;}.elementor-272 .elementor-element.elementor-element-c5f7259{--grid-auto-flow:row;}}@media(min-width:768px){.elementor-272 .elementor-element.elementor-element-a436937{--width:100%;}.elementor-272 .elementor-element.elementor-element-2cbef82{--width:100%;}}@media(max-width:767px){.elementor-272 .elementor-element.elementor-element-de032c9{--padding-top:2em;--padding-bottom:4em;--padding-left:2em;--padding-right:2em;}.elementor-272 .elementor-element.elementor-element-ebfc998{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-272 .elementor-element.elementor-element-05cacf2{--padding-top:2em;--padding-bottom:2em;--padding-left:1em;--padding-right:1em;}.elementor-272 .elementor-element.elementor-element-c5f7259{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-272 .elementor-element.elementor-element-b8dfaf2{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:2px;--padding-bottom:2px;--padding-left:2px;--padding-right:2px;}.elementor-272 .elementor-element.elementor-element-b8dfaf2.e-con{--align-self:center;}.elementor-272 .elementor-element.elementor-element-a3dee3d{padding:0em 1em 0em 1em;}}/* Start custom CSS for template, class: .elementor-element-f7c51e2 *//* =========================================
   VARIABLES CSS — LIGHT MODE
   ========================================= */
:root {
    --cubic-default: cubic-bezier(0.525, 0, 0, 1);
    --duration-fast: 0.2s;
    --duration-normal: 0.35s;
    --color-primary: #ff5e22;
    --color-dark: #0f2c52;
    --color-light: rgba(15, 44, 82, 0.05);
    --color-light-hover: rgba(15, 44, 82, 0.08);
    --color-text: #1a2a3a;
    --color-text-muted: rgba(15, 44, 82, 0.5);
    --color-border: rgba(15, 44, 82, 0.12);
}

/* =========================================
   FUENTE DEL FORMULARIO
   ========================================= */
.atfx-form-container .elementor-form,
.atfx-form-container .elementor-form *,
.atfx-form-container.elementor-widget-form .elementor-form {
    font-family: 'Mulish', sans-serif !important;
}

/* =========================================
   LABELS
   ========================================= */
.atfx-form-container .elementor-field-label,
.atfx-form-container label.elementor-field-label,
.atfx-form-container .elementor-field-group > label {
    color: var(--color-text) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    margin-bottom: 8px !important;
    font-family: 'Mulish', sans-serif !important;
}

.atfx-form-container .elementor-mark-required,
.atfx-form-container .elementor-field-label .elementor-mark-required {
    color: var(--color-primary) !important;
}

/* =========================================
   INPUTS Y TEXTAREAS
   ========================================= */
.atfx-form-container .elementor-field.elementor-field-textual,
.atfx-form-container input.elementor-field[type="text"],
.atfx-form-container input.elementor-field[type="email"],
.atfx-form-container input.elementor-field[type="tel"],
.atfx-form-container input.elementor-field[type="number"],
.atfx-form-container input.elementor-field[type="url"],
.atfx-form-container textarea.elementor-field,
.atfx-form-container input.elementor-field-textual,
.atfx-form-container input.elementor-size-xs.elementor-field,
.atfx-form-container input.elementor-size-sm.elementor-field,
.atfx-form-container input.elementor-size-md.elementor-field,
.atfx-form-container input.elementor-size-lg.elementor-field,
.atfx-form-container input.elementor-size-xl.elementor-field,
.atfx-form-container textarea.elementor-size-xs.elementor-field,
.atfx-form-container textarea.elementor-size-sm.elementor-field,
.atfx-form-container textarea.elementor-size-md.elementor-field,
.atfx-form-container textarea.elementor-size-lg.elementor-field,
.atfx-form-container textarea.elementor-size-xl.elementor-field {
    padding: 14px 16px !important;
    background: var(--color-light) !important;
    background-color: var(--color-light) !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 12px !important;
    color: var(--color-text) !important;
    font-family: 'Mulish', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    transition: all var(--duration-normal) var(--cubic-default) !important;
    line-height: 1.5 !important;
    box-shadow: none !important;
}

.atfx-form-container .elementor-field::placeholder,
.atfx-form-container .elementor-field::-webkit-input-placeholder,
.atfx-form-container .elementor-field::-moz-placeholder {
    color: var(--color-text-muted) !important;
    opacity: 1 !important;
    transition: opacity var(--duration-fast) var(--cubic-default) !important;
}

.atfx-form-container .elementor-field:focus,
.atfx-form-container input.elementor-field:focus,
.atfx-form-container textarea.elementor-field:focus {
    outline: none !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 3px rgba(255, 94, 34, 0.12) !important;
}

.atfx-form-container .elementor-field:focus::placeholder {
    opacity: 0.5 !important;
}

/* =========================================
   SELECT / DROPDOWNS
   ========================================= */
.atfx-form-container .elementor-field-type-select select.elementor-field,
.atfx-form-container select.elementor-field,
.atfx-form-container select.elementor-field.elementor-size-xs,
.atfx-form-container select.elementor-field.elementor-size-sm,
.atfx-form-container select.elementor-field.elementor-size-md,
.atfx-form-container select.elementor-field.elementor-size-lg,
.atfx-form-container select.elementor-field.elementor-size-xl,
.atfx-form-container .elementor-field-type-select select {
    padding: 14px 16px !important;
    padding-right: 45px !important;
    background: var(--color-light) !important;
    background-color: var(--color-light) !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 12px !important;
    color: var(--color-text) !important;
    font-family: 'Mulish', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all var(--duration-normal) var(--cubic-default) !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%230f2c52' stroke-width='2' fill='none'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    line-height: 1.5 !important;
    box-shadow: none !important;
}

.atfx-form-container select.elementor-field:hover {
    background-color: var(--color-light-hover) !important;
}

.atfx-form-container select.elementor-field:focus {
    outline: none !important;
    background-color: #ffffff !important;
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 3px rgba(255, 94, 34, 0.12) !important;
}

.atfx-form-container select.elementor-field option {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: var(--color-text) !important;
    padding: 10px !important;
}

/* =========================================
   CHECKBOX (Acceptance/Privacy)
   ========================================= */
.atfx-form-container .elementor-field-type-acceptance,
.atfx-form-container .elementor-field-group.elementor-field-type-acceptance {
    margin: 20px 0 !important;
    padding: 15px !important;
    background: var(--color-light) !important;
    border-radius: 12px !important;
    border-left: 3px solid var(--color-primary) !important;
    border-right: none !important;
    border-top: none !important;
    border-bottom: none !important;
    transition: all var(--duration-normal) var(--cubic-default) !important;
}

.atfx-form-container .elementor-field-type-acceptance:hover {
    background: var(--color-light-hover) !important;
}

.atfx-form-container .elementor-field-type-acceptance input[type="checkbox"],
.atfx-form-container input[type="checkbox"].elementor-field,
.atfx-form-container input[type="checkbox"].elementor-acceptance-field,
.atfx-form-container input.elementor-size-xs.elementor-acceptance-field,
.atfx-form-container input.elementor-size-sm.elementor-acceptance-field,
.atfx-form-container input.elementor-size-md.elementor-acceptance-field,
.atfx-form-container input.elementor-size-lg.elementor-acceptance-field,
.atfx-form-container input.elementor-size-xl.elementor-acceptance-field,
.atfx-form-container input[type="checkbox"].elementor-size-xs.elementor-field,
.atfx-form-container input[type="checkbox"].elementor-size-sm.elementor-field,
.atfx-form-container input[type="checkbox"].elementor-size-md.elementor-field,
.atfx-form-container input[type="checkbox"].elementor-size-lg.elementor-field,
.atfx-form-container input[type="checkbox"].elementor-size-xl.elementor-field {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    border: 2px solid var(--color-border) !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    cursor: pointer !important;
    position: relative !important;
    transition: all var(--duration-fast) var(--cubic-default) !important;
    padding: 0 !important;
    margin: 2px 0 0 0 !important;
}

.atfx-form-container input[type="checkbox"].elementor-field:hover {
    border-color: var(--color-primary) !important;
}

.atfx-form-container input[type="checkbox"].elementor-field:focus {
    outline: none !important;
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 3px rgba(255, 94, 34, 0.12) !important;
}

.atfx-form-container input[type="checkbox"].elementor-field:checked {
    background: var(--color-primary) !important;
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}

.atfx-form-container input[type="checkbox"].elementor-field:checked::after {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 12px !important;
    height: 12px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    display: block !important;
}

/* Labels del checkbox */
.atfx-form-container .elementor-field-option label,
.atfx-form-container .elementor-field-subgroup label,
.atfx-form-container label[for*="form-field-field"],
.atfx-form-container .elementor-acceptance-field-description,
.atfx-form-container .elementor-field-type-acceptance label span {
    color: rgba(15, 44, 82, 0.6) !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
    cursor: pointer !important;
    margin-bottom: 0 !important;
}

.atfx-form-container .elementor-field-option label:hover {
    color: rgba(15, 44, 82, 0.8) !important;
}

.atfx-form-container .elementor-field-option label a,
.atfx-form-container .elementor-field-subgroup label a,
.atfx-form-container .elementor-acceptance-field-description a {
    color: var(--color-primary) !important;
    text-decoration: none !important;
    transition: opacity var(--duration-fast) ease !important;
}

.atfx-form-container .elementor-field-option label a:hover,
.atfx-form-container .elementor-acceptance-field-description a:hover {
    opacity: 0.8 !important;
    text-decoration: underline !important;
}

/* =========================================
   BOTÓN DE SUBMIT
   ========================================= */
.atfx-form-container .elementor-field-type-submit,
.atfx-form-container .e-form__buttons {
    width: 100% !important;
}

.atfx-form-container .elementor-button.elementor-button-submit,
.atfx-form-container button.elementor-button[type="submit"],
.atfx-form-container .elementor-field-type-submit button,
.atfx-form-container .elementor-field-type-submit .elementor-button {
    width: 100% !important;
    justify-content: center !important;
    background-color: var(--color-dark) !important;
    background: var(--color-dark) !important;
    border-radius: 99px !important;
    cursor: pointer !important;
    border: none !important;
    padding: 1rem 2rem !important;
    color: #FFFFFF !important;
    font-family: 'Mulish', sans-serif !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    transition: all var(--duration-normal) var(--cubic-default) !important;
    position: relative !important;
    overflow: hidden !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

.atfx-form-container .elementor-button.elementor-button-submit::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: -100% !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent) !important;
    transition: left 0.5s var(--cubic-default) !important;
}

.atfx-form-container .elementor-button.elementor-button-submit:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 30px rgba(15, 44, 82, 0.2) !important;
    background-color: var(--color-dark) !important;
}

.atfx-form-container .elementor-button.elementor-button-submit:hover::before {
    left: 100% !important;
}

.atfx-form-container .elementor-button.elementor-button-submit:active {
    transform: translateY(-1px) !important;
}

.atfx-form-container .elementor-button.elementor-button-submit:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
    transform: none !important;
}

.atfx-form-container .elementor-button-text {
    color: #FFFFFF !important;
    font-family: 'Mulish', sans-serif !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
}

.atfx-form-container .elementor-button-icon,
.atfx-form-container .elementor-button .elementor-button-icon {
    background-color: #FFFFFF !important;
    border-radius: 50% !important;
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230f2c52' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3Cpolyline points='12 5 19 12 12 19'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 20px !important;
    transition: transform var(--duration-normal) var(--cubic-default) !important;
}

.atfx-form-container .elementor-button.elementor-button-submit:hover .elementor-button-icon {
    transform: translateX(5px) !important;
}

/* =========================================
   MENSAJES DE ÉXITO/ERROR
   ========================================= */
.atfx-form-container .elementor-message {
    padding: 16px 20px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    margin-top: 15px !important;
    font-family: 'Mulish', sans-serif !important;
}

.atfx-form-container .elementor-message.elementor-message-success {
    background: #dcfce7 !important;
    background-color: #dcfce7 !important;
    color: #166534 !important;
    border: 1px solid #bbf7d0 !important;
}

.atfx-form-container .elementor-message.elementor-message-error {
    background: #fef2f2 !important;
    background-color: #fef2f2 !important;
    color: #991b1b !important;
    border: 1px solid #fecaca !important;
}

/* =========================================
   VALIDACIÓN Y ERRORES
   ========================================= */
.atfx-form-container .elementor-field.elementor-field-textual.elementor-invalid {
    border-color: #ef4444 !important;
}

.atfx-form-container .elementor-error {
    color: #ef4444 !important;
    font-size: 12px !important;
    margin-top: 5px !important;
}

/* =========================================
   LAYOUT — Campos en columna (stacked)
   Prefijo + Teléfono en row
   ========================================= */

/* El wrapper de campos usa flex-wrap; forzamos todos a 100% */
.atfx-form-container .elementor-form-fields-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: var(--space-4, 12px) !important;
}

/* Todos los field-groups a 100% por defecto */
.atfx-form-container .elementor-field-group {
    width: 100% !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
}

/* Override Elementor col classes — todo a 100% */
.atfx-form-container .elementor-col-50,
.atfx-form-container .elementor-col-100 {
    width: 100% !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
}

/* EXCEPCIÓN: Prefijo (col-20) + Teléfono (col-30) en row */
.atfx-form-container .elementor-field-group-dialling_code {
    width: 35% !important;
    flex-basis: 35% !important;
    max-width: 35% !important;
    flex-shrink: 0 !important;
}

.atfx-form-container .elementor-field-group-phone {
    width: calc(65% - var(--space-4, 12px)) !important;
    flex-basis: calc(65% - var(--space-4, 12px)) !important;
    max-width: calc(65% - var(--space-4, 12px)) !important;
    flex-grow: 1 !important;
}

/* Ocultar el caret SVG nativo de Elementor (ya usamos background-image) */
.atfx-form-container .select-caret-down-wrapper {
    display: none !important;
}

/* =========================================
   RESPONSIVE — Escalar tipografia cuando
   #AboutUs stackea (< 1024px).
   En desktop el form es sidebar (px finos ok).
   En stack el form ocupa full-width y necesita
   escalar con el resto del sitio (Osmo rem).
   ========================================= */

/* --- Tablet / Stack (< 1024px) --- */
@media (max-width: 1023px) {
    /* Labels */
    .atfx-form-container .elementor-field-label,
    .atfx-form-container label.elementor-field-label,
    .atfx-form-container .elementor-field-group > label {
        font-size: 1rem !important;
        margin-bottom: 0.5rem !important;
    }

    /* Inputs, selects, textareas */
    .atfx-form-container .elementor-field.elementor-field-textual,
    .atfx-form-container input.elementor-field,
    .atfx-form-container select.elementor-field,
    .atfx-form-container textarea.elementor-field {
        font-size: 1rem !important;
        padding: 1rem 1.125rem !important;
        border-radius: 0.75rem !important;
    }

    .atfx-form-container select.elementor-field {
        padding-right: 3rem !important;
        background-position: right 1rem center !important;
    }

    /* Submit button */
    .atfx-form-container .elementor-button.elementor-button-submit {
        padding: 1.125rem 2rem !important;
    }

    .atfx-form-container .elementor-button.elementor-button-submit,
    .atfx-form-container .elementor-button-text {
        font-size: 1.25rem !important;
    }

    /* Checkbox acceptance text */
    .atfx-form-container .elementor-field-option label,
    .atfx-form-container .elementor-field-subgroup label,
    .atfx-form-container .elementor-acceptance-field-description,
    .atfx-form-container .elementor-field-type-acceptance label span {
        font-size: 0.875rem !important;
        line-height: 1.6 !important;
    }

    .atfx-form-container .elementor-field-type-acceptance {
        padding: 1.125rem !important;
    }

    /* Error/success messages */
    .atfx-form-container .elementor-message {
        font-size: 1rem !important;
        padding: 1rem 1.25rem !important;
    }

    .atfx-form-container .elementor-error {
        font-size: 0.875rem !important;
    }
}

/* --- Mobile portrait (≤ 479px) --- */
@media (max-width: 479px) {
    .atfx-form-container .elementor-field-label {
        font-size: 0.9375rem !important;
    }

    .atfx-form-container .elementor-field.elementor-field-textual,
    .atfx-form-container input.elementor-field,
    .atfx-form-container select.elementor-field,
    .atfx-form-container textarea.elementor-field {
        font-size: 1rem !important;
        padding: 0.875rem 1rem !important;
    }

    .atfx-form-container .elementor-button.elementor-button-submit {
        padding: 1rem 1.5rem !important;
    }

    .atfx-form-container .elementor-button.elementor-button-submit,
    .atfx-form-container .elementor-button-text {
        font-size: 1.125rem !important;
    }

    /* Prefijo + teléfono en columna en mobile pequeño */
    .atfx-form-container .elementor-field-group-dialling_code,
    .atfx-form-container .elementor-field-group-phone {
        width: 100% !important;
        flex-basis: 100% !important;
        max-width: 100% !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2cbef82 *//* =========================================
     #AboutUs — Elementor Container Override
     Estructura: content widget + form container
     Tokens de globals.css
     ========================================= */

  /* --- Base: Mobile-first (stack) --- */
  #AboutUs.e-con {
      flex-direction: column !important;
      flex-wrap: nowrap !important;
      gap: 0 !important;
      padding: var(--space-11) var(--space-6) !important;
      align-items: stretch !important;
      max-width: var(--container-xl) !important;
      margin-inline: auto !important;
  }

  /* --- Tablet (768px+) --- */
  @media (min-width: 768px) {
      #AboutUs.e-con {
          padding: var(--section-padding-y) var(--section-padding-x) !important;
      }
  }

  /* --- Desktop (1024px+) — flex row --- */
  @media (min-width: 1024px) {
      #AboutUs.e-con {
          flex-direction: row !important;
          gap: var(--space-13) !important;
          padding: var(--space-17) var(--space-13) !important;
          align-items: flex-start !important;
      }
  }

  /* --- Large desktop (1440px+) --- */
  @media (min-width: 1440px) {
      #AboutUs.e-con {
          gap: var(--space-16) !important;
          padding: var(--space-17) var(--space-16) !important;
      }
  }

  /* =========================================
     COLUMNAS — Hijos directos de #AboutUs
     Resiliente: usa :first-child / :last-child
     por si cambian los data-id de Elementor
     ========================================= */

  /* Columna izquierda — sobre-evento content */
  #AboutUs.e-con > :first-child {
      flex: 1 1 58% !important;
      min-width: 0 !important;
      max-width: none !important;
      width: auto !important;
  }

  /* Columna derecha — form container (header + form) */
  #AboutUs.e-con > :last-child {
      flex: 1 1 38% !important;
      min-width: 0 !important;
      max-width: none !important;
      width: auto !important;
  }

  /* En mobile ambos al 100% */
  @media (max-width: 1023px) {
      #AboutUs.e-con > :first-child,
      #AboutUs.e-con > :last-child {
          flex: 1 1 100% !important;
          width: 100% !important;
      }
  }

  /* Form container sticky en desktop */
  @media (min-width: 1024px) {
      #AboutUs.e-con > :last-child {
          position: sticky !important;
          top: var(--space-13) !important;
      }
  }

  /* =========================================
     FORM CONTAINER INTERNO (.elementor-element-27340fa)
     Reset padding del e-con hijo
     ========================================= */

  #AboutUs .elementor-element-27340fa.e-con {
      padding: 0 !important;
      gap: var(--space-8) !important;
  }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f4babe2 */.elementor-272 .elementor-element.elementor-element-f4babe2 {
  background-image: url('https://pub-62c41549a44642efbcd3f775bdb039b3.r2.dev/background.png');
  background-repeat: repeat;
  background-size: 50px 50px; 
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-b89858d */.elementor-272 .elementor-element.elementor-element-b89858d {
    max-width: 1400px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-298d8e9 */.elementor-272 .elementor-element.elementor-element-298d8e9 {
    max-width: 1400px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-25c92e4 */.elementor-272 .elementor-element.elementor-element-25c92e4 {
  background-image: url('https://pub-62c41549a44642efbcd3f775bdb039b3.r2.dev/business-men-screen-and-computer-with-handshake-o-2026-01-09-10-25-36-utc.webp');
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 500px;
  border-radius: 100px 100px 0px 0px;
}

/* Tablet */
@media (max-width: 768px) {
  .elementor-272 .elementor-element.elementor-element-25c92e4 {
    border-radius: 60px 60px 0px 0px;
    min-height: 400px;
  }
}

/* Mobile */
@media (max-width: 480px) {
  .elementor-272 .elementor-element.elementor-element-25c92e4 {
    border-radius: 40px 40px 0px 0px;
    min-height: 300px;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e75cad7 */.elementor-272 .elementor-element.elementor-element-e75cad7 {
  background-image: url('https://pub-62c41549a44642efbcd3f775bdb039b3.r2.dev/cheerful-young-man-in-shirt-and-tie-shouting-and-g-2026-01-08-02-39-26-utc%20(1).webp');
  background-position: left;
  background-size: cover;
  border-radius: 20px;
  aspect-ratio: 1 / 1;
  width: 100%;
  border-radius: 1000px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ebfc998 */.elementor-272 .elementor-element.elementor-element-ebfc998 {
    max-width: 1400px!important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-de032c9 */.elementor-272 .elementor-element.elementor-element-de032c9 {
  background-image: url('https://pub-62c41549a44642efbcd3f775bdb039b3.r2.dev/background.png');
  background-repeat: repeat;
  background-size: 50px 50px; 
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-764f24f */.elementor-272 .elementor-element.elementor-element-764f24f {
  background-image: url('https://pub-62c41549a44642efbcd3f775bdb039b3.r2.dev/Gemini_Generated_Image_dnjgd3dnjgd3dnjg.webp');
  background-position: right;
  background-size: cover;
  border-radius: 20px;
  aspect-ratio: 1 / 1;
  width: 100%;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c5f7259 */.elementor-272 .elementor-element.elementor-element-c5f7259 {
    max-width: 1600px!important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-05cacf2 */.elementor-272 .elementor-element.elementor-element-05cacf2 {
  background-image: url('https://pub-62c41549a44642efbcd3f775bdb039b3.r2.dev/BlueBackground.webp');
  background-repeat: repeat;
  background-size: 50px 50px; 
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e53c9c7 */.elementor-272 .elementor-element.elementor-element-e53c9c7 {
    max-width: 1400px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c47a0cc */.elementor-272 .elementor-element.elementor-element-c47a0cc {
  background-image: url('https://pub-62c41549a44642efbcd3f775bdb039b3.r2.dev/background.png');
  background-repeat: repeat;
  background-size: 50px 50px; 
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-743ceb0 */.elementor-272 .elementor-element.elementor-element-743ceb0 {
    max-width: 1400px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b8dfaf2 */.elementor-272 .elementor-element.elementor-element-b8dfaf2 {
  background-image: url('https://pub-62c41549a44642efbcd3f775bdb039b3.r2.dev/background.png');
  background-repeat: repeat;
  background-size: 50px 50px; 
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8426ce0 */.elementor-272 .elementor-element.elementor-element-8426ce0 {
  background-image: url('https://pub-62c41549a44642efbcd3f775bdb039b3.r2.dev/background.png');
  background-repeat: repeat;
  background-size: 50px 50px; 
}/* End custom CSS */