/* EVO intentionally uses local/system font fallbacks only: no third-party runtime font fetches. */

/* ============================================================
   EVO TRASPARENTE — Interfaccia "lusso mediterraneo"
   Design system reale (sostituisce il vecchio styles.css
   nelle pagine ridisegnate). Vanilla, nessun framework.
   ============================================================ */

:root{
  --cream:#f5f1e7; --paper:#fbf9f2; --ink:#1c231a; --ink2:#2b2f24;
  --muted:#656950; --muted2:#686b55; --line:#e2dcc9; --line2:#e7e1d0;
  --gold:#875f16; --gold-bright:#936b1c; --gold-soft:#cda04a; --sage:#7e8a54;
  --soft:#efe9d8; --dark:#1c231a;
  --font-family-sans:"Hanken Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-family-serif:"Cormorant Garamond",Georgia,serif;
  --font-family-mono:"Spline Sans Mono",ui-monospace,monospace;
  --font-size-micro:9px; --font-size-label-xs:10px; --font-size-label-sm:11px;
  --font-size-caption:12px; --font-size-meta:13px; --font-size-body-sm:14px;
  --font-size-body:15px; --font-size-body-lg:16px; --font-size-lead-sm:17px;
  --font-size-lead:18px; --font-size-heading-xs:20px; --font-size-heading-sm:23px;
  --font-size-heading:24px; --font-size-heading-lg:27px; --font-size-metric:30px;
  --font-size-display-sm:38px; --font-size-display:40px; --font-size-display-lg:52px;
  --font-size-section-title:clamp(30px,4vw,44px);
  --font-size-page-title:clamp(38px,5vw,52px);
  --font-size-detail-title:clamp(38px,4.5vw,52px);
  --font-size-hero:clamp(48px,5.5vw,74px);
  --font-size-lot-section-title:clamp(28px,3vw,38px);
  --font-size-lot-hero:clamp(44px,6vw,72px);
  --measure-label:96px; --measure-compact:160px;
  --measure-reading:78ch; --measure-reading-wide:82ch;
  --container-sm:420px; --container-hero-copy:440px; --container-md:520px;
  --container-lg:560px; --container-xl:640px; --container-2xl:720px;
  --container-3xl:760px; --container-4xl:920px; --container-5xl:1120px;
  --container-6xl:1320px; --container-7xl:1440px;
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px;
  --space-5:24px; --space-6:32px; --space-7:48px; --space-8:64px; --space-9:96px;
  --border-color-neutral:#c9c0a8; --border-color-neutral-soft:#ddd6c4;
  --border-color-gold-muted:#cbb988;
  --border-color-ink-subtle:rgba(28,35,26,0.22);
  --border-color-ink-faint:rgba(40,35,26,0.08);
  --border-color-cream-soft:rgba(245,241,231,0.28);
  --border-color-cream-subtle:rgba(245,241,231,0.18);
  --border-color-cream-faint:rgba(245,241,231,0.12);
  --border-color-cream-hairline:rgba(245,241,231,0.1);
  --border-color-success-soft:rgba(67,91,60,0.16);
  --border-color-success:rgba(54,98,67,0.22);
  --border-color-success-muted:rgba(94,107,52,0.22);
  --border-color-success-strong:rgba(94,107,52,0.24);
  --border-color-warning:rgba(148,96,24,0.24);
  --border-color-danger:rgba(155,53,45,0.22);
  --border-color-danger-alt:rgba(143,47,35,0.22);
  --border-color-state-neutral:rgba(82,88,104,0.22);
  --border-color-gold-soft:rgba(173,126,34,0.28);
  --border-color-gold-glow:rgba(205,160,74,0.3);
  --border-color-gold-dark:rgba(123,63,9,0.2);
  --border-color-review-soft:rgba(49,77,35,0.16);
  --border-color-review:rgba(49,77,35,0.18);
  --border-color-review-warning:rgba(154,91,14,0.32);
  --border-line:1px solid var(--line); --border-line-secondary:1px solid var(--line2);
  --border-line-strong:1.5px solid var(--line); --border-soft:1px solid var(--soft);
  --border-gold:1.5px solid var(--gold); --border-neutral:1px solid var(--border-color-neutral);
  --border-neutral-soft:1px solid var(--border-color-neutral-soft);
  --border-transparent:1px solid transparent; --border-tab:2px solid transparent;
  --border-dashed:1px dashed var(--line); --border-accent:3px solid var(--gold-soft);
  --border-success-soft:1px solid var(--border-color-success-soft);
  --border-gold-soft:1px solid var(--border-color-gold-soft);
  --border-cream-faint:1px solid var(--border-color-cream-faint);
  --border-cream-hairline:1px solid var(--border-color-cream-hairline);
  --border-review:1px solid var(--border-color-review);
  --border-review-soft:1px solid var(--border-color-review-soft);
  --radius-hairline:3px; --radius-badge:5px; --radius-control:8px;
  --radius-inset:10px; --radius-card-sm:12px; --radius-card:14px;
  --radius-panel:16px; --radius-dialog:18px; --radius-feature:24px;
  --radius-pill:999px; --radius-round:50%;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--cream);color:var(--ink2);
  font-family:var(--font-family-sans);
  line-height:1.5;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
button{font:inherit;cursor:pointer;}
input,select,textarea{font:inherit;}
::selection{background:var(--gold);color:var(--paper);}
img{max-width:100%;display:block;}

.eu-serif{font-family:var(--font-family-serif);}
.eu-mono{font-family:var(--font-family-mono);}
.eu-wrap{max-width:var(--container-6xl);margin:0 auto;padding:0 clamp(18px,4vw,48px);}
.eu-eyebrow{font-family:var(--font-family-mono);font-size:var(--font-size-caption);
  letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);margin:0 0 12px;}

/* ---------- HEADER ---------- */
.eu-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;
  justify-content:space-between;gap:24px;padding:16px clamp(18px,4vw,48px);
  background:var(--cream);border-bottom:var(--border-line);}
.eu-brand{display:flex;align-items:center;gap:12px;}
.eu-brand-mark{display:grid;place-items:center;width:38px;height:38px;border:var(--border-gold);
  border-radius:var(--radius-round);font-family:var(--font-family-serif);font-weight:700;font-size:var(--font-size-lead-sm);color:var(--gold);}
