

.eedf-root{
  
  --brand:#0BB38C; --brand-dark:#078768; --brand-light:#E6F9F4;
  --teal-text:#066B52;   
  --navy:#1E293B; --ink:#243140; --muted:#5A6B7B;        
  --muted-soft:#64748B;
  --wa:#25D366; --wa-dark:#1FA855; --warn:#F59E0B; --danger:#DC3545; --gold:#E0A82E;
  --bg:#FFFFFF; --surface:#F7FAFB; --surface-2:#EEF3F4;
  --border:#E3EAEC; --border-strong:#C2CFD6;
  
  --placeholder:#5E6E7D;
  
  --r-sm:8px; --r:12px; --r-lg:16px; --r-pill:999px;
  
  --sh-1:0 1px 3px rgba(16,42,53,.08);
  --sh-2:0 8px 30px rgba(16,42,53,.10);
  --sh-3:0 18px 50px rgba(16,42,53,.16);
  --ring:0 0 0 3px rgba(11,179,140,.45);
  
  --font:"Hanken Grotesk",ui-sans-serif,sans-serif;
  --mono:"Geist Mono","Spline Sans Mono",ui-monospace,SFMono-Regular,monospace;
  
  --safe-t:env(safe-area-inset-top,0px);
  --safe-b:env(safe-area-inset-bottom,0px);
  --safe-l:env(safe-area-inset-left,0px);
  --safe-r:env(safe-area-inset-right,0px);
  
  --header-h:64px;
  --stepper-h:71px;   
  --maxw:1180px;
}

.eedf-root *, .eedf-root *::before, .eedf-root *::after{box-sizing:border-box;}

.eedf-root a{ color:inherit; text-decoration:none; }
.eedf-root img, .eedf-root svg, .eedf-root picture, .eedf-root video{ filter:none; border:0; border-radius:0; box-shadow:none; outline:0; background:transparent; }
.eedf-root ul, .eedf-root ol{ list-style:none; margin:0; padding:0; }
.eedf-root li{ list-style:none; }
.eedf-root button{ outline:0; box-shadow:none; text-transform:none; letter-spacing:normal; }
.eedf-root input, .eedf-root select, .eedf-root textarea{ outline:0; box-shadow:none; }
.eedf-root table{ border-collapse:collapse; }
.eedf-root p, .eedf-root figure, .eedf-root blockquote, .eedf-root dl, .eedf-root dd{ margin:0; }
.eedf-root{ -webkit-text-size-adjust:100%; }
.eedf-root{
  margin:0; min-width:0;
  font-family:var(--font);
  color:var(--ink);
  background:var(--bg);
  line-height:1.5;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  background-image:
    radial-gradient(1200px 520px at 50% -160px, rgba(11,179,140,.10), rgba(11,179,140,0) 70%),
    radial-gradient(900px 600px at 100% 0%, rgba(30,41,59,.04), rgba(30,41,59,0) 60%),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.018'/></svg>");
  /* perf: rimosso background-attachment:fixed (forzava un repaint del layer di sfondo sul main thread ad ogni frame di scroll su home e categoria); default scroll = compositabile */
}
.eedf-root img{max-width:100%;display:block;}
.eedf-root button{font-family:inherit;}
.eedf-root input, .eedf-root select{font-family:inherit;}
.eedf-root h1, .eedf-root h2, .eedf-root h3, .eedf-root h4{ color:var(--navy); }
.eedf-root :focus-visible{ outline:none; box-shadow:var(--ring); border-radius:8px; }
.eedf-root .mono{ font-family:var(--mono); font-variant-numeric:tabular-nums; }
.eedf-root .break, .eedf-root .ow{ overflow-wrap:anywhere; word-break:break-word; }
.eedf-root .visually-hidden, .eedf-root .sr-only{ position:absolute; width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0; }
.eedf-root .wrap{ width:100%; max-width:var(--maxw); margin-inline:auto;
  padding-inline:clamp(16px,4vw,28px);
  padding-left:max(clamp(16px,4vw,28px),var(--safe-l));
  padding-right:max(clamp(16px,4vw,28px),var(--safe-r));
}

.eedf-root .header{
  position:sticky; top:0; z-index:60;
  background:rgba(255,255,255,.82);
  backdrop-filter:saturate(160%) blur(14px);
  -webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid var(--border);
  padding-top:var(--safe-t);
}
.eedf-root .header__inner{
  height:var(--header-h);
  display:flex; align-items:center; gap:14px; justify-content:space-between;
}
.eedf-root .brandmark{ display:flex; align-items:center; gap:10px; text-decoration:none; min-width:0; background:none; border:0; cursor:pointer; padding:6px; margin:-6px; border-radius:10px; }
.eedf-root .wordmark{ font-weight:800; letter-spacing:-.03em; font-size:clamp(18px,2.4vw,22px); line-height:1; white-space:nowrap; }
.eedf-root .wordmark .w-3d{ color:var(--brand); }
.eedf-root .wordmark .w-ric{ color:var(--navy); }
.eedf-root .tagpill{
  font-size:10px; font-weight:800; letter-spacing:.08em;
  color:var(--brand-dark); background:var(--brand-light);
  padding:5px 9px; border-radius:var(--r-pill); white-space:nowrap;
  border:1px solid rgba(11,179,140,.18); text-transform:uppercase;
}
@media(max-width:560px){ .eedf-root .tagpill{ display:none; } }
.eedf-root .header__right{ display:flex; align-items:center; gap:10px; }

.eedf-root .hdr-know{
  display:inline-flex; align-items:center; gap:8px;
  height:44px; padding:0 14px; border-radius:var(--r-pill);
  border:1px solid var(--border-strong); background:#fff; color:var(--navy);
  font-weight:700; font-size:13.5px; cursor:pointer; transition:.18s ease; white-space:nowrap;
}
.eedf-root .hdr-know:hover{ border-color:var(--brand); color:var(--brand-dark); transform:translateY(-1px); }
.eedf-root .hdr-know svg{ width:18px;height:18px; flex:none; }
@media(max-width:680px){ .eedf-root .hdr-know .lbl{ display:none; } .eedf-root .hdr-know{ padding:0 12px; width:44px; justify-content:center; } }
.eedf-root .hdr-cart{
  position:relative; display:inline-flex; align-items:center; gap:8px;
  height:44px; padding:0 14px; border-radius:var(--r-pill);
  border:1px solid var(--border-strong); background:#fff; color:var(--navy);
  font-weight:700; font-size:14px; cursor:pointer; transition:.18s ease;
}
.eedf-root .hdr-cart:hover{ border-color:var(--brand); color:var(--brand-dark); transform:translateY(-1px); }
.eedf-root .hdr-cart svg{ width:20px;height:20px; }
.eedf-root .hdr-cart .badge{
  position:absolute; top:-6px; right:-6px; min-width:20px; height:20px; padding:0 5px;
  background:var(--brand); color:#fff; border-radius:var(--r-pill);
  font-size:11px; font-weight:800; display:none; align-items:center; justify-content:center;
  font-family:var(--mono); box-shadow:0 0 0 2px #fff;
}
.eedf-root .hdr-cart .badge.show{ display:inline-flex; }
@media(max-width:520px){ .eedf-root .hdr-cart .lbl{ display:none; } .eedf-root .hdr-cart{ padding:0 12px; } }

.eedf-root .view{ display:none; }
.eedf-root .view.active{ display:block; }
@keyframes viewIn{ from{opacity:0; transform:translateY(10px)} to{opacity:1; transform:none} }

.eedf-root .back-btn{
  display:inline-flex; align-items:center; gap:7px; min-height:44px; padding:0 14px 0 11px;
  background:#fff; border:1px solid var(--border); color:var(--navy); font-weight:700; font-size:14px;
  border-radius:var(--r-pill); cursor:pointer; margin-bottom:16px;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.eedf-root .back-btn:hover{ border-color:var(--brand); box-shadow:var(--sh-1); transform:translateX(-2px) }
.eedf-root .back-btn svg{ width:18px;height:18px; }

.eedf-root .view-head{ margin-bottom:clamp(16px,3vw,24px); max-width:760px; }
.eedf-root .view-head .eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; font-weight:700; color:var(--brand-dark);
  background:var(--brand-light); border:1px solid rgba(11,179,140,.2);
  padding:6px 12px; border-radius:var(--r-pill); margin-bottom:14px;
}
.eedf-root .view-head .eyebrow svg{ width:15px;height:15px; }
.eedf-root .view-head h1, .eedf-root .view-head h2{ font-size:clamp(24px,4.6vw,38px); font-weight:800; letter-spacing:-.025em; line-height:1.1; margin:0; }
.eedf-root .view-head h1 em, .eedf-root .view-head h2 em{ font-style:normal; color:var(--brand); }
.eedf-root .view-head .sub{ color:var(--muted); font-size:clamp(15px,2.4vw,18px); margin-top:10px; font-weight:500; margin-bottom:0; }

.eedf-root .search-field{ position:relative; max-width:520px; }
.eedf-root .search-field.wide{max-width:680px}
.eedf-root .search-field .ic{ position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--muted); pointer-events:none }
.eedf-root .search-field .ic svg{ width:20px;height:20px; }
.eedf-root .search-field input{
  width:100%; height:52px; padding:0 50px 0 44px;
  font-size:16px; font-family:var(--font); font-weight:500; color:var(--ink);
  background:#fff; border:1.5px solid var(--border-strong); border-radius:var(--r);
  transition:border-color .18s ease, box-shadow .18s ease;
}
.eedf-root .search-field input::placeholder{color:var(--placeholder); font-weight:500}
.eedf-root .search-field input:focus{ border-color:var(--brand); box-shadow:0 0 0 4px var(--brand-light); outline:none }
.eedf-root .search-field.mono input{ font-family:var(--mono); letter-spacing:.01em }
.eedf-root .search-clear{
  position:absolute; right:7px; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border:0; background:transparent; color:var(--muted);
  border-radius:50%; cursor:pointer; display:none; place-items:center;
}
.eedf-root .search-clear.show{display:grid}
.eedf-root .search-clear svg{ width:18px;height:18px; }
.eedf-root .search-clear:hover{background:var(--surface-2); color:var(--navy)}

