.elementor-40551 .elementor-element.elementor-element-685dc99{--display:flex;--min-height:100vh;--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;--padding-top:150px;--padding-bottom:0px;--padding-left:24px;--padding-right:24px;}.elementor-40551 .elementor-element.elementor-element-685dc99:not(.elementor-motion-effects-element-type-background), .elementor-40551 .elementor-element.elementor-element-685dc99 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(165deg, var( --e-global-color-el_cta_2 ) 0%, var( --e-global-color-el_c_bg_main ) 58%);}.elementor-40551 .elementor-element.elementor-element-164e03e{--display:flex;--width:100%;--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;--justify-content:center;--gap:14px 14px;--row-gap:14px;--column-gap:14px;--padding-top:24px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-40551 .elementor-element.elementor-element-7310141 .elementor-heading-title{font-family:var( --e-global-typography-el_f_uppercase_s-font-family ), Sans-serif;font-size:var( --e-global-typography-el_f_uppercase_s-font-size );font-weight:var( --e-global-typography-el_f_uppercase_s-font-weight );text-transform:var( --e-global-typography-el_f_uppercase_s-text-transform );line-height:var( --e-global-typography-el_f_uppercase_s-line-height );letter-spacing:var( --e-global-typography-el_f_uppercase_s-letter-spacing );color:var( --e-global-color-el_color_1 );}.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-group{padding-right:calc( 20px/2 );padding-left:calc( 20px/2 );margin-bottom:22px;}.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-form-fields-wrapper{margin-left:calc( -20px/2 );margin-right:calc( -20px/2 );margin-bottom:-22px;}.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-labels-inline .elementor-field-group > label{padding-left:8px;}body:not(.rtl) .elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-labels-inline .elementor-field-group > label{padding-right:8px;}body .elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-labels-above .elementor-field-group > label{padding-bottom:8px;}.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-group > label, .elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-subgroup label{color:var( --e-global-color-el_c_1_text );}.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-type-html{padding-bottom:0px;}.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-40551 .elementor-element.elementor-element-5ea14a5 .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-el_c_2_color );background-image:var( --e-global-color-el_c_2_color );color:var( --e-global-color-el_color_0 );}.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-button[type="submit"]{background-color:var( --e-global-color-el_c_2_color );background-image:var( --e-global-color-el_c_2_color );color:var( --e-global-color-el_color_0 );}.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-button[type="submit"] svg *{fill:var( --e-global-color-el_color_0 );}.elementor-40551 .elementor-element.elementor-element-5ea14a5 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-40551 .elementor-element.elementor-element-5ea14a5 .e-form__buttons__wrapper__button-next:hover{background-color:var( --e-global-color-el_c_2_color_dark );background-image:var( --e-global-color-el_c_2_color_dark );color:var( --e-global-color-el_color_0 );}.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-button[type="submit"]:hover{background-color:var( --e-global-color-el_c_2_color_dark );background-image:var( --e-global-color-el_c_2_color_dark );color:var( --e-global-color-el_color_0 );}.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-button[type="submit"]:hover svg *{fill:var( --e-global-color-el_color_0 );}.elementor-40551 .elementor-element.elementor-element-5ea14a5 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-button{border-radius:999px 999px 999px 999px;}.elementor-40551 .elementor-element.elementor-element-5ea14a5{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-progress-height:20px;--e-form-steps-indicator-progress-border-radius:0px;}.elementor-40551 .elementor-element.elementor-element-77de625{--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:space-between;--align-items:center;--gap:14px 14px;--row-gap:14px;--column-gap:14px;--flex-wrap:wrap;--padding-top:22px;--padding-bottom:26px;--padding-left:0px;--padding-right:0px;}.elementor-40551 .elementor-element.elementor-element-dbfeca8{font-family:var( --e-global-typography-el_f_paragraph_xs-font-family ), Sans-serif;font-size:var( --e-global-typography-el_f_paragraph_xs-font-size );font-weight:var( --e-global-typography-el_f_paragraph_xs-font-weight );text-transform:var( --e-global-typography-el_f_paragraph_xs-text-transform );font-style:var( --e-global-typography-el_f_paragraph_xs-font-style );text-decoration:var( --e-global-typography-el_f_paragraph_xs-text-decoration );line-height:var( --e-global-typography-el_f_paragraph_xs-line-height );color:var( --e-global-color-el_c_2_text );--textColor:var( --e-global-color-el_c_2_text );}.elementor-40551 .elementor-element.elementor-element-c8b5310 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(20px/2);}.elementor-40551 .elementor-element.elementor-element-c8b5310 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(20px/2);}.elementor-40551 .elementor-element.elementor-element-c8b5310 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(20px/2);}.elementor-40551 .elementor-element.elementor-element-c8b5310 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-20px/2);}.elementor-40551 .elementor-element.elementor-element-c8b5310 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-20px/2);}.elementor-40551 .elementor-element.elementor-element-c8b5310 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-40551 .elementor-element.elementor-element-c8b5310 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-40551 .elementor-element.elementor-element-c8b5310{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-40551 .elementor-element.elementor-element-c8b5310 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-40551 .elementor-element.elementor-element-c8b5310 .elementor-icon-list-item > a{font-family:var( --e-global-typography-el_f_paragraph_xs-font-family ), Sans-serif;font-size:var( --e-global-typography-el_f_paragraph_xs-font-size );font-weight:var( --e-global-typography-el_f_paragraph_xs-font-weight );text-transform:var( --e-global-typography-el_f_paragraph_xs-text-transform );font-style:var( --e-global-typography-el_f_paragraph_xs-font-style );text-decoration:var( --e-global-typography-el_f_paragraph_xs-text-decoration );line-height:var( --e-global-typography-el_f_paragraph_xs-line-height );}.elementor-40551 .elementor-element.elementor-element-c8b5310 .elementor-icon-list-text{color:var( --e-global-color-el_c_1_color_light );transition:color 0.3s;}:root{--page-title-display:none;}@media(min-width:651px){.elementor-40551 .elementor-element.elementor-element-685dc99{--content-width:1300px;}}@media(max-width:1080px){.elementor-40551 .elementor-element.elementor-element-685dc99{--padding-top:124px;--padding-bottom:0px;--padding-left:24px;--padding-right:24px;}.elementor-40551 .elementor-element.elementor-element-7310141 .elementor-heading-title{font-size:var( --e-global-typography-el_f_uppercase_s-font-size );line-height:var( --e-global-typography-el_f_uppercase_s-line-height );letter-spacing:var( --e-global-typography-el_f_uppercase_s-letter-spacing );}.elementor-40551 .elementor-element.elementor-element-dbfeca8{font-size:var( --e-global-typography-el_f_paragraph_xs-font-size );line-height:var( --e-global-typography-el_f_paragraph_xs-line-height );}.elementor-40551 .elementor-element.elementor-element-c8b5310 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-40551 .elementor-element.elementor-element-c8b5310 .elementor-icon-list-item > a{font-size:var( --e-global-typography-el_f_paragraph_xs-font-size );line-height:var( --e-global-typography-el_f_paragraph_xs-line-height );}}@media(max-width:650px){.elementor-40551 .elementor-element.elementor-element-685dc99{--padding-top:124px;--padding-bottom:0px;--padding-left:16px;--padding-right:16px;}.elementor-40551 .elementor-element.elementor-element-164e03e{--padding-top:8px;--padding-bottom:28px;--padding-left:0px;--padding-right:0px;}.elementor-40551 .elementor-element.elementor-element-7310141 .elementor-heading-title{font-size:var( --e-global-typography-el_f_uppercase_s-font-size );line-height:var( --e-global-typography-el_f_uppercase_s-line-height );letter-spacing:var( --e-global-typography-el_f_uppercase_s-letter-spacing );}.elementor-40551 .elementor-element.elementor-element-dbfeca8{font-size:var( --e-global-typography-el_f_paragraph_xs-font-size );line-height:var( --e-global-typography-el_f_paragraph_xs-line-height );}.elementor-40551 .elementor-element.elementor-element-c8b5310 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-40551 .elementor-element.elementor-element-c8b5310 .elementor-icon-list-item > a{font-size:var( --e-global-typography-el_f_paragraph_xs-font-size );line-height:var( --e-global-typography-el_f_paragraph_xs-line-height );}}/* Start custom CSS for heading, class: .elementor-element-7310141 */.elementor-40551 .elementor-element.elementor-element-7310141 .elementor-heading-title{letter-spacing:.1em}/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-5ea14a5 *//* ITB · formularios — piel común (va en Avanzado › CSS personalizado del widget Formulario).
   Colores SOLO con variables del kit (--e-global-color-*) o mezclas de ellas; el rojo de error es el único
   hex porque el kit no tiene color de error (sus system_colors están en #FF0000). */
.elementor-40551 .elementor-element.elementor-element-5ea14a5{
  --itb-tinta: var(--e-global-color-el_c_1_text_accent);
  --itb-tinta-2: var(--e-global-color-el_c_2_text_accent);
  --itb-violeta: var(--e-global-color-el_c_2_color);
  --itb-violeta-osc: var(--e-global-color-el_c_2_color_dark);
  --itb-violeta-cl: var(--e-global-color-el_c_2_color_light);
  --itb-lila: var(--e-global-color-el_c_1_color);
  --itb-lavanda: var(--e-global-color-el_c_bg_accent);
  --itb-blanco: var(--e-global-color-el_color_0);
  --itb-verde: var(--e-global-color-el_color_1);
  --itb-campo: var(--itb-blanco);
  --itb-borde: color-mix(in srgb, var(--itb-tinta) 48%, var(--itb-blanco));
  --itb-borde-suave: color-mix(in srgb, var(--itb-tinta) 16%, var(--itb-blanco));
  --itb-sel: color-mix(in srgb, var(--itb-lavanda) 55%, var(--itb-blanco));
  --itb-anillo: color-mix(in srgb, var(--itb-violeta) 24%, transparent);
  --itb-error: #B42318;
  --itb-radio: 14px;
  color: var(--itb-tinta);
}
/* Los controles de formulario NO heredan la letra: sin esto salen en Arial */
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-form :is(input, select, textarea, button, label), .elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-exito :is(button, a){ font-family: inherit; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-form{ position: relative; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-group > .elementor-field-label{ display: block; margin: 0 0 8px; font-weight: 500; line-height: 1.35; color: var(--itb-tinta); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-mark-required .elementor-field-label::after{ color: var(--itb-violeta-osc); padding-left: .15em; }

/* campos de texto, fecha y área */
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-group:not(.elementor-field-type-upload) .elementor-field.elementor-field-textual,
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-group .elementor-select-wrapper select{
  min-height: 52px; padding: 12px 16px; border: 1.5px solid var(--itb-borde); border-radius: var(--itb-radio);
  background-color: var(--itb-campo); color: var(--itb-tinta); font-size: 16px; line-height: 1.4; box-shadow: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-group textarea.elementor-field-textual{ min-height: 168px; resize: vertical; line-height: 1.55; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-group .elementor-field-textual::placeholder{ color: var(--itb-tinta-2); opacity: .8; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-group .elementor-field-textual:focus,
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-group .elementor-select-wrapper select:focus{ outline: none; border-color: var(--itb-violeta); box-shadow: 0 0 0 4px var(--itb-anillo); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-group .elementor-select-wrapper{ border: 0; background: transparent; padding: 0; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-group .elementor-select-wrapper select{ appearance: none; -webkit-appearance: none; padding-right: 44px; width: 100%; text-overflow: ellipsis; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-group .elementor-select-wrapper .select-caret-down-wrapper{ right: 16px; color: var(--itb-violeta-osc); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 input[type="date"].elementor-field-textual{ min-width: 0; }

/* opciones como tarjetas; el círculo y la casilla, propios (los nativos en oscuro salen como discos grises) */
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-subgroup.itb-opciones{ display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 10px; width: 100%; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-subgroup.itb-opciones.itb-corta{ grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-opciones .elementor-field-option{ position: relative; display: flex; margin: 0; padding: 0; border: 1.5px solid var(--itb-borde-suave); border-radius: var(--itb-radio); background: var(--itb-campo); transition: border-color .15s, background-color .15s, box-shadow .15s; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-opciones .elementor-field-option:hover{ border-color: var(--itb-borde); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-opciones .elementor-field-option input{ appearance: none; -webkit-appearance: none; position: absolute; left: 16px; top: 50%; width: 20px; height: 20px; margin: -10px 0 0; border: 2px solid var(--itb-borde); border-radius: 50%; background: var(--itb-campo); cursor: pointer; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-opciones .elementor-field-option input[type="checkbox"]{ border-radius: 6px; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-opciones .elementor-field-option input:checked{ border-color: var(--itb-violeta); background: radial-gradient(circle, var(--itb-violeta) 0 5px, transparent 5.5px); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-opciones .elementor-field-option input[type="checkbox"]:checked{ background: var(--itb-violeta) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") center / 14px no-repeat; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-opciones .elementor-field-option label{ flex: 1 1 auto; display: flex; align-items: center; min-height: 52px; margin: 0; padding: 12px 16px 12px 48px; font-size: 15px; font-weight: 500; line-height: 1.35; color: var(--itb-tinta); cursor: pointer; overflow-wrap: anywhere; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-opciones .elementor-field-option:has(input:checked){ border-color: var(--itb-violeta); background: var(--itb-sel); box-shadow: inset 0 0 0 1px var(--itb-violeta); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-opciones .elementor-field-option:has(input:focus-visible){ box-shadow: 0 0 0 4px var(--itb-anillo); border-color: var(--itb-violeta); }

/* aceptaciones */
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-type-acceptance .elementor-field-subgroup{ display: block; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-type-acceptance .elementor-field-option{ display: flex; align-items: flex-start; gap: 12px; margin: 0; padding: 14px 16px; border-radius: var(--itb-radio); background: var(--itb-sel); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-type-acceptance .elementor-field-option input{ flex: 0 0 20px; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--itb-violeta); cursor: pointer; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-type-acceptance .elementor-field-option label{ font-size: 15px; line-height: 1.5; color: var(--itb-tinta); cursor: pointer; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-type-acceptance a, .elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-info-datos a{ color: var(--itb-violeta-osc); text-decoration: underline; text-underline-offset: 2px; }

/* adjuntos: el input queda accesible pero invisible; se ve el botón y el estado propios */
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-sr-input{ position: absolute !important; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-fichero{ display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; width: 100%; min-height: 84px; padding: 16px 18px; border: 1.5px dashed var(--itb-borde); border-radius: var(--itb-radio); background: var(--itb-sel); color: var(--itb-tinta-2); font-size: 15px; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-fichero:hover, .elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-sr-input:focus-visible + .itb-fichero, .elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-fichero.itb-sobre{ border-color: var(--itb-violeta); box-shadow: 0 0 0 4px var(--itb-anillo); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-fichero-boton{ display: inline-flex; align-items: center; min-height: 44px; padding: 10px 20px; border-radius: 999px; background: var(--itb-violeta); color: var(--itb-blanco); font-weight: 500; white-space: nowrap; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-fichero-estado{ margin: 8px 0 0; width: 100%; font-size: 14px; line-height: 1.45; color: var(--itb-tinta-2); overflow-wrap: anywhere; }

/* textos dentro del formulario (campos HTML) */
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-type-html{ padding-bottom: 0; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-subtit{ margin: 8px 0 0; padding-top: 20px; border-top: 1px solid var(--itb-borde-suave); font-size: 17px; font-weight: 600; color: var(--itb-tinta); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-ayuda{ margin: 4px 0 0; font-size: 14px; line-height: 1.5; color: var(--itb-tinta-2); text-wrap: pretty; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-opc{ font-weight: 400; color: var(--itb-tinta-2); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-nota{ margin: 0; font-size: 13.5px; color: var(--itb-tinta-2); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-info-datos{ padding: 16px 18px; border: 1px solid var(--itb-borde-suave); border-radius: var(--itb-radio); font-size: 13.5px; line-height: 1.5; color: var(--itb-tinta-2); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-info-tit{ margin: 0 0 10px; font-size: 14px; font-weight: 600; color: var(--itb-tinta); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-info-datos dl{ display: grid; grid-template-columns: minmax(0, 9.5em) minmax(0, 1fr); gap: 6px 16px; margin: 0; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-info-datos dt{ font-weight: 600; color: var(--itb-tinta); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-info-datos dd{ margin: 0; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-info-rc{ margin: 12px 0 0; font-size: 12.5px; }

/* resumen del último paso */
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-res-correo{ margin: 0 0 14px; padding: 14px 16px; border-radius: var(--itb-radio); background: var(--itb-sel); font-size: 15px; line-height: 1.5; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-res-correo strong{ overflow-wrap: anywhere; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-res-bloque{ margin: 0 0 12px; border: 1px solid var(--itb-borde-suave); border-radius: var(--itb-radio); overflow: hidden; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-res-cab{ display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px 10px 16px; background: var(--itb-sel); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-res-cab h3{ margin: 0; font-size: 15.5px; font-weight: 600; color: var(--itb-tinta); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-res-editar{ min-height: 44px; padding: 8px 16px; border: 1.5px solid var(--itb-borde); border-radius: 999px; background: transparent; color: var(--itb-violeta-osc); font-size: 14px; font-weight: 500; cursor: pointer; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-res-editar:hover{ border-color: var(--itb-violeta-osc); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-res-bloque dl{ display: grid; grid-template-columns: minmax(0, 13em) minmax(0, 1fr); margin: 0; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-res-bloque dt, .elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-res-bloque dd{ margin: 0; padding: 9px 16px; border-top: 1px solid var(--itb-borde-suave); font-size: 14.5px; line-height: 1.5; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-res-bloque dt{ color: var(--itb-tinta-2); font-weight: 500; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-res-bloque dd{ color: var(--itb-tinta); white-space: pre-line; overflow-wrap: anywhere; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-res-vacio{ margin: 0; padding: 10px 16px; border-top: 1px solid var(--itb-borde-suave); font-size: 14px; color: var(--itb-tinta-2); }

/* errores (los pinta la capa JS) y avisos de Elementor */
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-mal .elementor-field-textual, .elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-mal .elementor-select-wrapper select, .elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-mal .elementor-field-option, .elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-mal .itb-fichero{ border-color: var(--itb-error); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-error{ display: flex; align-items: flex-start; gap: 8px; width: 100%; margin: 8px 0 0; font-size: 14px; font-weight: 500; line-height: 1.4; color: var(--itb-error); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-error::before{ content: "!"; flex: 0 0 18px; height: 18px; display: grid; place-items: center; margin-top: 1px; border-radius: 50%; background: var(--itb-error); color: var(--itb-blanco); font-size: 12px; font-weight: 700; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-message{ margin-top: 16px; padding: 14px 16px; border-radius: var(--itb-radio); font-size: 15px; line-height: 1.5; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-message::before{ display: none; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-message.elementor-message-danger{ background: color-mix(in srgb, var(--itb-error) 8%, var(--itb-blanco)); color: var(--itb-error); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-contador{ margin: 6px 0 0; width: 100%; font-size: 13px; color: var(--itb-tinta-2); text-align: right; font-variant-numeric: tabular-nums; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-contador.itb-casi{ color: var(--itb-error); font-weight: 600; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-oculto{ display: none !important; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-sr{ position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* botones de paso y de envío */
/* el relleno lateral de la fila = la mitad del column_gap del formulario (20 px en rc_form): los envoltorios
   pierden el suyo para que el hueco entre botones lo ponga solo el gap, y así la fila casa con el borde de los campos */
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .e-form__buttons{ display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-top: 8px; padding-left: 10px; padding-right: 10px; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .e-form__buttons__wrapper{ flex: 0 1 auto; flex-wrap: nowrap; margin: 0; padding: 0; width: auto; max-width: none; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .e-form__buttons__wrapper .elementor-button{ flex-basis: auto; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .e-form__buttons .elementor-field-type-next, .elementor-40551 .elementor-element.elementor-element-5ea14a5 .e-form__buttons .elementor-field-type-submit{ margin-left: auto; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-button{ display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 14px 30px; border-radius: 999px; font-size: 16px; font-weight: 500; line-height: 1.2; transition: background-color .15s, color .15s, border-color .15s, transform .15s; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-button:focus-visible, .elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-res-editar:focus-visible, .elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-boton:focus-visible{ outline: 3px solid var(--itb-violeta); outline-offset: 3px; }
@media (prefers-reduced-motion: no-preference){ .elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-button:hover{ transform: translateY(-1px); } }
.elementor-40551 .elementor-element.elementor-element-5ea14a5.itb-enviando .elementor-form{ opacity: .45; pointer-events: none; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5.itb-enviando .elementor-form::after{ content: "Enviando…"; position: absolute; inset: 0; display: grid; place-items: center; font-weight: 600; color: var(--itb-tinta); }

/* pantalla final */
.elementor-40551 .elementor-element.elementor-element-5ea14a5.itb-enviado .elementor-form{ display: none; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-exito{ padding: 6px 0 4px; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-exito:focus{ outline: none; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-exito-ico{ width: 64px; height: 64px; margin: 0 0 18px; border-radius: 50%; background: var(--itb-lavanda); display: grid; place-items: center; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-exito-ico::before{ content: ""; width: 26px; height: 14px; margin-top: -6px; border-left: 4px solid var(--itb-violeta-osc); border-bottom: 4px solid var(--itb-violeta-osc); transform: rotate(-45deg); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-exito h2{ margin: 0 0 10px; font-size: 30px; font-weight: 500; line-height: 1.2; color: var(--itb-tinta); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-exito p{ margin: 0 0 12px; font-size: 16px; line-height: 1.6; color: var(--itb-tinta-2); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-exito p strong{ color: var(--itb-tinta); overflow-wrap: anywhere; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-exito-clave{ display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 4px 0 18px; padding: 16px 18px; border: 1.5px dashed var(--itb-violeta); border-radius: var(--itb-radio); background: var(--itb-sel); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-exito-codigo{ font-size: 24px; font-weight: 600; letter-spacing: .06em; color: var(--itb-tinta); font-variant-numeric: tabular-nums; white-space: nowrap; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-exito-acc{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-boton{ display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 24px; border-radius: 999px; border: 1.5px solid var(--itb-violeta); background: var(--itb-violeta); color: var(--itb-blanco); font-size: 15px; font-weight: 500; text-decoration: none; cursor: pointer; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-boton-sec{ background: transparent; color: var(--itb-violeta-osc); border-color: var(--itb-borde); }

/* el asistente de IA no pinta nada en una página de reclamaciones (art. 21.2 TRLGDCU: atención personal).
   EXCEPCIÓN a «sin !important»: el widget lo inyecta un plugin en wp_footer con sus propios estilos. */
#itb-chatbot-root{ display: none !important; }

@media (max-width: 650px){
  .elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-info-datos dl, .elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-res-bloque dl{ grid-template-columns: minmax(0, 1fr); }
  .elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-res-bloque dd{ border-top: 0; padding-top: 0; }
}

@media print{
  body *{ visibility: hidden; }
  .elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-exito-cont, .elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-exito-cont *, .itb-vivo-hoja, .itb-vivo-hoja *{ visibility: visible; }
  .elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-exito-acc, .itb-vivo-boton{ display: none !important; }
}

/* Piel oscura (diseños C y E): las mismas piezas de la base, sobre el fondo oscuro de la marca */
.elementor-40551 .elementor-element.elementor-element-5ea14a5{
  --itb-tinta: var(--e-global-color-el_c_1_text);
  --itb-tinta-2: color-mix(in srgb, var(--e-global-color-el_c_1_text) 78%, var(--e-global-color-el_c_bg_main));
  --itb-campo: color-mix(in srgb, var(--e-global-color-el_c_1_text) 5%, transparent);
  --itb-borde: color-mix(in srgb, var(--e-global-color-el_c_1_text) 55%, var(--e-global-color-el_c_bg_main));
  --itb-borde-suave: color-mix(in srgb, var(--e-global-color-el_c_1_text) 24%, transparent);
  --itb-sel: color-mix(in srgb, var(--e-global-color-el_c_1_color) 18%, transparent);
  --itb-anillo: color-mix(in srgb, var(--e-global-color-el_c_1_color) 36%, transparent);
  --itb-violeta-osc: var(--e-global-color-el_c_1_color_light);
  --itb-error: #FF9C8F;
  color-scheme: dark;
}
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-message.elementor-message-danger{ background: color-mix(in srgb, var(--itb-error) 14%, transparent); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-exito-ico{ background: color-mix(in srgb, var(--itb-verde) 16%, transparent); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-exito-ico::before{ border-color: var(--itb-verde); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-exito h2{ color: var(--e-global-color-el_color_7); }

/* C · Una pregunta cada vez — sobre el escenario oscuro de la marca (tokens oscuros en estilos-oscuro.css) */
/* barra de progreso de Elementor: fina, verde y con su «n de N» */
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .e-form__indicators{ display: flex; align-items: center; gap: 16px; margin: 0 0 clamp(28px, 5vh, 56px); padding: 0; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .e-form__indicators__indicator__progress{ flex: 1 1 auto; height: 6px; border-radius: 99px; background: color-mix(in srgb, var(--e-global-color-el_c_1_text) 18%, transparent); overflow: hidden; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .e-form__indicators__indicator__progress__meter{ width: var(--e-form-steps-indicator-progress-meter-width, 0); height: 100%; border-radius: inherit; background: var(--itb-verde); font-size: 0; color: transparent; transition: width .35s ease; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-c-cuenta{ flex: 0 0 auto; font-size: 14px; color: var(--itb-tinta-2); font-variant-numeric: tabular-nums; white-space: nowrap; }
/* la pregunta */
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-c-sec{ margin: 0; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--e-global-color-el_c_1_color_light); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-preg{ margin: 10px 0 10px; font-size: clamp(28px, 4.2vw, 44px); font-weight: 500; line-height: 1.18; color: var(--e-global-color-el_color_7); text-wrap: balance; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-preg:focus{ outline: none; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-c-ayuda{ margin: 0 0 8px; font-size: 17px; line-height: 1.55; color: var(--itb-tinta-2); text-wrap: pretty; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-solo > .elementor-field-label{ position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* campos grandes: línea inferior sobre una caja apenas marcada */
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-group:not(.elementor-field-type-upload) .elementor-field.elementor-field-textual,
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-group .elementor-select-wrapper select{
  min-height: 60px; padding: 12px 14px; border: 0; border-bottom: 2px solid var(--itb-borde); border-radius: 12px 12px 0 0; font-size: 20px;
}
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-group textarea.elementor-field-textual{ border: 1.5px solid var(--itb-borde); border-radius: 16px; font-size: 18px; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-group .elementor-field-textual:focus, .elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-group .elementor-select-wrapper select:focus{ border-color: var(--itb-lila); box-shadow: 0 2px 0 0 var(--itb-lila); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-group textarea.elementor-field-textual:focus{ box-shadow: 0 0 0 4px var(--itb-anillo); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-group > .elementor-field-label{ font-size: 15px; color: var(--itb-tinta-2); }
/* opciones con su letra, como en una conversación */
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-subgroup.itb-opciones, .elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-subgroup.itb-opciones.itb-corta{ grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-opciones .elementor-field-option label{ min-height: 58px; padding-left: 60px; font-size: 17px; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-opciones .elementor-field-option input{ opacity: 0; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-k{ position: absolute; left: 16px; top: 50%; width: 28px; height: 28px; margin-top: -14px; border-radius: 8px; border: 1.5px solid var(--itb-borde); display: grid; place-items: center; font-size: 13px; font-weight: 600; color: var(--itb-tinta-2); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-option:has(input:checked) .itb-k{ background: var(--itb-lila); border-color: var(--itb-lila); color: var(--e-global-color-el_c_bg_main); }
/* botones: seguir en violeta, atrás discreto; la pista de Intro al lado */
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .e-form__buttons{ flex-direction: row; justify-content: flex-start; align-items: center; margin-top: 28px; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .e-form__buttons .elementor-field-type-next, .elementor-40551 .elementor-element.elementor-element-5ea14a5 .e-form__buttons .elementor-field-type-submit{ order: 1; display: flex; align-items: center; gap: 14px; margin-left: 0; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .e-form__buttons .elementor-field-type-previous{ order: 2; margin-left: auto; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .e-form__buttons__wrapper__button-previous{ background: transparent; color: var(--itb-violeta-osc); border: 0; padding-left: 12px; padding-right: 12px; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .e-form__buttons__wrapper__button-previous::before{ content: "←"; margin-right: 8px; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .e-form__buttons__wrapper__button-previous:hover{ background: color-mix(in srgb, var(--itb-lila) 14%, transparent); }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-pista{ font-size: 14px; color: var(--itb-tinta-2); white-space: nowrap; }
.elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-pista kbd{ display: inline-block; padding: 2px 8px; margin: 0 2px; border: 1px solid var(--itb-borde-suave); border-radius: 6px; font: inherit; font-size: 12.5px; color: var(--itb-tinta); }
@media (max-width: 650px){
  .elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-pista{ display: none; }
  .elementor-40551 .elementor-element.elementor-element-5ea14a5 .itb-c-ayuda{ font-size: 16px; }
  .elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-group:not(.elementor-field-type-upload) .elementor-field.elementor-field-textual, .elementor-40551 .elementor-element.elementor-element-5ea14a5 .elementor-field-group .elementor-select-wrapper select{ font-size: 18px; }
  .elementor-40551 .elementor-element.elementor-element-5ea14a5 .e-form__buttons .elementor-field-type-next, .elementor-40551 .elementor-element.elementor-element-5ea14a5 .e-form__buttons .elementor-field-type-submit{ flex: 1 1 auto; }
  .elementor-40551 .elementor-element.elementor-element-5ea14a5 .e-form__buttons .elementor-field-type-next .elementor-button, .elementor-40551 .elementor-element.elementor-element-5ea14a5 .e-form__buttons .elementor-field-type-submit .elementor-button{ width: 100%; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-164e03e */.elementor-40551 .elementor-element.elementor-element-164e03e{max-width:820px;margin-inline:auto;flex-grow:1}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-c8b5310 */.elementor-40551 .elementor-element.elementor-element-c8b5310 a:hover .elementor-icon-list-text{text-decoration:underline}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-77de625 */.elementor-40551 .elementor-element.elementor-element-77de625{border-top:1px solid var(--e-global-color-el_c_borders_main);margin-top:32px}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-685dc99 */.elementor-40551 .elementor-element.elementor-element-685dc99{background-image:radial-gradient(110% 80% at 100% 0%,color-mix(in srgb,var(--e-global-color-el_c_2_color) 50%,transparent) 0%,transparent 55%),linear-gradient(165deg,var(--e-global-color-el_cta_2) 0%,var(--e-global-color-el_c_bg_main) 58%)}[data-elementor-type="popup"]:not(.elementor-edit-area){display:none}/* End custom CSS */