/* ==========================================================================
   RICETTE + RICETTA — shared layout
   Used by: ricette.html, ricetta-*.html
   ========================================================================== */

/* ---------- Page frame ---------- */
body.ricette,
body.ricetta{
  background:var(--color-cream);
  color:var(--color-forest);
}
body.ricette::before,
body.ricetta::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    radial-gradient(circle at 15% 8%, rgba(155,203,156,.05), transparent 45%),
    radial-gradient(circle at 85% 92%, rgba(232,231,183,.06), transparent 45%);
}

/* ==========================================================================
   RICETTE INDEX — HERO
   ========================================================================== */
.ricette-hero{
  position:relative;
  padding:calc(var(--nav-h) + 72px) 0 96px;
  background:
    radial-gradient(circle at 22% 30%, rgba(155,203,156,.22), transparent 55%),
    radial-gradient(circle at 88% 16%, rgba(232,231,183,.16), transparent 48%),
    linear-gradient(180deg,#2B3D35 0%, #41594C 100%);
  color:var(--color-cream);
  overflow:hidden;isolation:isolate;
  text-align:center;
}
.ricette-hero::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background-image:
    repeating-linear-gradient(135deg, rgba(255,253,250,.03) 0 1px, transparent 1px 64px);
}
.ricette-hero__inner{
  display:flex;flex-direction:column;align-items:center;gap:22px;
  max-width:var(--rail);margin:0 auto;
}
.ricette-hero__title{
  font-family:var(--title-font);font-weight:var(--title-weight);
  font-size:clamp(40px,5vw,80px);
  line-height:1.02;letter-spacing:-.015em;
  text-align:center;
}
.ricette-hero__title em{
  font-family:var(--title-font);font-weight:var(--title-em-weight);font-style:var(--title-em-style);
  color:var(--color-sage);
}
.ricette-hero__sub{
  font-size:var(--lede-size);line-height:var(--lede-lh);color:var(--prose-on-dark);
  max-width:var(--measure-lede);margin:0 auto;text-align:center;font-weight:var(--lede-weight);}

/* ==========================================================================
   RICETTE — FILTER (unified glass bar, same aesthetic as nav)
   Static element between hero and featured — no sticky scroll.
   ========================================================================== */
.ricette-filter{
  position:relative;z-index:20;
  padding:16px 0;margin-top:clamp(-56px,-4vw,-40px);
}
/* Barra glass (stessa estetica di nav + filtro News) */
.ricette-filter__bar{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;
  padding:10px 14px;border-radius:999px;
  background:rgba(43,61,53,.68);
  backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);
  border:1px solid rgba(255,253,250,.18);
  box-shadow:inset 0 1px 0 rgba(255,253,250,.08),0 12px 40px rgba(28,40,32,.22);
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .ricette-filter__bar{ background:rgba(43,61,53,.94); }
}

/* Dropdown */
.ricette-dd{ position:relative; }
.ricette-dd__trigger{
  display:inline-flex;align-items:center;gap:9px;
  padding:9px 15px;min-height:42px;border-radius:999px;
  font-family:var(--font-sans);font-size:13px;letter-spacing:.01em;
  color:var(--color-cream);background:transparent;
  border:1px solid rgba(255,253,250,.16);cursor:pointer;white-space:nowrap;
  transition:background .22s var(--easing-out),border-color .22s,color .22s;
}
.ricette-dd__trigger:hover{ background:rgba(255,253,250,.1); }
.ricette-dd__trigger:focus-visible{ outline:2px solid rgba(155,203,156,.75);outline-offset:2px; }
.ricette-dd__cap{ font-weight:400;opacity:.6;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase; }
.ricette-dd__val{ font-weight:500; }
.ricette-dd__chev{ transition:transform .25s var(--easing-out);opacity:.85; }
.ricette-dd[data-open] .ricette-dd__chev{ transform:rotate(180deg); }
/* trigger attivo (selezione ≠ Tutti) */
.ricette-dd.is-active .ricette-dd__trigger{ background:var(--color-sage);border-color:var(--color-sage);color:var(--color-forest-900); }
.ricette-dd.is-active .ricette-dd__cap{ opacity:.78;color:var(--color-forest-900); }

