/* =========================================================
   COVER testo (posizione)
   ========================================================= */
.cover_text_pos{
  position: absolute;
  top: 8vh;
  left: 4vw;

  width: min(1100px, 80vw);
  margin: 0;
  }
/* =========================================================
   HORIZONTAL SCROLL — PANIERI 
   ========================================================= */

 .hscroll-wrapper{
  position: relative;
  height: 100vh;
  width: 100%;
  overflow: hidden;
  background: #ffffff;
}

 .hscroll{
  position: absolute;
  inset: 0;
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

 .hscroll::-webkit-scrollbar{
  display: none;
}

 .hslide{
  flex: 0 0 100vw;
  height: 100%;
  scroll-snap-align: start;
  display: grid;
  align-items: center;
  padding: clamp(28px, 5vw, 80px);
  box-sizing: border-box;
  width: 100vw;        /* 🔥 blocca la larghezza reale */
  overflow: hidden;    /* evita che contenuti interni allunghino la slide */
}

/* Slide 1: blocca l’allineamento e centra bene la composizione */
 .hslide--s{
  grid-template-columns: 1.25fr 0.75fr;
  column-gap: clamp(36px, 4vw, 140px);
  align-items: center;
}

/* immagine: NO spinte strane, resta stabile e “pulita” */
 .himg--s{
  justify-self: start;
  margin-left: -10vw;
  width: min(760px, 64vw);
  max-height: 72vh;
  object-fit: contain;
}


/* Slide 2 — M + L */
 .hslide--ml{
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  column-gap: clamp(24px, 4vw, 90px);
}

 .himg--m,
 .himg--l{
  width: min(560px, 40vw);  /* ✅ più sicuro */
  max-height: 78vh;
  object-fit: contain;
}

 .himg--m{
  justify-self: start; 
  margin-left: -15vw;
}

 .himg--l{
  justify-self: end;
  margin-right: clamp(10px, 4vw, 80px);
}

/* testo slide */
 .htext p{
  margin: 4vh;
  font-family: var(--testi-font-family);
  font-weight: var(--testi-font-weight);
  font-size: var(--testi-font-size);
  letter-spacing: var(--testi-letter-spacing);
  line-height: var(--testi-line-height);
  color: var(--neros)
}

 .htext--right{
  width: min(50ch, 28vw);
  justify-self: start;
  margin-left: clamp(-40px, -3vw, -12px); /* ✅ lo tira verso sinistra */
}


 .htext--center{
  width: min(46ch, 24vw);
  justify-self: center;
  text-align: left;
}


/* mobile slider */
@media (max-width: 700px){

  /* --- SLIDE 1 (S): colonna con ordine immagine → testo --- */
   .hslide--s{
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px;
  }

   .hslide--s .himg--s{ order: 1; }
   .hslide--s .htext--right{ order: 2; }

  /* --- SLIDE 2 (M/L): colonna con ordine M → testo → L --- */
   .hslide--ml{
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px;
  }

   .hslide--ml .himg--m{ order: 1; }
   .hslide--ml .htext--center{ order: 2; }
   .hslide--ml .himg--l{ order: 3; }

  /* immagini centrali e responsive */
   .himg--s,
   .himg--m,
   .himg--l{
    width: min(900px, 90vw);
    max-height: 52vh;
    object-fit: contain;
    margin: 0;
    align-self: center;
  }

  /* testi */
   .htext--right,
   .htext--center{
    width: min(60ch, 68vw);
    margin: 0 auto;
  }
}


/* =========================================================
   LINK OUT
   ========================================================= */


 .linkout-inner{
  width: min(900px, 92vw);
  margin-top: clamp(200px, 10vh, 300px);
  margin-bottom: clamp(200px, 10vh, 300px);
  margin-inline: auto;
  display: grid;
  place-items: center;
  gap: 8px;
  text-align: center;
}

 .link_icon{
  width: 75px;
  height: auto;
}

 .link_text{
  font-family: var(--Super_text-font-family);
  font-weight: var(--Super_text-font-weight);
  font-size: var(--Super_text-font-size);
  line-height: var(--Super_text-line-height);
  letter-spacing: var(--Super_text-letter-spacing);
  color: var(--neros);
  text-decoration: underline;
  text-underline-offset: 0.25em;
}

 .link_text:hover{
  opacity: 0.75;

}