/* index.css (senza regole Products) */

/* ---------- FONT ---------- */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300..700&display=swap');

:root{
  --font-body: "Manrope", system-ui, sans-serif;   /* nuovo token globale */
  --max-width:1200px;
}

body{font-family:var(--font-body);margin:0;font-size:1.30rem;}

/* Paragrafi più stretti e centrati nelle sezioni principali */
.story-text p,
.value-textbox p,
.products-inner p {
  max-width: 500px;
  margin-inline: auto;
}

/* ---------- CONTAINER ---------- */
.container{
  width:min(92%,var(--max-width));
  margin-inline:auto;
}

.hero{
  position:relative;
  height:calc(100vh - var(--header-h));
  overflow:hidden;
}
.hero-video{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  pointer-events:none;
}

/* video predefinito visibile, poster nascosto */
.hero-video {display:block;}
.hero-poster{display:none;width:100%;height:100%;object-fit:cover;}

/* sotto i 600 px si inverte: poster visibile, video nascosto */
@media(max-width:600px){
  .hero-video {display:none;}
  .hero-poster{display:block;}
}

@media (max-width:600px) and (orientation: portrait) {
  .hero-video { display: block; }
  .hero-poster { display: none; }
}

/* l’overlay di testo già esistente (.hero-text) resta invariato */

@keyframes fade{0%,33%{opacity:1;}45%,100%{opacity:0;}}
.hero-text{position:absolute;inset:0;display:grid;place-items:center;
          color:#fff;text-align:center;padding:0 1rem;}
.separator{display:block;position:absolute;bottom:0;left:0;width:100%;height:90px;line-height:0;}

/* Forza altezza separatore vele come in origine */
.separatore-vele svg {
  height: 150px !important;
  width: 100%;
  display: block;
}

.separatore-verde-underline svg {
  width: 100%;
  height: 18px;
  display: block;
  margin-bottom: 4em;
}

/* Animazione separatore verde (Dove Trovarci) */
#separatore-verde-path-trovarci {
  stroke-dasharray: 320;
  stroke-dashoffset: 320;
  transition: stroke-dashoffset 1.2s cubic-bezier(.77,0,.18,1);
}
#separatore-verde-path-trovarci.disegnato {
  stroke-dashoffset: 0;
}

/*****  SEPARATORE FRANCO-WAVE ***********************************/
.franco-wave{
  --wave-fill:#395934;
  --wave-shadow:0 6px 8px rgba(0,0,0,.10);
    background-color: #000000;
margin-top:-1px;
  position:relative;
  background:#fff;
  line-height:0;
  overflow:hidden;                 /* blocca eventuale drop-shadow sporgente */
  margin-bottom:-1px;              /* annulla qualunque gap subpixel */
    --header-h:0px;         /* “annulla” l’altezza riservata */
  padding-top:0; 
}

.franco-wave svg{
  display:block;
  width:100%;
  height:120px;
  transform:scaleY(-1);            /* concava ↓ di default */
}

.franco-wave path{
  fill:var(--wave-fill);
  filter:drop-shadow(var(--wave-shadow));
}

/* variante concava ↑ */
.franco-wave.rot180 svg{transform:rotate(180deg);}   

/* 2) Onda concava ↑ riflessa sinistra⇄destra */
.franco-wave.flipX svg{
  transform:rotate(180deg) scaleX(1) scaleY(-1);  /* 180° + mirror orizzontale */
}

/* ───────────────────────── SPAZIO ZERO ───────────────────────── */

/* ───── eliminazione automatica dello spazio sotto il separatore ───── */
.franco-wave + section{
  margin-top:0 !important;         /* azzera margine */
  padding-top:0 !important;        /* azzera eventuale padding */
}

/* ---------- PARTNERS ----------------------------------------- */
.partners{
  text-align:center;
  padding:4rem 0;
  padding-top: 8rem;
  position: relative;
  z-index: 3;
}

.partners p {
width: 100%;
}

.partners h2{
  font-size:2rem;
  margin-bottom:0rem;
  margin-top: 8rem;
  color: #395934;
  position: relative;
  z-index: 4;
}

.partners-logos{
  display:flex;
  flex-wrap:wrap;             /* va a capo su mobile */
  justify-content:center;
  gap:2.5rem 6rem;            /* verticale / orizzontale */
  align-items:center;
  margin-top: 2rem;
}

.partners-logos img{
  max-height:100px;            /* uniforme */
  height:auto;
  width:auto;
  max-width:180px; /* opzionale, per evitare loghi troppo larghi */
  transition:filter .25s;
  display:block;
  margin:0 auto;
}


.partners-intro {
  /* background: #fff; */
  /* border: 1.5px solid #395934; */
  color: #222;
  border-radius: 1.2em;
  padding: 0;
  max-width: 520px;
  margin: 0 auto 2.5rem auto;
  margin-bottom: 4rem ;
  text-align: center;
  font-size: 1.3rem;
  font-family: var(--font-body);
  /* box-shadow: 0 2px 12px 0 rgba(57,89,52,0.06); */
}
@media (max-width: 600px) {
  .partners-intro {
    text-align: center;
  }
}

/* mobile -------------------------------------------------- */
@media(max-width:768px){
  .value-textbox{text-align:center;}
  .value-btn{margin-inline:auto;}
}

/* ---------- mobile ≤ 768 px ---------- */
@media (max-width:768px){
  .value-textbox{text-align:center;}   /* centra titolo+testo */
  .value-btn{margin-inline:auto;}      /* centra anche il bottone */
}

/* ---------- mobile ≤ 768 px: impila immagine + testo ----------- */
@media(max-width:768px){
  .value-content{
    flex-direction:column;
    text-align:center;
  }
  .value-image{
    width:80%;
    max-width:320px;         /* immagine più compatta su mobile */
  }
}
/* ========== altri responsive optional ========== */
@media(min-width:768px){
  .story-grid{grid-template-columns:none;justify-items:center;}
}