/* Panel — glass scuro come i dropdown del menu */
.ricette-dd__panel{
  position:absolute;top:calc(100% + 10px);left:50%;
  transform:translateX(-50%) translateY(-6px);
  min-width:max(100%,210px);max-height:min(58vh,360px);overflow-y:auto;
  display:flex;flex-direction:column;gap:2px;
  padding:6px;border-radius:18px;z-index:60;
  background:rgba(28,40,34,.88);
  backdrop-filter:blur(26px) saturate(150%);-webkit-backdrop-filter:blur(26px) saturate(150%);
  border:1px solid rgba(255,253,250,.14);
  box-shadow:0 24px 60px -16px rgba(0,0,0,.5);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .2s var(--easing-out),transform .2s var(--easing-out),visibility .2s;
}
.ricette-dd[data-open] .ricette-dd__panel{ opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0); }
.ricette-dd__opt{
  display:flex;align-items:center;width:100%;
  padding:10px 14px;border-radius:12px;
  font-family:var(--font-sans);font-size:13.5px;text-align:left;
  color:var(--color-cream);background:transparent;border:0;cursor:pointer;white-space:nowrap;
  transition:background .18s,color .18s;
}
.ricette-dd__opt:hover{ background:rgba(255,253,250,.1); }
.ricette-dd__opt.is-active{ background:var(--color-sage);color:var(--color-forest-900);font-weight:500; }

/* Mobile — barra compatta; cap quando "Tutti", valore quando selezionato */
@media (max-width:760px){
  .ricette-filter{ margin-top:clamp(-40px,-6vw,-24px); }
  .ricette-filter__bar{ gap:6px;padding:8px 10px;border-radius:26px; }
  .ricette-dd__trigger{ padding:9px 13px; }
  .ricette-dd:not(.is-active) .ricette-dd__val{ display:none; }
  .ricette-dd.is-active .ricette-dd__cap{ display:none; }
  .ricette-dd__val{ max-width:34vw;overflow:hidden;text-overflow:ellipsis; }
  .ricette-dd__panel{ left:0;transform:translateY(-6px);min-width:200px;max-width:82vw; }
  .ricette-dd[data-open] .ricette-dd__panel{ transform:translateY(0); }
}

/* ==========================================================================
   RICETTE — FEATURED
   ========================================================================== */
.ricette-featured{padding:72px 0 56px;position:relative;}
.ricette-featured__grid{
  display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center;
}
.ricette-featured__media{
  position:relative;aspect-ratio:5/4;border-radius:24px;overflow:hidden;
  max-width:100%;
  background:linear-gradient(135deg,#41594C 0%, #2B3D35 60%,#1C2820 100%);
  box-shadow:0 30px 80px -20px rgba(43,61,53,.35);
}
.ricette-featured__media svg{position:absolute;inset:0;width:100%;height:100%;}
.ricette-featured__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.ricette-featured__badge{
  position:absolute;top:20px;left:20px;z-index:2;
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px;border-radius:999px;
  background:rgba(255,253,250,.92);color:var(--color-forest-900);
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;
  backdrop-filter:blur(10px);
}
.ricette-featured__badge::before{
  content:"";width:6px;height:6px;border-radius:50%;background:var(--color-sage-700);
}
.ricette-featured__body{display:flex;flex-direction:column;justify-content:center;padding:0;min-width:0;}
.ricette-featured__eyebrow{
  font-size:11px;letter-spacing:.32em;text-transform:uppercase;
  color:var(--color-forest-500);font-weight:500;margin-bottom:20px;
  display:inline-flex;gap:12px;align-items:center;
}
.ricette-featured__eyebrow::before{content:"";width:28px;height:1px;background:var(--color-forest-500);}
.ricette-featured__title{
  font-family:var(--title-font);font-weight:var(--title-weight);
  font-size:clamp(38px,4vw,64px);line-height:1;letter-spacing:-.02em;
  color:var(--color-forest-900);
}
.ricette-featured__title em{font-style:italic;color:var(--color-sage-700)}
.ricette-featured__deck{
  margin-top:22px;font-size:var(--body-size);line-height:var(--body-lh);color:var(--prose-ink);max-width:520px;font-weight:var(--body-weight);}
.ricette-featured__meta{
  display:flex;gap:28px;margin-top:32px;flex-wrap:wrap;
}
.ricette-featured__meta-item{
  display:flex;flex-direction:column;gap:4px;
  padding-right:28px;border-right:1px solid rgba(65,89,76,.14);
}
.ricette-featured__meta-item:last-child{border-right:0;padding-right:0;}
.ricette-featured__meta-val{font-family:var(--font-display);font-size:22px;color:var(--color-forest-900);line-height:1;}
.ricette-featured__meta-lbl{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--color-forest-500);}
.ricette-featured__cta{
  display:inline-flex;align-items:center;gap:10px;margin-top:36px;
  padding:14px 24px;border-radius:999px;
  background:var(--color-forest-900);color:var(--color-cream);
  font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;
  transition:transform .3s var(--easing-out),background .3s;
  align-self:flex-start;
}
.ricette-featured__cta:hover{background:var(--color-forest);transform:translateX(4px);}
.ricette-featured__cta::after{content:"→";font-size:16px;}

