.elementor-107 .elementor-element.elementor-element-b29e2d9{--display:flex;--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;}.elementor-107 .elementor-element.elementor-element-dfc1df7{width:100%;max-width:100%;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for container, class: .elementor-element-b29e2d9 *//* =========================================================
   HERO FULL SCREEN (Elementor) — forzar full-bleed + 100vh
   Añade clase "tl-hero" al contenedor externo del hero
   ========================================================= */

/* Quita padding/margen que mete el theme/Elementor arriba */
body, .elementor-section, .elementor-container, .e-con{
  margin-top: 0;
}

/* Full-bleed real */
.tl-hero{
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  min-height: 100vh;              /* pantalla completa */
  display: grid;
  align-items: center;

  overflow: hidden;
}

/* Si tu hero usa una imagen <img> como fondo */
.tl-hero img.tl-hero__bg,
.tl-hero .tl-hero__bg img,
.tl-hero > img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

/* Capa oscura opcional (mejora lectura) */
.tl-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.42);
  z-index: 1;
}

/* Contenido encima */
.tl-hero > *{
  position: relative;
  z-index: 2;
}

/* Evita que el sticky header “corte” el alto */
:root{ --tl-header-offset: 90px; } /* ajusta si tu header es más alto */
.tl-hero{
  min-height: calc(100vh - var(--tl-header-offset));
  padding-top: var(--tl-header-offset);
}/* End custom CSS */