/* ================================================================
   NVI — BENEVIA · ANTEPRIMA  (cópia segura para validação)
   Evolução da página Benevia: catálogo prodotti (creme, confetture,
   cioccolato) mantendo il look & feel approvato.
   Palette PDF: bordeaux #68191f · caramel #b49070 · beige #f8efe7
   Tudo escopado em .benevia-anteprima — não afeta nenhuma outra página.
   ================================================================ */

.benevia-anteprima,
.ben-modal{
  /* Palette Benevia — kraft + foresta. PDF: verde scuro #2e5641 · beige #ddd4c5 · bianco */
  --bord:        #2e5641;   /* verde scuro: brand / titoli / sezioni scure */
  --bord-deep:   #1f3d2e;   /* verde più scuro */
  --bord-warm:   #3a6b4e;   /* verde medio */
  --bord-glow:   #6BA869;

  --caramel:     #3E6B3A;   /* accento foglia */
  --caramel-deep:#2e5641;
  --caramel-soft:#A8C68A;

  --beige:       #DDD4C5;   /* beige (sezioni chiare) */
  --beige-2:     #E7DECF;   /* beige chiaro */
  --cream:       #FFFDF5;   /* paper / card */

  --gold:        #C9A45A;   /* ocra (accento caldo) */
  --gold-soft:   #E3D4B2;   /* kraft chiaro */
  --leaf:        #3E6B3A;

  --ink:         #1F2015;   /* ink scuro */
  --ink-soft:    #3D3422;   /* earth */
  --ink-mute:    #8A7A58;   /* kraft */

  --line-dark:   rgba(255,253,245,.18);
  --line-light:  rgba(31,32,21,.13);

  --da-maxw:     1240px;
  --da-r:        22px;
}
/* Sfondo/contesto solo sul wrapper (NON sul modale fixed, che però eredita i token sopra) */
.benevia-anteprima{
  background: var(--beige);
  color: var(--ink);
  overflow-x: clip;
}

/* Reveal pattern (products.js aggiunge .is-in; failsafe 2.8s).
   Definito qui perché il CSS brand dulcya.css NON è caricato in questa pagina. */
.benevia-anteprima [data-lp-reveal]{
  opacity: 0; transform: translateY(26px);
  transition: opacity .8s var(--easing-out, cubic-bezier(.22,.61,.36,1)),
              transform .8s var(--easing-out, cubic-bezier(.22,.61,.36,1));
  will-change: opacity, transform;
}
.benevia-anteprima [data-lp-reveal].is-in{ opacity: 1; transform: none; }
.benevia-anteprima [data-lp-reveal][data-lp-delay="1"]{ transition-delay: .08s; }
.benevia-anteprima [data-lp-reveal][data-lp-delay="2"]{ transition-delay: .16s; }
.benevia-anteprima [data-lp-reveal][data-lp-delay="3"]{ transition-delay: .24s; }
.benevia-anteprima [data-lp-reveal][data-lp-delay="4"]{ transition-delay: .32s; }
@media (prefers-reduced-motion: reduce){
  .benevia-anteprima [data-lp-reveal]{ opacity: 1 !important; transform: none !important; transition: none; }
}

.benevia-anteprima .da-wrap{
  width: min(100% - 44px, var(--da-maxw));
  margin-inline: auto;
}

/* Titoli = Gotham Bold (NIENTE Girisuba in questa pagina). em = accento. */
.benevia-anteprima h1,
.benevia-anteprima h2,
.benevia-anteprima h3{
  font-family: var(--font-sans, system-ui, sans-serif);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.005em;
}
.benevia-anteprima h2 em,
.benevia-anteprima h1 em{ font-style: normal; color: var(--caramel-deep); }

.benevia-anteprima .da-eyebrow{
  font-family: var(--font-sans, system-ui, sans-serif);
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .28em;
}

/* ----------------------------------------------------------------
   1. HERO — bordeaux cinematico, logo + tagline centrati
   ---------------------------------------------------------------- */