/* ==========================================================================
   RICETTE — GRID
   ========================================================================== */
.ricette-grid-wrap{padding:40px 0 120px;}
.ricette-grid-header{
  display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:36px;flex-wrap:wrap;
}
.ricette-grid-header h2{
  font-family:var(--title-font);font-weight:var(--title-weight);font-size:clamp(32px,3.2vw,48px);
  line-height:1.05;color:var(--color-forest-900);letter-spacing:-.015em;
}
.ricette-grid-header h2 em{font-style:italic;color:var(--color-sage-700)}
.ricette-grid-header__meta{font-size:13px;color:var(--color-forest-500);letter-spacing:.04em;}

.ricette-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:36px 28px;
}
.ricette-card{
  display:flex;flex-direction:column;background:var(--color-cream);border-radius:22px;overflow:hidden;
  border:1px solid rgba(65,89,76,.08);
  transition:transform .4s var(--easing-out),box-shadow .4s,border-color .3s;
}
.ricette-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 60px -16px rgba(43,61,53,.22);
  border-color:rgba(65,89,76,.18);
}
.ricette-card__media{
  position:relative;aspect-ratio:4/3;overflow:hidden;
  background:linear-gradient(135deg,#41594C 0%, #2B3D35 60%,#1C2820 100%);
}
.ricette-card__media svg,
.ricette-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--easing-out);}
.ricette-card:hover .ricette-card__media svg,
.ricette-card:hover .ricette-card__media img{transform:scale(1.04);}
.ricette-card__cat{
  position:absolute;top:14px;left:14px;
  padding:6px 12px;border-radius:999px;
  background:rgba(255,253,250,.92);color:var(--color-forest-900);
  font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;
  backdrop-filter:blur(10px);
}
.ricette-card__brand{
  position:absolute;top:14px;right:14px;
  padding:6px 12px;border-radius:999px;
  background:var(--color-sage-700);color:var(--color-cream);
  font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;
}
.ricette-card__body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1;}
.ricette-card__title{
  font-family:var(--font-sans);font-weight:700;
  font-size:20px;line-height:1.25;letter-spacing:-.005em;
  color:var(--color-forest-900);margin-bottom:10px;
}
.ricette-card__title em{font-style:italic;font-weight:700;color:var(--color-sage-700)}
.ricette-card__deck{
  font-size:var(--body-sm-size);line-height:var(--body-sm-lh);color:var(--prose-ink);opacity:.82;
  margin-bottom:18px;flex:1;font-weight:var(--body-sm-weight);}
.ricette-card__meta{
  display:flex;align-items:center;gap:16px;padding-top:14px;
  border-top:1px solid rgba(65,89,76,.1);
  font-size:11px;letter-spacing:.08em;color:var(--color-forest-500);
}
.ricette-card__meta-item{display:inline-flex;align-items:center;gap:6px;}
.ricette-card__meta-item svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;}

/* Filter hidden state */
.ricette-card.is-hidden{display:none;}

/* ==========================================================================
   RICETTE — CTA BAND
   ========================================================================== */