.eedf-root .stepper-wrap{
  position:sticky; top:calc(var(--header-h) + var(--safe-t)); z-index:40;
  background:linear-gradient(180deg, rgba(247,250,251,.96), rgba(247,250,251,.86));
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);
  padding:12px 0;
  min-height:60px;            
}
.eedf-root .stepper{ display:flex; align-items:center; gap:6px; }
.eedf-root .step{
  display:flex; align-items:center; gap:9px; min-width:0; flex:1;
  background:transparent; border:0; padding:8px 6px; cursor:default; border-radius:var(--r);
  color:var(--muted); transition:color .2s ease, background .2s ease;
  min-height:44px;
}
.eedf-root .step.clickable{cursor:pointer}
.eedf-root .step.clickable:hover{ background:rgba(11,179,140,.07); color:var(--navy) }
.eedf-root .step .dot{
  flex:none; width:30px; height:30px; border-radius:50%;
  display:grid; place-items:center; font-weight:800; font-size:14px;
  background:#fff; border:2px solid var(--border-strong); color:var(--muted);
  transition:all .25s ease; font-variant-numeric:tabular-nums;
}
.eedf-root .step .dot svg{ width:16px;height:16px; }
.eedf-root .step .step-meta{ display:flex; flex-direction:column; min-width:0; text-align:left; line-height:1.1 }
.eedf-root .step .step-k{ font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; opacity:.85 }
.eedf-root .step .step-v{ font-size:13.5px; font-weight:700; color:inherit; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.eedf-root .step.done .dot{ background:var(--brand); border-color:var(--brand); color:#fff }
.eedf-root .step.current .dot{ background:#fff; border-color:var(--brand); color:var(--brand-dark); box-shadow:0 0 0 4px var(--brand-light) }
.eedf-root .step.current{ color:var(--navy) }
.eedf-root .step.current .step-v{ color:var(--navy) }
.eedf-root .step-sep{ flex:none; width:18px; height:2px; border-radius:2px; background:var(--border-strong); align-self:center; }
.eedf-root .step-sep.passed{background:var(--brand)}
@media(max-width:760px){
  .eedf-root .step .step-meta{display:none}
  .eedf-root .step.current .step-meta{display:flex}
  .eedf-root .step.current{flex:0 0 auto; padding-right:10px}
  .eedf-root .step{flex:none}
  .eedf-root .step-sep{width:14px}
  .eedf-root .stepper{justify-content:flex-start; gap:4px}
}

.eedf-root .reveal{ opacity:1; transform:none; }
.eedf-root.anim-on .reveal{ animation:reveal .5s cubic-bezier(.2,.7,.3,1) both; }
@keyframes reveal{ from{opacity:0; transform:translateY(12px)} to{opacity:1; transform:none} }

.eedf-root .stagger > *{ opacity:1; transform:none; }
.eedf-root.anim-on .stagger > *{ animation:cardIn .45s cubic-bezier(.2,.7,.25,1) both; }
@keyframes cardIn{ from{opacity:0; transform:translateY(10px)} to{opacity:1; transform:none} }

.eedf-root .type-grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr));
  gap:clamp(10px,1.8vw,16px); margin-top:clamp(16px,3vw,22px);
  min-height:300px;          
}
@media(max-width:540px){ .eedf-root .type-grid{ grid-template-columns:repeat(2,1fr); gap:10px } }
.eedf-root .type-card{
  display:flex; flex-direction:column; padding:0; background:#fff;
  border:1px solid var(--border); border-radius:var(--r-lg); cursor:pointer; text-align:left;
  box-shadow:var(--sh-1); min-width:0; position:relative; overflow:hidden;
  transition:transform .2s cubic-bezier(.2,.7,.25,1), box-shadow .2s ease, border-color .2s ease;
}
.eedf-root .type-card:hover{ transform:translateY(-4px); box-shadow:var(--sh-2); border-color:rgba(11,179,140,.4) }

.eedf-root .type-card .t-img{
  width:100%; height:104px; background:var(--surface);
  border-bottom:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  padding:8px; overflow:hidden;
}
@media(min-width:768px){ .eedf-root .type-card .t-img{ height:120px } }
.eedf-root .type-card .t-img img{
  max-width:100%; max-height:100%; width:auto; height:auto;
  object-fit:contain; display:block; mix-blend-mode:multiply;
}
.eedf-root .type-card .t-img--raw img{ mix-blend-mode:normal; border-radius:6px; }
.eedf-root .type-card .t-img svg{ width:40px; height:40px; color:var(--brand-dark); }
.eedf-root .type-card .t-body{ padding:12px 14px 14px; display:flex; flex-direction:column; gap:4px; }
.eedf-root .type-card .t-name{ font-size:15px; font-weight:700; line-height:1.2; color:var(--navy); min-height:36px }
.eedf-root .type-card .t-sub{ font-size:11.5px; font-weight:600; color:var(--muted) }
.eedf-root .type-card .t-arrow{ position:absolute; right:12px; top:12px; z-index:2; color:var(--border-strong); transition:color .2s, transform .2s }
.eedf-root .type-card .t-arrow svg{ width:20px;height:20px; }
.eedf-root .type-card:hover .t-arrow{ color:var(--brand); transform:translateX(2px) }

.eedf-root .brand-grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,132px),1fr));
  gap:clamp(10px,1.8vw,16px); margin-top:clamp(16px,3vw,22px);
  min-height:280px;          
}
.eedf-root .brand-card{
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px;
  min-height:128px; padding:18px 12px 14px;
  background:#fff; border:1px solid var(--border); border-radius:var(--r-lg);
  cursor:pointer; text-align:center; min-width:0;
  box-shadow:var(--sh-1);
  transition:transform .2s cubic-bezier(.2,.7,.25,1), box-shadow .2s ease, border-color .2s ease;
}
.eedf-root .brand-card:hover{ transform:translateY(-4px); box-shadow:var(--sh-2); border-color:rgba(11,179,140,.35); }
.eedf-root .brand-card .logo-box{ height:42px; display:grid; place-items:center; }
.eedf-root .brand-card img{ max-height:36px; max-width:104px; object-fit:contain; }
.eedf-root .brand-card .b-name{ font-weight:700; font-size:14px; color:var(--navy); line-height:1.15 }
.eedf-root .brand-card .b-country{ font-size:10.5px; font-weight:700; letter-spacing:.06em; color:var(--muted); text-transform:uppercase }
.eedf-root .monogram{
  width:54px; height:54px; border-radius:14px; display:grid; place-items:center;
  background:var(--brand-light); color:var(--brand-dark); font-weight:800; font-size:21px; letter-spacing:-.03em;
  font-family:var(--font); line-height:1; border:1px solid rgba(11,179,140,.22);
}

.eedf-root .brand-section-head{ display:flex; align-items:baseline; gap:10px; margin:26px 0 4px; flex-wrap:wrap }
.eedf-root .brand-section-head h3{ font-size:16px; font-weight:800; margin:0; }
.eedf-root .brand-section-head .hint{ font-size:13px; color:var(--muted); font-weight:600 }

.eedf-root .brand-row-list{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr)); gap:10px; margin-top:4px; }
.eedf-root .brand-row{
  display:flex; align-items:center; gap:11px; padding:12px 14px; background:#fff;
  border:1px solid var(--border); border-radius:var(--r); cursor:pointer; text-align:left; min-width:0;
  transition:all .16s ease; width:100%;
}
.eedf-root .brand-row:hover{ border-color:var(--brand); box-shadow:var(--sh-1); transform:translateY(-1px) }
.eedf-root .brand-row .br-name{ min-width:0; flex:1; font-weight:700; font-size:14.5px; color:var(--navy); overflow-wrap:anywhere; }
.eedf-root .brand-row .br-go svg{ width:20px;height:20px;color:var(--brand); flex:none; }
.eedf-root .brand-row .chip__mono{ width:30px;height:30px;font-size:12px; border-radius:8px; }

