.fiore-sep-wrapper {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  background: transparent;
  overflow: visible;
  margin-top: 3em;
  margin-bottom: 3em;
}

#fiore-sep {
  width: 12vw;
  min-width: 70px;
  max-width: 180px;
  height: auto;
  display: block;
  overflow: visible;
}
#fiore-sep .petalo {
  opacity: 0;
  transform: scale(0.7) rotate(-10deg);
  transform-origin: 50% 50%;
  transition: opacity 0.4s, transform 0.7s cubic-bezier(0.77,0,0.175,1);
}
#fiore-sep.fiorito .petalo {
  opacity: 1;
  transform: scale(1) rotate(0deg);
}
#fiore-sep .petalo-verde-lime-bkg, #fiore-sep .petalo-verde-lime, #fiore-sep .petalo-verde-lime-chiaro {
  transition-delay: 0.05s;
}
#fiore-sep .petalo-verde-oliva-bkg, #fiore-sep .petalo-verde-oliva, #fiore-sep .petalo-verde-oliva-chiaro {
  transition-delay: 0.1s;
}
#fiore-sep .petalo-rosso-bkg, #fiore-sep .petalo-rosso, #fiore-sep .petalo-rosso-chiaro {
  transition-delay: 0.15s;
}
#fiore-sep .petalo-arancione-bkg, #fiore-sep .petalo-arancione, #fiore-sep .petalo-arancione-chiaro {
  transition-delay: 0.2s;
}
#fiore-sep .petalo-bianco-sx {
  opacity: 1 !important;
  transform: scale(1) rotate(0deg) !important;
  transition-delay: 0s !important;
}
#fiore-sep .petalo-bianco-dx {
  opacity: 1 !important;
  transform: scale(1) rotate(0deg) !important;
  transition-delay: 0s !important;
}

/* Bordo verde scuro: animazione "wipe" da sx verso il centro */
#fiore-sep .bordo-verde-scuro {
  fill: #3a5935;
  opacity: 0.95;
  stroke: none;
  /* mask for wipe effect */
  mask: url(#mask-bordo-verde-scuro);
  transition: none;
}
#fiore-sep.fiorito .bordo-verde-scuro {
  /* mask will be animated via JS */
}

/* Fallback for browsers without mask-image support */
@supports not (mask-image: linear-gradient(to right, #000, #000)) {
  #fiore-sep .bordo-verde-scuro {
    opacity: 0;
    transition: opacity 1.2s cubic-bezier(0.77,0,0.175,1);
  }
  #fiore-sep.fiorito .bordo-verde-scuro {
    opacity: 0.95;
  }
}

.h2-mobile-sep {
  display: none;
  text-align: center;
  width: 100%;
  margin: 2em 0 1em 0;
}

/* ===== SEPARATORE VERDE SCURO ANIMATO ======================= */
.separatore-verde {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: transparent;
  margin: 0;
  padding: 0;
  overflow: visible;
  padding-top: 0 !important;
  position: relative;
  margin-top: 10em;
}
.fiore-sep-pos {
  position: absolute;
  top: -80px; /* regola in base all'altezza desiderata */
  left: 50%;
  transform: translateX(-50%);
  width: 12vw;
  min-width: 70px;
  max-width: 180px;
  pointer-events: none;
  transition: opacity 0.5s;
  opacity: 1;
  z-index: 2;
}
.fiore-sep-pos.hidden {
  opacity: 0;
  pointer-events: none;
}
#separatore-verde-svg {
  width: 33vw;
  min-width: 180px;
  max-width: 480px;
  height: auto;
  display: block;
  margin: 0 auto;
}
#separatore-verde-path {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  transition: stroke-dashoffset 1.6s cubic-bezier(0.77,0,0.175,1);
}
#separatore-verde-path.disegnato {
  stroke-dashoffset: 0;
}
@media (max-width: 600px) {
  #fiore-sep,
  .fiore-sep-pos {
    width: 100px;
    min-width: 100px;
    max-width: 100px;
  }
  #separatore-verde-svg {
    width: 80vw;
    min-width: 120px;
    max-width: 98vw;
  }
  .products-title h2,
  .h2-mobile-sep,
  .fiore-sep-h2-row h2 {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 427px) {
  #fiore-sep,
  .fiore-sep-pos {
    width: 28vw;
    min-width: 36px;
    max-width: 98vw;
  }
  .fiore-sep-h2-row {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 0.2em;
    width: 100%;
  }
  .fiore-sep-wrapper {
    margin-right: 0.5em;
    margin-top: 3em;
    margin-bottom: 3em;
    /* mantiene la stessa spaziatura di desktop */
  }
  .fiore-sep-wrapper #logo_completo,
  .fiore-sep-wrapper #logo_completo {
    display: block;
    width: 20px;
    height: 20px;
  }
  /* .products-title h2 {
    font-size: 0.9rem;
    margin-left: 1em;
    word-break: break-word;
    max-width: 70vw;
  } */
}

