.elementor-12283 .elementor-element.elementor-element-fadea13{margin-top:-130px;margin-bottom:0px;}.elementor-12283 .elementor-element.elementor-element-e83cef8{margin-top:-25px;margin-bottom:0px;}.elementor-12283 .elementor-element.elementor-element-c98ac24 > .elementor-widget-container{margin:-25px 0px 0px 0px;}.elementor-12283 .elementor-element.elementor-element-829b375{margin-top:-20px;margin-bottom:0px;}.elementor-12283 .elementor-element.elementor-element-8081896 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-12283 .elementor-element.elementor-element-3f34430 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-12283 .elementor-element.elementor-element-77c15dc > .elementor-widget-container{margin:-25px 0px 0px 0px;}.elementor-12283 .elementor-element.elementor-element-585976e > .elementor-widget-container{margin:-25px 0px 0px 0px;}.elementor-12283 .elementor-element.elementor-element-6d87982{margin-top:30px;margin-bottom:0px;}.elementor-12283 .elementor-element.elementor-element-2526a83 > .elementor-element-populated, .elementor-12283 .elementor-element.elementor-element-2526a83 > .elementor-element-populated > .elementor-background-overlay, .elementor-12283 .elementor-element.elementor-element-2526a83 > .elementor-background-slideshow{border-radius:0px 0px 0px 0px;}.elementor-12283 .elementor-element.elementor-element-2116684 > .elementor-element-populated{margin:010px 010px 010px 010px;--e-column-margin-right:010px;--e-column-margin-left:010px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-12283 .elementor-element.elementor-element-70b77f1{text-align:center;}.elementor-12283 .elementor-element.elementor-element-70b77f1 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:40px;font-weight:700;color:#000000;}.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-size:var( --e-global-typography-text-font-size );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-size:var( --e-global-typography-text-font-size );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-size:var( --e-global-typography-text-font-size );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-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );}.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-size:var( --e-global-typography-text-font-size );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-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );}.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-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );}.elementor-12283 .elementor-element.elementor-element-7fd435d{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;--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-12283 .elementor-element.elementor-element-7fd435d .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-group.recaptcha_v3-bottomleft, .elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-group > label, .elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-subgroup label{color:#000000;}.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-group > label{font-family:"Poppins", Sans-serif;font-size:20px;font-weight:400;}.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-html{padding-bottom:0px;color:#000000;font-family:"Montserrat", Sans-serif;font-size:20px;font-weight:400;}.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-group .elementor-field{color:#000000;}.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-group .elementor-field, .elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-subgroup label{font-family:"Poppins", Sans-serif;font-size:22px;font-weight:400;}.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;border-radius:40px 40px 40px 40px;}.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;border-radius:40px 40px 40px 40px;}.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-button{font-family:"Poppins", Sans-serif;font-size:22px;font-weight:600;text-transform:uppercase;border-style:none;border-radius:40px 40px 40px 40px;padding:0px 0px 0px 0px;}.elementor-12283 .elementor-element.elementor-element-7fd435d .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-secondary );color:#ffffff;border-color:var( --e-global-color-primary );}.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-button[type="submit"]{background-color:var( --e-global-color-secondary );color:#ffffff;border-color:var( --e-global-color-primary );}.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-12283 .elementor-element.elementor-element-7fd435d .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-12283 .elementor-element.elementor-element-7fd435d .e-form__buttons__wrapper__button-next:hover{background-color:var( --e-global-color-primary );color:#FFFFFF;}.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-button[type="submit"]:hover{background-color:var( --e-global-color-primary );color:#FFFFFF;}.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-button[type="submit"]:hover svg *{fill:#FFFFFF;}.elementor-12283 .elementor-element.elementor-element-7fd435d .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-message{font-family:"Montserrat", Sans-serif;font-size:22px;font-weight:400;}.elementor-12283 .elementor-element.elementor-element-7fd435d .e-form__indicators__indicator, .elementor-12283 .elementor-element.elementor-element-7fd435d .e-form__indicators__indicator__label{font-family:"Roboto", Sans-serif;font-size:20px;font-weight:500;text-transform:uppercase;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-12283 .elementor-element.elementor-element-e3ccdc5 > .elementor-widget-container{margin:38px 0px 0px 0px;}.elementor-12283 .elementor-element.elementor-element-e3ccdc5{font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:400;color:#000000;}.elementor-12283 .elementor-element.elementor-element-fd2531b{--spacer-size:25px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-12283 .elementor-element.elementor-element-70b77f1 .elementor-heading-title{font-size:30px;}.elementor-widget-form .elementor-field-group > label{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .elementor-field-type-html{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-form .elementor-message{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-size:var( --e-global-typography-accent-font-size );}.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-group > label{font-size:15px;}.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-html{font-size:15px;}.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-group .elementor-field, .elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-subgroup label{font-size:15px;}.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-button{font-size:15px;}.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-message{font-size:15px;}.elementor-12283 .elementor-element.elementor-element-7fd435d .e-form__indicators__indicator, .elementor-12283 .elementor-element.elementor-element-7fd435d .e-form__indicators__indicator__label{font-size:15px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}}@media(max-width:767px){.elementor-12283 .elementor-element.elementor-element-fadea13{margin-top:-170px;margin-bottom:0px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-12283 .elementor-element.elementor-element-70b77f1 .elementor-heading-title{font-size:20px;}.elementor-widget-form .elementor-field-group > label{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .elementor-field-type-html{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-form .elementor-message{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-size:var( --e-global-typography-accent-font-size );}.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-group > label{font-size:12px;}.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-html{font-size:12px;}.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-group .elementor-field, .elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-subgroup label{font-size:12px;}.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-button{font-size:15px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-12283 .elementor-element.elementor-element-e3ccdc5{font-size:10px;}}/* Start custom CSS for form, class: .elementor-element-7fd435d *//* ============================================================================
   EDE MADRID · FORMULARIO COMPLETO · VARIANTE CLARA
   ============================================================================
   Pegar este CSS en:
     Form Widget > Avanzado > CSS personalizado
   (sin las etiquetas <style>)

   Uso:
     - Cards de form blancas o grises sobre fondos claros
     - Cards de form blancas sobre fondos oscuros (ej. Consultoria IA)

   IMPORTANTE: el preview en el editor de Elementor NO muestra el CSS
   personalizado. Para verlo aplicado, ve a "Ver" la pagina en frontend.

   INCLUYE:
     - Tokens de color EDE
     - Inputs (text, email, tel, url, number, date, search, password)
     - Textarea, select con flecha custom
     - Estados: hover, focus, error, disabled
     - Checkbox custom (privacidad / RGPD / acceptance) con FIX antiwrap
     - Boton submit con gradient EDE
     - Mensajes post-envio (exito y error)
     - Disclaimer LOPD si se inserta como widget HTML
     - Accesibilidad (prefers-reduced-motion, hover: none)
     - Responsive movil (max-width 600px)
   ============================================================================ */

/* ============================================================================
   TOKENS DE COLOR EDE
   ============================================================================ */
.elementor-12283 .elementor-element.elementor-element-7fd435d,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-form,
.elementor-12283 .elementor-element.elementor-element-7fd435d form {
  --ede-rojo: #e73b50;
  --ede-rojo-osc: #c52437;
  --ede-rojo-cl: #ff6b7d;
  --ede-azul: #13a0be;
  --ede-azul-osc: #0e7d96;
  --ede-azul-cl: #5cd5ec;
  --ede-verde: #16a34a;
  --ede-rojo-error: #dc2626;
  --ede-gradiente: linear-gradient(135deg, #e73b50 0%, #13a0be 100%);

  font-family: 'Montserrat', system-ui, sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-form,
.elementor-12283 .elementor-element.elementor-element-7fd435d form {
  font-family: 'Montserrat', system-ui, sans-serif !important;
}

/* ============================================================================
   SPACING ENTRE CAMPOS
   ============================================================================ */
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-group {
  margin-bottom: 14px !important;
}
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-group:last-of-type {
  margin-bottom: 0 !important;
}

/* ============================================================================
   LABELS (si Elementor los renderiza encima del campo)
   ============================================================================ */
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-label,
.elementor-12283 .elementor-element.elementor-element-7fd435d > label {
  font-family: 'Poppins', system-ui, sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
  display: inline-block !important;
  color: #0b1220 !important;
}

/* ASTERISCO REQUIRED */
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-mark-required .elementor-field-label::after,
.elementor-12283 .elementor-element.elementor-element-7fd435d label .elementor-required,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-required {
  color: var(--ede-rojo) !important;
  font-weight: 700 !important;
  margin-left: 3px;
  opacity: 0.8;
}

/* ============================================================================
   INPUTS · BASE COMUN + VARIANTE CLARA
   ============================================================================ */
.elementor-12283 .elementor-element.elementor-element-7fd435d input[type="text"],
.elementor-12283 .elementor-element.elementor-element-7fd435d input[type="email"],
.elementor-12283 .elementor-element.elementor-element-7fd435d input[type="tel"],
.elementor-12283 .elementor-element.elementor-element-7fd435d input[type="url"],
.elementor-12283 .elementor-element.elementor-element-7fd435d input[type="number"],
.elementor-12283 .elementor-element.elementor-element-7fd435d input[type="date"],
.elementor-12283 .elementor-element.elementor-element-7fd435d input[type="search"],
.elementor-12283 .elementor-element.elementor-element-7fd435d input[type="password"],
.elementor-12283 .elementor-element.elementor-element-7fd435d textarea,
.elementor-12283 .elementor-element.elementor-element-7fd435d select,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-textual {
  font-family: 'Montserrat', system-ui, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  height: 50px !important;
  padding: 14px 18px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(11,18,32,0.10) !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
  transition: border-color 0.3s ease, background 0.3s ease, box-shadow 0.3s ease !important;
  width: 100% !important;
  letter-spacing: -0.005em !important;
  color: #0b1220 !important;
}

/* Textarea más alta */
.elementor-12283 .elementor-element.elementor-element-7fd435d textarea,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-textual.elementor-field-type-textarea {
  height: auto !important;
  min-height: 120px !important;
  padding: 14px 18px !important;
  resize: vertical !important;
  line-height: 1.55 !important;
}

/* Placeholder */
.elementor-12283 .elementor-element.elementor-element-7fd435d input::placeholder,
.elementor-12283 .elementor-element.elementor-element-7fd435d textarea::placeholder,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-textual::placeholder {
  color: rgba(11,18,32,0.42) !important;
  opacity: 1 !important;
}

/* Hover */
.elementor-12283 .elementor-element.elementor-element-7fd435d input:hover,
.elementor-12283 .elementor-element.elementor-element-7fd435d textarea:hover,
.elementor-12283 .elementor-element.elementor-element-7fd435d select:hover,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-textual:hover {
  border-color: rgba(11,18,32,0.20) !important;
}

/* Focus */
.elementor-12283 .elementor-element.elementor-element-7fd435d input:focus,
.elementor-12283 .elementor-element.elementor-element-7fd435d textarea:focus,
.elementor-12283 .elementor-element.elementor-element-7fd435d select:focus,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-textual:focus {
  outline: none !important;
  border-color: var(--ede-rojo) !important;
  box-shadow: 0 0 0 4px rgba(231,59,80,0.12) !important;
}

/* Select arrow custom oscuro */
.elementor-12283 .elementor-element.elementor-element-7fd435d select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  padding-right: 42px !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 12px !important;
  cursor: pointer !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230b1220' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
}

/* ============================================================================
   ESTADOS ERROR / VALIDACION
   ============================================================================ */
.elementor-12283 .elementor-element.elementor-element-7fd435d input.invalid,
.elementor-12283 .elementor-element.elementor-element-7fd435d textarea.invalid,
.elementor-12283 .elementor-element.elementor-element-7fd435d select.invalid,
.elementor-12283 .elementor-element.elementor-element-7fd435d input[aria-invalid="true"],
.elementor-12283 .elementor-element.elementor-element-7fd435d textarea[aria-invalid="true"],
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field.error {
  border-color: var(--ede-rojo-error) !important;
  box-shadow: 0 0 0 3px rgba(220,38,38,0.10) !important;
}

.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-message-danger,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-error-message,
.elementor-12283 .elementor-element.elementor-element-7fd435d .help-inline {
  color: var(--ede-rojo-error) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  margin-top: 6px !important;
  font-family: 'Montserrat', system-ui, sans-serif !important;
}

/* ============================================================================
   CHECKBOX CUSTOM (privacidad / RGPD / acceptance)
   FIX integrado: evita doble checkbox y texto cortado
   ============================================================================ */

/* Wrapper del field group */
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-acceptance,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-checkbox {
  display: block !important;
  width: 100% !important;
}

/* Subgroup interno con flex correcto */
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-acceptance .elementor-field-subgroup,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-checkbox .elementor-field-subgroup,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-acceptance .elementor-field,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-checkbox .elementor-field {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
}

.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-acceptance .elementor-field-subgroup > *,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-checkbox .elementor-field-subgroup > * {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
}

/* Checkbox nativo: ocultar y reconstruir · .elementor-12283 .elementor-element.elementor-element-7fd435des reforzados */
.elementor-12283 .elementor-element.elementor-element-7fd435d input[type="checkbox"],
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-acceptance input[type="checkbox"],
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-checkbox input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  -o-appearance: none !important;

  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;

  border-radius: 6px !important;
  border: 2px solid rgba(11,18,32,0.30) !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  box-shadow: none !important;

  cursor: pointer !important;
  position: relative !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  margin: 2px 0 0 0 !important;
  padding: 0 !important;
  vertical-align: top !important;

  transition: background 0.3s ease, border-color 0.3s ease, transform 0.2s ease !important;
}

/* Hover */
.elementor-12283 .elementor-element.elementor-element-7fd435d input[type="checkbox"]:hover,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-acceptance input[type="checkbox"]:hover,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-checkbox input[type="checkbox"]:hover {
  border-color: var(--ede-rojo) !important;
  transform: scale(1.05);
}

/* Checked */
.elementor-12283 .elementor-element.elementor-element-7fd435d input[type="checkbox"]:checked,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-acceptance input[type="checkbox"]:checked,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-checkbox input[type="checkbox"]:checked {
  background: var(--ede-gradiente) !important;
  background-image: linear-gradient(135deg, #e73b50 0%, #13a0be 100%) !important;
  background-color: #e73b50 !important;
  border-color: transparent !important;
  border: 2px solid transparent !important;
  box-shadow: 0 4px 14px rgba(231,59,80,0.30) !important;
}

/* Tick blanco */
.elementor-12283 .elementor-element.elementor-element-7fd435d input[type="checkbox"]:checked::after,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-acceptance input[type="checkbox"]:checked::after,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-checkbox input[type="checkbox"]:checked::after {
  content: "" !important;
  position: absolute !important;
  top: 1px !important;
  left: 5px !important;
  width: 5px !important;
  height: 10px !important;
  border: solid #ffffff !important;
  border-width: 0 2px 2px 0 !important;
  transform: rotate(45deg) !important;
  background: transparent !important;
  display: block !important;
}

/* Focus accesible */
.elementor-12283 .elementor-element.elementor-element-7fd435d input[type="checkbox"]:focus,
.elementor-12283 .elementor-element.elementor-element-7fd435d input[type="checkbox"]:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(231,59,80,0.18) !important;
}

/* Label del checkbox · texto que no se corta */
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-acceptance label,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-checkbox label,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-acceptance .elementor-field-subgroup label,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-checkbox .elementor-field-subgroup label,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-subgroup label {
  font-family: 'Montserrat', system-ui, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: rgba(11,18,32,0.72) !important;

  display: inline-block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;

  margin: 0 !important;
  padding: 0 !important;
  cursor: pointer !important;
}

/* Link dentro del label (politica de privacidad) */
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-acceptance label a,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-checkbox label a {
  color: var(--ede-rojo) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-bottom: 1px solid currentColor !important;
  transition: color 0.3s ease !important;
  display: inline !important;
  white-space: normal !important;
}
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-acceptance label a:hover,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-checkbox label a:hover {
  color: var(--ede-azul) !important;
}

/* Span extra que Elementor a veces inserta */
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-acceptance > span,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-checkbox > span {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  flex-wrap: nowrap !important;
}

/* ============================================================================
   BOTON SUBMIT · Gradient EDE
   ============================================================================ */
.elementor-12283 .elementor-element.elementor-element-7fd435d button[type="submit"],
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-button[type="submit"],
.elementor-12283 .elementor-element.elementor-element-7fd435d .e-form__buttons button {
  width: 100% !important;
  height: 54px !important;
  padding: 0 28px !important;
  background: var(--ede-gradiente) !important;
  background-image: linear-gradient(135deg, #e73b50 0%, #13a0be 100%) !important;
  background-size: 200% 100% !important;
  background-position: 0% 0% !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  font-family: 'Montserrat', system-ui, sans-serif !important;
  font-weight: 700 !important;
  font-size: 13.5px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: 0 14px 34px rgba(231,59,80,0.30) !important;
  transition: transform 0.4s cubic-bezier(.2,.8,.2,1), box-shadow 0.4s ease, background-position 0.6s ease !important;
  cursor: pointer !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  margin-top: 6px !important;
}
.elementor-12283 .elementor-element.elementor-element-7fd435d button[type="submit"]:hover,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-button[type="submit"]:hover,
.elementor-12283 .elementor-element.elementor-element-7fd435d .e-form__buttons button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 20px 40px rgba(231,59,80,0.40) !important;
  background-position: 100% 0% !important;
}
.elementor-12283 .elementor-element.elementor-element-7fd435d button[type="submit"]:active,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-button[type="submit"]:active,
.elementor-12283 .elementor-element.elementor-element-7fd435d .e-form__buttons button:active {
  transform: translateY(-1px) !important;
}
.elementor-12283 .elementor-element.elementor-element-7fd435d button[type="submit"]:disabled,
.elementor-12283 .elementor-element.elementor-element-7fd435d .e-form__buttons button:disabled {
  opacity: 0.6 !important;
  cursor: not-allowed !important;
  transform: none !important;
}

/* Wrapper del boton ocupa todo el ancho */
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-submit,
.elementor-12283 .elementor-element.elementor-element-7fd435d .e-form__buttons {
  width: 100% !important;
}

/* ============================================================================
   MENSAJES POST-ENVIO (exito / error)
   ============================================================================ */
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-message,
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-message-success {
  padding: 14px 18px !important;
  border-radius: 12px !important;
  font-family: 'Montserrat', system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  margin-top: 14px !important;
  border: 1px solid !important;
}
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-message-success {
  background: rgba(22,163,74,0.10) !important;
  border-color: rgba(22,163,74,0.30) !important;
  color: #15803d !important;
}
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-message-danger {
  background: rgba(220,38,38,0.08) !important;
  border-color: rgba(220,38,38,0.25) !important;
  color: var(--ede-rojo-error) !important;
}

/* ============================================================================
   HTML widget dentro del form (disclaimer LOPD u otros textos)
   ============================================================================ */
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-html {
  font-size: 12px !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
  color: rgba(11,18,32,0.55) !important;
}
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-html p {
  margin: 0 0 6px !important;
}
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-html p:last-child {
  margin-bottom: 0 !important;
}
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-html strong {
  font-weight: 700 !important;
  color: rgba(11,18,32,0.85) !important;
}
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-html a {
  color: var(--ede-rojo) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-bottom: 1px solid currentColor;
  transition: color 0.3s ease !important;
}
.elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-type-html a:hover {
  color: var(--ede-azul) !important;
}

/* ============================================================================
   ACCESIBILIDAD
   ============================================================================ */
@media (prefers-reduced-motion: reduce) {
  .elementor-12283 .elementor-element.elementor-element-7fd435d input,
  .elementor-12283 .elementor-element.elementor-element-7fd435d textarea,
  .elementor-12283 .elementor-element.elementor-element-7fd435d select,
  .elementor-12283 .elementor-element.elementor-element-7fd435d button[type="submit"],
  .elementor-12283 .elementor-element.elementor-element-7fd435d input[type="checkbox"] {
    transition: none !important;
  }
  .elementor-12283 .elementor-element.elementor-element-7fd435d button[type="submit"]:hover,
  .elementor-12283 .elementor-element.elementor-element-7fd435d input[type="checkbox"]:hover {
    transform: none !important;
  }
}

@media (hover: none) {
  .elementor-12283 .elementor-element.elementor-element-7fd435d button[type="submit"]:hover {
    transform: none !important;
  }
  .elementor-12283 .elementor-element.elementor-element-7fd435d input[type="checkbox"]:hover {
    transform: none !important;
  }
}

/* ============================================================================
   RESPONSIVE
   ============================================================================ */
@media (max-width: 600px) {
  .elementor-12283 .elementor-element.elementor-element-7fd435d input[type="text"],
  .elementor-12283 .elementor-element.elementor-element-7fd435d input[type="email"],
  .elementor-12283 .elementor-element.elementor-element-7fd435d input[type="tel"],
  .elementor-12283 .elementor-element.elementor-element-7fd435d input[type="url"],
  .elementor-12283 .elementor-element.elementor-element-7fd435d input[type="number"],
  .elementor-12283 .elementor-element.elementor-element-7fd435d input[type="date"],
  .elementor-12283 .elementor-element.elementor-element-7fd435d input[type="password"],
  .elementor-12283 .elementor-element.elementor-element-7fd435d textarea,
  .elementor-12283 .elementor-element.elementor-element-7fd435d select,
  .elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-field-textual {
    font-size: 16px !important;
  }
  .elementor-12283 .elementor-element.elementor-element-7fd435d button[type="submit"],
  .elementor-12283 .elementor-element.elementor-element-7fd435d .elementor-button[type="submit"],
  .elementor-12283 .elementor-element.elementor-element-7fd435d .e-form__buttons button {
    height: 50px !important;
    font-size: 12.5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-247c65b *//* ============================================================================
   EDE MADRID · CARD CONTENEDORA DE FORMULARIO · VARIANTE CLARA
   ============================================================================
   Pegar este CSS en la columna o contenedor que envuelve el formulario:
     Columna/Contenedor > Avanzado > CSS personalizado
   (sin las etiquetas <style>)

   Uso:
     - Card BLANCA contenedora del Form Widget
     - Sirve sobre fondos claros (gris/blanco) o sobre fondos oscuros mesh

   Sin animacion de movimiento (mobile-friendly y no disruptivo durante
   el rellenado del formulario). Solo cambian:
     - Borde (gris sutil → mas visible con glow gradient)
     - Sombra (suave → fuerte con tinte rojo EDE)
     - Linea acento superior gradient EDE
   ============================================================================ */

/* CARD BASE */
.elementor-12283 .elementor-element.elementor-element-247c65b {
  position: relative !important;
  background: #ffffff !important;
  border: 1px solid rgba(11,18,32,0.08) !important;
  border-radius: 18px !important;
  padding: clamp(28px, 3.5vw, 44px) !important;
  box-shadow: 0 12px 32px rgba(15,23,42,0.06) !important;
  transition: border-color 0.5s cubic-bezier(.2,.8,.2,1),
              box-shadow 0.5s cubic-bezier(.2,.8,.2,1),
              background 0.5s ease !important;
  overflow: hidden !important;
}

/* Linea acento superior con gradient EDE · siempre visible */
.elementor-12283 .elementor-element.elementor-element-247c65b::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(135deg, #e73b50 0%, #13a0be 100%) !important;
  opacity: 0.9 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  transition: opacity 0.5s ease, height 0.5s cubic-bezier(.2,.8,.2,1) !important;
}

/* Glow radial sutil superior derecho · aparece en hover */
.elementor-12283 .elementor-element.elementor-element-247c65b::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(circle at top right, rgba(231,59,80,0.08), transparent 65%) !important;
  opacity: 0 !important;
  transition: opacity 0.6s ease !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* HOVER: solo borde + sombra + glow + acento mas grueso · sin movimiento */
.elementor-12283 .elementor-element.elementor-element-247c65b:hover {
  border-color: rgba(231,59,80,0.40) !important;
  box-shadow: 0 24px 50px rgba(231,59,80,0.12),
              0 8px 22px rgba(15,23,42,0.06) !important;
  background: #ffffff !important;
}

.elementor-12283 .elementor-element.elementor-element-247c65b:hover::before {
  height: 4px !important;
  opacity: 1 !important;
}

.elementor-12283 .elementor-element.elementor-element-247c65b:hover::after {
  opacity: 1 !important;
}

/* FOCUS-WITHIN: cuando el usuario esta dentro del form (interactuando con un campo) */
.elementor-12283 .elementor-element.elementor-element-247c65b:focus-within {
  border-color: rgba(231,59,80,0.55) !important;
  box-shadow: 0 28px 56px rgba(231,59,80,0.15),
              0 8px 22px rgba(15,23,42,0.08),
              0 0 0 1px rgba(231,59,80,0.15) !important;
}

.elementor-12283 .elementor-element.elementor-element-247c65b:focus-within::before {
  height: 4px !important;
  opacity: 1 !important;
}

.elementor-12283 .elementor-element.elementor-element-247c65b:focus-within::after {
  opacity: 1 !important;
}

/* Asegurar que el contenido va por encima de los pseudo-elementos */
.elementor-12283 .elementor-element.elementor-element-247c65b > * {
  position: relative !important;
  z-index: 3 !important;
}

/* Accesibilidad: respeta preferencia de reducir movimiento */
@media (prefers-reduced-motion: reduce) {
  .elementor-12283 .elementor-element.elementor-element-247c65b,
  .elementor-12283 .elementor-element.elementor-element-247c65b::before,
  .elementor-12283 .elementor-element.elementor-element-247c65b::after {
    transition: none !important;
  }
}

/* Responsive: padding mas comodo en movil */
@media (max-width: 600px) {
  .elementor-12283 .elementor-element.elementor-element-247c65b {
    padding: 24px 22px !important;
    border-radius: 16px !important;
  }
}/* End custom CSS */