.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 );line-height:var( --e-global-typography-text-line-height );}.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 );line-height:var( --e-global-typography-text-line-height );}.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 );line-height:var( --e-global-typography-text-line-height );}.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 );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.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 );line-height:var( --e-global-typography-text-line-height );}.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 );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.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 );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-515 .elementor-element.elementor-element-fa11f01 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-515 .elementor-element.elementor-element-fa11f01 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-515 .elementor-element.elementor-element-fa11f01 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-515 .elementor-element.elementor-element-fa11f01 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-515 .elementor-element.elementor-element-fa11f01 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-515 .elementor-element.elementor-element-fa11f01 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-515 .elementor-element.elementor-element-fa11f01 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-515 .elementor-element.elementor-element-fa11f01 .elementor-field-type-html{padding-bottom:0px;}.elementor-515 .elementor-element.elementor-element-fa11f01 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-515 .elementor-element.elementor-element-fa11f01 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-515 .elementor-element.elementor-element-fa11f01 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-515 .elementor-element.elementor-element-fa11f01 .elementor-button[type="submit"]{color:#ffffff;}.elementor-515 .elementor-element.elementor-element-fa11f01 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-515 .elementor-element.elementor-element-fa11f01 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-515 .elementor-element.elementor-element-fa11f01 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-515 .elementor-element.elementor-element-fa11f01 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-515 .elementor-element.elementor-element-fa11f01 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-515 .elementor-element.elementor-element-fa11f01 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-515 .elementor-element.elementor-element-fa11f01{--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;}:root{--page-title-display:none;}@media(max-width:1023px){.elementor-widget-form .elementor-field-group > label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-form .elementor-field-type-html{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-form .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-form .elementor-message{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}}@media(max-width:699px){.elementor-widget-form .elementor-field-group > label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-form .elementor-field-type-html{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-form .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-form .elementor-message{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}}/* Start custom CSS *//* Venta profesional (515) · CSS de la página. Solo lo propio de esta página (KIT-V4 §11.5): lo común está en el Kit.
   Ganchos: clases del kit y atributos data-* puestos con Novamira (nunca clases locales e-xxxx). Bloques [fm:nombre]. */

/* [fm:cabecera] Retoques de la cabecera de Venta profesional (web/assets/css/venta-profesional.css): la entradilla no
   llega a la madera de los palots en 1024–1279 px y el velo izquierdo llega algo más lejos (≥ 1024 px). La sombra del H1 y
   el ancho de 36rem de la entradilla van en sus estilos locales. */
@media (min-width: 1024px) and (max-width: 1279px) {
  .elementor.elementor-515 .fm-pagehead-intro { max-width: 29rem; }
}
@media (min-width: 1024px) {
  .elementor.elementor-515 .fm-pagehead-veil {
    background-image:
      linear-gradient(0deg, #0B0D0C 0%, rgba(11, 13, 12, .78) 12%, rgba(11, 13, 12, 0) 42%),
      linear-gradient(90deg, #0B0D0C 0%, rgba(11, 13, 12, .9) 14%, rgba(11, 13, 12, .64) 28%, rgba(11, 13, 12, .24) 42%, rgba(11, 13, 12, 0) 56%),
      linear-gradient(180deg, rgba(6, 8, 7, .6) 0%, rgba(6, 8, 7, 0) 24%);
  }
}
/* [/fm:cabecera] */

/* [fm:soluciones] Estados del visor y de la lista de tipos de cliente (los pone el widget HTML «visor-preseleccion»):
   .is-js en el visor, .is-active en fila, foto y marca, .is-scrolly en la lista (≥ 1024 px). Sin JS: primera foto y marca. */
.elementor.elementor-515 [data-vp-slide] {
  opacity: 0; transform: scale(1.06);
  transition: opacity .9s cubic-bezier(.22, .61, .36, 1), transform 1.8s cubic-bezier(.16, 1, .3, 1);
}
.elementor.elementor-515 [data-vp-slide].is-active,
.elementor.elementor-515 [data-vp-visor]:not(.is-js) [data-vp-slide]:first-child { opacity: 1; transform: scale(1); }
.elementor.elementor-515 [data-vp-mark].is-active,
.elementor.elementor-515 [data-vp-visor]:not(.is-js) [data-vp-mark]:first-child { background-color: var(--fm-pera); }
/* Raíl vertical de cada fila: gris y, en la activa, verde que crece de arriba abajo */
.elementor.elementor-515 [data-vp-cliente]::before,
.elementor.elementor-515 [data-vp-cliente]::after {
  content: ""; display: block; position: absolute; left: 0; right: auto;
  top: clamp(32px, 3.6vw, 56px); bottom: clamp(32px, 3.6vw, 56px); width: 2px; height: auto;
  border-radius: 2px; opacity: 1; mix-blend-mode: normal; z-index: 0; pointer-events: none;
}
.elementor.elementor-515 [data-vp-cliente]::before { background: var(--fm-linea-fuerte); }
.elementor.elementor-515 [data-vp-cliente]::after {
  background: var(--fm-pera); transform: scaleY(0); transform-origin: top center;
  transition: transform .8s cubic-bezier(.16, 1, .3, 1);
}
.elementor.elementor-515 [data-vp-cliente].is-active::after { transform: scaleY(1); }
/* Con JS en escritorio: la fila activa en hueso; las demás en reposo */
.elementor.elementor-515 [data-vp-clientes].is-scrolly [data-vp-cliente]:not(.is-active) h3 { color: var(--fm-apagado); }
.elementor.elementor-515 [data-vp-clientes].is-scrolly [data-vp-cliente]:not(.is-active) h3 + p { color: var(--fm-gris); }
@media (max-width: 1023px) {
  .elementor.elementor-515 [data-vp-cliente]::before,
  .elementor.elementor-515 [data-vp-cliente]::after { display: none; }
}
/* Opción del formulario marcada desde «Solicitar una propuesta»: halo verde breve (2 × 1,6 s) */
@keyframes fm-choice-pulse {
  0% { box-shadow: 0 0 0 0 rgba(103, 189, 69, .55); }
  70% { box-shadow: 0 0 0 10px rgba(103, 189, 69, 0); }
  100% { box-shadow: 0 0 0 0 rgba(103, 189, 69, 0); }
}
.elementor.elementor-515 .fm-formcard .elementor-field-option.is-preselected { animation: fm-choice-pulse 1.6s cubic-bezier(.22, .61, .36, 1) .35s 2 both; }
@media (prefers-reduced-motion: reduce) {
  .elementor.elementor-515 .fm-formcard .elementor-field-option.is-preselected { animation: none; box-shadow: 0 0 0 3px rgba(103, 189, 69, .35); }
  .elementor.elementor-515 [data-vp-slide] { transform: none; }
}
/* [/fm:soluciones] */

/* [fm:beneficios] 5 columnas → 3 en ≤ 1179 px (también de 600 a 699, como la maqueta) → filas con el icono a la izquierda en ≤ 599 px */
@media (max-width: 1179px) {
  .elementor.elementor-515 [data-fm-vp="benef-list"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 599px) {
  .elementor.elementor-515 [data-fm-vp="benef-list"] { grid-template-columns: minmax(0, 1fr); row-gap: 0; column-gap: 0; border-bottom: 1px solid var(--fm-linea); }
  .elementor.elementor-515 [data-fm-vp="benef-item"] { flex-direction: row; align-items: center; gap: 18px; padding: 20px 0; border-top-color: var(--fm-linea); }
  .elementor.elementor-515 [data-fm-vp="benef-item"] .fm-icon-ring { flex: none; width: 48px; height: 48px; }
  .elementor.elementor-515 [data-fm-vp="benef-item"] p { font-size: 1.5rem; }
}
/* [/fm:beneficios] */

/* [fm:formulario] Formulario Pro con el orden de la maqueta: nota de obligatorios arriba, nota bajo el mensaje, primera capa
   de protección de datos antes de la casilla. Lo común del formulario está en el CSS del sitio (§13); aquí, solo las piezas
   propias de esta página (campos HTML «pista» y «rgpd»), el radio y el desplegable como la maqueta. */
.elementor.elementor-515 .fm-formcard > .elementor-widget-form { margin-block-start: 26px; }
.elementor.elementor-515 .fm-formcard .elementor-form .elementor-field-type-radio .elementor-field-label { margin-bottom: 10px; }
/* Mensaje: el alto lo dan sus 5 filas (142 px), como la maqueta (el CSS del sitio pone 164 px de mínimo) */
.elementor.elementor-515 .fm-formcard .elementor-form .elementor-field-group-mensaje textarea.elementor-field-textual.elementor-field-textual { min-height: 52px; }
.elementor.elementor-515 .fm-formcard .elementor-form .elementor-field-group-pista { margin-block-start: -14px; }
.elementor.elementor-515 .fm-formcard .elementor-form .elementor-field-group-pista p { margin: 0; font-size: var(--fm-fs-small); line-height: 1.45; color: var(--fm-tenue); }
.elementor.elementor-515 .fm-formcard .elementor-form .elementor-field-group-rgpd { margin-block-start: 2px; }
.elementor.elementor-515 .fm-formcard .elementor-form .elementor-field-group-rgpd p {
  margin: 0; padding-top: 20px; border-top: 1px solid var(--fm-linea);
  font-size: .8125rem; line-height: 1.6; color: var(--fm-tenue); text-wrap: pretty;
}
.elementor.elementor-515 .fm-formcard .elementor-form .elementor-field-group-rgpd strong { color: var(--fm-gris); font-weight: 600; }
.elementor.elementor-515 .fm-formcard .elementor-form .elementor-field-group-rgpd a { color: var(--fm-gris); text-decoration: underline; text-underline-offset: 3px; }
.elementor.elementor-515 .fm-formcard .elementor-form .elementor-field-group-rgpd a:hover { color: var(--fm-hueso); }
.elementor.elementor-515 .fm-formcard .elementor-form .elementor-field-group-privacidad { margin-block-start: -4px; }
.elementor.elementor-515 .fm-formcard .elementor-form .elementor-field-type-acceptance .fm-req { margin-left: 2px; color: var(--fm-pera); font-weight: 700; }
/* Casilla de aceptación: 14 px entre la casilla y el texto, como la maqueta (fm.css › .fm-check). El CSS del sitio §13 pone 12 px;
   si se corrige allí, esta regla sobra (verificación independiente, 29/09). */
.elementor.elementor-515 .fm-formcard .elementor-form .elementor-field-type-acceptance .elementor-field-option { gap: 14px; }
/* Radio en tarjeta (toda la tarjeta es clicable) */
.elementor.elementor-515 .fm-formcard .elementor-form .elementor-field-type-radio .elementor-field-option input {
  -webkit-appearance: none; appearance: none; flex: none; display: grid; place-items: center;
  width: 20px; height: 20px; margin: 0; border-radius: 50%; border: 1.5px solid var(--fm-tenue); background: transparent; cursor: pointer;
  transition: border-color .3s cubic-bezier(.22, .61, .36, 1);
}
.elementor.elementor-515 .fm-formcard .elementor-form .elementor-field-type-radio .elementor-field-option input::before {
  content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--fm-pera); transform: scale(0);
  transition: transform .25s cubic-bezier(.16, 1, .3, 1);
}
.elementor.elementor-515 .fm-formcard .elementor-form .elementor-field-type-radio .elementor-field-option input:checked { border-color: var(--fm-pera); }
.elementor.elementor-515 .fm-formcard .elementor-form .elementor-field-type-radio .elementor-field-option input:checked::before { transform: scale(1); }
.elementor.elementor-515 .fm-formcard .elementor-form .elementor-field-type-radio .elementor-field-option label { cursor: pointer; }
.elementor.elementor-515 .fm-formcard .elementor-form .elementor-field-type-radio .elementor-field-option label::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.elementor.elementor-515 .fm-formcard .elementor-form .elementor-field-type-radio .elementor-field-option input:focus-visible { outline: none; }
.elementor.elementor-515 .fm-formcard .elementor-form .elementor-field-type-radio .elementor-field-option:has(input:focus-visible) { outline: 2px solid var(--fm-pera); outline-offset: 2px; }
/* Desplegable: flecha fina en Verde Pera como la maqueta (en lugar del icono del widget) */
.elementor.elementor-515 .fm-formcard .elementor-form .elementor-select-wrapper .select-caret-down-wrapper { display: none; }
.elementor.elementor-515 .fm-formcard .elementor-form .elementor-select-wrapper::after {
  content: ""; position: absolute; right: 20px; top: 50%; width: 8px; height: 8px; pointer-events: none;
  border-right: 1.5px solid var(--fm-pera); border-bottom: 1.5px solid var(--fm-pera); transform: translateY(-70%) rotate(45deg);
}

/* [/fm:formulario] *//* End custom CSS */