@media (max-width: 427.1px),(max-width: 600px) {
  .fiore-sep-h2-row {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 0.2em;
    width: 100%;
  }
  .fiore-sep-wrapper {
    margin-right: 0.5em;
    margin-top: 3em;
    margin-bottom: 3em;
    /* mantiene la stessa spaziatura di desktop */
  }
  .fiore-sep-wrapper #logo_completo {
    display: block;
    width: 20px;
    height: 20px;
  }
  /* .products-title h2 {
    font-size: 1.2rem;
    margin-left: 1em;
    word-break: break-word;
    max-width: 70vw;
  } */
}

@media (max-width: 427px) and (orientation: portrait) {
  .fiore-sep-wrapper {
    display: none !important;
  }
  .h2-mobile-sep {
    display: block;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
  .fiore-sep-h2-row {
    display: none !important;
  }
}

.separatore-verde2 {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: transparent;
  margin: 0;
  padding: 0;
  overflow: visible;
  padding-top: 0 !important;
  position: relative;
  margin-top: 10em;
}
.fiore-sep-pos2 {
  position: absolute;
  top: -60px;
  left: 50%;
  transform: translateX(-50%);
  width: 140px;
  pointer-events: none;
  transition: opacity 0.5s;
  opacity: 1;
  z-index: 2;
}
.fiore-sep-pos2.hidden {
  opacity: 0;
  pointer-events: none;
}
#separatore-verde-svg2 {
  width: 33vw;
  min-width: 180px;
  max-width: 480px;
  height: auto;
  display: block;
  margin: 0 auto;
}
#separatore-verde-path2 {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  transition: stroke-dashoffset 1.6s cubic-bezier(0.77,0,0.175,1);
}
#separatore-verde-path2.disegnato {
  stroke-dashoffset: 0;
}
#fiore-sep2 {
  width: 140px;
  max-width: 90vw;
  height: auto;
  display: block;
  overflow: visible;
}
#fiore-sep2 .petalo {
  opacity: 0;
  transform: scale(0.7) rotate(-10deg);
  transform-origin: 50% 50%;
  transition: opacity 0.4s, transform 0.7s cubic-bezier(0.77,0,0.175,1);
}
#fiore-sep2.fiorito .petalo {
  opacity: 1;
  transform: scale(1) rotate(0deg);
}
#fiore-sep2 .petalo-verde-lime-bkg, #fiore-sep2 .petalo-verde-lime, #fiore-sep2 .petalo-verde-lime-chiaro {
  transition-delay: 0.05s;
}
#fiore-sep2 .petalo-verde-oliva-bkg, #fiore-sep2 .petalo-verde-oliva, #fiore-sep2 .petalo-verde-oliva-chiaro {
  transition-delay: 0.1s;
}
#fiore-sep2 .petalo-rosso-bkg, #fiore-sep2 .petalo-rosso, #fiore-sep2 .petalo-rosso-chiaro {
  transition-delay: 0.15s;
}
#fiore-sep2 .petalo-arancione-bkg, #fiore-sep2 .petalo-arancione, #fiore-sep2 .petalo-arancione-chiaro {
  transition-delay: 0.2s;
}
#fiore-sep2 .petalo-bianco-sx {
  opacity: 1 !important;
  transform: scale(1) rotate(0deg) !important;
  transition-delay: 0s !important;
}
#fiore-sep2 .petalo-bianco-dx {
  opacity: 1 !important;
  transform: scale(1) rotate(0deg) !important;
  transition-delay: 0s !important;
}
#fiore-sep2 .bordo-verde-scuro {
  fill: #3a5935;
  opacity: 0.95;
  stroke: none;
  mask: url(#mask-bordo-verde-scuro2);
  transition: none;
}
#fiore-sep2.fiorito .bordo-verde-scuro {
}
@supports not (mask-image: linear-gradient(to right, #000, #000)) {
  #fiore-sep2 .bordo-verde-scuro {
    opacity: 0;
    transition: opacity 1.2s cubic-bezier(0.77,0,0.175,1);
  }
  #fiore-sep2.fiorito .bordo-verde-scuro {
    opacity: 0.95;
  }
}
@media (max-width: 600px) {
  #separatore-verde-svg2 {
    width: 80vw;
    min-width: 120px;
    max-width: 98vw;
  }
}
@media (max-width: 600px) and (orientation: portrait) {
  #fiore-sep,
  .fiore-sep-pos {
    width: 150px;
    min-width: 150px;
    max-width: 150px;
  }
}
@media (min-width: 601px), (orientation: landscape) {
  #fiore-sep,
  .fiore-sep-pos {
    width: 200px;
    min-width: 200px;
    max-width: 200px;
  }
}