.benevia-anteprima .ben-hero{
  position: relative;
  min-height: 70vh;
  padding: calc(var(--nav-h, 96px) + 80px) 0 120px;
  display: flex; align-items: center; justify-content: center;
  text-align: center;
  overflow: hidden; isolation: isolate;
  color: var(--cream);
  background: radial-gradient(120% 90% at 50% 28%, #cfe3d4 0%, var(--bord-warm) 38%, var(--bord) 72%, var(--bord-deep) 100%);
}
.ben-hero__bg{ position: absolute; inset: 0; z-index: -1; overflow: hidden; }
/* Fundo opzionale immagine/video (admin) + overlay verde per leggibilità */
.ben-hero__media{ position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.ben-hero__media img, .ben-hero__media video{ width: 100%; height: 100%; object-fit: cover; display: block; }
.ben-hero__media-overlay{ position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(20,42,30,.30), rgba(20,42,30,.55)); }
/* quando c'è media, attenua i glow decorativi */
.ben-hero--media .ben-hero__spot{ opacity: .35; }
.ben-hero--media .ben-hero__glow{ opacity: .25 !important; }
/* spotlight chiaro dietro il logo (respira) */
.ben-hero__spot{
  position: absolute; top: 36%; left: 50%; width: 64vw; height: 64vw;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(255,255,255,.30) 0%, rgba(255,255,255,.10) 34%, transparent 64%);
  filter: blur(16px); animation: ben-breathe 9s ease-in-out infinite;
}
/* glow di profondità che derivano lentamente */
.ben-hero__glow{ position: absolute; border-radius: 50%; filter: blur(80px); }
.ben-hero__glow--a{ width: 52vw; height: 52vw; top: -12%; left: -10%; background: radial-gradient(circle, rgba(150,190,150,.85), transparent 66%); opacity: .6; animation: ben-drift-a 16s ease-in-out infinite; }
.ben-hero__glow--b{ width: 46vw; height: 46vw; bottom: -16%; right: -12%; background: radial-gradient(circle, rgba(255,255,255,.5), transparent 68%); opacity: .35; animation: ben-drift-b 20s ease-in-out infinite; }
.ben-hero__glow--c{ width: 34vw; height: 34vw; top: 56%; left: 56%; background: radial-gradient(circle, var(--bord-deep), transparent 70%); opacity: .2; animation: ben-drift-a 22s ease-in-out infinite reverse; }
/* bokeh chiari che fluttuano lentamente verso l'alto */
.ben-hero__bokeh{ position: absolute; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.7), transparent 70%); filter: blur(1px); opacity: 0; }
.ben-hero__bokeh--1{ width: 10px; height: 10px; left: 30%; bottom: 16%; animation: ben-float 12s ease-in-out 1s infinite; }
.ben-hero__bokeh--2{ width: 6px; height: 6px; left: 64%; bottom: 24%; animation: ben-float 15s ease-in-out 4s infinite; }
.ben-hero__bokeh--3{ width: 8px; height: 8px; left: 48%; bottom: 10%; animation: ben-float 10s ease-in-out 2.5s infinite; }
.ben-hero__grain{
  position: absolute; inset: 0; opacity: .05; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.ben-hero__content{
  position: relative;
  display: flex; flex-direction: column; align-items: center;
  gap: clamp(26px, 3.4vw, 44px);
  padding-inline: 22px;
}
.ben-hero__vignette{
  position: absolute; inset: 0;
  background: radial-gradient(120% 100% at 50% 42%, transparent 58%, rgba(26,52,38,.28) 88%, rgba(20,42,30,.42) 100%);
}
.ben-hero__logo{
  width: clamp(220px, 32vw, 400px); height: auto;
  filter: drop-shadow(0 0 40px rgba(255,255,255,.3)) drop-shadow(0 18px 44px rgba(20,42,30,.4));
}
.ben-hero__logo[data-lp-reveal]{ transform: translateY(22px) scale(.95); }
.ben-hero__logo[data-lp-reveal].is-in{ transform: none; transition-duration: 1.1s; }
.ben-hero__rule{ display:none; }
.ben-hero__tagline{
  font-family: var(--font-sans, system-ui, sans-serif);
  font-style: normal;
  font-weight: 500;
  font-size: clamp(17px, 1.8vw, 28px);
  line-height: 1.4;
  min-height: calc(1.4em * 2);
  letter-spacing: 0;
  max-width: 34ch;
  color: var(--cream);
  text-shadow: 0 10px 36px rgba(20,42,30,.35);
}
.ben-hero__tagline .ben-accent{ color: #fff; font-style: normal; }
.ben-hero__scroll{
  position: absolute; bottom: 44px; left: 50%; transform: translateX(-50%);
  width: 52px; height: 52px; border-radius: 50%;
  border: 1.5px solid rgba(248,239,231,.6);
  display: grid; place-items: center;
  color: var(--cream); text-decoration: none;
  transition: background .3s ease, transform .3s ease;
}
.ben-hero__scroll::after{ content: "↓"; font-size: 18px; animation: ben-bob 2s ease-in-out infinite; }
.ben-hero__scroll:hover{ background: rgba(248,239,231,.12); }
@keyframes ben-bob{ 0%,100%{ transform: translateY(0); } 50%{ transform: translateY(5px); } }
@keyframes ben-breathe{ 0%,100%{ transform: translate(-50%,-50%) scale(1); opacity: .85; } 50%{ transform: translate(-50%,-50%) scale(1.08); opacity: 1; } }
@keyframes ben-drift-a{ 0%,100%{ transform: translate(0,0); } 50%{ transform: translate(5%,4%); } }
@keyframes ben-drift-b{ 0%,100%{ transform: translate(0,0); } 50%{ transform: translate(-5%,-3%); } }
@keyframes ben-float{ 0%{ transform: translateY(0); opacity: 0; } 12%{ opacity: .85; } 80%{ opacity: .55; } 100%{ transform: translateY(-230px); opacity: 0; } }
@media (prefers-reduced-motion: reduce){
  .ben-hero__spot, .ben-hero__glow, .ben-hero__bokeh{ animation: none !important; }
  .ben-hero__bokeh{ opacity: 0; }
}

/* ----------------------------------------------------------------
   2. INTRO — beige chiaro, lede + claims + statement
   ---------------------------------------------------------------- */
.benevia-anteprima .ben-intro{
  position: relative; isolation: isolate; overflow: hidden;
  background: linear-gradient(180deg, var(--cream) 0%, var(--beige) 40%, var(--beige-2) 100%);
  padding: clamp(84px, 10vw, 150px) 0 clamp(80px, 9vw, 130px);
  color: var(--ink);
}
.ben-intro__bg{ position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.ben-intro__bg::before{ content: ""; position: absolute; top: -6%; right: -8%; width: min(48vw, 560px); height: min(48vw, 560px); background: radial-gradient(circle, rgba(180,144,112,.16), transparent 62%); filter: blur(10px); }
.ben-intro__bg::after{ content: ""; position: absolute; bottom: 4%; left: -10%; width: min(42vw, 480px); height: min(42vw, 480px); background: radial-gradient(circle, rgba(104,25,31,.07), transparent 60%); }

/* Apertura editoriale */
.ben-intro__opening{ max-width: var(--rail); margin: 0 auto; text-align: center; display: flex; flex-direction: column; align-items: center; }
.ben-intro__leaf{ width: clamp(34px, 3.4vw, 50px); height: auto; margin-bottom: clamp(20px, 2.4vw, 32px); opacity: .95; }
.ben-intro__title{
  font-size: clamp(34px, 5vw, 64px);
  color: var(--bord);
  margin: 0 0 26px;
}
.ben-intro__p{
  font-family: var(--font-sans, system-ui, sans-serif);
  font-weight:var(--body-weight); font-size:var(--body-size);
  line-height:var(--body-lh); color: var(--ink-soft);
  max-width: var(--measure-lede); margin: 0 auto;
}

/* 3 claims */
.ben-claims{
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px;
  margin: clamp(48px, 6vw, 78px) 0 clamp(40px, 5vw, 64px);
}
.ben-claim{
  background: var(--cream);
  border: 1px solid var(--line-light);
  border-radius: var(--da-r);
  padding: 34px 30px;
  box-shadow: 0 18px 44px rgba(104,25,31,.06);
  position: relative;
}
.ben-claim__num{
  font-family: var(--font-sans, system-ui, sans-serif);
  font-weight: 700; font-size: 30px; line-height: 1; letter-spacing: .02em;
  color: var(--caramel); display: block; margin-bottom: 16px;
}
.ben-claim__title{
  font-family: var(--font-sans, system-ui, sans-serif);
  font-weight: 600; font-size: 17px; letter-spacing: .01em;
  color: var(--bord); margin: 0 0 10px;
}
.ben-claim__text{
  font-family: var(--font-sans, system-ui, sans-serif);
  font-weight:var(--body-sm-weight); font-size:var(--body-sm-size); line-height:var(--body-sm-lh); color: var(--ink-soft); margin: 0;
}
.ben-claim__text strong{ color: var(--bord-warm); font-weight: 600; }

/* Ingredienti — editoriale 2 colonne */
.ben-ingr{
  display: grid; grid-template-columns: 0.82fr 1.18fr; gap: clamp(36px, 5vw, 84px);
  align-items: start; margin: clamp(64px, 8vw, 116px) 0;
}
.ben-ingr__intro{ position: sticky; top: calc(var(--nav-h, 96px) + 26px); }
.ben-ingr__kicker{ display: inline-block; font-family: var(--font-sans, system-ui, sans-serif); font-weight: 600; font-size: 11px; letter-spacing: .3em; text-transform: uppercase; color: var(--caramel-deep); margin-bottom: 18px; }
.ben-ingr__title{ font-size: clamp(28px, 3.4vw, 46px); color: var(--bord); margin: 0 0 22px; }
.ben-ingr__lead{ font-family: var(--font-sans, system-ui, sans-serif); font-weight:var(--body-sm-weight); font-size:var(--body-sm-size); line-height:var(--body-sm-lh); color: var(--ink-soft); margin: 0; max-width: 44ch; }
.ben-ingr__list{ list-style: none; margin: 0; padding: 0; }
.ben-ingr__item{
  display: grid; grid-template-columns: auto 1fr; gap: clamp(20px, 2.6vw, 44px); align-items: baseline;
  padding: clamp(26px, 3vw, 40px) clamp(0px, 1vw, 16px);
  border-top: 1px solid var(--line-light);
  transition: background .35s ease;
}
.ben-ingr__item:last-child{ border-bottom: 1px solid var(--line-light); }
.ben-ingr__item:hover{ background: rgba(180,144,112,.07); }
.ben-ingr__num{ font-family: var(--font-sans, system-ui, sans-serif); font-weight: 700; font-size: clamp(32px, 3.6vw, 52px); line-height: .9; color: var(--caramel); }
.ben-ingr__name{ font-family: var(--font-sans, system-ui, sans-serif); font-weight: 600; font-size: clamp(18px, 1.5vw, 23px); color: var(--bord); margin: 0 0 10px; letter-spacing: .005em; }
.ben-ingr__text{ font-family: var(--font-sans, system-ui, sans-serif); font-weight:var(--body-sm-weight); font-size:var(--body-sm-size); line-height:var(--body-sm-lh); color: var(--ink-soft); margin: 0; }

/* Statement di chiusura */
.ben-statement{ max-width: var(--rail); margin: clamp(56px, 7vw, 100px) auto 0; text-align: center; display: flex; flex-direction: column; align-items: center; }
.ben-statement__rule{ width: 56px; height: 2px; background: var(--caramel); border-radius: 2px; margin-bottom: clamp(24px, 3vw, 38px); }
.ben-statement__title{ font-size: clamp(28px, 3.8vw, 50px); color: var(--bord); margin: 0 0 20px; }
.ben-statement__p{ font-family: var(--font-sans, system-ui, sans-serif); font-weight:var(--body-weight); font-size:var(--body-size); line-height:var(--body-lh); color: var(--ink-soft); margin: 0 auto; max-width: var(--measure-lede); }
.ben-intro__actions{ margin-top: clamp(28px, 3.5vw, 44px); display: flex; justify-content: center; }

@media (max-width: 880px){
  .ben-ingr{ grid-template-columns: 1fr; gap: clamp(28px, 5vw, 44px); }
  .ben-ingr__intro{ position: static; text-align: center; }
  .ben-ingr__lead{ margin-inline: auto; }
}

.ben-btn{
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--font-sans, system-ui, sans-serif);
  font-weight: 600; font-size: 14px; letter-spacing: .02em;
  padding: 16px 30px; border-radius: 999px;
  background: var(--bord); color: var(--cream);
  text-decoration: none; border: 1px solid var(--bord);
  transition: transform .3s ease, background .3s ease, box-shadow .3s ease;
}
.ben-btn:hover{ background: var(--bord-warm); transform: translateY(-2px); box-shadow: 0 14px 30px rgba(104,25,31,.25); }
.ben-btn--ghost{ background: transparent; color: var(--bord); }
.ben-btn--ghost:hover{ background: rgba(104,25,31,.06); color: var(--bord); }
.ben-btn__arrow{ transition: transform .3s ease; }
.ben-btn:hover .ben-btn__arrow{ transform: translateX(4px); }

/* ----------------------------------------------------------------
   3. INGREDIENT band — OK Green®
   ---------------------------------------------------------------- */
.benevia-anteprima .ben-ingredient{ background: var(--beige); padding: 0 0 clamp(70px, 8vw, 110px); }
.ben-ingredient__row{
  display: flex; align-items: center; gap: 24px;
  background: linear-gradient(120deg, var(--bord) 0%, var(--bord-deep) 100%);
  color: var(--cream); border-radius: var(--da-r);
  padding: 30px 36px; box-shadow: 0 22px 50px rgba(77,17,22,.25);
}
.ben-ingredient__mark{
  flex: 0 0 auto; width: 56px; height: 56px; border-radius: 50%;
  display: grid; place-items: center; color: var(--leaf);
  background: rgba(143,169,104,.16); border: 1px solid rgba(143,169,104,.4);
}
.ben-ingredient__text{ flex: 1 1 auto; }
.ben-ingredient__kicker{
  font-family: var(--font-sans, system-ui, sans-serif);
  font-size: 11px; text-transform: uppercase; letter-spacing: .26em;
  color: var(--gold-soft); margin: 0 0 6px;
}
.ben-ingredient__body{
  font-family: var(--font-sans, system-ui, sans-serif);
  font-weight:var(--body-sm-weight); font-size:var(--body-sm-size); line-height:var(--body-sm-lh); margin: 0;
}
.ben-ingredient__body strong{ color: var(--gold-soft); font-weight: 600; }
.ben-ingredient__body em{ font-style: italic; color: var(--cream); }
.ben-ingredient__link{
  flex: 0 0 auto; font-family: var(--font-sans, system-ui, sans-serif);
  font-weight: 600; font-size: 13px; letter-spacing: .04em;
  color: var(--gold-soft); text-decoration: none; white-space: nowrap;
  border-bottom: 1px solid transparent; transition: border-color .3s ease;
}
.ben-ingredient__link:hover{ border-color: var(--gold-soft); }

/* ----------------------------------------------------------------
   4. DIVIDER bordeaux con foglia dorata + quote
   ---------------------------------------------------------------- */
.benevia-anteprima .ben-divider{
  position: relative; overflow: hidden; isolation: isolate;
  background: radial-gradient(120% 140% at 50% 0%, var(--bord-warm), var(--bord) 55%, var(--bord-deep));
  color: var(--cream);
  padding: clamp(46px, 5.5vw, 78px) 0;
  text-align: center;
}
.ben-divider__leaf{
  width: clamp(44px, 5vw, 70px); height: auto; margin: 0 auto; display: block;
  opacity: .92; filter: drop-shadow(0 6px 18px rgba(0,0,0,.3));
}

/* 4 claim band (foglia + label) */
.ben-claims-band{
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: clamp(18px, 4vw, 56px); align-items: start;
}
.ben-cb__item{
  display: flex; flex-direction: column; align-items: center; gap: clamp(14px, 1.6vw, 22px);
  text-align: center;
}
.ben-cb__leaf{ width: clamp(32px, 3vw, 44px); height: auto; display: block; }
.ben-cb__label{
  font-family: var(--font-sans, system-ui, sans-serif);
  font-weight: 300; font-size: clamp(13px, 1.05vw, 16px);
  text-transform: uppercase; letter-spacing: .14em; line-height: 1.45;
  color: var(--cream); max-width: 13ch;
}
.ben-cb__item--strong .ben-cb__label{ font-weight: 700; }
@media (max-width: 560px){
  .ben-claims-band{ grid-template-columns: repeat(2, 1fr); row-gap: 38px; }
}
.ben-divider__quote{
  font-family: var(--font-sans, system-ui, sans-serif);
  font-style: italic; font-size: clamp(24px, 3.4vw, 44px); line-height: 1.3;
  max-width: 22ch; margin: 0 auto; color: var(--cream);
}
.ben-divider__quote span{ color: var(--gold-soft); }

/* ----------------------------------------------------------------
   5. CATEGORIE prodotti (creme / confetture / cioccolato)
   ---------------------------------------------------------------- */
.benevia-anteprima .ben-cat{
  --cat-accent: var(--gold);
  padding: clamp(82px, 10vw, 150px) 0;
  position: relative; isolation: isolate;
}
/* varianti di sfondo (tutte chiare — Benevia editorial bright) */
.ben-cat--beige  { background: var(--beige);   color: var(--ink); --cat-accent: var(--caramel-deep); }
.ben-cat--caramel{ background: var(--beige-2);  color: var(--ink); --cat-accent: var(--caramel-deep); }
.ben-cat--bord   { background: #FFFFFF;         color: var(--ink); --cat-accent: var(--caramel-deep); }

/* layout verticale: logo → titolo → testo → immagine flottante (no frame) */
.ben-cat__head{
  display: flex; flex-direction: column; align-items: center; text-align: center;
  gap: clamp(14px, 2vw, 24px);
  margin: 0 auto clamp(36px, 4.5vw, 64px);
}
.ben-cat__logo{ height: clamp(56px, 7vw, 92px); width: auto; margin-bottom: clamp(6px, 1vw, 14px); }
.ben-cat__copy{ max-width: var(--rail); }
.ben-cat__copy .da-eyebrow{ color: var(--cat-accent); margin-bottom: 16px; }
.ben-cat__title{ font-size: clamp(26px, 3.4vw, 44px); margin: 0 0 18px; color: var(--bord); }
.ben-cat__lede{
  font-family: var(--font-sans, system-ui, sans-serif);
  font-weight:var(--lede-weight); font-size:var(--lede-size); line-height:var(--lede-lh);
  margin: 0 auto; max-width: var(--measure-lede); color: var(--ink-soft);
}

/* immagine PNG flottante: niente sfondo / bordo / radius / frame */
.ben-cat__figure{
  margin: clamp(10px, 2vw, 30px) auto 0;
  width: 100%; max-width: 860px;
  background: none; border: 0; border-radius: 0; overflow: visible; box-shadow: none;
}
.ben-cat__figure img{
  width: 100%; height: auto; object-fit: contain; display: block;
  filter: drop-shadow(0 26px 52px rgba(0,0,0,.28));
  will-change: transform;
}

/* ----------------------------------------------------------------
   6. SLIDER + CARD prodotto
   ---------------------------------------------------------------- */
.ben-slider{ position: relative; }
.ben-slider__track-wrap{ overflow: hidden; border-radius: var(--da-r); }
.ben-slider__track{
  display: flex; gap: 0;
  transition: transform .55s cubic-bezier(.22,.61,.36,1);
}
@media (prefers-reduced-motion: reduce){ .ben-slider__track{ transition: none; } }

.ben-card{ flex: 0 0 100%; min-width: 100%; }
.ben-card__inner{
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 60px);
  align-items: center;
  background: var(--cream);
  border-radius: var(--da-r);
  padding: clamp(28px, 4vw, 56px);
  box-shadow: 0 26px 60px rgba(0,0,0,.12);
}
.ben-card__media{
  position: relative; border-radius: 16px; overflow: hidden;
  aspect-ratio: 1 / 1; background: var(--beige-2);
}
.ben-card__media img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.ben-card__body{ color: var(--ink); }
.ben-card__eyebrow{
  font-family: var(--font-sans, system-ui, sans-serif);
  font-size: 11px; text-transform: uppercase; letter-spacing: .24em;
  color: var(--caramel-deep); margin: 0 0 12px;
}
.ben-card__name{
  font-family: var(--font-sans, system-ui, sans-serif);
  font-weight: 700; font-size: clamp(22px, 2.3vw, 30px); line-height: 1.14; color: var(--bord); margin: 0 0 16px;
}
.ben-card__desc{
  font-family: var(--font-sans, system-ui, sans-serif);
  font-weight:var(--body-sm-weight); font-size:var(--body-sm-size); line-height:var(--body-sm-lh); color: var(--ink-soft); margin: 0 0 22px;
}
.ben-card__badges{
  list-style: none; margin: 0 0 26px; padding: 0;
  display: flex; flex-wrap: wrap; gap: 8px 14px;
}
.ben-card__badges li,
.ben-modal__badges li{
  display: inline-flex; align-items: center; gap: 7px;
  font-family: var(--font-sans, system-ui, sans-serif);
  font-size: 12px; font-weight: 500; letter-spacing: .02em;
  color: var(--ink-soft);
}
.ben-badge__dot{
  width: 7px; height: 7px; border-radius: 50%; background: var(--leaf); flex: 0 0 auto;
}
.ben-card__cta{
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--font-sans, system-ui, sans-serif);
  font-weight: 600; font-size: 14px; letter-spacing: .02em;
  padding: 14px 26px; border-radius: 999px; cursor: pointer;
  background: var(--bord); color: var(--cream); border: 1px solid var(--bord);
  transition: background .3s ease, transform .3s ease;
}
.ben-card__cta:hover{ background: var(--bord-warm); transform: translateY(-2px); }
.ben-card__cta span{ transition: transform .3s ease; }
.ben-card__cta:hover span{ transform: translateX(4px); }
.ben-card__data{ display: none; }

/* nav + dots */
.ben-slider__nav{
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
  width: 52px; height: 52px; border-radius: 50%; cursor: pointer;
  display: grid; place-items: center; font-size: 22px; line-height: 1;
  background: var(--cream); color: var(--bord);
  border: 1px solid var(--line-light);
  box-shadow: 0 10px 26px rgba(0,0,0,.16);
  transition: background .25s ease, transform .25s ease, opacity .25s ease;
}
.ben-slider__nav:hover{ background: var(--bord); color: var(--cream); }
.ben-slider__nav:disabled{ opacity: .3; cursor: default; }
.ben-slider__nav--prev{ left: -16px; }
.ben-slider__nav--next{ right: -16px; }
.ben-slider__dots{ display: flex; justify-content: center; gap: 10px; margin-top: 30px; }
.ben-slider__dot{
  width: 9px; height: 9px; border-radius: 50%; cursor: pointer; padding: 0;
  background: transparent; border: 1.5px solid var(--cat-accent); opacity: .5;
  transition: opacity .25s ease, transform .25s ease;
}
.ben-slider__dot.is-active{ opacity: 1; transform: scale(1.25); background: var(--cat-accent); }

/* ----------------------------------------------------------------
   7. COMING SOON chips
   ---------------------------------------------------------------- */
.ben-soon{ margin-top: clamp(48px, 6vw, 80px); }
.ben-soon__eyebrow{
  font-family: var(--font-sans, system-ui, sans-serif);
  font-size: 11px; text-transform: uppercase; letter-spacing: .3em;
  color: var(--cat-accent); margin: 0 0 28px; text-align: center;
}
.ben-soon__grid{
  display: grid; gap: clamp(20px, 2.6vw, 36px);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
}
.ben-soon__card{
  position: relative; isolation: isolate; overflow: hidden;
  aspect-ratio: 16 / 9; min-height: 210px; border-radius: var(--da-r);
  display: flex; align-items: center; justify-content: center; text-align: center;
  background: linear-gradient(155deg, var(--bord-warm) 0%, var(--bord) 45%, var(--bord-deep) 100%);
  box-shadow: 0 22px 50px rgba(0,0,0,.22);
  transition: transform .5s var(--easing-out, cubic-bezier(.22,.61,.36,1)), box-shadow .5s ease;
}
.ben-soon__card:hover{ transform: translateY(-6px); box-shadow: 0 32px 64px rgba(0,0,0,.32); }
/* Foto di sfondo opzionale (full-bleed) + overlay scuro per leggibilità */
.ben-soon__photo{ position: absolute; inset: 0; z-index: 0; }
.ben-soon__photo img{ width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s var(--easing-out, ease); }
.ben-soon__card:hover .ben-soon__photo img{ transform: scale(1.06); }
.ben-soon__photo::after{ content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(42,16,18,.35), rgba(42,16,18,.64)); }
/* Badge "Coming Soon" pill in alto a destra */
.ben-soon__badge{
  position: absolute; top: 16px; right: 16px; z-index: 3;
  padding: 6px 14px; border-radius: 999px;
  background: rgba(20,8,9,.5); backdrop-filter: blur(8px);
  border: 1px solid rgba(227,203,159,.45); color: var(--gold-soft);
  font-family: var(--font-sans, system-ui, sans-serif);
  font-weight: 600; font-size: 10px; letter-spacing: .2em; text-transform: uppercase;
}
/* Elemento centrale (prodotto/nome) sovrapposto */
.ben-soon__center{ position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 20px; }
.ben-soon__img{ max-width: 58%; max-height: 150px; width: auto; height: auto; filter: drop-shadow(0 10px 26px rgba(0,0,0,.5)); }
.ben-soon__name{
  font-family: var(--font-sans, system-ui, sans-serif);
  font-weight: 700; font-size: clamp(22px, 2.4vw, 32px); line-height: 1.15; letter-spacing: .01em;
  color: var(--cream); text-shadow: 0 8px 24px rgba(0,0,0,.5);
}
.ben-soon__rule{ width: 54px; height: 2px; background: var(--gold-soft); border-radius: 2px; }

