/* ===== TND HERO (full-bleed + sticky bg + text reveal) ===== */

.tnd-fullbleed-pin{
  position:relative; min-height:var(--span, 220vh); z-index:0; isolation:isolate;
  width:100vw; left:50%; margin-left:-50vw; right:50%; margin-right:-50vw;
  overflow:visible;
}

/* Capa de imagen sticky */
.tnd-fullbleed-pin .tnd-pin-layer{
  position:sticky; top:var(--top, 0px); height:var(--hpx, 100vh); z-index:0;
  background:
    linear-gradient(180deg, rgba(10,10,12,.40), rgba(10,10,12,.65)),
    var(--bg, none) center/cover no-repeat;
  overflow:hidden;
}

/* Oscurecimiento progresivo */
.tnd-fullbleed-pin .tnd-pin-layer::after{
  content:""; position:absolute; inset:0; background:#000;
  opacity:var(--fade, 0); pointer-events:none;
}

/* Contenedor l贸gico */
.tnd-pin-content{ position:relative; z-index:2; }

/* TEXTO: fixed con top controlado por --stackTop */
.tnd-stack{
  position:fixed; left:50%; top:var(--stackTop, 0px);
  transform:translateX(-50%) translateY(calc(-10vh * var(--fade, 0)));
  opacity:0; visibility:hidden; pointer-events:none;
  text-align:center; color:#fff; z-index:9999;
  display:flex; flex-direction:column; align-items:center; gap:clamp(8px,1.2vw,14px);
  padding:0 clamp(12px,3vw,48px);
}
.tnd-stack.is-fixed{ opacity:calc(1 - var(--fade, 0)); visibility:visible; }

.tnd-stack h2{
  margin:0; font-weight:800; line-height:1.1; font-size:clamp(28px,6vw,64px);
  text-wrap:balance;
}
.tnd-btn{
  display:inline-block; text-decoration:none; font-weight:700;
  background:#ff4757; color:#fff; border-radius:999px; border:1px solid transparent;
  padding:.85rem 1.3rem;
}

/* Por si Elementor molesta con im谩genes */
.tnd-fullbleed-pin img{ max-width:100% !important; height:auto }

/*=====================================*/
/* el section ancla no debe recortar el hero */
#tnd-hero-slot,
#tnd-hero-slot > .elementor-container,
#tnd-hero-slot > .e-con { /* (container mode) */
  overflow: visible !important;
}

/* si el ancla o sus wrappers añadieran transform/filters, anulan el fixed en algunos navegadores */
#tnd-hero-slot {
  transform: none !important;
  filter: none !important;
  perspective: none !important;
  contain: none !important;
}

/* garantiza el full-bleed aun dentro del ancla */
#tnd-hero-slot > .tnd-fullbleed-pin {
  width:100vw; left:50%; margin-left:-50vw; right:50%; margin-right:-50vw;
}