.eu-brand-name{font-family:var(--font-family-serif);font-size:var(--font-size-heading-sm);font-weight:600;color:var(--ink);}
.eu-brand-name i{font-style:italic;color:var(--gold);}
.eu-nav{display:flex;align-items:center;gap:6px;}
.eu-nav a{font-size:var(--font-size-body-sm);font-weight:500;color:var(--ink2);padding:8px 14px;border-radius:var(--radius-control);}
.eu-nav a:hover{background:var(--soft);}
.eu-nav a.is-active{color:var(--gold);}
.eu-nav .eu-sep{width:1px;height:20px;background:#d8d1be;margin:0 6px;}
.eu-nav .eu-pill{font-family:var(--font-family-mono);font-size:var(--font-size-caption);letter-spacing:0.04em;
  text-transform:uppercase;border:var(--border-neutral);padding:9px 16px;border-radius:var(--radius-control);}
.eu-nav .eu-pill:hover{border-color:var(--gold);color:var(--gold);background:none;}

/* ---------- BUTTONS ---------- */
.eu-btn,.primary-button,.secondary-button,.text-button,.card-action,
.comparison-action,.reviewer-action-form button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;
  border-radius:var(--radius-control);border:var(--border-transparent);
}
.eu-btn{font-size:var(--font-size-body);padding:14px 26px;}
.eu-btn--primary{background:var(--gold);color:var(--paper);}
.eu-btn--primary:hover{background:var(--gold-bright);}
.eu-btn--ghost{background:transparent;color:var(--ink);border-color:var(--border-color-ink-subtle);}
.eu-btn--ghost:hover{border-color:var(--gold);color:var(--gold);}
.eu-btn--ghost-light{background:transparent;color:#f2eedd;border-color:var(--border-color-cream-soft);}
.eu-btn--ghost-light:hover{border-color:var(--gold-soft);}

/* ---------- HERO (home) ---------- */
.eu-hero{background:var(--dark);color:#f2eedd;overflow:hidden;}
.eu-hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;max-width:var(--container-7xl);margin:0 auto;}
.eu-hero-copy{padding:clamp(48px,6vw,96px) clamp(24px,4vw,64px);display:flex;flex-direction:column;justify-content:center;}
.eu-hero h1{font-family:var(--font-family-serif);font-weight:600;font-size:var(--font-size-hero);
  line-height:1.02;letter-spacing:-0.01em;margin:0 0 22px;color:var(--paper);}
.eu-hero h1 i{font-style:italic;color:var(--gold-soft);}
.eu-hero-lead{font-size:var(--font-size-lead);line-height:1.6;color:#c5c5b0;max-width:var(--container-hero-copy);margin:0 0 34px;}
.eu-hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.eu-hero-metrics{display:flex;gap:34px;margin-top:54px;flex-wrap:wrap;}
.eu-hero-metrics b{display:block;font-family:var(--font-family-mono);font-size:var(--font-size-label-sm);letter-spacing:0.1em;
  text-transform:uppercase;color:var(--gold-soft);margin-bottom:6px;font-weight:500;}
.eu-hero-metrics span{font-size:var(--font-size-body-sm);color:#d8d6c2;max-width:var(--measure-compact);display:block;}
.eu-hero-art{position:relative;min-height:520px;border-left:var(--border-cream-faint);
  background-image:linear-gradient(135deg,rgba(20,26,18,0.2),rgba(20,26,18,0.55)),url("assets/olive-grove-hero.webp");
  background-size:cover;background-position:center;}
.eu-featured-empty{font-size:var(--font-size-body);color:var(--muted);text-align:center;padding:40px 0;}
.eu-featured-empty a{color:var(--gold);text-underline-offset:3px;}
.eu-catalog-loading{font-family:var(--font-family-mono);font-size:var(--font-size-meta);color:var(--muted2);
  margin:0;padding:60px 0;text-align:center;letter-spacing:0.04em;}
/* Keep the catalog footer below the initial viewport while results load. */
body[data-page="catalog"] > main,
body[data-page="producers"] > main{min-height:calc(100svh - 72px);}
.eu-breadcrumb{padding:20px 0 4px;font-size:var(--font-size-meta);}
.eu-breadcrumb a{color:var(--muted);text-underline-offset:3px;}
.eu-breadcrumb a:hover{color:var(--gold);}

/* ---------- SECTIONS ---------- */
.eu-section{padding:clamp(48px,7vw,90px) 0;}
.eu-section--soft{background:var(--soft);border-top:var(--border-line);border-bottom:var(--border-line);}
.eu-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:34px;flex-wrap:wrap;}
.eu-h2{font-family:var(--font-family-serif);font-weight:600;font-size:var(--font-size-section-title);
  line-height:1.06;margin:0;color:var(--ink);}
.eu-lead{font-size:var(--font-size-body-lg);color:var(--muted);max-width:var(--container-lg);margin:8px 0 0;}

/* ---------- PILLARS / GUIDE CARDS ---------- */
.eu-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.eu-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:var(--border-line);border-radius:var(--radius-card);overflow:hidden;}
.eu-pillar{background:var(--paper);border:var(--border-line-secondary);border-radius:var(--radius-card);padding:34px 30px;}
.eu-pillar .eu-num,.eu-guide .eu-num,.eu-panel h2 .eu-num{font-family:var(--font-family-mono);font-size:var(--font-size-meta);color:var(--gold);}
.eu-pillar h3,.eu-guide h3{font-family:var(--font-family-serif);font-weight:600;font-size:var(--font-size-heading-lg);margin:12px 0 12px;color:var(--ink);}
.eu-pillar p,.eu-guide p{font-size:var(--font-size-body);line-height:1.6;color:var(--muted);margin:0;}
.eu-guide{background:var(--cream);padding:32px 26px;}
.eu-guide h3{font-size:var(--font-size-heading-sm);}
.eu-guide p{font-size:var(--font-size-body-sm);}

/* ---------- CATALOG LAYOUT ---------- */
.eu-page-intro{padding:clamp(40px,5vw,64px) 0 28px;}
.eu-page-intro h1{font-family:var(--font-family-serif);font-weight:600;font-size:var(--font-size-page-title);
  line-height:1.04;margin:0 0 10px;color:var(--ink);}
.eu-catalog{display:grid;grid-template-columns:270px minmax(0,1fr);gap:36px;align-items:start;padding-bottom:90px;}
.eu-filters{position:sticky;top:90px;background:var(--paper);border:var(--border-line-secondary);border-radius:var(--radius-card);
  padding:24px;display:flex;flex-direction:column;gap:18px;}
.eu-field{display:flex;flex-direction:column;gap:7px;}
.eu-field>span,.eu-checks>span,.reviewer-note-field>span{font-family:var(--font-family-mono);font-size:var(--font-size-label-sm);letter-spacing:0.06em;text-transform:uppercase;color:var(--muted2);}
.eu-field input,.eu-field select,.eu-field textarea{border:var(--border-neutral-soft);background:#fff;border-radius:var(--radius-control);padding:10px 12px;font-size:var(--font-size-body-sm);color:var(--ink2);}
.eu-checks{display:flex;flex-direction:column;gap:11px;border-top:var(--border-soft);padding-top:16px;}

.eu-check{display:flex;align-items:center;gap:10px;font-size:var(--font-size-body-sm);color:var(--ink2);cursor:pointer;}
.eu-check input{width:16px;height:16px;accent-color:var(--gold);}
.eu-sort{display:flex;gap:6px;flex-wrap:wrap;}
.eu-sort button{font-family:var(--font-family-mono);font-size:var(--font-size-label-sm);letter-spacing:0.04em;text-transform:uppercase;
  padding:8px 12px;border-radius:var(--radius-control);border:var(--border-neutral-soft);background:#fff;color:var(--muted);}
.eu-sort button.is-active{background:var(--gold);border-color:var(--gold);color:var(--paper);}
.eu-link-btn{font-size:var(--font-size-meta);color:var(--muted);background:none;border:none;text-align:left;padding:0;text-decoration:underline;text-underline-offset:3px;}
.eu-results{font-family:var(--font-family-mono);font-size:var(--font-size-caption);color:var(--muted);margin:0 0 16px;}

/* ---------- OIL CARD ---------- */
.eu-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.eu-card{cursor:pointer;background:var(--paper);border:var(--border-line-secondary);border-radius:var(--radius-card);overflow:hidden;display:flex;transition:border-color .15s,box-shadow .15s;}
.eu-card:hover{border-color:var(--border-color-gold-muted);box-shadow:var(--sh-md);}
.eu-card-bar{width:6px;flex-shrink:0;}
.eu-card-body{padding:24px 26px;flex:1;}
.eu-card-top{display:flex;justify-content:space-between;gap:12px;}
.eu-card-kicker{font-family:var(--font-family-mono);font-size:var(--font-size-label-sm);letter-spacing:0.07em;text-transform:uppercase;color:var(--muted2);margin:0 0 6px;}
.eu-card h2,.eu-card h3{font-family:var(--font-family-serif);font-weight:600;font-size:var(--font-size-heading);line-height:1.16;margin:0;color:var(--ink);}
.eu-card-producer{font-size:var(--font-size-meta);color:var(--muted);margin:6px 0 0;}
.eu-score{text-align:center;flex-shrink:0;}
.eu-score-n{font-family:var(--font-family-mono);font-weight:500;font-size:var(--font-size-body-lg);color:var(--ink);line-height:1;}
.eu-score-l{font-family:var(--font-family-mono);font-size:var(--font-size-micro);letter-spacing:0.06em;text-transform:uppercase;color:var(--muted2);margin-top:3px;}
.eu-card-stats{display:flex;flex-wrap:wrap;gap:18px;margin:18px 0;}
.eu-card-stats>div{flex:1 1 110px;min-width:0;}
.eu-stat-l{font-family:var(--font-family-mono);font-size:var(--font-size-label-xs);letter-spacing:0.05em;text-transform:uppercase;color:var(--muted2);margin-bottom:3px;}
.eu-stat-v{font-family:var(--font-family-mono);font-size:var(--font-size-body-sm);color:var(--ink2);}
.eu-stat-v.eu-txt{font-family:var(--font-family-sans);font-size:var(--font-size-meta);overflow-wrap:break-word;}
.eu-card-technical{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px;margin:0 0 18px;width:100%;}
.eu-card-technical-item{min-width:0;text-align:left;}
.eu-card-technical-label{font-family:var(--font-family-mono);font-size:var(--font-size-micro);letter-spacing:0.06em;text-transform:uppercase;color:var(--muted2);margin-bottom:3px;}
.eu-card-technical-value{font-family:var(--font-family-mono);font-size:var(--font-size-meta);font-weight:400;color:var(--ink2);overflow-wrap:anywhere;}
.eu-card-transparency{font-family:var(--font-family-mono);font-size:var(--font-size-label-sm);font-weight:400;color:var(--muted);}
.eu-card-actions{display:flex;align-items:center;gap:16px;}
.eu-card-compare{appearance:none;border:0;background:transparent;padding:0;font:inherit;font-size:var(--font-size-meta);font-weight:500;color:var(--muted);cursor:pointer;}
.eu-card-compare:hover{color:var(--gold);}
.eu-card-compare[aria-pressed="true"]{color:var(--muted);font-weight:600;}
.eu-badges{display:flex;gap:6px;flex-wrap:wrap;}
.eu-badge{font-family:var(--font-family-mono);font-size:var(--font-size-label-xs);letter-spacing:0.05em;text-transform:uppercase;
  color:#5d6150;background:var(--soft);border:var(--border-line);border-radius:var(--radius-badge);padding:3px 8px;}
.eu-card-foot{display:flex;align-items:flex-end;justify-content:space-between;border-top:var(--border-soft);padding-top:16px;margin-top:18px;}
.eu-price{font-family:var(--font-family-serif);font-weight:600;font-size:var(--font-size-heading);color:var(--ink);}
.eu-price-l{font-family:var(--font-family-mono);font-size:var(--font-size-label-xs);letter-spacing:0.05em;text-transform:uppercase;color:var(--muted2);margin-left:6px;}
.eu-card-cta{font-size:var(--font-size-meta);font-weight:600;color:var(--gold);}
.eu-empty{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--muted2);font-size:var(--font-size-body);}

@media (max-width:520px){.eu-card-technical{gap:10px;}}

/* ---------- COMPARISON ---------- */
.eu-compare-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 16px;padding:10px 14px;border:var(--border-line-secondary);border-radius:var(--radius-control);background:var(--paper);font-size:var(--font-size-meta);color:var(--muted);}
.eu-compare-toolbar[hidden]{display:none;}
.eu-compare-count{color:var(--ink2);font-weight:500;}
.eu-compare-hint{font-size:var(--font-size-caption);}
.eu-compare-now,.eu-compare-clear{appearance:none;border:0;background:transparent;padding:0;font:inherit;font-size:var(--font-size-meta);cursor:pointer;}
.eu-compare-now{color:var(--gold);font-weight:600;}
.eu-compare-clear{color:var(--muted);text-decoration:underline;text-underline-offset:3px;}
.eu-compare{min-width:0;overflow-wrap:anywhere;margin-top:54px;background:var(--paper);border:var(--border-line-secondary);border-radius:var(--radius-panel);padding:32px;}
.eu-table-wrap{overflow-x:auto;}
.eu-table,.eu-dtable{width:100%;border-collapse:collapse;font-size:var(--font-size-body-sm);}
.eu-table{table-layout:fixed;}
.eu-compare .eu-table{min-width:56rem;}
.eu-table th,.eu-dtable th{
  text-align:left;font-family:var(--font-family-mono);font-size:var(--font-size-label-xs);
  text-transform:uppercase;color:var(--muted2);font-weight:500;border-bottom:var(--border-line-strong);
}
.eu-table th,.eu-table td{white-space:normal;overflow-wrap:anywhere;vertical-align:top;box-sizing:border-box;}
.eu-table th{padding:10px 12px;letter-spacing:0.06em;}
.eu-table th:nth-child(1){width:22%;}.eu-table th:nth-child(2){width:16%;}.eu-table th:nth-child(3){width:12%;}
.eu-table th:nth-child(4){width:18%;}.eu-table th:nth-child(5){width:18%;}.eu-table th:nth-child(6){width:8%;}.eu-table th:nth-child(7){width:6%;}
.eu-table td,.eu-dtable td{border-bottom:var(--border-soft);color:var(--ink2);}
.eu-table td{padding:14px 12px;font-family:var(--font-family-sans);font-size:var(--font-size-meta);line-height:1.45;font-weight:400;text-align:left;white-space:normal;overflow-wrap:anywhere;vertical-align:top;box-sizing:border-box;}
.eu-table tbody tr{cursor:pointer;}
.eu-table tbody tr:hover,.eu-table tbody tr:focus,.eu-dtable tbody tr:hover{background:#f3eede;}
.eu-table tbody tr:focus-visible{outline:2px solid var(--gold);outline-offset:-2px;}
.eu-table-primary{font-family:var(--font-family-sans);font-size:var(--font-size-meta);line-height:1.35;font-weight:600;color:var(--ink);}
.eu-table-secondary{margin-top:3px;font-family:var(--font-family-sans);font-size:var(--font-size-caption);line-height:1.35;font-weight:400;color:var(--muted);}
.eu-table-lines>div+div{margin-top:3px;}
.eu-table-line-label{color:var(--muted);}
.eu-table .eu-td-name{display:flex;align-items:center;gap:10px;}
.eu-td-name .eu-swatch{width:8px;height:28px;border-radius:var(--radius-hairline);flex-shrink:0;}
.eu-td-name .n{font-family:var(--font-family-serif);font-weight:600;font-size:var(--font-size-lead);color:var(--ink);line-height:1.2;}
.eu-td-name .p{font-size:var(--font-size-caption);color:var(--muted2);font-family:var(--font-family-sans);}

/* ---------- SCHEDA (detail) ---------- */
.eu-back{font-family:var(--font-family-mono);font-size:var(--font-size-caption);letter-spacing:0.04em;color:var(--muted);background:none;border:none;padding:0;margin:28px 0;}
.eu-back:hover{color:var(--gold);}
.eu-detail-head{display:grid;grid-template-columns:340px 1fr;gap:48px;align-items:start;margin-bottom:48px;}
.eu-bottle{border-radius:var(--radius-panel);overflow:hidden;display:flex;flex-direction:column;background:var(--dark);}
.eu-bottle .bar{height:8px;flex-shrink:0;}
.eu-bottle .art{height:440px;display:grid;place-items:center;font-family:var(--font-family-mono);
  font-size:var(--font-size-caption);color:rgba(245,241,231,0.35);letter-spacing:0.08em;text-align:center;padding:20px;}
.eu-detail-head h1{font-family:var(--font-family-serif);font-weight:600;font-size:var(--font-size-detail-title);line-height:1.02;margin:0 0 8px;color:var(--ink);}
.eu-detail-producer{font-size:var(--font-size-lead-sm);color:var(--muted);margin:0 0 4px;}
.eu-tagline{font-family:var(--font-family-serif);font-style:italic;font-size:var(--font-size-lead);color:var(--muted);margin:14px 0 24px;max-width:var(--container-md);}
.eu-priceblock{display:flex;align-items:center;gap:36px;flex-wrap:wrap;padding:24px 0;border-top:var(--border-line);border-bottom:var(--border-line);margin-top:8px;}
.eu-priceblock .big{font-family:var(--font-family-serif);font-weight:600;font-size:var(--font-size-display);color:var(--ink);line-height:1;}
.eu-priceblock .sub{font-family:var(--font-family-mono);font-size:var(--font-size-label-sm);letter-spacing:0.05em;text-transform:uppercase;color:var(--muted2);margin-top:6px;}
.eu-ring{display:flex;align-items:center;gap:16px;margin-left:auto;}
.eu-ring svg{transform:rotate(-90deg);}
.eu-ring .n{font-family:var(--font-family-mono);font-weight:500;font-size:var(--font-size-heading-lg);color:var(--ink);line-height:1;}
.eu-ring .l{font-family:var(--font-family-mono);font-size:var(--font-size-label-xs);letter-spacing:0.05em;text-transform:uppercase;color:var(--muted2);margin-top:5px;max-width:var(--measure-label);}

.eu-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.eu-panel{background:var(--paper);border:var(--border-line-secondary);border-radius:var(--radius-panel);padding:32px;}
.eu-panel--full{grid-column:1/-1;}
.eu-panel--dark{background:var(--dark);color:#f2eedd;}
.eu-panel h2{font-family:var(--font-family-serif);font-weight:600;font-size:var(--font-size-heading-lg);margin:0 0 22px;color:var(--ink);display:flex;align-items:center;gap:12px;}
.eu-panel--dark h2{color:var(--paper);}

.eu-panel--dark h2 .eu-num{color:var(--gold-soft);}
.eu-spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--soft);border:var(--border-soft);border-radius:var(--radius-inset);overflow:hidden;}
.eu-spec{background:var(--paper);padding:16px 18px;}
.eu-spec .k{font-family:var(--font-family-mono);font-size:var(--font-size-label-xs);letter-spacing:0.05em;text-transform:uppercase;color:var(--muted2);margin-bottom:6px;}
.eu-spec .v{font-size:var(--font-size-body);color:var(--ink2);}
.eu-lab{font-family:var(--font-family-mono);font-size:var(--font-size-label-sm);letter-spacing:0.04em;color:var(--muted2);margin:-12px 0 24px;}
.eu-analysis{display:flex;flex-direction:column;gap:20px;}
.eu-analysis .row-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;}
.eu-analysis .lab{font-size:var(--font-size-body-sm);color:#d8d6c2;}
.eu-analysis .val{font-family:var(--font-family-mono);font-size:var(--font-size-lead-sm);color:var(--paper);}
.eu-bar{height:6px;background:rgba(245,241,231,0.12);border-radius:var(--radius-hairline);overflow:hidden;}
.eu-bar>i{display:block;height:100%;background:var(--gold-soft);border-radius:var(--radius-hairline);}
.eu-analysis .ref{font-family:var(--font-family-mono);font-size:var(--font-size-label-xs);color:#8f8f74;margin-top:6px;}
.eu-sensory{display:flex;flex-direction:column;gap:16px;margin-bottom:22px;}
.eu-sensory .row{display:flex;align-items:center;gap:16px;}
.eu-sensory .lab{font-size:var(--font-size-body-sm);color:var(--ink2);width:82px;flex-shrink:0;}
.eu-dots{flex:1;display:flex;gap:5px;}
.eu-dots i{flex:1;height:8px;border-radius:var(--radius-hairline);background:var(--line);}
.eu-dots i.on{background:var(--gold);}
.eu-sensory .lv{font-family:var(--font-family-mono);font-size:var(--font-size-caption);color:var(--muted);width:64px;text-align:right;flex-shrink:0;}
.eu-notes{background:#f3eede;border-radius:var(--radius-inset);padding:18px 20px;}
.eu-notes .k{font-family:var(--font-family-mono);font-size:var(--font-size-label-xs);letter-spacing:0.05em;text-transform:uppercase;color:var(--muted2);margin-bottom:8px;}
.eu-notes p{font-family:var(--font-family-serif);font-style:italic;font-size:var(--font-size-lead);line-height:1.5;color:#3f4434;margin:0;}
.eu-docs{display:flex;flex-direction:column;gap:10px;}
.eu-doc{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#f3eede;border-radius:var(--radius-inset);}
.eu-doc .mark{display:grid;place-items:center;width:26px;height:26px;border-radius:var(--radius-round);background:var(--sage);color:var(--paper);font-size:var(--font-size-body-sm);flex-shrink:0;}
.eu-doc .t{flex:1;}
.eu-doc .t b{font-size:var(--font-size-body-sm);color:var(--ink);font-weight:500;display:block;}
.eu-doc .t span,.eu-mini,.eu-score-sec-pts{font-family:var(--font-family-mono);font-size:var(--font-size-label-sm);color:var(--muted2);}
.eu-doc .st{font-family:var(--font-family-mono);font-size:var(--font-size-label-xs);letter-spacing:0.04em;text-transform:uppercase;color:#5e7a3f;}
.eu-pillars{display:flex;flex-direction:column;gap:13px;}
.eu-pillars .row .top{display:flex;justify-content:space-between;margin-bottom:5px;}
.eu-pillars .row .top span{font-size:var(--font-size-meta);color:#3f4434;}
.eu-pillars .row .top b{font-family:var(--font-family-mono);font-size:var(--font-size-caption);color:var(--muted);font-weight:500;}
.eu-pillars .track{height:6px;background:#ddd6c4;border-radius:var(--radius-hairline);overflow:hidden;}
.eu-pillars .track>i{display:block;height:100%;background:var(--gold);border-radius:var(--radius-hairline);}
.eu-kv{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;}
.eu-kv .k{font-family:var(--font-family-mono);font-size:var(--font-size-label-xs);letter-spacing:0.05em;text-transform:uppercase;color:var(--muted2);margin-bottom:5px;}
.eu-kv .v{font-size:var(--font-size-body-sm);color:var(--ink2);}

/* ---------- SHARED SECTION HEADINGS ---------- */
.eu-section-title{font-size:var(--font-size-heading);margin:0;}

/* ---------- FOOTER ---------- */
.eu-footer{background:var(--dark);color:#b8baa8;padding:48px 0;}
.eu-footer .in{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;}
.eu-footer .eu-brand-name{color:var(--paper);font-size:var(--font-size-heading);font-weight:600;}
.eu-footer .eu-brand-name i{color:var(--gold-soft);}
.eu-footer p{font-size:var(--font-size-meta);margin:8px 0 0;max-width:var(--container-sm);line-height:1.5;}
.eu-footer .note{font-family:var(--font-family-mono);font-size:var(--font-size-label-sm);letter-spacing:0.04em;color:#a9ab97;margin:0;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px){
  .eu-header{flex-wrap:wrap;}
  .eu-nav{width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;}
  .eu-nav>*{flex:0 0 auto;}
}
@media (max-width:640px){
  .eu-section--soft .eu-grid-3[style*="grid-template-columns:1fr 1fr"]{display:block;}
  .eu-section--soft .eu-grid-3[style*="grid-template-columns:1fr 1fr"]>*+*{margin-top:24px;}
}
@media (max-width:980px){
  .eu-hero-grid{grid-template-columns:minmax(0,1fr);}
  .eu-hero-art{min-height:280px;}
  .eu-catalog{grid-template-columns:minmax(0,1fr);}
  .eu-filters{position:static;}
  .eu-cards{grid-template-columns:1fr;}
  .eu-grid-3{grid-template-columns:1fr;}
  .eu-grid-4{grid-template-columns:1fr 1fr;}
  .eu-detail-head{grid-template-columns:1fr;}
  .eu-detail-grid{grid-template-columns:1fr;}
  .eu-spec-grid{grid-template-columns:1fr 1fr;}
}
/* ---------- HAMBURGER ---------- */
.eu-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;
  width:38px;height:38px;background:none;border:var(--border-line);border-radius:var(--radius-control);
  padding:8px;cursor:pointer;flex-shrink:0;}
.eu-hamburger span{display:block;height:1.5px;background:var(--ink);border-radius:var(--radius-hairline);
  transition:transform 0.2s,opacity 0.2s;}
.eu-hamburger.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.eu-hamburger.is-open span:nth-child(2){opacity:0;}
.eu-hamburger.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

@media (max-width:600px){
  .eu-hamburger{display:flex;}
  .eu-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;
    gap:0;background:rgba(245,241,231,0.98);backdrop-filter:blur(10px);
    border-bottom:var(--border-line);padding:8px 0;z-index:49;}
  .eu-nav.eu-nav--open{display:flex;}
  .eu-nav a{padding:13px clamp(18px,4vw,48px);border-radius:0;font-size:var(--font-size-body);}
  .eu-nav .eu-sep{display:none;}
  .eu-nav .eu-pill{margin:8px clamp(18px,4vw,48px);border-radius:var(--radius-control);text-align:center;}
  .eu-grid-4{grid-template-columns:1fr;}
}

/* ---------- INTERNI (dashboard, backoffice, revisione, storici, diagnostica) ---------- */
.eu-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px;}
.eu-kpi{background:var(--paper);border:var(--border-line-secondary);border-radius:var(--radius-card);padding:22px 24px;}
.eu-kpi dt,.eu-kpi dd{margin:0;}
.eu-kpi .n{font-family:var(--font-family-serif);font-weight:600;font-size:var(--font-size-display-sm);color:var(--ink);line-height:1;}
.eu-kpi .l{font-family:var(--font-family-mono);font-size:var(--font-size-label-sm);letter-spacing:0.05em;text-transform:uppercase;color:var(--muted2);margin-top:8px;}
.eu-dtable th{padding:12px 14px;letter-spacing:0.05em;}
.eu-dtable td{padding:14px;vertical-align:middle;}
.eu-dtable tbody tr:last-child td{border-bottom:0;}
.eu-dtable .strong{font-weight:600;color:var(--ink);}
.eu-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;flex-wrap:wrap;}
.eu-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.eu-form .full{grid-column:1/-1;}

.eu-tabs{display:flex;gap:8px;border-bottom:var(--border-line);margin-bottom:26px;flex-wrap:wrap;}
.eu-tab{font-family:var(--font-family-mono);font-size:var(--font-size-caption);letter-spacing:0.03em;text-transform:uppercase;color:var(--muted);background:none;border:none;padding:10px 4px;border-bottom:var(--border-tab);}
.eu-tab.is-active{color:var(--gold);border-bottom-color:var(--gold);}

.eu-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.eu-timeline{display:flex;flex-direction:column;gap:0;}
.eu-tl{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:18px 0;border-bottom:var(--border-soft);}
.eu-tl .when,.producer-history-event__header time,.producer-history-change time,.change-log-row time{font-family:var(--font-family-mono);font-size:var(--font-size-caption);color:var(--muted2);}
.eu-tl .what b{display:block;color:var(--ink);font-size:var(--font-size-body);margin-bottom:3px;}
.eu-tl .what span{color:var(--muted);font-size:var(--font-size-body-sm);}
@media (max-width:980px){.eu-kpis{grid-template-columns:1fr 1fr;}.eu-form{grid-template-columns:1fr;}.eu-grid-2{grid-template-columns:1fr;}}

/* ---- Transparency score panel (scheda lotto) ---- */
.eu-score-summary{font-size:var(--font-size-meta);color:var(--muted);margin:-10px 0 18px;font-style:italic;}
.eu-score-sections{display:flex;flex-direction:column;gap:14px;margin-top:18px;}
.eu-score-section{border-top:var(--border-line);padding-top:12px;}
.eu-score-sec-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:2px;}
.eu-score-sec-label{font-size:var(--font-size-meta);font-weight:600;color:var(--ink);}

.eu-score-factors{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-direction:column;gap:2px;}
.eu-score-factors li{font-size:var(--font-size-caption);padding:2px 0;}
.eu-score-factors--ok li{color:#4d6a2f;}
.eu-score-factors--miss li{color:var(--muted);}

/* EVO-CORE-001 public lot verifiable detail (scoped) */
body[data-page="public-lot-detail"] #publicLotDetail{display:grid;gap:22px;margin-bottom:56px}
body[data-page="public-lot-detail"] .public-lot-section,body[data-page="public-lot-detail"] .public-lot-hero{background:var(--panel);border:var(--border-line);border-radius:var(--radius-feature);padding:24px;box-shadow:var(--shadow)}
body[data-page="public-lot-detail"] .public-lot-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center}
body[data-page="public-lot-detail"] .public-lot-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:16px 0 0}
body[data-page="public-lot-detail"] .public-lot-facts>div{padding:14px;border:var(--border-line);border-radius:var(--radius-panel);background:var(--soft)}
body[data-page="public-lot-detail"] .public-lot-facts dt{font-size:var(--font-size-caption);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:6px}
body[data-page="public-lot-detail"] .public-lot-facts dd{margin:0;display:grid;gap:8px;align-items:start}
body[data-page="public-lot-detail"] .public-lot-evidence-badge,body[data-page="public-lot-detail"] .public-lot-document-status{display:inline-flex;width:max-content;border-radius:var(--radius-pill);padding:5px 9px;font-size:var(--font-size-caption);font-weight:700;background:#eee;color:#40392c}
body[data-page="public-lot-detail"] .public-lot-evidence-badge--verified{background:#e5f4df;color:#315829}
body[data-page="public-lot-detail"] .public-lot-evidence-badge--declared{background:#fff4d9;color:#72520f}
body[data-page="public-lot-detail"] .public-lot-evidence-badge--unavailable{background:#eee;color:#5f5f5f}
body[data-page="public-lot-detail"] .public-lot-evidence-badge--expired{background:#fde8d7;color:#7b3f09}
body[data-page="public-lot-detail"] .public-lot-evidence-badge--revoked{background:#f6dada;color:#7d1f1f}
body[data-page="public-lot-detail"] .public-lot-section-intro{color:var(--muted);max-width:var(--measure-reading)}
body[data-page="public-lot-detail"] .public-lot-document-item{border:var(--border-line);border-radius:var(--radius-panel);padding:14px;background:var(--soft);display:grid;gap:8px}
body[data-page="public-lot-detail"] .public-lot-hero-score{border:var(--border-line);border-radius:var(--radius-dialog);padding:16px;text-decoration:none;color:inherit;background:var(--soft);display:grid;gap:4px;text-align:center}
body[data-page="public-lot-detail"] .public-lot-hero-score strong{font-size:var(--font-size-metric)}
body[data-page="public-lot-detail"] .public-lot-score-track{height:10px;border-radius:var(--radius-pill);background:#e6dec8;overflow:hidden}body[data-page="public-lot-detail"] .public-lot-score-fill{display:block;height:100%;width:var(--score-width);background:#ad7e22}
body[data-page="public-lot-detail"] .public-lot-score-overview,body[data-page="public-lot-detail"] .public-lot-score-factors{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
@media (max-width:720px){body[data-page="public-lot-detail"] .public-lot-hero{grid-template-columns:1fr}}

/* EVO-CORE-004B — backoffice reviewer lifecycle documentale lotto */
body[data-page="document-lifecycle-review"] button:disabled {
  cursor: not-allowed;
  opacity: 0.58;
  box-shadow: none;
}

body[data-page="document-lifecycle-review"] .status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border:var(--border-success-soft);
  border-radius: var(--radius-pill);
  background: rgba(67, 91, 60, 0.09);
  color: var(--ink2);
  padding: 4px 10px;
  font-size:var(--font-size-caption);
  font-weight: 750;
}

body[data-page="document-lifecycle-review"] .status-badge[data-status="active"] {
  border-color:var(--border-color-success);
  background: rgba(54, 98, 67, 0.09);
}

body[data-page="document-lifecycle-review"] .status-badge[data-status="pending_or_unvalidated"] {
  border-color:var(--border-color-warning);
  background: rgba(178, 138, 74, 0.13);
}

body[data-page="document-lifecycle-review"] .status-badge[data-status="rejected"],
body[data-page="document-lifecycle-review"] .status-badge[data-status="revoked"],
body[data-page="document-lifecycle-review"] .status-badge[data-status="expired"] {
  border-color:var(--border-color-danger);
  background: rgba(155, 53, 45, 0.08);
}

body[data-page="document-lifecycle-review"] .status-badge[data-status="superseded"] {
  border-color:var(--border-color-state-neutral);
  background: rgba(82, 88, 104, 0.08);
}

/* CORE-009 public comparative catalog */
.eu-public-lot-card{min-height:350px;height:100%;align-self:stretch;}
.eu-public-lot-card .eu-card-body{display:flex;flex-direction:column;min-width:0;}
.eu-public-lot-card .eu-card-top{min-height:96px;}
.eu-public-lot-card .eu-card-stats{min-height:42px;align-content:flex-start;}
.eu-public-lot-card .eu-card-technical{min-height:43px;}
.eu-public-lot-card .eu-card-foot{align-items:center;margin-top:auto;}
.eu-public-lot-card .eu-card-top{align-items:flex-start;gap:18px;}
.eu-public-lot-card .eu-card-heading{min-width:0;}
.eu-public-lot-card .eu-card-price{flex:0 0 auto;text-align:right;display:grid;gap:2px;white-space:nowrap;}
.eu-public-lot-card .eu-card-price span{font-family:var(--font-family-mono);font-size:var(--font-size-label-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);}
.eu-public-lot-card .eu-card-price strong{font-size:var(--font-size-body);color:var(--ink);}
.eu-table-price,.eu-table-score{width:1%;white-space:nowrap;}
@media(max-width:560px){.eu-public-lot-card{min-height:0;height:auto;}.eu-public-lot-card .eu-card-top{display:grid;min-height:0;}.eu-public-lot-card .eu-card-price{text-align:left;}}
.eu-public-evidence { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.eu-status { border:var(--border-gold-soft); border-radius: var(--radius-pill); color: var(--ink); display: inline-flex; font-size:var(--font-size-caption); font-weight: 700; padding: 6px 10px; }
.eu-status--verified { background: rgba(94, 107, 52, 0.12); }
.eu-status--declared { background: rgba(205, 160, 74, 0.14); }
.eu-status--unavailable { background: rgba(40, 35, 26, 0.06); color: var(--muted); }
.eu-compare-toggle { align-items: center; color: var(--muted); cursor: pointer; display: inline-flex; font-family:var(--font-family-sans); font-size:var(--font-size-meta); gap: 6px; }
.eu-score-range { display: grid; gap: 10px; grid-template-columns: 1fr 1fr; }
.eu-compare .eu-empty { margin: 0 0 18px; }
.eu-compare td .eu-status { white-space: nowrap; }
@media (max-width: 760px) { .eu-score-range { grid-template-columns: 1fr; } }

/* =================================================================
   APPENDICE COMPLETAMENTO UI — brief "Completamento interfaccia"
   Additiva: stila i componenti legacy/BEM ancora senza stile,
   senza toccare HTML/JS. Le regole scoped esistenti
   (body[data-page=...]) hanno specificità superiore e restano.
   ================================================================= */

/* ---- §5 TOKEN STRUTTURALI (+ fix --panel / --shadow non definiti) ---- */
:root{
  --panel:var(--paper); --shadow:var(--sh-sm);
  --sh-sm:0 1px 3px rgba(28,35,26,0.08);
  --sh-md:0 12px 30px -16px rgba(28,35,26,0.32);
  --sh-panel:0 1px 0 rgba(28,35,26,0.04);
  --sh-dialog:0 30px 70px -30px rgba(28,35,26,0.5);
  --sh-feature:0 12px 34px rgba(28,35,26,0.055);
  --amber-soft:#fff8e6;
}

/* ---- §4 BADGE DI STATO UNIFICATO (pillola mono MAIUSCOLA) ----
   Copre .eu-status--X e [data-status=X]; bassa specificità sui
   legacy così le regole scoped (lifecycle, public-lot) restano. */
.eu-status{
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--font-family-mono);
  font-size:var(--font-size-label-sm); font-weight:600; letter-spacing:0.04em; text-transform:uppercase;
  padding:5px 11px; border-radius:var(--radius-pill); border:var(--border-transparent);
  line-height:1.1; white-space:nowrap;
}
/* verde — esiti positivi */
.eu-status--ok,.status-badge.approved,.status-badge[data-status="active"],.eu-status--verified,.eu-status--validated,.eu-status--approved,
.eu-status--active,.eu-status--published,.eu-status--fulfilled,.eu-status--success,
.eu-status[data-status="verified"],.eu-status[data-status="validated"],
.eu-status[data-status="approved"],.eu-status[data-status="active"],
.eu-status[data-status="published"],.eu-status[data-status="fulfilled"]{
  background:rgba(94,107,52,0.13); color:#4d6a2f; border-color:var(--border-color-success-muted);
}
/* ambra — dichiarato (non verificato) */
.eu-status--declared,.eu-status--warn,.eu-status[data-status="declared"]{
  background:rgba(205,160,74,0.16); color:#8a5a22; border-color:var(--border-color-gold-glow);
}
/* grigio — neutro / in lavorazione */
.eu-status--pending,.eu-status--draft,.eu-status--uploaded,.eu-status--superseded,
.eu-status--in-review,.eu-status--queued,
.eu-status[data-status="pending"],.eu-status[data-status="pending_or_unvalidated"],
.eu-status[data-status="draft"],.eu-status[data-status="uploaded"],
.eu-status[data-status="superseded"]{
  background:#eee9da; color:var(--muted); border-color:var(--line);
}
/* grigio chiaro — non disponibile */
.eu-status--unavailable,.eu-status--muted,.eu-status[data-status="unavailable"]{
  background:rgba(40,35,26,0.06); color:#9a9d80; border-color:var(--border-color-ink-faint);
}
/* arancio — scadenza */
.eu-status--expired,.eu-status--expiring,.eu-status[data-status="expired"],
.eu-status[data-status="expiring_soon"]{
  background:#fde8d7; color:#7b3f09; border-color:var(--border-color-gold-dark);
}
/* rosso — negativi */
.eu-status--fail,.status-badge.rejected,.status-badge[data-status="rejected"],.eu-status--rejected,.eu-status--revoked,.eu-status--error,
.eu-status[data-status="rejected"],.eu-status[data-status="revoked"],
.eu-status[data-status="failed"]{
  background:#f6dada; color:#8f2f23; border-color:var(--border-color-danger-alt);
}
/* legacy badge → stesso look pillola (specificità bassa) */
.badge,.status-badge,.trust-badge,.data-source-status{
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--font-family-mono);
  font-size:var(--font-size-label-sm); font-weight:600; letter-spacing:0.04em; text-transform:uppercase;
  padding:5px 11px; border-radius:var(--radius-pill);
  background:#efe9d8; color:#5d6150; border:var(--border-line);
}
.trust-badges{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;}
.status-badge.pending,.status-badge[data-status="pending"]{background:#eee9da;color:var(--muted);}
.data-source-status{background:none;border:none;padding:0;color:var(--muted2);letter-spacing:0.03em;}

/* ---- §3 PRIMITIVE FORM & STATI ---- */
.eu-fieldset{
  min-width:0;
  border:var(--border-line-secondary); border-radius:var(--radius-card); padding:24px;
  margin:0 0 22px; background:var(--paper);
}
.eu-fieldset>legend{
  font-family:var(--font-family-serif); font-weight:600;
  font-size:var(--font-size-heading-xs); color:var(--ink); padding:0 8px; margin-left:-4px;
}
.eu-fieldset .eu-field{margin-bottom:16px;}
.eu-fieldset .eu-field:last-child{margin-bottom:0;}
.eu-field--group>span:first-child{
  font-family:var(--font-family-mono); font-size:var(--font-size-label-sm); letter-spacing:0.06em;
  text-transform:uppercase; color:var(--muted2); display:block; margin-bottom:8px;
}
.eu-field--wide,.field--wide,.eu-field.full{grid-column:1/-1;}
.eu-field textarea{
  min-height:84px; resize:vertical; font-family:var(--font-family-sans); line-height:1.5;
}
.eu-field label{font-size:var(--font-size-meta);color:var(--ink2);}
.checkbox-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:8px 16px;
}
.checkbox-grid label{
  display:flex; align-items:center; gap:8px; font-size:var(--font-size-body-sm); color:var(--ink2);
  cursor:pointer; padding:6px 0;
}
.checkbox-grid input[type="checkbox"],.eu-check input[type="checkbox"]{
  width:16px; height:16px; accent-color:var(--gold); flex-shrink:0;
}
.form-note,.muted-copy{
  font-size:var(--font-size-meta); line-height:1.55; color:var(--muted); margin:0 0 14px;
}
.form-message,.eu-form-message{
  font-family:var(--font-family-mono); font-size:var(--font-size-caption); letter-spacing:0.02em;
  color:var(--muted2); margin:8px 0; line-height:1.5;
}
.form-message:empty,.eu-form-message:empty{margin:0;}
.empty-state{
  text-align:center; padding:40px 24px; color:var(--muted);
  font-size:var(--font-size-body); background:var(--soft); border:var(--border-dashed);
  border-radius:var(--radius-card-sm); margin:0;
}
.empty-state--compact{padding:20px; font-size:var(--font-size-body-sm);}
.empty-state a{color:var(--gold); text-decoration:underline; text-underline-offset:3px;}
.form-actions,.producer-actions-row,.reviewer-actions,.eu-form .full[style*="display:flex"]{
  display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-top:8px;
}
.form-actions--inline{margin-top:0;}
.reviewer-note-field,.eu-field--note{display:flex; flex-direction:column; gap:7px; margin:14px 0;}

/* ---- §3 BOTTONI LEGACY → look .eu-btn ---- */
.primary-button,.secondary-button,.text-button,.card-action,
.comparison-action,.reviewer-action-form button{
  font-size:var(--font-size-body-sm);padding:11px 20px;cursor:pointer;
  font-family:var(--font-family-sans);
  transition:background .15s,border-color .15s,color .15s;
}
.primary-button,.card-action{background:var(--gold); color:var(--paper); border-color:transparent;}
.primary-button:hover,.card-action:hover{background:var(--gold-bright);}
.secondary-button,.text-button,.comparison-action{
  background:#fff; color:var(--ink2); border-color:var(--border-color-neutral);
}
.secondary-button:hover,.text-button:hover,.comparison-action:hover{
  border-color:var(--gold); color:var(--gold);
}
.text-button{background:none; border-color:transparent; color:var(--gold);
  text-decoration:underline; text-underline-offset:3px; padding:6px 4px;}
.text-button:hover{color:var(--gold-bright);}
button:disabled,.eu-btn:disabled,.primary-button:disabled,.secondary-button:disabled{
  cursor:not-allowed; opacity:0.55; box-shadow:none;
}
.comparison-action-row{display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:12px;}

/* ---- AREA PRODUTTORE (BEM, markup JS-generato) ---- */
.producer-dashboard-grid,.producer-analytics-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:24px; margin-top:8px;
}
.producer-dashboard-grid>section,.producer-dashboard-grid>article,
.producer-analytics-grid>section{
  background:var(--paper); border:var(--border-line-secondary); border-radius:var(--radius-card); padding:24px;
}
.producer-dashboard-grid h3,.producer-analytics-grid h3,
.producer-contact-card h3,.producer-verification-hub h3{
  font-family:var(--font-family-serif); font-weight:600; font-size:var(--font-size-heading-sm);
  color:var(--ink); margin:0 0 14px;
}
.producer-analytics-trend{display:flex; align-items:flex-end; gap:6px; height:120px;
  padding:12px 0; border-bottom:var(--border-soft);}
.producer-analytics-trend-bar{
  flex:1; background:var(--gold-soft); border-radius:var(--radius-hairline) var(--radius-hairline) 0 0; min-height:4px;
  position:relative; transition:background .15s;
}
.producer-analytics-trend-bar:hover{background:var(--gold);}
.producer-audit-event{
  display:flex; flex-direction:column; gap:4px; padding:14px 0;
  border-bottom:var(--border-soft);
}
.producer-audit-event:last-child{border-bottom:0;}
.producer-audit-event-meta,.producer-audit-meta,.public-lot-document-metadata,.public-lot-verification-meta{
  font-family:var(--font-family-mono); font-size:var(--font-size-label-sm); color:var(--muted2);
  letter-spacing:0.02em;
}
.producer-contact-card{
  background:var(--soft); border:var(--border-line); border-radius:var(--radius-card-sm); padding:18px 20px;
}
.producer-document-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px; margin-top:12px;
}
.producer-document-link,.producer-lot-link,.producer-lot-report-link,
.producer-public-lot-link,.detail-public-link,.document-link{
  color:var(--gold); font-weight:600; text-decoration:underline; text-underline-offset:3px;
}
.producer-document-link:hover,.producer-lot-link:hover,.producer-lot-report-link:hover,
.detail-public-link:hover,.document-link:hover{color:var(--gold-bright);}
.producer-document-link{
  display:flex; align-items:center; gap:12px; padding:14px 16px; background:#f3eede;
  border:var(--border-line); border-radius:var(--radius-inset); text-decoration:none; color:var(--ink2);
}
.producer-document-link:hover{border-color:var(--border-color-gold-muted); color:var(--ink);}
.producer-history-event,.producer-history-change{
  border:var(--border-line-secondary); border-radius:var(--radius-card-sm); padding:18px 20px;
  background:var(--paper); margin-bottom:12px;
}
.producer-history-event__header{
  display:flex; justify-content:space-between; align-items:baseline; gap:12px;
  flex-wrap:wrap; margin-bottom:10px;
}

.producer-history-event__grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px 18px;
}
.producer-history-change{display:grid; gap:6px; font-size:var(--font-size-body-sm);}
.producer-lot-row{
  display:flex; justify-content:space-between; align-items:center; gap:16px;
  padding:16px 18px; border:var(--border-line-secondary); border-radius:var(--radius-card-sm);
  background:var(--paper); margin-bottom:10px; flex-wrap:wrap;
}
.producer-lot-row:hover{border-color:var(--border-color-gold-muted);}
.producer-verification-hub{
  background:var(--soft); border:var(--border-line); border-radius:var(--radius-panel); padding:24px;
}
.producer-public-lot,.producer-public-lot-card{
  border:var(--border-line-secondary); border-radius:var(--radius-card); padding:20px; background:var(--paper);
}

/* ---- BACKOFFICE REVISORI ---- */
.reviewer-draft-card{
  background:var(--paper); border:var(--border-line-secondary); border-radius:var(--radius-panel);
  padding:24px; margin-bottom:20px; box-shadow:var(--sh-panel);
}
.reviewer-draft-card__header{
  display:flex; justify-content:space-between; align-items:flex-start; gap:16px;
  flex-wrap:wrap; margin-bottom:14px;
}
.reviewer-draft-card__producer-id{
  font-family:var(--font-family-mono); font-size:var(--font-size-label-sm); color:var(--muted2);
  letter-spacing:0.04em;
}
.reviewer-dashboard-card{
  background:var(--paper); border:var(--border-line-secondary); border-radius:var(--radius-card); padding:22px;
}
.reviewer-dashboard-metrics{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px;
}
.reviewer-dashboard-item{
  background:var(--soft); border:var(--border-line); border-radius:var(--radius-card-sm); padding:16px 18px;
}
.reviewer-detail-panel{
  background:var(--paper); border:var(--border-line-secondary); border-radius:var(--radius-panel); padding:24px;
}
.reviewer-detail-row:not(tr){
  display:flex; justify-content:space-between; gap:16px; padding:12px 0;
  border-bottom:var(--border-soft); flex-wrap:wrap;
}
.reviewer-detail-row:not(tr):last-child{border-bottom:0;}
.reviewer-section-heading{
  font-family:var(--font-family-serif); font-weight:600; font-size:var(--font-size-heading-sm);
  color:var(--ink); margin:24px 0 14px; padding-top:18px; border-top:var(--border-line);
}
.reviewer-field-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px;
}
.reviewer-field-grid > .reviewer-section-heading{grid-column:1 / -1;}
.reviewer-field{display:flex; flex-direction:column; gap:6px;}
.reviewer-field>span,.reviewer-field>dt,.comparison-axis{
  font-family:var(--font-family-mono); font-size:var(--font-size-label-sm); letter-spacing:0.05em;
  text-transform:uppercase; color:var(--muted2);
}
.reviewer-field>strong,.reviewer-field>dd{font-size:var(--font-size-body); color:var(--ink2); margin:0;}
.producer-review-form,.quality-correction-form{
  display:grid; gap:16px; margin-top:16px; padding-top:18px; border-top:var(--border-line);
}

/* ---- MODALI / OVERLAY ---- */
.unsaved-modal-overlay,.producer-sheet-overlay{
  position:fixed; inset:0; z-index:200; display:grid; place-items:center;
  background:rgba(28,35,26,0.55); backdrop-filter:blur(3px); padding:24px;
}
.unsaved-modal,.producer-sheet{
  background:var(--paper); border:var(--border-line-secondary); border-radius:var(--radius-dialog);
  padding:32px; max-width:var(--container-md); width:100%; box-shadow:var(--sh-dialog);
}
.unsaved-modal h2,.producer-sheet h2{
  font-family:var(--font-family-serif); font-weight:600; font-size:var(--font-size-heading-lg);
  margin:0 0 12px; color:var(--ink);
}
.unsaved-modal-actions{display:flex; gap:12px; justify-content:flex-end; flex-wrap:wrap; margin-top:24px;}
body.has-modal{overflow:hidden;}
.producer-sheet-overlay{place-items:stretch; justify-content:flex-end;}
.producer-sheet{max-width:var(--container-lg); height:100%; border-radius:0; overflow-y:auto;}
.producer-sheet__close{
  position:absolute; top:18px; right:18px; width:36px; height:36px; border-radius:var(--radius-round);
  border:var(--border-line); background:#fff; color:var(--ink); font-size:var(--font-size-lead);
  display:grid; place-items:center;
}
.producer-sheet__close:hover{border-color:var(--gold); color:var(--gold);}
.producer-sheet__lots{display:grid; gap:12px; margin-top:18px;}

/* ---- MAPPE (Leaflet) ---- */
.oil-map__canvas,.oil-map__leaflet,.producer-map__canvas,.producer-map__leaflet{
  min-height:380px; border:var(--border-line-secondary); border-radius:var(--radius-card); overflow:hidden;
  background:var(--soft);
}
.oil-map__legend,.oil-map__summary,.producer-map__legend,.producer-map__summary{
  background:var(--paper); border:var(--border-line-secondary); border-radius:var(--radius-card-sm);
  padding:14px 16px; font-size:var(--font-size-meta); color:var(--ink2);
}
.oil-map__legend{display:flex; flex-wrap:wrap; gap:12px;}

/* ---- SCHEDA LOTTO PUBBLICA — pezzi rimanenti (specificità bassa:
   le regole scoped EVO-CORE-001 vincono dove già definite) ---- */
.public-lot-shell{display:grid; gap:22px; margin-bottom:56px;}
.public-lot-hero--premium{
  background:linear-gradient(120deg,var(--dark),#243021); color:#f2eedd;
  border-radius:var(--radius-feature); padding:36px; border:var(--border-cream-hairline);
}
.public-lot-hero--premium h1{color:var(--paper); font-family:var(--font-family-serif);}
.public-lot-verification-share-card{
  display:grid; gap:10px;
  background:var(--soft); border:var(--border-line); border-radius:var(--radius-panel); padding:22px;
}
.public-lot-score-value{font-family:var(--font-family-mono); font-size:var(--font-size-metric); color:var(--ink); font-weight:500;}
.public-lot-factor-list{list-style:none; padding:0; margin:8px 0 0; display:grid; gap:6px;}
.public-lot-factor-list li{font-size:var(--font-size-meta); color:#4d6a2f; padding-left:18px; position:relative;}
.public-lot-factor-list li::before{content:"\2713"; position:absolute; left:0; color:#5e7a3f;}
.public-lot-factor-list--missing li{color:var(--muted);}
.public-lot-factor-list--missing li::before{content:"\2013"; color:var(--muted2);}

.public-lot-verification-share-link,.public-lot-canonical-link{
  font-family:var(--font-family-mono); font-size:var(--font-size-caption); color:var(--gold);
  word-break:break-all; text-decoration:underline; text-underline-offset:2px;
}
.public-lot-copy-message{font-family:var(--font-family-mono); font-size:var(--font-size-label-sm); color:#4d6a2f;}
.public-lot-link-actions{display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:8px;}

/* ---- SCHEDA LOTTO PUBBLICA ---- */
body[data-page="public-lot-detail"] .public-lot-shell{max-width:var(--container-5xl);margin:0 auto 72px;gap:24px;}
body[data-page="public-lot-detail"] #publicLotDetail{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;}
body[data-page="public-lot-detail"] .public-lot-section,
body[data-page="public-lot-detail"] .public-lot-hero{padding:clamp(22px,4vw,40px);border:var(--border-line);border-radius:var(--radius-feature);background:var(--paper);box-shadow:var(--sh-feature);}
body[data-page="public-lot-detail"] .public-lot-section h2{margin:0;font-family:var(--font-family-serif);font-size:var(--font-size-lot-section-title);line-height:1.05;color:var(--ink);}
body[data-page="public-lot-detail"] .public-lot-section h3{margin:0;font-size:var(--font-size-body-lg);color:var(--ink);}
body[data-page="public-lot-detail"] .public-lot-section p{margin:8px 0 0;}
body[data-page="public-lot-detail"] .public-lot-hero{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:36px;align-items:center;background:linear-gradient(135deg,#1c231a,#2c3828);color:#f2eedd;}
body[data-page="public-lot-detail"] .public-lot-hero .eu-eyebrow{color:var(--gold-soft);}
.eu-hero :focus-visible,
.eu-panel--dark :focus-visible,
.eu-footer :focus-visible,
body[data-page="public-lot-detail"] .public-lot-hero :focus-visible{outline-color:var(--gold-soft);}
body[data-page="public-lot-detail"] .public-lot-hero h1{max-width:var(--container-3xl);margin:0;font-family:var(--font-family-serif);font-size:var(--font-size-lot-hero);font-weight:600;line-height:.98;color:var(--paper);}
body[data-page="public-lot-detail"] .public-lot-producer{margin:12px 0 0;font-size:var(--font-size-heading-sm);color:#ddd8c5;}
body[data-page="public-lot-detail"] .public-lot-summary{margin:14px 0 0;color:#c5c5b0;}
body[data-page="public-lot-detail"] .public-lot-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
body[data-page="public-lot-detail"] .public-lot-hero-score{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px;border-color:var(--border-color-cream-subtle);background:rgba(245,241,231,.07);color:var(--paper);}
body[data-page="public-lot-detail"] .public-lot-hero-score span,
body[data-page="public-lot-detail"] .public-lot-hero-score small{color:#c9c7b4;}
body[data-page="public-lot-detail"] .public-lot-hero-score strong{font-family:var(--font-family-serif);font-size:var(--font-size-display-lg);line-height:1;color:var(--gold-soft);}
body[data-page="public-lot-detail"] .public-lot-profile-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-top:22px;}
body[data-page="public-lot-detail"] .public-lot-profile-block{min-width:0;}
body[data-page="public-lot-detail"] .public-lot-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;}
body[data-page="public-lot-detail"] .public-lot-fact-card{min-width:0;padding:18px;border:var(--border-line);border-radius:var(--radius-panel);background:var(--soft);display:grid;gap:5px;}
body[data-page="public-lot-detail"] .public-lot-fact-label,
body[data-page="public-lot-detail"] .public-lot-document-type{font-family:var(--font-family-mono);font-size:var(--font-size-label-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
body[data-page="public-lot-detail"] .public-lot-fact-card strong{font-size:var(--font-size-lead);color:var(--ink);overflow-wrap:anywhere;}
body[data-page="public-lot-detail"] .public-lot-fact-state{color:var(--muted);}
body[data-page="public-lot-detail"] .public-lot-doc-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:22px;}
body[data-page="public-lot-detail"] .public-lot-document-item,
body[data-page="public-lot-detail"] .public-lot-profile-block{padding:18px;border:var(--border-line);border-radius:var(--radius-panel);background:var(--soft);display:grid;align-content:start;gap:7px;}
body[data-page="public-lot-detail"] .public-lot-key-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px;margin-top:20px;}
body[data-page="public-lot-detail"] .public-lot-key-values>div{display:grid;grid-template-columns:minmax(110px,.7fr) 1.3fr;gap:14px;padding:14px 0;border-bottom:var(--border-line);}
body[data-page="public-lot-detail"] .public-lot-key-values dt{font-family:var(--font-family-mono);font-size:var(--font-size-label-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);}
body[data-page="public-lot-detail"] .public-lot-key-values dd{margin:0;color:var(--ink);overflow-wrap:anywhere;}
body[data-page="public-lot-detail"] .public-lot-document-item .text-button{justify-self:start;margin-top:6px;}
body[data-page="public-lot-detail"] .public-lot-documents{scroll-margin-top:90px;}
body[data-page="public-lot-detail"] .public-lot-verification-share-link{display:block;max-width:100%;overflow-wrap:anywhere;}

@media (max-width:900px){
  body[data-page="public-lot-detail"] .public-lot-hero{grid-template-columns:1fr;}
  body[data-page="public-lot-detail"] .public-lot-hero-score{min-height:0;align-items:flex-start;text-align:left;}
  body[data-page="public-lot-detail"] .public-lot-profile-columns{grid-template-columns:1fr;}
  body[data-page="public-lot-detail"] .public-lot-key-values{grid-template-columns:1fr;}
}
@media (max-width:640px){
  body[data-page="public-lot-detail"] .public-lot-section,
  body[data-page="public-lot-detail"] .public-lot-hero{padding:22px;border-radius:var(--radius-dialog);}
  body[data-page="public-lot-detail"] .public-lot-profile-grid,
  body[data-page="public-lot-detail"] .public-lot-doc-list{grid-template-columns:1fr;}
  body[data-page="public-lot-detail"] .public-lot-hero-actions{display:grid;}
  body[data-page="public-lot-detail"] .public-lot-key-values>div{grid-template-columns:1fr;gap:4px;}
}

/* ---- LAYOUT VARI ---- */
.eu-access{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:24px; padding-bottom:60px;
}
.eu-layout-sidebar{display:grid; grid-template-columns:270px 1fr; gap:36px; align-items:start;}
.change-log-row{
  display:grid; grid-template-columns:140px 1fr; gap:18px; padding:16px 0;
  border-bottom:var(--border-soft); font-size:var(--font-size-body-sm);
}


.comparison-row:hover,.is-selected-column{background:#f3eede;}
.comparison-pin{color:var(--gold);}

/* ---- §7 ACCESSIBILITÀ ---- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible,.eu-tab:focus-visible{
  outline:2px solid var(--gold); outline-offset:2px; border-radius:var(--radius-hairline);
}
.eu-field input:focus-visible,.eu-field select:focus-visible,.eu-field textarea:focus-visible{
  outline:2px solid var(--gold); outline-offset:1px; border-color:var(--gold);
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    animation-duration:0.001ms !important; animation-iteration-count:1 !important;
    transition-duration:0.001ms !important; scroll-behavior:auto !important;
  }
}

/* ---- RESPONSIVE — pagine gestionali ---- */
@media (max-width:760px){
  .producer-dashboard-grid,.producer-analytics-grid,
  .reviewer-field-grid,.reviewer-dashboard-metrics,.eu-access{grid-template-columns:1fr;}
  .eu-layout-sidebar{grid-template-columns:1fr;}
  .checkbox-grid{grid-template-columns:1fr 1fr;}
  .change-log-row{grid-template-columns:1fr; gap:6px;}
  .producer-lot-row,.reviewer-draft-card__header,.reviewer-detail-row:not(tr){flex-direction:column; align-items:flex-start;}
  .unsaved-modal-actions{justify-content:stretch;}
  .producer-sheet{max-width:100%;}
}
@media (max-width:480px){
  .checkbox-grid{grid-template-columns:1fr;}
  .eu-fieldset{padding:18px;}
}

/* ---- BADGE CATALOGO PULITI (come la demo) — solo grafica, scoped ----
   Uniforma i badge della card catalogo: stessa pillola tan compatta,
   niente badge di stato vistoso. Il contenuto resta invariato. */
.eu-public-lot-card .eu-public-evidence{gap:6px; margin:0 0 18px; align-items:center;}
.eu-public-lot-card .eu-public-evidence .eu-status,
.eu-public-lot-card .eu-public-evidence .eu-badge{
  font-family:var(--font-family-mono);
  font-size:var(--font-size-label-xs); font-weight:500; letter-spacing:0.05em; text-transform:uppercase;
  padding:3px 8px; border-radius:var(--radius-badge); line-height:1.4;
  background:var(--soft); color:#5d6150; border:var(--border-line);
}
/* accenno discreto di semantica sullo stato (resta pulito) */
.eu-public-lot-card .eu-public-evidence .eu-status--verified{
  background:rgba(94,107,52,0.12); color:#4d6a2f; border-color:var(--border-color-success-strong);
}
.eu-public-lot-card .eu-public-evidence .eu-status--declared{
  background:var(--soft); color:#5d6150; border-color:var(--line);
}
.eu-public-lot-card .eu-public-evidence .eu-status--unavailable{
  background:rgba(40,35,26,0.05); color:var(--muted2); border-color:var(--border-color-ink-faint);
}

/* ---------- PRODUCERS PUBLIC FILTERS COMPACT LAYOUT ---------- */
.eu-producer-filters{
  margin-bottom:10px;
  padding:16px 18px;
  border-radius:var(--radius-card-sm);
}

.eu-producer-filters h2{
  margin-bottom:12px;
  font-size:var(--font-size-heading-xs);
  line-height:1.1;
}

.eu-producer-filter-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr)) auto;
  gap:10px;
  align-items:end;
}

.eu-producer-filter-grid .eu-field{
  gap:5px;
}

.eu-producer-filter-grid .eu-field select{
  min-height:44px;
  padding:8px 12px;
}

.eu-filter-reset{
  min-height:44px;
  padding:0 16px;
  font-size:var(--font-size-meta);
  border-radius:var(--radius-control);
  white-space:nowrap;
}

@media (max-width:980px){
  .eu-producer-filter-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:600px){
  .eu-producer-filters{
    padding:14px;
  }

  .eu-producer-filter-grid{
    grid-template-columns:1fr;
  }

  .eu-filter-reset{
    width:100%;
  }
}

/* ---------- AREA PRODUTTORE: STRUTTURA COMPATTA ---------- */
.producer-content-narrow{width:100%;max-width:var(--container-4xl);margin-inline:auto;}
.producer-area-header{margin-bottom:28px;}
.producer-area-heading{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.producer-area-heading h1{margin:0;}
.producer-profile-status{font-size:var(--font-size-label-sm);}
.producer-area-tabs{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;}
.producer-area-tabs .eu-tab{flex:0 0 auto;}
.producer-lot-list-panel{margin-bottom:24px;}
.producer-lot-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;}
.producer-lot-toolbar h2{margin:0 0 4px;font-size:var(--font-size-heading);}
.producer-lot-editor-toggle{flex:0 0 auto;}
.producer-lot-editor-shell[hidden]{display:none;}
.producer-profile-block{grid-column:1/-1;border:var(--border-line-secondary);border-radius:var(--radius-card-sm);background:var(--paper);overflow:hidden;}
.producer-profile-block+.producer-profile-block{margin-top:14px;}
.producer-profile-block-title{margin:0;padding:17px 20px;border-bottom:var(--border-line-secondary);font-size:var(--font-size-lead);font-weight:650;color:var(--ink);background:var(--soft);}
.producer-profile-block>.eu-fieldset{border:0;margin:0;padding:22px;}
.producer-audit-disclosure{margin-top:16px;border:var(--border-line-secondary);border-radius:var(--radius-card-sm);background:var(--paper);overflow:hidden;}
.producer-audit-disclosure>summary{cursor:pointer;padding:17px 20px;font-weight:650;color:var(--ink);background:var(--soft);}
.producer-audit-disclosure[open]>summary{border-bottom:var(--border-line-secondary);}
.producer-audit-disclosure>.eu-panel{border:0;border-radius:0;margin:0;}

@media(max-width:700px){
  .producer-lot-toolbar{align-items:stretch;flex-direction:column;}
  .producer-lot-editor-toggle,.producer-lot-editor-shell .eu-btn{width:100%;}
  .producer-profile-block>.eu-fieldset{padding:18px 14px;}
  .producer-lot-editor-shell{overflow-x:hidden;}
}
.producer-source-status,.producer-profile-panel{margin-bottom:24px;}
.producer-section-title{font-size:var(--font-size-heading);margin:0 0 20px;}
.producer-lot-editor-intro{margin:0 0 22px;}
.producer-form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;}
.producer-profile-action{margin-top:16px;}
.producer-review-attention{background:var(--amber-soft,#fff8e6);border-left:var(--border-accent);margin-bottom:16px;}
.producer-review-attention-summary{margin:0;font-weight:600;}
.producer-section-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;}
.producer-section-toolbar--wide{gap:16px;}
.producer-section-toolbar .producer-section-title{margin:0;}
.producer-history-message{color:var(--muted);}
.producer-history-attention{font-weight:600;}

/* Producer history: compact, accessible accordion rows. */
.producer-history-event{
  margin-bottom:8px;
  padding:0;
  overflow:hidden;
}
.producer-history-event__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:72px;
  margin:0;
  padding:12px 16px;
  cursor:pointer;
  list-style:none;
}
.producer-history-event__header:focus-visible{outline-offset:-3px;}
.producer-history-event__header::-webkit-details-marker{display:none;}
.producer-history-event__header::marker{content:"";}
.producer-history-event__heading{min-width:0;}
.producer-history-event__heading .eyebrow{
  margin-bottom:3px;
  font-size:var(--font-size-label-xs);
}
.producer-history-event__heading h3{
  margin:0;
  font-size:var(--font-size-body-lg);
  line-height:1.25;
}
.producer-history-event__heading .muted-copy{
  margin:3px 0 0;
  font-size:var(--font-size-caption);
}
.producer-history-event__status{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
}
.producer-history-event__chevron{
  width:9px;
  height:9px;
  border-right:var(--border-line-strong);
  border-bottom:var(--border-line-strong);
  transform:rotate(45deg);
  transition:transform .16s ease;
}
.producer-history-event[open] .producer-history-event__chevron{
  transform:rotate(225deg);
}
.producer-history-event[open] .producer-history-event__header{
  border-bottom:var(--border-line-secondary);
  background:var(--soft);
}
.producer-history-event__grid{
  padding:16px;
}
.producer-history-event__grid h4{margin:0 0 6px;}
.producer-history-event__grid p{margin:0;}
.producer-history-event__grid section{min-width:0;}

@media(max-width:600px){
  .producer-history-event__header{align-items:flex-start;min-height:0;padding:12px;}
  .producer-history-event__status{gap:8px;}
  .producer-history-event__status .status-badge{max-width:var(--measure-compact);text-align:center;}
  .producer-history-event__grid{grid-template-columns:1fr;padding:14px 12px;}
}

/* Small-screen hero text must fit its grid, including long published lot names. */
.eu-hero h1,body[data-page="public-lot-detail"] .public-lot-hero h1{overflow-wrap:anywhere;}
@media(max-width:380px){
  .eu-hero{--font-size-hero:var(--font-size-display);}
  body[data-page="public-lot-detail"]{--font-size-lot-hero:32px;}
}

body[data-page="producer-document-database"] main>.eu-panel{margin-bottom:24px;}
[data-document-archive-list] .eu-panel{margin-top:16px;overflow-wrap:anywhere;}

[data-document-archive-retry][hidden]{display:none;}


/* Public detail loading, unavailable and error states retain the page shell. */
body[data-page="public-lot-detail"],
body[data-page="producer-profile"] { min-height: 100vh; display: flex; flex-direction: column; }
body[data-page="public-lot-detail"] > main,
body[data-page="producer-profile"] > main { flex: 1; width: 100%; }
.eu-detail-state { max-width: var(--container-3xl); margin: 48px auto; text-align: center; }
.eu-detail-state h1 { font-family: var(--font-family-serif); font-size: var(--font-size-display-sm); line-height: 1.15; }
.eu-detail-state .eu-lead { max-width: var(--container-xl); margin: 20px auto; }
.eu-detail-state__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 24px; }

@media (max-width: 600px) { .eu-detail-state h1 { font-size: var(--font-size-heading-lg); } }

.producer-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-block: 16px;
}
.producer-pagination p { margin: 0; font-size: var(--font-size-body-sm); }
.producer-pagination p:focus { outline: 2px solid var(--ink); outline-offset: 4px; }
@media (max-width: 600px) {
  .producer-pagination p { order: -1; flex-basis: 100%; text-align: center; }
}
