/* WSI v2 · capa de compatibilidad con Elementor.
   base.css e index.css llevan el prefijo #wsi (generado por wordpress/build_wp.py), así que ganan a las reglas de Elementor.
   Aquí se neutralizan los valores por defecto de los contenedores y widgets para que se comporten como los div de la v2. */

/* Contenedores: sin padding, gap ni flex de Elementor; especificidad baja para que las clases de la v2 manden. */
:where(#wsi) .e-con,
:where(#wsi) .e-con-full{display:block;margin:0;padding:0;gap:normal;text-align:inherit;flex:initial;flex-direction:initial;flex-wrap:initial;align-items:initial;justify-content:initial;align-content:initial;min-height:auto;min-width:auto;height:auto;overflow:visible;z-index:auto;width:auto;max-width:none;position:static;border:0;border-radius:0}
:where(#wsi) .elementor > .e-con{max-width:none}
:where(#wsi) .e-con::before,:where(#wsi) .e-con::after{content:none}
/* Widgets: el envoltorio no añade espacio. */
:where(#wsi) .elementor-widget{margin:0;width:auto;max-width:none;min-width:0;position:static}
:where(#wsi) .elementor-widget:not(:last-child){margin-block-end:0}
#wsi .elementor-widget-heading > .elementor-widget-container{display:contents}
/* Títulos y párrafos: el envoltorio lleva las clases de la v2; la etiqueta interna hereda y no crea caja. */
#wsi .elementor-heading-title{display:contents;margin:0;padding:0;font:inherit;color:inherit;letter-spacing:inherit;line-height:inherit;text-transform:inherit;text-align:inherit}
/* HTML, imagen y shortcode: el envoltorio es transparente fuera del editor. */
body:not(.elementor-editor-active) :where(#wsi) :is(.elementor-widget-html,.elementor-widget-image,.elementor-widget-shortcode),
body:not(.elementor-editor-active) :where(#wsi) :is(.elementor-widget-html,.elementor-widget-image,.elementor-widget-shortcode) > :is(.elementor-widget-container,.elementor-shortcode){display:contents}
.elementor-editor-active #wsi .elementor-widget-image img{width:100%}
#wsi .elementor img{border-radius:0;box-shadow:none}

/* Contact Form 7 sobre la retícula .form de la v2 */
#wsi .wpcf7 .hidden-fields-container,#wsi .wpcf7 .screen-reader-response{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);border:0;margin:0;padding:0}
#wsi .wpcf7-form-control-wrap{display:block}
#wsi .perfil .wpcf7-form-control-wrap,#wsi .perfil .wpcf7-radio,#wsi .perfil .wpcf7-list-item,
#wsi .consent .wpcf7-form-control-wrap,#wsi .consent .wpcf7-acceptance,#wsi .consent .wpcf7-list-item{display:contents}
#wsi .perfil .wpcf7-list-item-label{margin:0}
#wsi .consent label{display:flex;gap:12px;align-items:flex-start}
#wsi .wpcf7-not-valid-tip{display:block;margin-top:6px;font-size:14px;color:#E07A6E}
#wsi .wpcf7-not-valid{border-bottom-color:#E07A6E}
#wsi .wpcf7 .wpcf7-response-output{grid-column:1/-1;margin:0;padding:14px 18px;border:1px solid var(--gold);color:var(--ink);font-size:16px}
#wsi .wpcf7 form.init .wpcf7-response-output,#wsi .wpcf7 form.resetting .wpcf7-response-output,#wsi .wpcf7 form.submitting .wpcf7-response-output{display:none}
#wsi .wpcf7 form.invalid .wpcf7-response-output,#wsi .wpcf7 form.unaccepted .wpcf7-response-output,#wsi .wpcf7 form.failed .wpcf7-response-output,#wsi .wpcf7 form.aborted .wpcf7-response-output,#wsi .wpcf7 form.spam .wpcf7-response-output{border-color:#E07A6E}
#wsi .wpcf7 .wpcf7-spinner{margin:0}
#wsi .wpcf7 form.submitting .cred{opacity:.6;pointer-events:none}