.ricette-cta{
  padding:80px 0 100px;background:linear-gradient(135deg,#2B3D35 0%, #41594C 100%);
  color:var(--color-cream);position:relative;overflow:hidden;
}
.ricette-cta::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 30% 40%, rgba(155,203,156,.1), transparent 50%),
             radial-gradient(circle at 80% 80%, rgba(232,231,183,.08), transparent 45%);
}
.ricette-cta__inner{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center;}
.ricette-cta h3{
  font-family:var(--title-font);font-weight:var(--title-weight);font-size:clamp(34px,3.6vw,54px);line-height:1.04;letter-spacing:-.015em;
}
.ricette-cta h3 em{font-style:italic;color:var(--color-sage)}
.ricette-cta__body p{font-size:var(--body-size);line-height:var(--body-lh);color:var(--prose-on-dark);max-width:520px;margin-top:18px;font-weight:var(--body-weight);}
.ricette-cta__link{
  display:inline-flex;align-items:center;gap:10px;margin-top:28px;
  padding:14px 24px;border-radius:999px;
  background:var(--color-sage);color:var(--color-forest-900);
  font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;
  transition:transform .3s var(--easing-out);
}
.ricette-cta__link:hover{transform:translateX(4px);}
.ricette-cta__link::after{content:"→";}

/* ==========================================================================
   RICETTA DETAIL — HERO (breadcrumb + cat + title + meta)
   ========================================================================== */
.ricetta-hero{
  position:relative;padding:calc(var(--nav-h) + 64px) 0 32px;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(circle at 10% 0%, rgba(155,203,156,.12), transparent 45%),
    radial-gradient(circle at 95% 15%, rgba(232,231,183,.1), transparent 42%),
    var(--color-cream);
}
.ricetta-hero__breadcrumb{
  font-size:12px;letter-spacing:.14em;color:var(--color-forest-500);margin-bottom:28px;
  display:flex;gap:10px;align-items:center;flex-wrap:wrap;
}
.ricetta-hero__breadcrumb a{color:var(--color-forest-500);text-decoration:none;}
.ricetta-hero__breadcrumb a:hover{color:var(--color-forest-900);}
.ricetta-hero__breadcrumb span.sep{opacity:.5;}
.ricetta-hero__breadcrumb span.current{color:var(--color-forest-900);font-weight:500;}