/* ----------------------------------------------------------------
   8. MODAL prodotto
   ---------------------------------------------------------------- */
.ben-modal{
  --cat-accent: var(--gold);
  position: fixed; inset: 0; z-index: 1200;
  display: grid; place-items: center; padding: 22px;
  opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility .3s ease;
}
.ben-modal.is-open{ opacity: 1; visibility: visible; }
.ben-modal__overlay{ position: absolute; inset: 0; background: rgba(42,16,18,.62); backdrop-filter: blur(6px); }
.ben-modal__content{
  position: relative; z-index: 1; width: min(960px, 100%); max-height: 90vh; overflow: auto;
  background: var(--cream); border-radius: 24px;
  box-shadow: 0 40px 90px rgba(0,0,0,.4);
  transform: translateY(18px) scale(.98); transition: transform .35s cubic-bezier(.22,.61,.36,1);
}
.ben-modal.is-open .ben-modal__content{ transform: none; }
.ben-modal__close{
  position: absolute; top: 16px; right: 16px; z-index: 3;
  width: 42px; height: 42px; border-radius: 50%; cursor: pointer;
  display: grid; place-items: center; color: var(--bord);
  background: var(--beige); border: 1px solid var(--line-light);
  transition: background .25s ease;
}
.ben-modal__close:hover{ background: var(--beige-2); }
.ben-modal__grid{ display: grid; grid-template-columns: .85fr 1.15fr; }
.ben-modal__media{ background: var(--beige-2); border-radius: 24px 0 0 24px; display: flex; align-items: flex-start; justify-content: center; }
.ben-modal__media img{ width: 100%; height: auto; min-height: 340px; max-height: 78vh; object-fit: contain; display: block; padding: 22px; position: sticky; top: 0; }
.ben-modal__body{ padding: clamp(28px, 3.4vw, 48px); }
.ben-modal__name{
  font-family: var(--font-sans, system-ui, sans-serif);
  font-weight: 700; font-size: clamp(24px, 2.8vw, 34px); line-height: 1.12; color: var(--bord); margin: 0 0 14px;
}
.ben-modal__desc{
  font-family: var(--font-sans, system-ui, sans-serif);
  font-weight:var(--body-sm-weight); font-size:var(--body-sm-size); line-height:var(--body-sm-lh); color: var(--ink-soft); margin: 0 0 22px;
}
.ben-modal__badges{ list-style: none; margin: 0 0 26px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 14px; }
.ben-modal__section{ margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line-light); }
.ben-modal__label{
  font-family: var(--font-sans, system-ui, sans-serif);
  font-size: 11px; text-transform: uppercase; letter-spacing: .22em;
  color: var(--caramel-deep); margin: 0 0 12px;
}
.ben-modal__ing{
  font-family: var(--font-sans, system-ui, sans-serif);
  font-weight: 300; font-size: 14px; line-height: 1.65; color: var(--ink-soft); margin: 0;
}
.ben-modal__info{ font-family: var(--font-sans, system-ui, sans-serif); font-size: 13px; color: var(--ink-mute); }
.ben-modal__confez{ margin: 0 0 12px; line-height: 1.55; color: var(--ink-soft); }
.ben-modal__peso{ color: var(--bord); margin: 0 0 12px; }
.ben-modal__peso strong{ font-weight: 600; }
.ben-modal__racc-label{ font-weight: 600; color: var(--bord); margin: 0 0 6px; }
.ben-modal__smalt{ list-style: none; margin: 0; padding: 0; display: grid; gap: 5px; line-height: 1.5; }
.ben-modal__smalt li::before{ content: "• "; color: var(--caramel); }
.ben-modal__note{ margin: 10px 0 0; font-style: italic; color: var(--ink-mute); }

