/* ==========================================================================
   FLAMA — ajustes mínimos para que el diseño encaje dentro de Elementor.
   Elementor envuelve cada bloque en varios <div>; estos se vuelven
   transparentes para que las secciones se comporten como en el sitio original.
   ========================================================================== */

/* Los envoltorios de Elementor no deben añadir caja ni separación. */
.elementor-widget-html,
.elementor-widget-html > .elementor-widget-container{margin:0;padding:0}
.elementor-section-wrap > .elementor-section,
.e-con,
.e-con-inner{--padding-top:0;--padding-right:0;--padding-bottom:0;--padding-left:0;max-width:none}
.e-con > .e-con-inner{max-width:none}

/* El contenido va a sangre: ni el tema ni Elementor deben recortarlo. */
.site-main,
.elementor-widget-container{max-width:none}
body.elementor-page .site-main{padding:0;margin:0}

/* Hello Elementor añade un margen superior al contenido que aquí sobra,
   porque la barra es fija y cada portada ya reserva su propio espacio. */
.site-main > .page-content{margin:0}

/* La barra y el menú móvil viven en la plantilla de cabecera, y con ellos el
   degradado de fondo (.bg), que es position:fixed con z-index negativo para
   quedarse detrás de todo.

   OJO: no se le puede poner z-index a .elementor-location-header. Al hacerlo se
   crea un contexto de apilamiento y ese z-index negativo pasa a contar DENTRO de
   la cabecera, así que el degradado sube por encima del contenido y tapa la
   página entera. La barra ya se coloca sola: es position:fixed con su z-index. */
.elementor-location-header .e-con,
.elementor-location-header .e-con-inner{overflow:visible}

/* Los iconos de redes sociales apuntan a "#" mientras no haya perfiles. Para un
   rastreador (y para quien pulsa) son enlaces muertos: se ocultan hasta que
   tengan URL. En cuanto se ponga la URL real en el HTML, reaparecen solos. */
.foot-social a[href="#"],
.cont-social a[href="#"]{display:none}

/* Formularios: estado del envio (js/formularios.js) */
.form-feedback{font-size:.875rem;line-height:1.65;padding-top:1.1rem;color:var(--gray)}
.form-feedback[hidden]{display:none}
.form-feedback.is-error{color:#b3261e}
form button[aria-busy="true"]{opacity:.65;cursor:progress}

/* Paginas legales: tablas de cookies y boton «Configurar cookies» */
.legal-prose h3{margin:1.8rem 0 .6rem;font-size:1.1rem;font-weight:500;letter-spacing:-.02em;color:var(--ink)}
.legal-table{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 1.4rem}
.legal-table table{width:100%;min-width:560px;border-collapse:collapse;font-size:.9rem;line-height:1.5}
.legal-table th,.legal-table td{padding:.7rem .8rem;border-bottom:1px solid rgba(27,24,21,.12);text-align:left;vertical-align:top}
.legal-table th{font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);white-space:nowrap}
.legal-table code{font-size:.85rem;white-space:nowrap;color:var(--ink)}
.legal-prose .legal-cookies-btn{color:#fff;text-decoration:none;border-radius:5px;font-size:.875rem;margin:.2rem 0 .4rem}

/* El Theme Builder mete nuestro <footer> dentro de otro <footer>. Las reglas de
   `footer{}` del diseño se aplicaban a los dos, y el de fuera duplicaba el margen
   superior y los 13,6 rem de aire inferior: por eso aparecia una franja en blanco
   bajo el pie. El envoltorio se queda neutro; el pie de dentro no cambia. */
footer.elementor-location-footer{
  margin:0;padding:0;position:static;overflow:visible;isolation:auto;background:none;
}