.ricetta-hero__head{
  display:grid;grid-template-columns:1fr;gap:24px;max-width:var(--rail-wide);
}
.ricetta-hero__tags{
  display:flex;gap:10px;flex-wrap:wrap;
}
.ricetta-hero__cat{
  display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;
  background:var(--color-forest-900);color:var(--color-cream);
  font-size:10px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;
}
.ricetta-hero__cat::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-sage);}
.ricetta-hero__brand{
  display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;
  background:var(--color-sage-300);color:var(--color-forest-900);
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
}
/* Categoria tecnica: stessa pill del settore ma outline (gerarchia visiva) */
.ricetta-hero__cat--tech{
  background:transparent;color:var(--color-forest-900);
  box-shadow:inset 0 0 0 1px rgba(43,61,53,.28);
}
.ricetta-hero__cat--tech::before{background:var(--color-forest-700,#38493f);}
/* Claim nutrizionali (tag gruppo A) */
.ricetta-hero__claims{
  list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;
}
.ricetta-hero__claim{
  font-family:var(--font-sans);font-size:12px;color:var(--color-forest-700,#38493f);
  padding:5px 12px;border-radius:999px;background:var(--color-sage-300);
}
.ricetta-hero__title{
  font-family:var(--title-font);font-weight:var(--title-weight);
  font-size:clamp(44px,5.2vw,88px);line-height:.98;letter-spacing:-.02em;
  color:var(--color-forest-900);margin-top:4px;
}
.ricetta-hero__title em{font-style:italic;color:var(--color-sage-700)}
.ricetta-hero__deck{
  font-size:var(--lede-size);line-height:var(--lede-lh);color:var(--prose-ink);max-width:var(--measure-lede);font-weight:var(--lede-weight);}
.ricetta-hero__author{
  display:flex;align-items:center;gap:16px;margin-top:28px;padding-top:24px;
  border-top:1px solid rgba(65,89,76,.14);
}
.ricetta-hero__avatar{
  width:48px;height:48px;border-radius:50%;
  background:linear-gradient(135deg,var(--color-sage-300),var(--color-sage-700));
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-size:18px;color:var(--color-forest-900);
}
.ricetta-hero__author-meta{line-height:1.4;}
.ricetta-hero__author-name{font-size:14px;font-weight:500;color:var(--color-forest-900);}
.ricetta-hero__author-role{font-size:12px;color:var(--color-forest-500);letter-spacing:.04em;}
.ricetta-hero__author-sep{width:1px;height:28px;background:rgba(65,89,76,.16);margin:0 4px;}
.ricetta-hero__date{font-size:12px;color:var(--color-forest-500);letter-spacing:.06em;}

/* ---------- Feature image ---------- */
.ricetta-feature{padding:16px 0 48px;}
.ricetta-feature__frame{
  position:relative;aspect-ratio:16/9;border-radius:28px;overflow:hidden;
  background:linear-gradient(135deg,#41594C 0%, #2B3D35 60%,#1C2820 100%);
  box-shadow:0 40px 100px -25px rgba(43,61,53,.45);
}
.ricetta-feature__frame svg{position:absolute;inset:0;width:100%;height:100%;}
.ricetta-feature__caption{
  margin-top:16px;font-size:12.5px;color:var(--color-forest-500);letter-spacing:.04em;
  display:flex;gap:10px;align-items:center;
}
.ricetta-feature__caption::before{content:"";width:18px;height:1px;background:var(--color-forest-500);}

/* ==========================================================================
   RICETTA — META BAR (prep / cook / difficulty / yield / servings)
   ========================================================================== */
.ricetta-metabar{padding:32px 0;}
.ricetta-metabar__grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:0;
  padding:24px 32px;border-radius:20px;
  background:linear-gradient(180deg,rgba(155,203,156,.07),rgba(155,203,156,.02));
  border:1px solid rgba(65,89,76,.1);
}
.ricetta-metabar__item{
  display:flex;flex-direction:column;gap:8px;padding:0 28px;
  border-right:1px solid rgba(65,89,76,.1);
}
.ricetta-metabar__item:last-child{border-right:0;}
.ricetta-metabar__item:first-child{padding-left:0;}
.ricetta-metabar__lbl{
  font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--color-forest-500);
  display:flex;align-items:center;gap:8px;
}
.ricetta-metabar__lbl svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.6;}
.ricetta-metabar__val{font-family:var(--font-display);font-size:28px;color:var(--color-forest-900);line-height:1;}
.ricetta-metabar__val small{font-size:13px;font-family:var(--font-sans);opacity:.6;margin-left:4px;}

/* ==========================================================================
   RICETTA — ARTICLE GRID (ingredients sidebar + procedure body)
   ========================================================================== */
.ricetta-article{padding:32px 0 80px;}
.ricetta-article__grid{
  display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:72px;align-items:start;
}

/* Ingredients sidebar (sticky) */
.ricetta-ingredients{
  position:sticky;top:calc(var(--nav-h) + 24px);
  padding:28px 28px 32px;border-radius:20px;
  background:var(--color-cream-soft);
  border:1px solid rgba(65,89,76,.1);
}
.ricetta-ingredients__eyebrow{
  font-size:11px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--color-forest-500);font-weight:500;margin-bottom:8px;
}
.ricetta-ingredients__title{
  font-family:var(--title-font);font-weight:var(--title-weight);font-size:32px;line-height:1;
  color:var(--color-forest-900);margin-bottom:20px;letter-spacing:-.01em;
}
.ricetta-ingredients__servings{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 16px;border-radius:12px;
  background:rgba(255,253,250,.8);border:1px solid rgba(65,89,76,.08);
  margin-bottom:22px;
}
.ricetta-ingredients__servings-lbl{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--color-forest-500);}
.ricetta-ingredients__servings-val{font-family:var(--font-display);font-size:22px;color:var(--color-forest-900);}
.ricetta-ingredients__group{margin-bottom:22px;}
.ricetta-ingredients__group:last-child{margin-bottom:0;}
.ricetta-ingredients__group-title{
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--color-forest-900);font-weight:600;margin-bottom:12px;
  display:flex;align-items:center;gap:10px;
}
.ricetta-ingredients__group-title::before{content:"";width:14px;height:1px;background:var(--color-sage-700);}
.ricetta-ingredients__list{display:flex;flex-direction:column;gap:8px;}
.ricetta-ingredients__item{
  display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:baseline;
  font-size:14px;line-height:1.5;color:var(--color-forest);
  padding:8px 0;border-bottom:1px dashed rgba(65,89,76,.12);
}
.ricetta-ingredients__item:last-child{border-bottom:0;}
.ricetta-ingredients__qty{
  font-family:var(--font-display);font-size:15px;color:var(--color-forest-900);font-weight:500;
}
.ricetta-ingredients__name{font-size:13.5px;color:var(--color-forest);}
.ricetta-ingredients__name strong{color:var(--color-forest-900);font-weight:500;}
.ricetta-ingredients__highlight{
  margin-top:22px;padding:14px 16px;border-radius:12px;
  background:var(--color-sage-300);
}
.ricetta-ingredients__highlight-lbl{
  font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--color-forest-900);font-weight:600;
}
.ricetta-ingredients__highlight-val{
  display:block;font-family:var(--font-display);font-size:20px;color:var(--color-forest-900);line-height:1.1;margin-top:4px;
}