/* tabella nutrizionale */
.ben-nutr{ width: 100%; border-collapse: collapse; font-family: var(--font-sans, system-ui, sans-serif); }
.ben-nutr__row{ border-bottom: 1px solid var(--line-light); }
.ben-nutr__label{ text-align: left; font-weight: 400; font-size: 14px; color: var(--ink); padding: 9px 0; }
.ben-nutr__value{ text-align: right; font-weight: 600; font-size: 14px; color: var(--bord); padding: 9px 0; font-variant-numeric: tabular-nums; }
.ben-nutr__row--sub .ben-nutr__label{ padding-left: 18px; font-size: 13px; color: var(--ink-mute); font-weight: 300; }
.ben-nutr__row--sub .ben-nutr__value{ font-weight: 400; font-size: 13px; color: var(--ink-soft); }
body.ben-modal-open{ overflow: hidden; }

/* ----------------------------------------------------------------
   9. FAQ
   ---------------------------------------------------------------- */
.benevia-anteprima .ben-faq{ background: var(--beige); padding: clamp(82px, 10vw, 150px) 0; color: var(--ink); }
.ben-faq__title{ font-size: clamp(30px, 4vw, 52px); color: var(--bord); text-align: center; margin: 0 0 clamp(40px, 5vw, 64px); }
.ben-faq__title em{ color: var(--caramel-deep); }
.ben-faq__list{ max-width: var(--rail); margin: 0 auto; display: grid; gap: 14px; }
.ben-faq__item{
  background: var(--cream); border: 1px solid var(--line-light); border-radius: 16px;
  padding: 4px 26px; overflow: hidden;
}
.ben-faq__item summary{
  list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between;
  gap: 18px; padding: 22px 0;
  font-family: var(--font-sans, system-ui, sans-serif); font-weight: 600; font-size: 16px;
  color: var(--bord);
}
.ben-faq__item summary::-webkit-details-marker{ display: none; }
.ben-faq__toggle{ position: relative; width: 18px; height: 18px; flex: 0 0 auto; }
.ben-faq__toggle::before, .ben-faq__toggle::after{
  content: ""; position: absolute; background: var(--caramel-deep); transition: transform .3s ease;
}
.ben-faq__toggle::before{ top: 8px; left: 0; width: 18px; height: 2px; }
.ben-faq__toggle::after{ top: 0; left: 8px; width: 2px; height: 18px; }
.ben-faq__item[open] .ben-faq__toggle::after{ transform: scaleY(0); }
.ben-faq__answer{
  font-family: var(--font-sans, system-ui, sans-serif);
  font-weight:var(--body-sm-weight); font-size:var(--body-sm-size); line-height:var(--body-sm-lh); color: var(--ink-soft);
  padding: 0 0 24px;
}
.ben-faq__answer strong{ color: var(--bord-warm); font-weight: 600; }