.eedf-root .model-search-card{
  background:#fff; border:1px solid var(--border); border-radius:var(--r-lg);
  padding:clamp(16px,3vw,24px); box-shadow:var(--sh-1); margin-bottom:18px;
}
.eedf-root .helper-link{
  display:inline-flex; align-items:center; gap:8px; margin-top:14px; min-height:44px;
  background:var(--brand-light); color:var(--brand-dark); border:1px solid rgba(11,179,140,.22);
  padding:0 14px; border-radius:var(--r-pill); font-weight:700; font-size:13.5px; cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.eedf-root .helper-link svg{ width:17px;height:17px; }
.eedf-root .helper-link:hover{ box-shadow:var(--sh-1); transform:translateY(-1px); background:#dbf5ec }

.eedf-root .ac-wrap{ position:relative; z-index:20; isolation:isolate; }
.eedf-root .ac-list{
  position:absolute; z-index:100; left:0; right:0; top:calc(100% + 8px);
  background:#fff; border:1px solid var(--border); border-radius:var(--r); box-shadow:var(--sh-2);
  max-height:360px; overflow:auto; padding:6px; display:none;
}
.eedf-root .ac-list.show{display:block}
.eedf-root .ac-opt{
  display:flex; align-items:center; gap:12px; padding:11px 12px; border-radius:var(--r-sm); cursor:pointer; min-width:0;
  border:0; background:transparent; width:100%; text-align:left; min-height:48px; color:var(--ink);
}
.eedf-root .ac-opt[aria-selected="true"], .eedf-root .ac-opt.active, .eedf-root .ac-opt:hover{ background:var(--brand-light) }
.eedf-root .ac-opt .ac-ic{ flex:none; color:var(--brand-dark); display:grid; place-items:center; }
.eedf-root .ac-opt .ac-ic svg{ width:22px;height:22px; }
.eedf-root .ac-opt .ac-main{ min-width:0; flex:1 }
.eedf-root .ac-opt .ac-code{ font-family:var(--mono); font-weight:600; font-size:14px; color:var(--navy); display:block; overflow-wrap:anywhere; }
.eedf-root .ac-opt .ac-sub{ font-size:12px; color:var(--muted); font-weight:600; overflow-wrap:anywhere; }
.eedf-root .ac-opt .ac-go{ color:var(--brand); flex:none }
.eedf-root .ac-opt .ac-go svg{ width:20px;height:20px; }
.eedf-root .ac-empty{ padding:18px 14px; color:var(--muted); font-size:14px; text-align:center }
.eedf-root mark{ background:rgba(11,179,140,.22); color:inherit; border-radius:3px; padding:0 1px }

.eedf-root .browse-head{ display:flex; align-items:baseline; gap:10px; margin:26px 0 12px; flex-wrap:wrap }
.eedf-root .browse-head h3{ font-size:16px; font-weight:800; margin:0; }
.eedf-root .browse-head .hint{ font-size:13px; color:var(--muted); font-weight:600 }
.eedf-root .az-chips{ display:flex; flex-wrap:wrap; gap:7px; min-height:44px; }
.eedf-root .az-chip{
  min-width:44px; height:44px; padding:0 8px; border-radius:var(--r-sm);
  background:#fff; border:1px solid var(--border-strong); color:var(--navy); font-weight:800; font-size:14px; cursor:pointer;
  transition:all .16s ease;
}
.eedf-root .az-chip:hover:not(:disabled){ border-color:var(--brand); background:var(--brand-light) }
.eedf-root .az-chip.active{ background:var(--brand); border-color:var(--brand); color:#fff }
.eedf-root .az-chip:disabled{ opacity:.4; cursor:not-allowed; color:var(--muted); }

.eedf-root .letter-group + .letter-group{ margin-top:6px; }
.eedf-root .letter-head{
  position:sticky; top:calc(var(--header-h) + var(--safe-t) + 60px); z-index:5;
  background:rgba(247,250,251,.99);
  font-family:var(--mono); font-weight:600; font-size:13px; color:var(--brand-dark);
  padding:8px 4px 6px; letter-spacing:.04em; border-bottom:1px solid var(--border); margin-bottom:8px;
}
.eedf-root .model-list{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr)); gap:10px; }
.eedf-root .model-row{
  display:flex; align-items:center; gap:12px; padding:13px 14px; background:#fff;
  border:1px solid var(--border); border-radius:var(--r); cursor:pointer; text-align:left; min-width:0;
  transition:all .16s ease; width:100%;
}
.eedf-root .model-row:hover{ border-color:var(--brand); box-shadow:var(--sh-1); transform:translateY(-1px) }
.eedf-root .model-row .m-ic{ color:var(--brand-dark); flex:none }
.eedf-root .model-row .m-ic svg{ width:22px;height:22px; }
.eedf-root .model-row .m-main{ min-width:0; flex:1 }
.eedf-root .model-row .m-code{ font-family:var(--mono); font-weight:600; font-size:14.5px; color:var(--navy); display:block; overflow-wrap:anywhere; }
.eedf-root .model-row .m-name{ font-size:12.5px; color:var(--muted); font-weight:600; overflow-wrap:anywhere; }
.eedf-root .model-row .m-go svg{ width:20px;height:20px;color:var(--brand); }
.eedf-root .model-count{ font-size:13.5px; color:var(--muted); margin:0 0 12px; font-weight:600 }
.eedf-root .model-count strong{ color:var(--navy) }

.eedf-root .context-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.eedf-root .ctx-chip{
  display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 12px;
  background:#fff; border:1px solid var(--border); border-radius:var(--r-pill);
  font-size:13px; font-weight:700; color:var(--navy); min-width:0; cursor:pointer;
  transition:all .16s ease;
}
.eedf-root .ctx-chip .k{ color:var(--muted); font-weight:700; font-size:11px; text-transform:uppercase; letter-spacing:.05em }
.eedf-root .ctx-chip .v.mono{ color:var(--navy) }
.eedf-root .ctx-chip:hover{ border-color:var(--brand); background:var(--brand-light) }
.eedf-root .ctx-chip svg{ width:16px;height:16px;color:var(--brand); }

.eedf-root .results{ padding-top:18px; padding-bottom:60px; }
.eedf-root .crumb{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  font-size:13.5px; color:var(--muted); padding:16px 0 6px;
}
.eedf-root .crumb button{
  display:inline-flex; align-items:center; gap:6px; border:0; background:transparent;
  color:var(--brand-dark); font-weight:700; font-size:13.5px; cursor:pointer; padding:8px 6px;
  border-radius:8px; min-height:44px;
}
.eedf-root .crumb button:hover{ text-decoration:underline; }
.eedf-root .crumb svg{ width:16px;height:16px; }
.eedf-root .crumb .sep{ color:var(--border-strong); }

.eedf-root .devhead{
  display:flex; gap:18px; align-items:center; flex-wrap:nowrap;
  background:#fff; border:1px solid var(--border); border-radius:var(--r-lg);
  padding:16px 18px; margin:14px 0 4px; box-shadow:var(--sh-2);
  position:relative; overflow:hidden;
}
.eedf-root .devhead::before{ content:""; position:absolute; left:0; right:0; top:0; height:3px;
  background:linear-gradient(90deg,var(--brand),var(--brand-dark)); }
.eedf-root .devhead__media{
  flex:0 0 auto; width:96px; height:96px; border-radius:var(--r);
  background:var(--surface); border:1px solid var(--border);
  display:grid; place-items:center; padding:9px;
  box-shadow:inset 0 1px 2px rgba(16,42,53,.05); }
.eedf-root .devhead__img{ max-width:100%; max-height:100%; object-fit:contain; display:block; }
.eedf-root .devhead__media .devhead__ico{ color:var(--brand-dark); display:grid; place-items:center; }
.eedf-root .devhead__media .devhead__ico svg{ width:44px; height:44px; }
.eedf-root .devhead__body{ min-width:0; flex:1; display:flex; flex-direction:column; gap:9px; }
.eedf-root .devhead__verified{
  align-self:flex-start; display:inline-flex; align-items:center; gap:6px;
  background:var(--brand-light); color:var(--teal-text);
  font-size:11.5px; font-weight:800; padding:5px 11px 5px 8px;
  border-radius:var(--r-pill); border:1px solid rgba(11,179,140,.22); }
.eedf-root .devhead__verified svg{ width:14px; height:14px; flex:none; }
.eedf-root .devhead__verified .vshort{ display:none; }
.eedf-root .devhead__title{
  margin:0; color:var(--navy); font-weight:800; letter-spacing:-.02em;
  font-size:clamp(20px,2.6vw,25px); line-height:1.1;
  display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.eedf-root .devhead__brand{
  display:inline-flex; align-items:center; gap:7px; font-size:15px; font-weight:700; color:var(--muted);
  padding-left:11px; border-left:2px solid var(--border-strong); }
.eedf-root .devhead__brand .devhead__blogo{ height:22px; width:auto; max-width:118px; object-fit:contain; display:block; }
.eedf-root .devhead__brand .chip__mono{ width:auto; height:auto; font-size:11px; padding:1px 4px; }
.eedf-root .devhead__facts{ display:flex; gap:10px; flex-wrap:wrap; }
.eedf-root .devhead__fact{
  flex:1 1 150px; min-width:0; background:var(--surface); border:1px solid var(--border);
  border-radius:var(--r); padding:8px 12px; display:flex; flex-direction:column; gap:2px; }
.eedf-root .devhead__fact--hl{ background:var(--brand-light); border-color:rgba(11,179,140,.28); }
.eedf-root .devhead__k{ font-size:10.5px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:var(--muted-soft); }
.eedf-root .devhead__fact--hl .devhead__k{ color:var(--teal-text); }
.eedf-root .devhead__v{ font-size:16px; font-weight:700; color:var(--navy); line-height:1.2;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.eedf-root .devhead__v.mono{ font-family:var(--mono); letter-spacing:-.01em; }
.eedf-root .devhead__fact--hl .devhead__v{ color:var(--brand-dark); }
@media(max-width:560px){
  .eedf-root .devhead{ gap:13px; padding:13px 14px; align-items:flex-start; }
  .eedf-root .devhead__media{ width:72px; height:72px; padding:7px; }
  .eedf-root .devhead__media .devhead__ico svg{ width:34px; height:34px; }
  .eedf-root .devhead__title{ font-size:18px; gap:7px; }
  .eedf-root .devhead__brand{ font-size:13px; padding-left:9px; }
  .eedf-root .devhead__brand .devhead__blogo{ height:18px; max-width:96px; }
  .eedf-root .devhead__verified .vfull{ display:none; }
  .eedf-root .devhead__verified .vshort{ display:inline; }
  .eedf-root .devhead__fact{ flex-basis:calc(50% - 5px); padding:7px 10px; }
  .eedf-root .devhead__v{ font-size:15px; }
}
@media(max-width:380px){ .eedf-root .devhead__fact{ flex-basis:100%; } }

.eedf-root .brandbadge{
  display:inline-flex; align-items:center; gap:7px; font-weight:700; color:var(--navy);
  background:#fff; border:1px solid var(--border-strong); padding:5px 11px; border-radius:var(--r-pill);
}
.eedf-root .brandbadge img{ width:18px;height:18px;object-fit:contain; }
.eedf-root .brandbadge .chip__mono{ width:18px;height:18px;font-size:9px;border-radius:5px; }
.eedf-root .chip__mono{
  width:24px;height:24px; flex:none; border-radius:7px; display:grid; place-items:center;
  background:var(--brand-light); color:var(--brand-dark); font-weight:800; font-size:11px; letter-spacing:-.03em;
  font-family:var(--font); line-height:1; border:1px solid rgba(11,179,140,.22);
}

.eedf-root .toolbar{
  position:static;          
  background:#fff;
  padding:4px 0 12px; margin:0 0 6px;
  border-bottom:1px solid var(--border);
}

.eedf-root.results-open .stepper-wrap{ position:static; }
.eedf-root .toolbar__row{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.eedf-root .infield{
  flex:1 1 260px; min-width:0; display:flex; align-items:center; gap:9px;
  background:#fff; border:1.5px solid var(--border-strong); border-radius:var(--r); padding:0 12px; height:48px;
}
.eedf-root .infield:focus-within{ border-color:var(--brand); box-shadow:0 0 0 3px rgba(11,179,140,.12); }
.eedf-root .infield svg{ width:18px;height:18px;color:var(--muted);flex:none; }
.eedf-root .infield input{ border:0;outline:0;background:transparent;flex:1;min-width:0;font-size:16px;color:var(--ink); }
.eedf-root .infield input::placeholder{ color:var(--placeholder); }
.eedf-root .sortsel{ position:relative; }
.eedf-root .sortsel select{
  appearance:none; -webkit-appearance:none; height:48px; padding:0 38px 0 14px;
  border:1.5px solid var(--border-strong); border-radius:var(--r); background:#fff; color:var(--navy);
  font-weight:700; font-size:14px; cursor:pointer;
}
.eedf-root .sortsel svg{ position:absolute; right:12px; top:50%; transform:translateY(-50%); width:16px;height:16px; color:var(--muted); pointer-events:none; }

.eedf-root .pills{ display:flex; flex-wrap:wrap; gap:8px; padding:12px 0 4px; min-height:44px; }
.eedf-root .pill{
  flex:0 0 auto; min-height:44px; padding:0 15px; border-radius:var(--r-pill);
  border:1px solid var(--border-strong); background:#fff; color:var(--navy);
  font-weight:600; font-size:13.5px; cursor:pointer; transition:.15s ease; white-space:nowrap;
  display:inline-flex; align-items:center; gap:7px;
}
.eedf-root .pill .cnt{ font-family:var(--mono); font-size:12px; color:var(--muted); }
.eedf-root .pill .spark{ color:var(--gold); display:grid; place-items:center; }
.eedf-root .pill .spark svg{ width:15px;height:15px; }
.eedf-root .pill .pchk{ display:none; place-items:center; flex:none; }   
.eedf-root .pill .pchk svg{ width:15px;height:15px; }
.eedf-root .pill:hover{ border-color:var(--brand); }
.eedf-root .pill[aria-pressed="true"]{ background:var(--navy); color:#fff; border-color:var(--navy); }
.eedf-root .pill[aria-pressed="true"] .cnt{ color:rgba(255,255,255,.75); }
.eedf-root .pill[aria-pressed="true"] .spark{ color:#FCE9C4; }
.eedf-root .pill[aria-pressed="true"] .pchk{ display:grid; }             

.eedf-root .pill-all{
  flex:0 0 auto; min-height:44px; padding:0 15px; border-radius:var(--r-pill);
  border:1.5px solid var(--brand); background:#fff; color:var(--brand-dark);
  font-weight:700; font-size:13.5px; cursor:pointer; transition:.15s ease; white-space:nowrap;
  display:inline-flex; align-items:center; gap:7px;
}
.eedf-root .pill-all:hover{ background:var(--brand-light); }
.eedf-root .pill-all .cnt{ font-family:var(--mono); font-size:12px; color:var(--brand-dark); font-weight:700; }
.eedf-root .pill-all svg{ width:16px;height:16px; flex:none; }

.eedf-root .cat-pick{ display:none; }
.eedf-root .cat-pick--off{ display:none !important; }
@media(max-width:720px){
  .eedf-root .toolbar .pills{ display:none; }
  .eedf-root .cat-pick{
    display:flex; align-items:center; gap:10px; width:100%; min-height:50px; margin-top:10px;
    padding:0 14px; border-radius:var(--r); border:1.5px solid var(--brand); background:#fff;
    color:var(--brand-dark); font-weight:700; font-size:14.5px; cursor:pointer; text-align:left; transition:.15s ease;
  }
  .eedf-root .cat-pick:hover{ background:var(--brand-light); }
  .eedf-root .cat-pick.is-set{ background:var(--brand-light); }
  .eedf-root .cat-pick .cp-ic{ flex:none; display:grid; place-items:center; }
  .eedf-root .cat-pick .cp-ic svg{ width:18px; height:18px; }
  .eedf-root .cat-pick .cp-txt{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .eedf-root .cat-pick .cp-txt .cp-k{ display:block; font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--muted-soft); line-height:1.1; }
  .eedf-root .cat-pick .cp-go{ flex:none; color:var(--brand); }
  .eedf-root .cat-pick .cp-go svg{ width:18px; height:18px; }
}

.eedf-root .catsheet-search{
  position:sticky; top:0; z-index:2; background:#fff; padding:0 0 12px; margin-bottom:4px;
  border-bottom:1px solid var(--border);
}
.eedf-root .catsheet-search .infield{ height:48px; }
.eedf-root .catsheet-count{ font-size:13px; color:var(--muted); font-weight:600; padding:10px 2px 6px; }
.eedf-root .catsheet-count strong{ color:var(--navy); }
.eedf-root .catlist{ display:flex; flex-direction:column; gap:6px; padding-top:6px; }
.eedf-root .catlist-row{
  display:flex; align-items:center; gap:12px; min-height:48px; width:100%; text-align:left;
  padding:11px 14px; border:1px solid var(--border); border-radius:var(--r); background:#fff;
  color:var(--navy); font-weight:600; font-size:14.5px; cursor:pointer; transition:.14s ease; min-width:0;
}
.eedf-root .catlist-row:hover{ border-color:var(--brand); background:var(--brand-light); }
.eedf-root .catlist-row[aria-pressed="true"]{ border-color:var(--brand); background:var(--brand-light); color:var(--brand-dark); }
.eedf-root .catlist-row .clr-ic{ flex:none; color:var(--brand-dark); display:grid; place-items:center; width:20px; }
.eedf-root .catlist-row .clr-ic svg{ width:18px;height:18px; }
.eedf-root .catlist-row .clr-name{ flex:1; min-width:0; overflow-wrap:anywhere; }
.eedf-root .catlist-row .clr-cnt{ flex:none; font-family:var(--mono); font-size:12.5px; color:var(--muted); font-weight:600; }
.eedf-root .catlist-empty{ padding:22px 14px; color:var(--muted); font-size:14px; text-align:center; }

.eedf-root .resmeta{ font-size:13.5px; color:var(--muted); padding:14px 0 8px; }
.eedf-root .resmeta strong{ color:var(--navy); }
.eedf-root .resmeta-spin{ display:inline-flex; align-items:center; gap:9px; }
.eedf-root .spin{
  width:15px; height:15px; flex:none; border-radius:50%;
  border:2px solid var(--border-strong); border-top-color:var(--brand);
  animation:spin .7s linear infinite;
}
@keyframes spin{ to{ transform:rotate(360deg); } }

.eedf-root .grid{ display:grid; grid-template-columns:1fr; gap:10px; position:relative; z-index:1; }

.eedf-root .card{
  display:grid; position:relative; min-width:0;
  grid-template-columns:72px minmax(0,1fr) 96px;
  grid-template-areas:"media body rail" "actions actions actions";
  align-items:start; gap:6px 12px; padding:12px;
  background:#fff; border:1px solid var(--border); border-radius:var(--r-lg);
  box-shadow:var(--sh-1); transition:box-shadow .18s ease, border-color .18s ease;
}
.eedf-root .card:hover{ box-shadow:var(--sh-2); border-color:var(--border-strong); }
.eedf-root .card:focus-within{ box-shadow:var(--ring); border-color:var(--brand); }

.eedf-root .card--out{ background:#FCFCFD; }
.eedf-root .card--out .card__media{ filter:grayscale(1); opacity:.6; }
.eedf-root .card--out .card__cat, .eedf-root .card--out .card__title{ color:var(--muted); }

.eedf-root .card__media{
  grid-area:media; width:72px; height:72px; align-self:start;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r);
  display:grid; place-items:center; overflow:hidden;
}
.eedf-root .card__media img{ width:100%;height:100%;object-fit:contain; padding:7px; }
.eedf-root .card__media .noimg svg{ width:28px;height:28px; }
.eedf-root .card__media .noimg span{ display:none; }   

.eedf-root .noimg{ display:grid; place-items:center; gap:8px; color:var(--border-strong); }
.eedf-root .noimg[hidden]{ display:none !important; }
.eedf-root .noimg svg{ width:54px;height:54px; }
.eedf-root .noimg span{ font-size:11px; font-weight:700; color:var(--muted); letter-spacing:.04em; }

.eedf-root .card__body{ grid-area:body; min-width:0; display:flex; flex-direction:column; gap:3px; }
.eedf-root .card__merk{ display:flex; }                 
.eedf-root .card__cat{ font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--teal-text);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.eedf-root .card__title{ font-size:14.5px; font-weight:700; color:var(--navy); line-height:1.3; overflow-wrap:anywhere;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.eedf-root .card__code{ font-size:11.5px; color:var(--muted); display:flex; flex-wrap:wrap; gap:2px 12px; margin-top:1px; }
.eedf-root .card__code .cpair{ display:inline-flex; gap:5px; align-items:baseline; min-width:0; }
.eedf-root .card__code .clabel{ font-size:10px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; color:var(--muted-soft); }
.eedf-root .card__code b{ color:var(--navy); font-weight:600; font-family:var(--mono); font-size:12px; overflow-wrap:anywhere; }

.eedf-root .card__foot{ grid-area:rail; margin-top:0; padding-top:0;
  display:flex; flex-direction:column; align-items:flex-end; justify-content:flex-start; gap:5px; text-align:right; }
.eedf-root .price{ display:flex; flex-direction:column; align-items:flex-end; gap:0; line-height:1.05; }
.eedf-root .price b{ font-family:var(--mono); font-weight:600; font-size:17px; color:var(--navy); letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.eedf-root .price small{ font-size:10px; color:var(--muted); }
.eedf-root .avail{ display:inline-flex; align-items:flex-start; gap:4px; font-size:11.5px; font-weight:700; text-align:right; }
.eedf-root .avail svg{ width:13px;height:13px; flex:none; margin-top:1px; }
.eedf-root .avail--ok{ color:var(--teal-text); }   
.eedf-root .avail--no{ color:var(--danger); }       

.eedf-root .merk{ display:inline-flex; align-items:center; gap:5px; flex:none;
  font-size:10.5px; font-weight:800; letter-spacing:.02em; line-height:1; text-transform:uppercase;
  padding:5px 9px; border-radius:var(--r-pill); white-space:nowrap; }
.eedf-root .merk svg{ width:13px;height:13px; flex:none; }

.eedf-root .merk--O{ background:linear-gradient(135deg,#27374e,#131c2a); color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14), 0 1px 2px rgba(16,42,53,.28); }
.eedf-root .merk--O svg{ color:#F4C75A; }

.eedf-root .merk--A{ background:var(--brand-light); color:var(--teal-text); border:1px solid rgba(11,179,140,.4); }
.eedf-root .merk--A svg{ color:var(--teal-text); }
.eedf-root .merk__pct{ background:var(--teal-text); color:#fff; padding:1px 5px; border-radius:6px; margin-left:2px; font-weight:900; letter-spacing:0; }

.eedf-root .merk--Q{ background:#E6EEFB; color:#1E45B0; border:1px solid rgba(30,69,176,.30); }
.eedf-root .merk--AM{ background:#FEF3C7; color:#B45309; border:1px solid rgba(245,158,11,.42); }
.eedf-root .merk--AM svg{ color:#D97706; }
.eedf-root .merk .merk__short{ display:none; }
.eedf-root .merk .merk__short .merk__pct, .eedf-root .merk .merk__long .merk__pct{ text-transform:none; }

.eedf-root .card__actions{ grid-area:actions; display:flex; gap:8px; margin-top:8px; padding-top:10px; border-top:1px solid var(--border); }
.eedf-root .card__details{
  flex:0 0 auto; min-height:44px; padding:0 14px; border-radius:var(--r);
  border:1px solid var(--border-strong); background:#fff; color:var(--navy);
  font-weight:700; font-size:13.5px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:7px;
  transition:.15s ease;
}
.eedf-root .card__details:hover{ border-color:var(--brand); color:var(--brand-dark); background:var(--brand-light); }
.eedf-root .card__details svg{ width:16px;height:16px; }
.eedf-root .card__add{
  flex:1 1 auto; min-height:44px; padding:0 16px; border-radius:var(--r);
  background:var(--brand); color:#fff; border:0; font-weight:800; font-size:13.5px; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center; gap:7px;
  box-shadow:0 4px 14px rgba(11,179,140,.3); transition:.15s ease;
}
.eedf-root .card__add:hover{ background:var(--brand-dark); }
.eedf-root .card__add:disabled{ background:var(--surface-2); color:var(--muted); box-shadow:none; cursor:not-allowed; }
.eedf-root .card__add svg{ width:16px;height:16px; }

@media(max-width:420px){
  .eedf-root .merk .merk__long{ display:none; }
  .eedf-root .merk .merk__short{ display:inline; }
}

@media(max-width:380px){
  .eedf-root .card{ grid-template-columns:64px minmax(0,1fr) 88px; }
  .eedf-root .card__media{ width:64px; height:64px; }
  .eedf-root .price b{ font-size:16px; }
}

@media(min-width:820px){
  .eedf-root .grid{ gap:8px; }
  .eedf-root .card{
    grid-template-columns:84px minmax(200px,1fr) 116px 132px 152px;
    grid-template-areas:"media body price avail actions";
    align-items:center; gap:16px; padding:14px 18px; min-height:112px;
  }
  .eedf-root .card__media{ width:84px; height:84px; align-self:center; }
  .eedf-root .card__body{ gap:5px; }
  .eedf-root .card__foot{ display:contents; }              
  .eedf-root .price{ grid-area:price; }
  .eedf-root .price b{ font-size:19px; }
  .eedf-root .avail{ grid-area:avail; align-items:center; }
  .eedf-root .avail svg{ margin-top:0; }
  
  .eedf-root .card__actions{ grid-area:actions; flex-direction:column; gap:8px; margin-top:0; padding-top:0; border-top:0; align-items:stretch; }
  .eedf-root .card__details, .eedf-root .card__add{ min-height:40px; flex:0 0 auto; }
}
@media(min-width:1080px){
  .eedf-root .card{ grid-template-columns:88px minmax(260px,1fr) 120px 140px 168px; }
}

.eedf-root .card.skel .card__media{ background:var(--surface-2); }
.eedf-root .skline{ height:13px; border-radius:6px; }
.eedf-root .sk{ background:linear-gradient(90deg,var(--surface-2) 25%,#f0f5f6 37%,var(--surface-2) 63%); background-size:400% 100%; animation:sk 1.2s ease infinite; border-radius:6px; }
@keyframes sk{ 0%{background-position:100% 0;} 100%{background-position:-100% 0;} }

.eedf-root .state{ text-align:center; padding:48px 20px; max-width:520px; margin-inline:auto; grid-column:1/-1; }
.eedf-root .state__ico{ width:72px;height:72px;border-radius:50%; background:var(--surface-2); color:var(--muted); display:grid; place-items:center; margin:0 auto 18px; }
.eedf-root .state__ico svg{ width:36px;height:36px; }
.eedf-root .state h3{ margin:0 0 8px; color:var(--navy); font-weight:800; font-size:20px; }
.eedf-root .state p{ margin:0 0 22px; color:var(--muted); font-size:15px; }

.eedf-root .state-box{
  text-align:center; padding:clamp(28px,6vw,48px) 20px; background:#fff;
  border:1px dashed var(--border-strong); border-radius:var(--r-lg); margin-top:18px;
}
.eedf-root .state-box .s-ic{ width:62px; height:62px; border-radius:50%; background:var(--surface-2); display:grid; place-items:center; margin:0 auto 16px; color:var(--muted) }
.eedf-root .state-box .s-ic svg{ width:30px;height:30px; }
.eedf-root .state-box h3{ font-size:18px; margin:0 0 6px; font-weight:800; }
.eedf-root .state-box p{ color:var(--muted); font-size:14.5px; max-width:420px; margin:0 auto; font-weight:500 }
.eedf-root .state-box .wa-cta{ margin-top:18px }

.eedf-root .wa-cta{
  display:inline-flex; align-items:center; gap:10px; min-height:48px; padding:0 20px;
  background:var(--wa); color:#fff; border:0; border-radius:var(--r-pill); font-weight:800; font-size:15px;
  cursor:pointer; text-decoration:none; box-shadow:0 6px 18px rgba(37,211,102,.34);
  transition:transform .16s ease, box-shadow .18s ease, filter .18s ease;
}
.eedf-root .wa-cta:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(37,211,102,.42); filter:brightness(1.03) }
.eedf-root .wa-cta svg{ width:22px;height:22px; }

.eedf-root .wa-fab{
  display:none !important;   /* FAB WhatsApp rimosso: i richiami sono già nel finder */
  position:fixed; z-index:55;
  right:max(18px,var(--safe-r)); bottom:max(18px,calc(var(--safe-b) + 18px));
  min-height:56px; padding:0 20px 0 18px; border-radius:var(--r-pill);
  background:var(--wa); color:#fff; border:0; cursor:pointer;
  display:inline-flex; align-items:center; gap:10px; font-weight:800; font-size:15px;
  box-shadow:0 10px 28px rgba(37,211,102,.45); transition:.2s ease; text-decoration:none;
}
.eedf-root .wa-fab:hover{ transform:translateY(-2px); box-shadow:0 14px 34px rgba(37,211,102,.55); }
.eedf-root .wa-fab svg{ width:26px;height:26px; flex:none; }
@media(max-width:560px){ .eedf-root .wa-fab .lbl{ display:none; } .eedf-root .wa-fab{ min-height:58px; width:58px; padding:0; justify-content:center; } }

.eedf-root .overlay{
  position:fixed; inset:0; z-index:1000010; background:rgba(16,42,53,.62);
  display:none; opacity:0; transition:opacity .22s ease;
}
.eedf-root .overlay.show{ display:block; opacity:1; }

.eedf-root .sheet{
  position:fixed; z-index:1000011; background:#fff; box-shadow:var(--sh-3);
  display:flex; flex-direction:column; overflow:hidden;
  top:0; right:0; height:100dvh; width:min(560px,100%);
  border-left:1px solid var(--border);
  transform:translateX(100%);
  /* CHIUSO = invisibile: un drawer off-canvas chiuso ma renderizzato dipinge la sua
     box-shadow (blur ~50px) ~50px DENTRO la viewport dal bordo destro -> striscia
     sfumata scura a tutta altezza (visibile su desktop, dove il drawer entra da destra).
     visibility:hidden non dipinge ombra/bordo; ritardata in chiusura per non tagliare lo slide-out. */
  visibility:hidden;
  transition:transform .3s cubic-bezier(.2,.8,.2,1), visibility 0s linear .3s;
  padding-top:var(--safe-t);
}
.eedf-root .sheet.show{ transform:translateX(0); visibility:visible; transition:transform .3s cubic-bezier(.2,.8,.2,1), visibility 0s linear 0s; }
@media(max-width:720px){
  .eedf-root .sheet{
    top:auto; bottom:0; right:0; left:0; height:auto; width:100%; max-height:92dvh;
    border-left:0; border-top:1px solid var(--border);
    border-radius:var(--r-lg) var(--r-lg) 0 0;
    transform:translateY(100%);
    padding-bottom:var(--safe-b);
  }
  .eedf-root .sheet.show{ transform:translateY(0); }
}
.eedf-root .sheet__grip{ display:none; }
@media(max-width:720px){
  .eedf-root .sheet__grip{ display:block; width:42px;height:5px; border-radius:99px; background:var(--border-strong); margin:10px auto 2px; }
}
.eedf-root .sheet__head{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:16px 18px; border-bottom:1px solid var(--border); flex:none;
}
.eedf-root .sheet__head h3{ margin:0; color:var(--navy); font-weight:800; font-size:17px; }
.eedf-root .iconbtn{
  width:44px;height:44px;flex:none; border:1px solid var(--border); background:#fff; color:var(--navy);
  border-radius:var(--r); cursor:pointer; display:grid; place-items:center; transition:.15s ease;
}
.eedf-root .iconbtn:hover{ background:var(--surface-2); border-color:var(--border-strong); }
.eedf-root .iconbtn svg{ width:20px;height:20px; }
.eedf-root .sheet__body{ overflow-y:auto; padding:18px; flex:1; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; }

.eedf-root .pd-gallery{ position:relative; aspect-ratio:16/11; background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg); display:grid; place-items:center; margin-bottom:16px; overflow:hidden; }
.eedf-root .pd-gallery img{ width:100%;height:100%;object-fit:contain;padding:22px; }
.eedf-root .pd-thumbs{ display:flex; gap:8px; margin:-6px 0 16px; flex-wrap:wrap; }
.eedf-root .pd-thumb{ width:56px; height:56px; padding:4px; border-radius:10px; border:1px solid var(--border-strong); background:#fff; cursor:pointer; flex:none; transition:.15s ease; }
.eedf-root .pd-thumb img{ width:100%; height:100%; object-fit:contain; }
.eedf-root .pd-thumb:hover{ border-color:var(--brand); }
.eedf-root .pd-thumb.is-active{ border-color:var(--brand); box-shadow:0 0 0 2px var(--brand-light); }
.eedf-root .pd-cat{ font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--brand-dark); margin-bottom:4px; }
.eedf-root .pd-title{ font-size:20px; font-weight:800; color:var(--navy); letter-spacing:-.01em; line-height:1.25; margin:0 0 12px; overflow-wrap:anywhere; }
.eedf-root .pd-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; align-items:center; }
.eedf-root .pd-codes{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:18px; }
@media(max-width:380px){ .eedf-root .pd-codes{ grid-template-columns:1fr; } }
.eedf-root .codebox{ background:var(--surface); border:1px solid var(--border); border-radius:var(--r); padding:10px 12px; min-width:0; }
.eedf-root .codebox span{ display:block; font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); margin-bottom:3px; }
.eedf-root .codebox b{ font-family:var(--mono); font-weight:600; font-size:14.5px; color:var(--navy); overflow-wrap:anywhere; }
.eedf-root .pd-priceblock{
  display:flex; align-items:flex-end; justify-content:space-between; gap:12px;
  background:var(--brand-light); border:1px solid rgba(11,179,140,.22); border-radius:var(--r-lg);
  padding:16px; margin-bottom:18px;
}
.eedf-root .pd-priceblock .pp{ display:flex; flex-direction:column; }
.eedf-root .pd-priceblock .pp b{ font-family:var(--mono); font-weight:600; font-size:30px; color:var(--navy); letter-spacing:-.02em; }
.eedf-root .pd-priceblock .pp small{ font-size:12px; color:var(--brand-dark); font-weight:700; }
.eedf-root .pd-priceblock .net{ text-align:right; font-size:11.5px; color:var(--muted); font-weight:600; line-height:1.5; }

.eedf-root .pd-fit{ display:flex; align-items:center; gap:12px; margin:0 0 16px; padding:13px 15px;
  background:linear-gradient(135deg,var(--brand-light),#f1fbf7); border:1.5px solid rgba(11,179,140,.5); border-radius:var(--r-lg); }
.eedf-root .pd-fit__ic{ width:42px;height:42px;flex:none;border-radius:11px; display:grid;place-items:center;
  background:#fff; color:var(--brand-dark); border:1px solid rgba(11,179,140,.25); }
.eedf-root .pd-fit__ic svg{ width:24px;height:24px; }
.eedf-root .pd-fit__txt{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.eedf-root .pd-fit__txt b{ color:var(--teal-text); font-size:15px; font-weight:800; line-height:1.2; }
.eedf-root .pd-fit__txt span{ font-size:13px; color:var(--muted); font-weight:600; overflow-wrap:anywhere; }
.eedf-root .pd-fit__txt .mono{ color:var(--navy); }
.eedf-root .pd-fit__check{ width:30px;height:30px;flex:none;border-radius:50%; display:grid;place-items:center;
  background:var(--brand); color:#fff; box-shadow:0 2px 8px rgba(11,179,140,.4); }
.eedf-root .pd-fit__check svg{ width:18px;height:18px; }

.eedf-root .pd-trustrow{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
.eedf-root .pd-trust{ display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; color:var(--navy);
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r-pill); padding:7px 12px; }
.eedf-root .pd-trust svg{ width:15px;height:15px; color:var(--brand-dark); flex:none; }
.eedf-root .pd-trust--warranty{ background:#FFF7E6; border-color:rgba(224,168,46,.45); color:#7A5A12; }
.eedf-root .pd-trust--warranty svg{ color:#B5860F; }

.eedf-root .targhetta-wrap{ position:relative; display:block; width:100%; padding:0; border:0; background:none; cursor:zoom-in; border-radius:var(--r-lg); overflow:hidden; margin-bottom:16px; }
.eedf-root .targhetta-wrap .targhetta-img{ margin-bottom:0; display:block; }
.eedf-root .targhetta-zoomhint{ position:absolute; right:10px; bottom:10px; display:inline-flex; align-items:center; gap:6px;
  background:rgba(15,23,42,.82); color:#fff; font-size:12px; font-weight:700; padding:6px 10px; border-radius:var(--r-pill); pointer-events:none; }
.eedf-root .targhetta-zoomhint svg{ width:15px;height:15px; }
.eedf-root .imgzoom{ position:fixed; inset:0; z-index:1000100; display:none; align-items:center; justify-content:center; padding:24px;
  background:rgba(15,23,42,.94); }
.eedf-root .imgzoom.open{ display:flex; }
.eedf-root .imgzoom__img{ max-width:min(960px,94vw); max-height:86vh; width:auto; height:auto; border-radius:14px; background:#fff; box-shadow:0 24px 70px rgba(0,0,0,.5); }
.eedf-root .imgzoom__close{ position:absolute; top:calc(16px + var(--safe-t)); right:16px; width:48px; height:48px; border-radius:50%;
  border:0; background:#fff; color:var(--navy); display:grid; place-items:center; cursor:pointer; box-shadow:var(--sh-2); }
.eedf-root .imgzoom__close svg{ width:22px;height:22px; }
.eedf-root .imgzoom__cap{ position:absolute; left:0; right:0; bottom:max(18px,var(--safe-b)); text-align:center; color:rgba(255,255,255,.85); font-size:13px; font-weight:600; padding:0 20px; }
.eedf-root .pd-section{ margin-bottom:20px; }
.eedf-root .pd-section h4{ margin:0 0 10px; font-size:13px; font-weight:800; letter-spacing:.04em; color:var(--navy); text-transform:uppercase; }
.eedf-root .spec-table-wrap{ overflow-x:auto; }            
.eedf-root .spec-table{ width:100%; border-collapse:collapse; font-size:14px; }
.eedf-root .spec-table td, .eedf-root .spec-table th{ text-align:left; padding:9px 12px; border-bottom:1px solid var(--border); vertical-align:top; }
.eedf-root .spec-table th, .eedf-root .spec-table tr td:first-child{ color:var(--muted); font-weight:600; width:46%; font-family:var(--font); }
.eedf-root .spec-table td, .eedf-root .spec-table tr td:last-child{ color:var(--navy); font-weight:600; font-family:var(--mono); font-variant-numeric:tabular-nums; }
.eedf-root .spec-table tr:last-child td, .eedf-root .spec-table tr:last-child th{ border-bottom:0; }
.eedf-root .cat-tree{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-size:13px; font-weight:700; color:var(--navy) }
.eedf-root .cat-tree .sep{ color:var(--border-strong); display:grid; place-items:center; }
.eedf-root .cat-tree .sep svg{ width:16px;height:16px; }
.eedf-root .mfr{ display:flex; align-items:center; gap:12px; background:var(--surface); border:1px solid var(--border); border-radius:var(--r); padding:13px 14px; }
.eedf-root .mfr__logo{ width:40px;height:40px;flex:none;border-radius:var(--r);background:#fff;border:1px solid var(--border);display:grid;place-items:center; }
.eedf-root .mfr__logo img{ width:24px;height:24px;object-fit:contain; }
.eedf-root .mfr__logo svg{ width:24px;height:24px;color:var(--brand-dark); }
.eedf-root .mfr__logo .chip__mono{ width:30px;height:30px;font-size:12px; }
.eedf-root .mfr__txt{ min-width:0; }
.eedf-root .mfr__txt b{ display:block; color:var(--navy); font-weight:700; font-size:14.5px; }
.eedf-root .mfr__txt span{ font-size:12.5px; color:var(--muted); overflow-wrap:anywhere; }
.eedf-root .mfr__txt a{ color:var(--brand-dark); font-weight:700; text-decoration:none; }
.eedf-root .mfr__txt a:hover{ text-decoration:underline; }
.eedf-root .pd-unavail{
  display:flex; flex-direction:column; gap:12px; align-items:flex-start; margin-bottom:18px; padding:16px;
  background:#EAFBF0; border:1px solid rgba(37,211,102,.3); border-radius:var(--r-lg);
}
.eedf-root .pd-unavail p{ margin:0; font-size:14px; color:var(--ink); font-weight:600; }

.eedf-root .sheet__foot{
  flex:none; padding:14px 18px calc(14px + var(--safe-b));
  border-top:1px solid var(--border); background:#fff;
  display:flex; gap:12px; align-items:center;
}
.eedf-root .cta{
  flex:1; min-height:54px; border:0; border-radius:var(--r); cursor:pointer;
  font-weight:800; font-size:16px; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  transition:.18s ease;
}
.eedf-root .cta svg{ width:20px;height:20px; }
.eedf-root .cta--primary{ background:var(--brand); color:#fff; box-shadow:0 8px 20px rgba(11,179,140,.3); }
.eedf-root .cta--primary:hover{ background:var(--brand-dark); transform:translateY(-1px); }
.eedf-root .cta--primary:disabled{ background:var(--surface-2); color:var(--muted); box-shadow:none; cursor:not-allowed; transform:none; }
.eedf-root .cta--wa{ flex:none; width:54px; min-width:54px; background:var(--wa); color:#fff; }
.eedf-root .cta--wa:hover{ filter:brightness(.95); }

.eedf-root .know-sheet-intro{ color:var(--muted); font-weight:500; font-size:14.5px; margin:0 0 16px }
.eedf-root .know-sheet-intro strong{ color:var(--navy) }

.eedf-root .helper-intro{ color:var(--muted); font-weight:500; font-size:14.5px; margin:0 0 16px }
.eedf-root .targhetta-img{ width:100%; border-radius:var(--r-lg); border:1px solid var(--border); margin-bottom:16px; background:var(--surface) }
.eedf-root .spot-list{ display:flex; flex-direction:column; gap:10px; }
.eedf-root .spot{
  display:flex; gap:14px; align-items:flex-start; padding:14px; background:var(--surface);
  border:1px solid var(--border); border-radius:var(--r); min-width:0;
}
.eedf-root .spot .spot-ic{ flex:none; width:48px; height:48px; border-radius:11px; background:#fff; border:1px solid var(--border); display:grid; place-items:center; color:var(--brand-dark) }
.eedf-root .spot .spot-ic svg{ width:30px;height:30px; }
.eedf-root .spot .spot-txt{ min-width:0; }
.eedf-root .spot .spot-t{ display:block; font-weight:800; color:var(--navy); font-size:14.5px; margin-bottom:3px }
.eedf-root .spot .spot-d{ display:block; font-size:13px; color:var(--muted); font-weight:500; line-height:1.45 }
.eedf-root .spot-list__title{ font-weight:800; color:var(--navy); font-size:13px; text-transform:uppercase; letter-spacing:.03em; margin-bottom:2px }
.eedf-root .spot--text{ align-items:center; }
.eedf-root .spot--text .spot-d{ font-size:14px; color:var(--navy); font-weight:500 }
.eedf-root .spot-num{ flex:none; width:30px; height:30px; border-radius:50%; background:var(--brand,#0BB38C); color:#fff;
  font-weight:800; font-size:14px; display:grid; place-items:center; }
.eedf-root .helper-note{ color:var(--muted); font-weight:500; font-size:13px; margin:16px 0 0; }
.eedf-root .help-wa{
  display:flex; align-items:center; gap:14px; margin-top:18px; padding:16px;
  background:#EAFBF0; border:1px solid rgba(37,211,102,.3); border-radius:var(--r-lg);
}
.eedf-root .help-wa__ico{ width:48px;height:48px;flex:none;border-radius:var(--r);background:var(--wa);color:#fff;display:grid;place-items:center; }
.eedf-root .help-wa__ico svg{ width:28px;height:28px; }
.eedf-root .help-wa__txt{ flex:1; min-width:0; }
.eedf-root .help-wa__txt b{ display:block;color:#0a7a3a;font-weight:800;font-size:15px; }
.eedf-root .help-wa__txt span{ font-size:13px;color:#157f3a; }
.eedf-root .help-wa__btn{
  flex:none; min-height:46px; padding:0 18px; border-radius:var(--r-pill); background:var(--wa); color:#fff;
  font-weight:800; font-size:14px; text-decoration:none; cursor:pointer; border:0;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
}
.eedf-root .help-wa__btn svg{ width:18px;height:18px; }
@media(max-width:560px){ .eedf-root .help-wa{ flex-wrap:wrap; } .eedf-root .help-wa__btn{ width:100%; } }

.eedf-root .toast{
  position:fixed; left:50%; bottom:calc(24px + var(--safe-b)); transform:translateX(-50%) translateY(30px);
  z-index:1000050; background:var(--navy); color:#fff; padding:14px 18px; border-radius:var(--r);
  display:flex; align-items:center; gap:11px; font-weight:700; font-size:14.5px;
  box-shadow:var(--sh-3); opacity:0; pointer-events:none; transition:.28s cubic-bezier(.2,.8,.2,1);
  max-width:calc(100vw - 32px);
}
.eedf-root .toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }
.eedf-root .toast svg{ width:20px;height:20px; color:var(--brand); flex:none; }
/* toast errore: bordo/accent rosso, icona x-color */
.eedf-root .toast.toast--err{ background:var(--danger); }
.eedf-root .toast.toast--err svg{ color:#fff; }
.eedf-root .toast .toast-wa{ margin-left:8px; padding:6px 12px; border-radius:var(--r-pill); background:var(--wa); color:#fff; font-weight:800; font-size:13px; white-space:nowrap; flex:none; }

/* ===== Barra carrello sticky =====
   Fissa in basso, dentro .eedf-root. z-index 100005: SOPRA il contenuto ma SOTTO
   overlay(100010)/sheet(100011)/toast(100050), così non copre mai la X dei modali. */
.eedf-root .eedf-cartbar{
  position:fixed; z-index:1000005;
  left:50%; bottom:max(18px,calc(var(--safe-b) + 18px)); transform:translateX(-50%) translateY(120%);
  display:flex; align-items:center; gap:14px;
  min-height:58px; padding:9px 12px 9px 14px; border-radius:var(--r-pill);
  background:var(--brand); color:#fff; text-decoration:none; cursor:pointer;
  box-shadow:0 12px 32px rgba(11,179,140,.42), 0 2px 8px rgba(16,42,53,.18);
  max-width:calc(100vw - 28px); opacity:0; pointer-events:none;
  transition:transform .32s cubic-bezier(.2,.8,.2,1), opacity .24s ease, background .18s ease;
}
.eedf-root .eedf-cartbar.show{ opacity:1; transform:translateX(-50%) translateY(0); pointer-events:auto; }
.eedf-root .eedf-cartbar:hover{ background:var(--brand-dark); }
.eedf-root .eedf-cartbar.bump{ animation:eedfCartBump .42s cubic-bezier(.2,.7,.25,1); }
@keyframes eedfCartBump{ 0%{transform:translateX(-50%) translateY(0) scale(1)} 38%{transform:translateX(-50%) translateY(0) scale(1.06)} 100%{transform:translateX(-50%) translateY(0) scale(1)} }
.eedf-root .eedf-cartbar__ic{ position:relative; flex:none; width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.18); display:grid; place-items:center; }
.eedf-root .eedf-cartbar__ic svg{ width:22px; height:22px; }
.eedf-root .eedf-cartbar__count{
  position:absolute; top:-4px; right:-4px; min-width:20px; height:20px; padding:0 5px;
  border-radius:var(--r-pill); background:#fff; color:var(--brand-dark);
  font-size:12px; font-weight:800; line-height:20px; text-align:center; box-shadow:0 1px 3px rgba(16,42,53,.25);
}
.eedf-root .eedf-cartbar__txt{ display:flex; flex-direction:column; min-width:0; line-height:1.15; }
.eedf-root .eedf-cartbar__txt b{ font-size:15px; font-weight:800; white-space:nowrap; }
.eedf-root .eedf-cartbar__txt small{ font-size:12px; font-weight:700; color:rgba(255,255,255,.85); }
.eedf-root .eedf-cartbar__txt small:empty{ display:none; }
.eedf-root .eedf-cartbar__go{ display:inline-flex; align-items:center; gap:6px; flex:none; margin-left:4px;
  padding:9px 16px; border-radius:var(--r-pill); background:rgba(255,255,255,.16); font-weight:800; font-size:14px; }
.eedf-root .eedf-cartbar__go svg{ width:18px; height:18px; }
@media(max-width:720px){
  .eedf-root .eedf-cartbar{
    left:max(12px,var(--safe-l)); right:max(12px,var(--safe-r)); bottom:max(12px,var(--safe-b));
    transform:translateY(120%); max-width:none; border-radius:var(--r-lg);
  }
  .eedf-root .eedf-cartbar.show{ transform:translateY(0); }
  @keyframes eedfCartBump{ 0%{transform:translateY(0) scale(1)} 38%{transform:translateY(0) scale(1.04)} 100%{transform:translateY(0) scale(1)} }
}
@media(max-width:380px){
  .eedf-root .eedf-cartbar__go{ padding:9px 12px; }
}

/* Stati bottone "Aggiungi" (card + dettaglio) durante l'invio ottimistico */
.eedf-root .card__add.is-loading,
.eedf-root .cta--primary.is-loading{ opacity:.85; cursor:progress; }
.eedf-root .card__add.is-added,
.eedf-root .cta--primary.is-added{ background:var(--brand-dark); color:#fff; }

.eedf-root .footnote{ padding:30px 0 110px; color:var(--muted); font-size:12.5px; text-align:center; }
.eedf-root .footnote a{ color:var(--brand-dark); text-decoration:none; font-weight:700; }

.eedf-root #mobileCard{ display:none; }            

@media(max-width:720px){
  
  .eedf-root.mobile-shell #view-type.active, .eedf-root.mobile-shell #view-brand.active, .eedf-root.mobile-shell #view-model.active{ display:none !important; }
  
  .eedf-root.mobile-shell .stepper-wrap{ display:none; }

  .eedf-root #mobileCard{
    display:block;
    width:100%; max-width:560px; margin:16px auto 0;
    padding-inline:max(16px,var(--safe-l)) max(16px,var(--safe-r));
  }
  .eedf-root #mobileCard[hidden]{ display:none; }
  .eedf-root .mc{
    background:#fff; border:1px solid var(--border); border-radius:var(--r-lg);
    box-shadow:var(--sh-2); overflow:hidden;
  }
  .eedf-root .mc__head{ padding:18px 18px 14px; border-bottom:1px solid var(--border); }
  .eedf-root .mc__title{ margin:0; font-size:20px; font-weight:800; letter-spacing:-.02em; color:var(--navy); line-height:1.15; }
  .eedf-root .mc__reassure{ margin:6px 0 0; font-size:13px; font-weight:600; color:var(--muted); display:flex; align-items:center; gap:7px; }
  .eedf-root .mc__reassure svg{ width:15px; height:15px; color:var(--brand-dark); flex:none; }

  .eedf-root .mc__fast{ padding:14px 16px 8px; }
  .eedf-root .mc-fast-btn{
    width:100%; min-height:54px; display:flex; align-items:center; gap:11px;
    padding:0 14px; border-radius:var(--r); cursor:pointer; text-align:left;
    background:var(--brand-light); border:1.5px solid var(--brand); color:var(--navy);
    transition:.15s ease; font-family:var(--font);
  }
  .eedf-root .mc-fast-btn:hover, .eedf-root .mc-fast-btn:focus-visible{ background:#dbf5ec; }
  .eedf-root .mc-fast-btn .fic{ flex:none; color:var(--brand-dark); display:grid; place-items:center; }
  .eedf-root .mc-fast-btn .fic svg{ width:21px; height:21px; }
  .eedf-root .mc-fast-btn .ftxt{ flex:1; min-width:0; font-weight:700; font-size:16px; color:var(--navy); }
  .eedf-root .mc-fast-btn .fgo{ flex:none; color:var(--brand); display:grid; place-items:center; }
  .eedf-root .mc-fast-btn .fgo svg{ width:20px; height:20px; }
  .eedf-root .mc-fast-link{
    display:inline-flex; align-items:center; gap:6px; margin:8px 2px 0;
    background:none; border:0; padding:6px 2px; cursor:pointer;
    color:var(--brand-dark); font-weight:700; font-size:13px; text-decoration:underline; text-underline-offset:2px;
  }
  .eedf-root .mc-fast-link svg{ width:14px; height:14px; }

  .eedf-root .mc__div{ display:flex; align-items:center; gap:12px; padding:6px 18px 8px; }
  .eedf-root .mc__div::before, .eedf-root .mc__div::after{ content:""; flex:1; height:1px; background:var(--border); }
  .eedf-root .mc__div span{ font-size:12px; font-weight:700; letter-spacing:.04em; color:var(--muted); text-transform:lowercase; white-space:nowrap; }

  .eedf-root .mc__steps{ padding:4px 12px 16px; display:flex; flex-direction:column; gap:8px; }
  .eedf-root .mc-block{
    position:relative; width:100%; min-height:56px; display:flex; align-items:center; gap:13px;
    padding:11px 13px; border-radius:var(--r); cursor:pointer; text-align:left;
    background:#fff; border:1.5px solid var(--border-strong); color:var(--navy);
    transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
    font-family:var(--font);
  }
  .eedf-root .mc-block:hover:not(.is-disabled), .eedf-root .mc-block:focus-visible{ border-color:var(--brand); box-shadow:var(--sh-1); }
  .eedf-root .mc-block .b-num{
    flex:none; width:32px; height:32px; border-radius:50%; display:grid; place-items:center;
    background:var(--surface-2); color:var(--muted); font-weight:800; font-size:16px; font-variant-numeric:tabular-nums;
    transition:.2s ease;
  }
  .eedf-root .mc-block .b-photo{
    flex:none; width:40px; height:40px; border-radius:9px; background:var(--surface); border:1px solid var(--border);
    display:none; align-items:center; justify-content:center; overflow:hidden;
  }
  .eedf-root .mc-block .b-photo img{ max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; mix-blend-mode:multiply; }
  .eedf-root .mc-block .b-body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:1px; }
  .eedf-root .mc-block .b-label{ font-size:16px; font-weight:800; color:var(--navy); line-height:1.2; }
  .eedf-root .mc-block .b-value{ font-size:13.5px; font-weight:600; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .eedf-root .mc-block .b-hint{ display:none; font-size:12.5px; font-weight:600; color:var(--brand-dark); margin-top:2px; }
  .eedf-root .mc-block .b-go{ flex:none; color:var(--border-strong); display:grid; place-items:center; transition:color .15s ease; }
  .eedf-root .mc-block .b-go svg{ width:20px; height:20px; }
  .eedf-root .mc-block .b-lock{ flex:none; color:var(--muted); display:none; place-items:center; }
  .eedf-root .mc-block .b-lock svg{ width:17px; height:17px; }
  .eedf-root .mc-block:hover:not(.is-disabled) .b-go{ color:var(--brand); }

  .eedf-root .mc-block.is-done{ border-color:rgba(11,179,140,.5); background:var(--brand-light); }
  .eedf-root .mc-block.is-done .b-num{ background:var(--brand); color:#fff; }
  .eedf-root .mc-block.is-done .b-value{ color:var(--navy); }
  .eedf-root .mc-block.is-done .b-check{ display:grid; }
  .eedf-root .mc-block .b-check{ display:none; place-items:center; flex:none; width:24px; height:24px; border-radius:50%; background:var(--brand); color:#fff; }
  .eedf-root .mc-block .b-check svg{ width:15px; height:15px; }
  .eedf-root .mc-block.is-done .b-photo.has-photo{ display:flex; }
  .eedf-root .mc-block.is-done .b-num.hide-when-photo{ display:none; }

  .eedf-root .mc-block.is-disabled{ cursor:not-allowed; background:var(--surface); border-color:var(--border); }
  .eedf-root .mc-block.is-disabled .b-num{ opacity:.55; }
  .eedf-root .mc-block.is-disabled .b-label{ color:var(--muted-soft); opacity:.85; }
  .eedf-root .mc-block.is-disabled .b-value{ opacity:.9; }
  .eedf-root .mc-block.is-disabled .b-lock{ display:grid; }
  .eedf-root .mc-block.is-disabled .b-go{ display:none; }

  @keyframes mcPulse{
    0%{ box-shadow:0 0 0 0 rgba(11,179,140,.55); }
    70%{ box-shadow:0 0 0 10px rgba(11,179,140,0); }
    100%{ box-shadow:0 0 0 0 rgba(11,179,140,0); }
  }
  .eedf-root .mc-block.mc-attn{ border-color:var(--brand); animation:mcPulse 1.1s ease-out 2; }

  .eedf-root .mc-block.show-hint .b-hint{ display:block; }

  .eedf-root .mc-cta{
    width:calc(100% - 24px); margin:0 12px 16px; min-height:54px;
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    padding:0 18px; border:0; border-radius:var(--r); cursor:pointer; font-family:var(--font);
    background:var(--brand); color:#fff; font-weight:800; font-size:16px; letter-spacing:-.01em;
    box-shadow:0 8px 20px rgba(11,179,140,.3); transition:.18s ease;
  }
  .eedf-root .mc-cta:hover, .eedf-root .mc-cta:focus-visible{ background:var(--brand-dark); transform:translateY(-1px); }
  .eedf-root .mc-cta svg{ width:20px; height:20px; flex:none; }
  .eedf-root .mc-cta[hidden]{ display:none; }
}

@media(max-width:720px){
  
  .eedf-root .step-sheet .sheet__body .back-btn{ display:none; }
  .eedf-root .step-sheet .sheet__body .view-head{ margin-bottom:14px; }
  .eedf-root .step-sheet .sheet__body .view-head .eyebrow{ display:none; }
  .eedf-root .step-sheet .sheet__body .view-head h1, .eedf-root .step-sheet .sheet__body .view-head h2{ display:none; }
  .eedf-root .step-sheet .sheet__body .wrap{ padding:0 !important; max-width:none; }
  
  .eedf-root .step-sheet .sheet__body .letter-head{ top:0; }
  .eedf-root .step-sheet .sheet__body .stepper-wrap{ display:none; }

  .eedf-root #modelSheetHelp{ margin-bottom:6px; }
  .eedf-root #modelSheetHelp .targhetta-img{ max-height:240px; object-fit:contain; }
  
  .eedf-root #modelSheet .sheet__body .model-search-card .helper-link{ display:none; }
  .eedf-root #modelSheetWa{ margin-top:16px; }
}

.eedf-root .mres-bar{ display:none; }
@media(max-width:720px){
  .eedf-root.mobile-shell #view-results.active{
    position:fixed; inset:0; z-index:999999;
    background:var(--bg); overflow-y:auto; -webkit-overflow-scrolling:touch;
    padding-top:calc(var(--safe-t) + 56px);  
    animation:none;
  }
  .eedf-root.mobile-shell #view-results.active .crumb, .eedf-root.mobile-shell #view-results.active .context-chips{ display:none; }  
  
  .eedf-root.mobile-shell #view-results.active .toolbar{
    position:static;
  }
  
  .eedf-root.mobile-shell #view-results.active .mres-bar{
    display:flex; align-items:center; gap:8px;
    position:fixed; top:0; left:0; right:0; z-index:1000000;
    height:calc(56px + var(--safe-t)); padding:var(--safe-t) 8px 0;
    padding-left:max(8px,var(--safe-l)); padding-right:max(8px,var(--safe-r));
    background:#fff;
    border-bottom:1px solid var(--border);
  }
  .eedf-root .mres-bar__btn{
    flex:none; min-width:44px; height:44px; padding:0 12px; border-radius:var(--r);
    border:1px solid var(--border); background:#fff; color:var(--navy);
    font-weight:700; font-size:14px; cursor:pointer; display:inline-flex; align-items:center; gap:6px;
  }
  .eedf-root .mres-bar__btn:hover{ border-color:var(--brand); color:var(--brand-dark); }
  .eedf-root .mres-bar__btn svg{ width:18px; height:18px; flex:none; }
  .eedf-root .mres-bar__btn--icon{ padding:0; width:44px; justify-content:center; }
  .eedf-root .mres-bar__title{
    flex:1; min-width:0; text-align:center; font-weight:800; font-size:14.5px; color:var(--navy);
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  }
}

@media (prefers-reduced-motion: reduce){
  .eedf-root *, .eedf-root *::before, .eedf-root *::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  .eedf-root .reveal, .eedf-root .stagger>*{ opacity:1 !important; transform:none !important; }
  .eedf-root .sheet{ transition:none; }
  .eedf-root .mc-block.mc-attn{ animation:none; border-color:var(--brand); box-shadow:var(--ring); }
}

.eedf-root .stepper-wrap{ position:static !important; top:auto !important; }
.eedf-root .letter-head{ position:static !important; top:auto !important; }

.eedf-root #app{ padding-top:4px; }

.home-entry,.hero-trust{display:none;}