/* Procedure body */
.ricetta-article__body{max-width:720px;}
.ricetta-article__intro{
  font-family:var(--title-font);font-weight:var(--title-weight);font-size:clamp(20px,1.6vw,24px);
  line-height:1.4;color:var(--color-forest);font-style:italic;
  padding-left:24px;border-left:3px solid var(--color-sage-700);
  margin-bottom:40px;
}
.ricetta-article__h2{
  font-family:var(--title-font);font-weight:var(--title-weight);font-size:clamp(28px,2.4vw,40px);line-height:1.1;
  color:var(--color-forest-900);margin:52px 0 20px;letter-spacing:-.01em;
}
.ricetta-article__h2 em{font-style:italic;color:var(--color-sage-700);}
.ricetta-article__h2:first-child{margin-top:0;}

/* Steps */
.ricetta-steps{display:flex;flex-direction:column;gap:32px;}
.ricetta-step{
  display:grid;grid-template-columns:64px 1fr;gap:24px;align-items:start;
  padding:20px 0;border-top:1px solid rgba(65,89,76,.1);
}
.ricetta-step:first-child{border-top:0;padding-top:0;}
.ricetta-step__num{
  width:56px;height:56px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--color-forest-900);color:var(--color-cream);
  font-family:var(--font-display);font-size:24px;line-height:1;
  border:3px solid var(--color-sage-300);
}
.ricetta-step__body h3{
  font-family:var(--title-font);font-weight:var(--title-weight);font-size:22px;line-height:1.15;
  color:var(--color-forest-900);margin-bottom:10px;letter-spacing:-.005em;
}
.ricetta-step__body p{
  font-size:var(--body-size);line-height:var(--body-lh);color:var(--prose-ink);margin-bottom:10px;font-weight:var(--body-weight);}
.ricetta-step__body p:last-child{margin-bottom:0;}
.ricetta-step__note{
  display:block;margin-top:12px;padding:12px 16px;border-radius:10px;
  background:rgba(155,203,156,.14);border-left:3px solid var(--color-sage-700);
  font-size:14px;color:var(--color-forest);line-height:1.55;font-style:italic;
}
.ricetta-step__note::before{
  content:"PRO · ";font-style:normal;font-weight:600;letter-spacing:.18em;
  color:var(--color-forest-900);font-size:11px;
}

/* Tips block */
.ricetta-tips{
  margin-top:48px;padding:32px 36px;border-radius:20px;
  background:linear-gradient(135deg,var(--color-cream-soft),var(--color-cream-warm));
  border:1px solid rgba(65,89,76,.1);
}
.ricetta-tips__eyebrow{
  font-size:11px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--color-forest-500);font-weight:500;margin-bottom:8px;
}
.ricetta-tips__title{
  font-family:var(--title-font);font-weight:var(--title-weight);font-size:28px;color:var(--color-forest-900);
  line-height:1.1;margin-bottom:18px;letter-spacing:-.01em;
}
.ricetta-tips__title em{font-style:italic;color:var(--color-sage-700);}
.ricetta-tips__list{display:flex;flex-direction:column;gap:14px;}
.ricetta-tips__item{
  display:grid;grid-template-columns:28px 1fr;gap:14px;align-items:start;
  font-size:15px;line-height:1.6;color:var(--color-forest);
}
.ricetta-tips__item::before{
  content:"→";font-family:var(--font-display);font-size:20px;color:var(--color-sage-700);
  line-height:1;padding-top:2px;
}