/* ----------------------------------------------------------------
   10. CTA — banda bordeaux cinematografica
   ---------------------------------------------------------------- */
.benevia-anteprima .ben-cta{
  position: relative; isolation: isolate; overflow: hidden;
  background: radial-gradient(120% 130% at 50% 0%, var(--bord-warm) 0%, var(--bord) 52%, var(--bord-deep) 100%);
  color: var(--cream);
  padding: clamp(90px, 11vw, 160px) 0; text-align: center;
}
.ben-cta__bg{ position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.ben-cta__bg::before{ content: ""; position: absolute; top: -22%; left: 50%; transform: translateX(-50%); width: 70vw; height: 70vw; background: radial-gradient(circle, rgba(255,255,255,.22), transparent 62%); filter: blur(20px); }
.ben-cta__bg::after{ content: ""; position: absolute; inset: 0; background: radial-gradient(120% 100% at 50% 50%, transparent 58%, rgba(20,42,30,.32) 100%); }
.ben-cta__inner{ max-width: var(--rail); margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 22px; }
.ben-cta__leaf{ width: clamp(34px, 3.4vw, 48px); height: auto; opacity: .95; margin-bottom: 4px; }
.ben-cta__title{ font-size: clamp(32px, 4.8vw, 62px); margin: 0; color: var(--cream); }
.benevia-anteprima .ben-cta__title em{ color: #fff; }
.ben-cta__body{
  font-family: var(--font-sans, system-ui, sans-serif);
  font-weight:var(--body-weight); font-size:var(--body-size); line-height:var(--body-lh); color: rgba(255,255,255,.9); margin: 0; max-width: var(--measure-lede);
}
.ben-cta__actions{ display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 10px; }
/* bottoni su sfondo verde */
.ben-btn--gold{ background: var(--cream); color: var(--bord-deep); border-color: var(--cream); }
.ben-btn--gold:hover{ background: #fff; border-color: #fff; color: var(--bord-deep); box-shadow: 0 14px 30px rgba(20,42,30,.3); }
.ben-btn--ghost-light{ background: transparent; color: #fff; border-color: rgba(255,255,255,.6); }
.ben-btn--ghost-light:hover{ background: rgba(255,255,255,.14); color: #fff; }

/* ----------------------------------------------------------------
   11. RESPONSIVE
   ---------------------------------------------------------------- */
@media (max-width: 920px){
  .ben-claims{ grid-template-columns: 1fr; }
  .ben-cat__head{ grid-template-columns: 1fr; }
  .ben-card__inner{ grid-template-columns: 1fr; }
  .ben-card__media{ aspect-ratio: 16 / 11; }
  .ben-modal__grid{ grid-template-columns: 1fr; }
  .ben-modal__media{ border-radius: 24px 24px 0 0; }
  .ben-modal__media img{ min-height: 220px; max-height: 300px; position: static; }
  .ben-ingredient__row{ flex-direction: column; text-align: center; }
  .ben-slider__nav--prev{ left: 6px; }
  .ben-slider__nav--next{ right: 6px; }
}
@media (max-width: 560px){
  .ben-slider__nav{ width: 44px; height: 44px; font-size: 19px; }
  .ben-card__inner{ padding: 22px; }
  .ben-hero__logo{ width: 70vw; }
}

/* ----------------------------------------------------------------
   12. Aggiunte Benevia: formato prodotto + immagine editoriale intro
   ---------------------------------------------------------------- */
/* "Formati disponibili" nel modale */
.ben-modal__formati{ color: var(--ink-soft); margin: 0 0 22px; font-size: 14px; }
.ben-modal__formati strong{ color: var(--bord); font-weight: 600; }
/* riga formati anche nella card */
.ben-card__formati{ font-family: var(--font-sans, system-ui, sans-serif); font-size: 13px; color: var(--ink-mute); margin: 0 0 18px; }
.ben-card__formati strong{ color: var(--bord-deep); font-weight: 600; }

/* Immagine editoriale dell'intro (es. croissant) */
.ben-intro__figure{
  margin: clamp(36px, 5vw, 72px) auto 0; max-width: 980px; width: 100%;
  border-radius: var(--da-r); overflow: hidden; aspect-ratio: 16 / 7;
  box-shadow: 0 30px 70px rgba(54,54,53,.16);
}
.ben-intro__figure img{ width: 100%; height: 100%; object-fit: cover; display: block; }

/* 3 card cinematografiche delle linee (mood image + logo + descrizione + CTA) */
.ben-lines{ margin-top: clamp(56px, 7vw, 100px); }
.ben-lines__grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(18px, 2.4vw, 30px); }
.ben-lines__card{
  position: relative; display: block; text-decoration: none;
  aspect-ratio: 3 / 4; border-radius: var(--da-r); overflow: hidden; isolation: isolate;
  box-shadow: 0 22px 50px rgba(54,54,53,.16);
  transition: transform .5s var(--easing-out, cubic-bezier(.22,.61,.36,1)), box-shadow .5s ease;
}
.ben-lines__card:hover{ transform: translateY(-6px); box-shadow: 0 34px 66px rgba(54,54,53,.28); }
.ben-lines__bg{ position: absolute; inset: 0; z-index: 0; }
.ben-lines__bg img{ width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s var(--easing-out, ease); }
.ben-lines__card:hover .ben-lines__bg img{ transform: scale(1.06); }
.ben-lines__overlay{ position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(20,42,30,.06) 0%, rgba(20,42,30,.34) 48%, rgba(16,34,24,.85) 100%); }
.ben-lines__content{ position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: 14px; padding: clamp(22px, 2.4vw, 32px); }
.ben-lines__logo{ height: clamp(30px, 3.4vw, 46px); width: auto; filter: brightness(0) invert(1) drop-shadow(0 6px 18px rgba(0,0,0,.4)); }
.ben-lines__desc{ font-family: var(--font-sans, system-ui, sans-serif); font-weight:var(--body-sm-weight); font-size:var(--body-sm-size); line-height:var(--body-sm-lh); color: rgba(255,255,255,.92); margin: 0; text-shadow: 0 4px 18px rgba(0,0,0,.35); }
.ben-lines__cta{ display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; padding: 11px 22px; border-radius: 999px; background: #fff; color: var(--bord-deep); font-family: var(--font-sans, system-ui, sans-serif); font-weight: 600; font-size: 13px; letter-spacing: .02em; transition: background .3s ease; }
.ben-lines__card:hover .ben-lines__cta{ background: var(--cream); }
.ben-lines__cta span{ transition: transform .3s ease; }
.ben-lines__card:hover .ben-lines__cta span{ transform: translateX(4px); }
@media (max-width: 860px){
  .ben-lines__grid{ grid-template-columns: 1fr; }
  .ben-lines__card{ aspect-ratio: 16 / 9; }
}

/* Fascia azzurra 5 claim (icona "0" + label) — card arrotondata su blu scuro */
.benevia-anteprima .ben-band{ background: var(--bord); padding: clamp(64px, 8vw, 110px) 0; }
.ben-band__card{ background: none; border-radius: 0; padding: 0; box-shadow: none; }
.ben-band__grid{ display: grid; grid-template-columns: repeat(5, 1fr); gap: clamp(14px, 2.2vw, 36px); align-items: start; }
.ben-band__item{ display: flex; flex-direction: column; align-items: center; text-align: center; gap: clamp(12px, 1.4vw, 18px); }
.ben-band__icon{ display: flex; align-items: center; justify-content: center; color: #fff; }
.ben-band__icon svg{ width: clamp(30px, 3vw, 42px); height: auto; display: block; }
.ben-band__icon img{ height: clamp(46px, 4.6vw, 62px); width: auto; display: block; }
.ben-band__label{
  font-family: var(--font-sans, system-ui, sans-serif);
  font-weight: 700; font-size: clamp(12px, 1vw, 15px);
  text-transform: uppercase; letter-spacing: .06em; line-height: 1.25;
  color: #fff; max-width: 12ch;
}
@media (max-width: 760px){ .ben-band__grid{ grid-template-columns: repeat(3, 1fr); row-gap: 30px; } }
@media (max-width: 460px){ .ben-band__grid{ grid-template-columns: repeat(2, 1fr); } }

/* ----------------------------------------------------------------
   Aggiunte Benevia: preparazione (modale), banda immagine, contesti
   ---------------------------------------------------------------- */
/* Preparazione nel modale */
.ben-modal__prep{ font-family: var(--font-sans, system-ui, sans-serif); font-weight:var(--body-sm-weight); font-size:var(--body-sm-size); line-height:var(--body-sm-lh); color: var(--ink-soft); margin: 0; }

/* Banda immagine decorativa (sezione-azzura.png) su sfondo blu scuro */
.benevia-anteprima .ben-imgband{ background: linear-gradient(160deg, var(--bord) 0%, var(--bord-deep) 100%); padding: clamp(40px, 5vw, 76px) 0; }
.ben-imgband img{ display: block; width: 100%; max-width: 1120px; margin: 0 auto; border-radius: var(--da-r); box-shadow: 0 30px 70px rgba(16,34,24,.35); }

/* Sezione "Contesti" (versatilità) — sfondo blu scuro, card foto + titolo */
.benevia-anteprima .ben-ctx{ background: radial-gradient(120% 120% at 50% 0%, var(--bord) 0%, var(--bord-deep) 70%, #16291e 100%); color: #fff; padding: clamp(82px, 10vw, 150px) 0; }
.ben-ctx__head{ text-align: center; max-width: var(--rail); margin: 0 auto clamp(40px, 5vw, 64px); }
.ben-ctx__title{ font-size: clamp(28px, 3.6vw, 48px); color: #fff; margin: 0; }
.ben-ctx__title{ color: #fff; }
.benevia-anteprima .ben-ctx__title em{ color: #fff; }
.ben-lines__title{ font-family: var(--font-sans, system-ui, sans-serif); font-weight: 700; font-size: clamp(18px, 1.9vw, 26px); color: #fff; margin: 0; text-shadow: 0 6px 22px rgba(0,0,0,.5); }

/* Slider contesti — 1 riga, autoplay + frecce */
.ben-ctx__slider{ position: relative; }
.ben-ctx__track-wrap{ overflow: hidden; }
.ben-ctx__track{ display: flex; gap: clamp(16px, 2vw, 28px); transition: transform .6s var(--easing-out, cubic-bezier(.22,.61,.36,1)); }
@media (prefers-reduced-motion: reduce){ .ben-ctx__track{ transition: none; } }
.ben-ctx__track > .ben-lines__card{ flex: 0 0 calc((100% - 2 * clamp(16px, 2vw, 28px)) / 3); }
@media (max-width: 980px){ .ben-ctx__track > .ben-lines__card{ flex-basis: calc((100% - clamp(16px, 2vw, 28px)) / 2); } }
@media (max-width: 600px){ .ben-ctx__track > .ben-lines__card{ flex-basis: 100%; } }
.ben-ctx__slider .ben-slider__nav--prev{ left: -16px; }
.ben-ctx__slider .ben-slider__nav--next{ right: -16px; }
@media (max-width: 600px){ .ben-ctx__slider .ben-slider__nav--prev{ left: 4px; } .ben-ctx__slider .ben-slider__nav--next{ right: 4px; } }

/* Seconda parte intro (dopo la fascia) — meno padding-top */
.benevia-anteprima .ben-intro--cont{ padding-top: clamp(48px, 6vw, 92px); }

/* ----------------------------------------------------------------
   MOOD BAND — immagine full-width + frase Girisuba sovrapposta
   ---------------------------------------------------------------- */
.benevia-anteprima .ben-mood{
  position: relative; isolation: isolate; overflow: hidden;
  min-height: clamp(300px, 40vw, 520px);
  display: flex; align-items: center; justify-content: center; text-align: center;
  color: var(--cream);
}
.ben-mood__bg{ position: absolute; inset: 0; z-index: -2; }
.ben-mood__bg img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.ben-mood__overlay{ position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(46,86,65,.62) 0%, rgba(20,42,30,.74) 100%); }
.ben-mood__text{
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
  font-style: italic; font-weight: 400;
  font-size: clamp(28px, 4.8vw, 64px); line-height: 1.12; letter-spacing: -.01em;
  max-width: 22ch; margin: 0; padding: clamp(48px, 7vw, 96px) 24px;
  text-shadow: 0 12px 44px rgba(0,0,0,.4);
}

/* ----------------------------------------------------------------
   PRODOTTI — righe alternate (packaging + testo), stile Linee Prodotti
   ---------------------------------------------------------------- */
.benevia-anteprima .ben-prods{ background: var(--cream); padding: clamp(60px, 8vw, 110px) 0; }
.ben-prod{
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 5vw, 84px);
  align-items: center; padding: clamp(34px, 5vw, 72px) 0;
}
.ben-prod + .ben-prod{ border-top: 1px solid var(--line-light); }
.ben-prod--reverse .ben-prod__media{ order: 2; }
.ben-prod__media img{ width: 100%; height: auto; object-fit: contain; display: block; max-width: 460px; margin: 0 auto; filter: drop-shadow(0 26px 52px rgba(31,32,21,.18)); will-change: transform; }
.ben-prod__name{ font-size: clamp(28px, 3.4vw, 46px); color: var(--bord); margin: 0 0 12px; }
.ben-prod__tagline{ font-family: var(--font-sans, system-ui, sans-serif); font-weight: 600; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.5; color: var(--caramel-deep); margin: 0 0 18px; }
.ben-prod__desc{ font-family: var(--font-sans, system-ui, sans-serif); font-weight:var(--body-sm-weight); font-size:var(--body-sm-size); line-height:var(--body-sm-lh); color: var(--ink-soft); margin: 0 0 22px; }
.ben-prod__vant-title{ font-family: var(--font-sans, system-ui, sans-serif); font-weight: 600; font-size: 11px; text-transform: uppercase; letter-spacing: .18em; color: var(--ink-mute); margin: 0 0 12px; }
.ben-prod__vant{ list-style: none; margin: 0 0 26px; padding: 0; display: grid; gap: 10px; }
.ben-prod__vant li{ display: flex; gap: 11px; font-family: var(--font-sans, system-ui, sans-serif); font-weight: 300; font-size: 14.5px; line-height: 1.5; color: var(--ink-soft); }
.ben-prod__vant li::before{ content: ""; flex: 0 0 auto; width: 7px; height: 7px; margin-top: 7px; border-radius: 50%; background: var(--leaf); }
.ben-prod__vant strong{ font-weight: 600; color: var(--ink); }
@media (max-width: 860px){
  .ben-prod{ grid-template-columns: 1fr; gap: 26px; }
  .ben-prod--reverse .ben-prod__media{ order: 0; }
  .ben-prod__media img{ max-width: 320px; }
}


/* ====== FAQ unificata: divisória/borderless + toggle circolare con accento brand (giu 2026) ======
   Override del vecchio stile a card. Struttura identica a OK Sweeteners/Contatti;
   --faq-accent = colore primario del brand (--bord). Vedi CLAUDE.md §36. */
.ben-faq__list{ --faq-accent: var(--bord); gap:0; }
.ben-faq__item{
  background:none; border:0; border-top:1px solid var(--color-line);
  border-radius:0; padding:0; overflow:visible;
}
.ben-faq__item:last-child{ border-bottom:1px solid var(--color-line); }
.ben-faq__item summary{
  gap:24px; padding:clamp(24px,3vw,32px) 0;
  font-weight:500; font-size:clamp(17px,1.4vw,22px);
}
.ben-faq__toggle{
  width:44px; height:44px; border-radius:50%;
  border:1.5px solid var(--faq-accent);
  transition:background .3s var(--easing-out), border-color .3s;
}
.ben-faq__toggle::before, .ben-faq__toggle::after{
  top:50%; left:50%; background:var(--faq-accent);
  transition:transform .3s var(--easing-out), background .3s;
}
.ben-faq__toggle::before{ width:15px; height:1.5px; transform:translate(-50%,-50%); }
.ben-faq__toggle::after{ width:1.5px; height:15px; transform:translate(-50%,-50%); }
.ben-faq__item[open] .ben-faq__toggle{ background:var(--faq-accent); border-color:var(--faq-accent); }
.ben-faq__item[open] .ben-faq__toggle::before,
.ben-faq__item[open] .ben-faq__toggle::after{ background:#fff; }
.ben-faq__item[open] .ben-faq__toggle::after{ transform:translate(-50%,-50%) scaleY(0); }


/* ====== CTA — canali "dove acquistarli" integrati (light su fascia) — giu 2026 (vedi §37) ====== */
.ben-cta__eyebrow{display:inline-flex;align-items:center;gap:12px;margin-bottom:2px;font-weight:500;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-soft)}
.ben-cta__eyebrow::before,.ben-cta__eyebrow::after{content:"";width:26px;height:1px;background:rgba(253,250,245,.4)}
.ben-cta__channels{width:100%;margin-top:clamp(28px,3.5vw,44px);display:grid;grid-template-columns:repeat(3,1fr);text-align:left}
.ben-cta__channels--2{grid-template-columns:repeat(2,1fr);max-width:680px;margin-left:auto;margin-right:auto}
.ben-cta__ch{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:6px clamp(20px,2.6vw,40px);border-left:1px solid rgba(253,250,245,.20)}
.ben-cta__ch:first-child{border-left:0;padding-left:0}
.ben-cta__ch:last-child{padding-right:0}
.ben-cta__ch-icon{color:var(--gold-soft)}
.ben-cta__ch-icon svg{width:26px;height:26px;display:block}
.ben-cta__ch-title{font-weight:700;font-size:17px;color:var(--cream)}
.ben-cta__ch-text{font-weight:300;font-size:14.5px;line-height:1.6;color:rgba(253,250,245,.82);flex:1}
.ben-cta__ch-tag{font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);padding:7px 14px;border:1px solid rgba(253,250,245,.28);border-radius:999px}
.ben-cta__ch-link{font-weight:500;font-size:14px;color:var(--cream);text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:gap .25s}
.ben-cta__ch-link:hover{gap:12px}
.ben-cta__ch .ben-btn--soon{background:transparent;color:var(--gold-soft);border-color:rgba(253,250,245,.28);cursor:default}
.ben-cta__ch .ben-btn--soon:hover{background:transparent;box-shadow:none;transform:none;border-color:rgba(253,250,245,.28)}
.ben-cta__more{margin-top:26px;font-weight:500;font-size:14px;color:rgba(253,250,245,.78);text-decoration:none;display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid transparent;transition:color .25s,border-color .25s}
.ben-cta__more:hover{color:var(--cream);border-color:rgba(253,250,245,.4)}
@media(max-width:820px){
  .ben-cta__channels,.ben-cta__channels--2{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto}
  .ben-cta__ch{border-left:0;border-top:1px solid rgba(253,250,245,.20);padding:24px 0;align-items:center;text-align:center}
  .ben-cta__ch:first-child{border-top:0;padding-top:0}
}