/* Nutrition table (optional mini) */
.ricetta-nutri{
  margin-top:40px;padding:24px 28px;border-radius:18px;
  border:1px solid rgba(65,89,76,.12);background:var(--color-cream);
}
.ricetta-nutri__title{
  font-size:11px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--color-forest-500);font-weight:500;margin-bottom:14px;
}
.ricetta-nutri__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.ricetta-nutri__cell{padding-right:18px;border-right:1px solid rgba(65,89,76,.1);}
.ricetta-nutri__cell:last-child{border-right:0;}
.ricetta-nutri__val{font-family:var(--font-display);font-size:22px;color:var(--color-forest-900);line-height:1;}
.ricetta-nutri__val small{font-size:12px;font-family:var(--font-sans);opacity:.6;}
.ricetta-nutri__lbl{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--color-forest-500);margin-top:6px;}

/* ==========================================================================
   RICETTA — PRODUCT BLOCK (il prodotto usato)
   ========================================================================== */
.ricetta-product{
  padding:72px 0;background:linear-gradient(180deg,var(--color-cream) 0%,var(--color-cream-soft) 100%);
}
.ricetta-product__inner{
  display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center;
  padding:48px;border-radius:28px;background:var(--color-cream);
  border:1px solid rgba(65,89,76,.1);box-shadow:0 20px 60px -20px rgba(43,61,53,.12);
}
.ricetta-product__media{
  aspect-ratio:1;border-radius:20px;overflow:hidden;position:relative;
  background:linear-gradient(135deg,#7FAA80 0%, #41594C 100%);
}
.ricetta-product__media svg{position:absolute;inset:0;width:100%;height:100%;}
.ricetta-product__eyebrow{
  font-size:11px;letter-spacing:.32em;text-transform:uppercase;
  color:var(--color-forest-500);font-weight:500;margin-bottom:16px;
}
.ricetta-product__title{
  font-family:var(--title-font);font-weight:var(--title-weight);font-size:clamp(32px,3.2vw,48px);line-height:1.02;letter-spacing:-.01em;
  color:var(--color-forest-900);
}
.ricetta-product__title em{font-style:italic;color:var(--color-sage-700);}
.ricetta-product__desc{
  margin-top:18px;font-size:var(--body-size);line-height:var(--body-lh);color:var(--prose-ink);max-width:560px;font-weight:var(--body-weight);}
.ricetta-product__facts{display:flex;gap:28px;margin-top:28px;flex-wrap:wrap;}
.ricetta-product__fact{display:flex;flex-direction:column;gap:4px;padding-right:24px;border-right:1px solid rgba(65,89,76,.12);}
.ricetta-product__fact:last-child{border-right:0;padding-right:0;}
.ricetta-product__fact-val{font-family:var(--font-display);font-size:22px;color:var(--color-forest-900);line-height:1;}
.ricetta-product__fact-lbl{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--color-forest-500);}
.ricetta-product__link{
  display:inline-flex;align-items:center;gap:10px;margin-top:28px;
  padding:12px 22px;border-radius:999px;
  background:var(--color-forest-900);color:var(--color-cream);
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  transition:transform .3s var(--easing-out);align-self:flex-start;
}
.ricetta-product__link:hover{transform:translateX(4px);}
.ricetta-product__link::after{content:"→";}

/* ==========================================================================
   RICETTA — RELATED (altre ricette)
   ========================================================================== */
.ricetta-related{padding:72px 0 120px;border-top:1px solid rgba(65,89,76,.1);}
.ricetta-related__head{
  display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:36px;flex-wrap:wrap;
}
.ricetta-related__head h3{
  font-family:var(--title-font);font-weight:var(--title-weight);font-size:clamp(30px,3vw,48px);line-height:1.05;color:var(--color-forest-900);letter-spacing:-.015em;
}
.ricetta-related__head h3 em{font-style:italic;color:var(--color-sage-700);}
.ricetta-related__cta{
  display:inline-flex;align-items:center;gap:10px;
  padding:11px 20px;border-radius:999px;
  border:1px solid rgba(65,89,76,.22);color:var(--color-forest-900);
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  transition:background .3s var(--easing-out),color .3s,transform .3s;
}
.ricetta-related__cta:hover{background:var(--color-forest-900);color:var(--color-cream);transform:translateX(2px);}
.ricetta-related__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 28px;}

/* ==========================================================================
   PRODUCT PAGE — RICETTE TEASER (used on product pages to link recipes)
   ========================================================================== */
.product-recipes{padding:96px 0;background:var(--color-cream);}
.product-recipes__head{
  display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:40px;flex-wrap:wrap;
}
.product-recipes__eyebrow{
  font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--color-forest-500);font-weight:500;margin-bottom:10px;
  display:flex;align-items:center;gap:12px;
}
.product-recipes__eyebrow::before{content:"";width:24px;height:1px;background:var(--color-forest-500);}
.product-recipes__title{
  font-family:var(--title-font);font-weight:var(--title-weight);font-size:clamp(32px,3.2vw,54px);line-height:1.02;letter-spacing:-.015em;color:var(--color-forest-900);
}
.product-recipes__title em{font-style:italic;color:var(--color-sage-700);}
.product-recipes__cta{
  display:inline-flex;align-items:center;gap:10px;
  padding:12px 22px;border-radius:999px;
  border:1px solid rgba(65,89,76,.22);color:var(--color-forest-900);
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  transition:background .3s var(--easing-out),color .3s;
}
.product-recipes__cta:hover{background:var(--color-forest-900);color:var(--color-cream);}
.product-recipes__cta::after{content:"→";}
.product-recipes__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1024px){
  .ricette-featured__grid{grid-template-columns:1fr;gap:32px;}
  .ricette-grid{grid-template-columns:repeat(2,1fr);gap:28px 20px;}
  .ricette-cta__inner{grid-template-columns:1fr;gap:32px;}

  .ricetta-article__grid{grid-template-columns:1fr;gap:40px;}
  .ricetta-ingredients{position:static;}
  .ricetta-metabar__grid{grid-template-columns:repeat(3,1fr);padding:20px 24px;}
  .ricetta-metabar__item{padding:16px 18px;border-right:1px solid rgba(65,89,76,.1);border-bottom:1px solid rgba(65,89,76,.1);}
  .ricetta-metabar__item:nth-child(3n){border-right:0;}
  .ricetta-metabar__item:nth-last-child(-n+2){border-bottom:0;}
  .ricetta-product__inner{grid-template-columns:1fr;gap:28px;padding:32px;}
  .ricetta-related__grid,.product-recipes__grid{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:640px){
  .ricette-hero{padding-top:calc(var(--nav-h) + 40px);padding-bottom:72px;}
  .ricette-hero__title{font-size:clamp(36px,9vw,56px);}
  .ricette-grid{grid-template-columns:1fr;}
  .ricetta-metabar__grid{grid-template-columns:repeat(2,1fr);}
  .ricetta-metabar__item:nth-child(3n){border-right:1px solid rgba(65,89,76,.1);}
  .ricetta-metabar__item:nth-child(2n){border-right:0;}
  .ricetta-metabar__item{padding:14px 12px;}
  .ricetta-step{grid-template-columns:48px 1fr;gap:18px;}
  .ricetta-step__num{width:44px;height:44px;font-size:20px;border-width:2px;}
  .ricetta-nutri__grid{grid-template-columns:repeat(2,1fr);}
  .ricetta-nutri__cell{border-right:0;border-bottom:1px solid rgba(65,89,76,.1);padding-bottom:14px;}
  .ricetta-nutri__cell:nth-last-child(-n+2){border-bottom:0;}
  .ricetta-product__inner{padding:24px;}
  .ricetta-related__grid,.product-recipes__grid{grid-template-columns:1fr;}
}
