/* EGOMED CONFIGURATORE v3.4 — Geist Theme */
.ecfg,.ecfg *,.ecfg *::before,.ecfg *::after{margin:0;padding:0;box-sizing:border-box}
.ecfg{
  --ecfg-accent:#6AB42E;
  --ecfg-bg:#FAFAF8;--ecfg-bg-alt:#F5F4F0;--ecfg-border:#E8E6E1;--ecfg-border-hover:#CBC9C3;
  --ecfg-dark:#1a1a1a;--ecfg-text:#2B2B2B;--ecfg-muted:#888;--ecfg-subtle:#B0ADA6;--ecfg-warm:#7A776E;
  --ecfg-headline:var(--ecfg-dark);
  --ecfg-body:#666;
  font-family:'Geist',sans-serif;font-weight:normal;font-size:18px;line-height:1.4;letter-spacing:0;
  background:var(--ecfg-bg);color:var(--ecfg-body);
}

/* ── Benefits bar — H6 style: 14px/600/1.3/0/uppercase ── */
.ecfg-top{display:flex;align-items:center;justify-content:center;gap:16px;padding:8px 16px;background:var(--ecfg-bg-alt);border-bottom:1px solid var(--ecfg-border);font-family:'Geist',sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:0;color:var(--ecfg-warm);flex-wrap:wrap;line-height:1.3}
.ecfg-top span{display:flex;align-items:center;gap:5px}
.ecfg-top svg{color:var(--ecfg-warm);flex-shrink:0}

/* ── Layout ── */
.ecfg-wrap{display:grid;grid-template-columns:1fr 1fr;align-items:start}

/* ── Left — full screen preview ── */
.ecfg-left{display:flex;flex-direction:column;background:var(--ecfg-bg-alt);overflow:hidden;position:sticky;top:0;height:100vh;max-height:100vh}
.ecfg-left-inner{flex:1;display:flex;align-items:center;justify-content:center;padding:0;position:relative;overflow:hidden}
.ecfg-img{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.ecfg-img img{display:block;width:100%;height:100%;object-fit:contain}
.ecfg-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px;opacity:.45}
.ecfg-placeholder span{font-size:14px;color:var(--ecfg-subtle);font-weight:normal}

/* ── Right sidebar ── */
.ecfg-right{padding:20px 28px 28px}
.ecfg-header{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--ecfg-border)}
/* Title — H3: Geist 600, 32px, 1.2 LH, -0.03em LS */
.ecfg-title{font-family:'Geist',sans-serif;font-size:32px;font-weight:600;color:var(--ecfg-headline);line-height:1.2;letter-spacing:-0.03em;margin-bottom:6px}
/* Subtitle — H5: Geist 600, 18px, 1.3 LH, 0 LS */
.ecfg-psub{font-family:'Geist',sans-serif;font-weight:600;font-size:18px;color:var(--ecfg-muted);line-height:1.3;letter-spacing:0}
/* Description — Body: Geist normal, 18px, 1.4 LH */
.ecfg-pdesc{font-family:'Geist',sans-serif;font-size:18px;font-weight:normal;color:var(--ecfg-body);line-height:1.4;letter-spacing:0;margin-bottom:8px}
/* Specs — Body smaller */
.ecfg-pspecs{font-family:'Geist',sans-serif;font-size:16px;font-weight:normal;color:var(--ecfg-body);line-height:1.4;letter-spacing:0}

/* ── Sections ── */
.ecfg-sec{padding:12px 0 14px;border-bottom:1px solid #EEEDEA}
.ecfg-sec:last-of-type{border-bottom:none;padding-bottom:8px}
/* Section headings — H4: Geist 600, 20px, 1.2 LH, -0.03em LS */
.ecfg-sh{font-family:'Geist',sans-serif;font-size:20px;font-weight:600;margin-bottom:4px;color:var(--ecfg-headline);line-height:1.2;letter-spacing:-0.03em}
/* Section description — Body: 18px */
.ecfg-ss{font-family:'Geist',sans-serif;font-size:18px;font-weight:normal;color:var(--ecfg-muted);margin-bottom:12px;line-height:1.4;letter-spacing:0}
.ecfg-snote{font-family:'Geist',sans-serif;font-size:14px;font-weight:normal;color:#B55;background:#FEF6F4;padding:8px 12px;border-radius:8px;margin-bottom:14px;line-height:1.4;border:1px solid #F3DDD8}

/* ══════════════════════════════════════════════════════
   MODELS — MINI CARD GRID — ICON ON TOP (same as opt)
   ══════════════════════════════════════════════════════ */
.ecfg-models{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(110px,1fr));
  gap:8px;
}
.ecfg-modcard{
  display:flex;flex-direction:column;
  border:2px solid var(--ecfg-border);border-radius:12px;
  cursor:pointer;transition:all .2s ease;background:#fff;
  text-align:center;position:relative;overflow:hidden;
}
.ecfg-modcard:hover{border-color:var(--ecfg-border-hover);background:#FDFCFA}
.ecfg-modcard.on{border-color:var(--ecfg-accent);background:#F0F8E8}
.ecfg-modcard-badge{
  position:absolute;top:8px;left:8px;
  background:var(--ecfg-accent);color:#fff;font-family:'Geist',sans-serif;font-size:10px;font-weight:600;
  padding:2px 8px;border-radius:20px;z-index:2;letter-spacing:0;line-height:1.3;
}
.ecfg-modcard-check{
  position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:50%;
  border:2px solid rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;
  color:transparent;transition:all .2s ease;background:rgba(255,255,255,.5);backdrop-filter:blur(4px);z-index:2;
}
.ecfg-modcard.on .ecfg-modcard-check{background:var(--ecfg-accent);border-color:var(--ecfg-accent);color:#fff}
.ecfg-modcard-img{
  width:100%;aspect-ratio:1/1;overflow:hidden;background:#fff;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.ecfg-modcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.ecfg-modcard:hover .ecfg-modcard-img img{transform:scale(1.03)}
.ecfg-modcard-placeholder{opacity:.35}
/* Card name — H6: Geist 600, 14px, 1.3, 0 */
.ecfg-modcard-name{font-family:'Geist',sans-serif;font-size:13px;font-weight:600;color:var(--ecfg-headline);line-height:1.3;letter-spacing:0;padding:6px 6px 0}
.ecfg-modcard-sub{font-family:'Geist',sans-serif;font-size:12px;font-weight:normal;color:var(--ecfg-muted);padding:2px 8px 0;line-height:1.3;letter-spacing:0}
.ecfg-modcard-price{font-size:13px;font-weight:600;color:var(--ecfg-accent);padding:6px 8px 12px;margin-top:auto}
.ecfg-help{display:inline-flex;align-items:center;gap:7px;margin-top:14px;padding:8px 18px;border:1px solid var(--ecfg-border);border-radius:40px;font-family:'Geist',sans-serif;font-size:14px;font-weight:normal;color:var(--ecfg-body);cursor:pointer;transition:all .2s ease;background:transparent;text-decoration:none;letter-spacing:0}
.ecfg-help:hover{border-color:var(--ecfg-accent);color:var(--ecfg-accent)}

/* ══════════════════════════════════════════
   COLORS — MINI CARD GRID with swatch
   ══════════════════════════════════════════ */
.ecfg-colors{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(100px,1fr));
  gap:8px;
}
.ecfg-colcard{
  display:flex;flex-direction:column;align-items:center;
  border:2px solid var(--ecfg-border);border-radius:12px;
  cursor:pointer;transition:all .2s ease;background:#fff;
  text-align:center;position:relative;overflow:hidden;
}
.ecfg-colcard:hover{border-color:var(--ecfg-border-hover);background:#FDFCFA}
.ecfg-colcard.on{border-color:var(--ecfg-accent);background:#F0F8E8}
.ecfg-colcard-check{
  position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:50%;
  border:2px solid rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;
  color:transparent;transition:all .2s ease;background:rgba(255,255,255,.5);backdrop-filter:blur(4px);z-index:2;
}
.ecfg-colcard.on .ecfg-colcard-check{background:var(--ecfg-accent);border-color:var(--ecfg-accent);color:#fff}
.ecfg-colcard-swatch{
  width:100%;aspect-ratio:1/1;overflow:hidden;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.ecfg-colcard-swatch img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.ecfg-colcard:hover .ecfg-colcard-swatch img{transform:scale(1.05)}
.ecfg-colcard-fill{width:100%;height:100%}
.ecfg-colcard-name{font-family:'Geist',sans-serif;font-size:13px;font-weight:600;color:var(--ecfg-headline);line-height:1.3;letter-spacing:0;padding:8px 6px 10px}
.ecfg-colcard-price{font-family:'Geist',sans-serif;font-size:13px;font-weight:600;color:var(--ecfg-accent);padding:4px 6px 10px;margin-top:auto}
.ecfg-colcard-price:empty{display:none}

/* ══════════════════════════════════════════
   DI SERIE — card grid (same as optionals)
   ══════════════════════════════════════════ */
.ecfg-subsec{margin-bottom:4px}
/* DI SERIE heading — H6: Geist 600, 14px, 1.3, 0, uppercase */
.ecfg-sh-sub{
  font-family:'Geist',sans-serif;font-size:14px;font-weight:600;letter-spacing:0;text-transform:uppercase;
  color:var(--ecfg-warm);margin-bottom:14px;padding-bottom:8px;line-height:1.3;
  border-bottom:1px solid var(--ecfg-border);
}
.ecfg-diserie{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(130px,1fr));
  gap:8px;
  margin-bottom:28px;
}
.ecfg-optcard-serie{cursor:default;opacity:.85}
.ecfg-optcard-serie:hover{border-color:var(--ecfg-border);background:#fff}

/* ══════════════════════════════════════════
   OPTIONAL — MINI CARD GRID — ICON ON TOP
   ══════════════════════════════════════════ */
.ecfg-opts{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(130px,1fr));
  gap:8px;
}
.ecfg-optcard{
  display:flex;flex-direction:column;
  border:2px solid var(--ecfg-border);border-radius:12px;
  cursor:pointer;transition:all .2s ease;background:#fff;
  text-align:center;position:relative;overflow:hidden;
}
.ecfg-optcard:hover{border-color:var(--ecfg-border-hover);background:#FDFCFA}
.ecfg-optcard.on{border-color:var(--ecfg-accent);background:#F0F8E8}
.ecfg-optcard-check{
  position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:50%;
  border:2px solid rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;
  color:transparent;transition:all .2s ease;background:rgba(255,255,255,.5);backdrop-filter:blur(4px);z-index:2;
}
.ecfg-optcard.on .ecfg-optcard-check{background:var(--ecfg-accent);border-color:var(--ecfg-accent);color:#fff}
.ecfg-optcard-img{
  width:100%;aspect-ratio:1/1;overflow:hidden;background:#fff;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.ecfg-optcard-img img{width:100%;height:100%;object-fit:cover;transition:filter .2s ease,transform .2s ease}
.ecfg-optcard:hover .ecfg-optcard-img img{transform:scale(1.03)}
.ecfg-optcard.on .ecfg-optcard-img img{filter:none}
.ecfg-optcard-placeholder{opacity:.25}
.ecfg-optcard-name{
  
  font-family:'Geist',sans-serif;font-size:13px;font-weight:600;color:var(--ecfg-headline);line-height:1.3;letter-spacing:0;padding:10px 8px 0;
  
}
.ecfg-optcard-desc{font-family:'Geist',sans-serif;font-size:11px;font-weight:normal;color:var(--ecfg-muted);line-height:1.4;letter-spacing:0;padding:2px 8px 6px}
.ecfg-optcard-price{font-size:13px;font-weight:600;color:var(--ecfg-accent);padding:6px 8px 12px;margin-top:auto}

/* ═══════════════════════════════════════════════════
   FOOTER DESKTOP / TABLET — inline after optionals
   ═══════════════════════════════════════════════════ */
.ecfg-foot-desk{
  background:#111;color:#fff;
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 28px;
  border-radius:14px;
  margin-top:24px;
}
.ecfg-fdk-left{display:flex;align-items:center;gap:16px}
.ecfg-fdk-prices{display:flex;flex-direction:column;gap:2px}
.ecfg-fdk-row1{display:flex;align-items:baseline;gap:10px}
.ecfg-fdk-total{font-size:24px;font-weight:600;letter-spacing:-.02em}
.ecfg-fdk-old{font-size:16px;font-weight:normal;color:#777;text-decoration:line-through}
.ecfg-fdk-badge{
  display:inline-block;background:#D4C8B0;color:#111;
  font-size:11px;font-weight:600;padding:3px 10px;border-radius:4px;letter-spacing:.02em;
}
.ecfg-fdk-desc{font-family:'Geist',sans-serif;font-size:14px;font-weight:normal;color:#999;letter-spacing:0}

.ecfg-fdk-right{display:flex;flex-direction:row;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.ecfg-fdk-btn{
  display:inline-block;background:#fff;color:#111;
  border:none;padding:14px 40px;border-radius:50px;
  font-family:'Geist',sans-serif;font-size:18px;font-weight:600;
  cursor:pointer;transition:all .2s ease;text-decoration:none;text-align:center;
  letter-spacing:0;line-height:1.3;
}
.ecfg-fdk-btn:hover{background:#f0f0f0;transform:translateY(-1px)}
.ecfg-fdk-btn-info{background:transparent;border:1.5px solid #fff;color:#fff;padding:12px 30px;font-size:14px;font-weight:600}
.ecfg-fdk-btn-info:hover{background:rgba(255,255,255,.15)}
.ecfg-fdk-ship{font-family:'Geist',sans-serif;font-size:13px;font-weight:normal;color:#888;letter-spacing:0;width:100%;text-align:right}

/* ═══════════════════════════════
   FOOTER MOBILE — compact bar
   ═══════════════════════════════ */
.ecfg-foot-mob{
  display:none; /* hidden on desktop */
  position:fixed;bottom:0;left:0;right:0;z-index:100;
  background:#111;color:#fff;
  align-items:center;justify-content:space-between;
  padding:12px 16px;
}
.ecfg-fm-left{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}
.ecfg-fm-desc{font-family:'Geist',sans-serif;font-size:13px;font-weight:normal;color:#999;letter-spacing:0}
.ecfg-fm-btns{display:flex;gap:8px;flex-shrink:0}
.ecfg-fm-btn{
  display:inline-block;background:#fff;color:#111;border:none;
  padding:10px 18px;border-radius:50px;
  font-family:'Geist',sans-serif;font-size:14px;font-weight:600;
  cursor:pointer;text-decoration:none;text-align:center;flex-shrink:0;white-space:nowrap;
  letter-spacing:0;line-height:1.3;
}
.ecfg-fm-btn-info{background:transparent;border:1.5px solid #fff;color:#fff;padding:9px 14px;font-size:13px;font-weight:600}

/* ── Responsive: show/hide footers ── */
@media(max-width:1024px){
  .ecfg-wrap{grid-template-columns:1fr;height:auto;min-height:0}
  .ecfg-left{position:relative;height:auto}
  .ecfg-right{padding:24px 20px 30px}
  .ecfg-models{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
  .ecfg-opts{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
  .ecfg-steps{padding:0 12px 16px}
  .ecfg-step{padding:7px 10px;font-size:10.5px}
  .ecfg-foot-desk{padding:16px 20px}
  .ecfg-fdk-total{font-size:20px}
  .ecfg-fdk-btn{padding:12px 28px;font-size:14px}
  /* Posizioni: scroll orizzontale */
  .ecfg-positions{
    display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;
    gap:10px;padding-bottom:8px;margin:0 -20px;padding-left:20px;padding-right:20px;
    scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .ecfg-positions::-webkit-scrollbar{display:none}
  .ecfg-poscard{flex:0 0 160px;scroll-snap-align:start}
}
@media(max-width:600px){
  .ecfg-top{gap:12px;padding:8px 14px;font-size:10px}
  .ecfg-right{padding:20px 16px 100px}
  .ecfg-title{font-size:22px}
  .ecfg-price-top{font-size:18px}
  .ecfg-opts{grid-template-columns:repeat(3,1fr);gap:8px}
  .ecfg-optcard-img{aspect-ratio:1/1}
  .ecfg-optcard-name{
  font-size:10px;padding:8px 6px 0}
  .ecfg-optcard-price{font-size:11px;padding:4px 6px 10px}
  .ecfg-colors{grid-template-columns:repeat(3,1fr);gap:8px}
  .ecfg-positions{margin:0 -16px;padding-left:16px;padding-right:16px}
  .ecfg-poscard{flex:0 0 140px}
  /* Switch footers */
  .ecfg-foot-desk{display:none!important}
  .ecfg-foot-mob{display:flex!important}
}

/* ══════════════════════════════════════════
   POPUP PREVENTIVO
   ══════════════════════════════════════════ */
.ecfg-popup-overlay{
  position:fixed;top:0;left:0;right:0;bottom:0;
  background:rgba(0,0,0,.55);z-index:99999;
  display:flex;align-items:center;justify-content:center;
  padding:20px;backdrop-filter:blur(3px);
}
.ecfg-popup{
  background:#fff;border-radius:16px;max-width:560px;width:100%;
  max-height:90vh;overflow-y:auto;padding:32px;position:relative;
  box-shadow:0 20px 60px rgba(0,0,0,.25);font-family:'Geist',sans-serif;
}
.ecfg-popup-close{
  position:absolute;top:12px;right:16px;background:none;border:none;
  font-size:28px;color:#999;cursor:pointer;line-height:1;padding:4px;
}
.ecfg-popup-close:hover{color:#333}
.ecfg-popup-intro{font-family:'Geist',sans-serif;font-size:16px;font-weight:normal;color:var(--ecfg-body);margin:-8px 0 16px;line-height:1.4;letter-spacing:0}
.ecfg-popup-title{font-family:'Geist',sans-serif;font-size:20px;font-weight:600;color:var(--ecfg-dark,#1a1a1a);margin:0 0 16px;line-height:1.2;letter-spacing:-0.03em}
.ecfg-popup-summary{margin-bottom:20px}
.ecfg-popup-tbl{width:100%;border-collapse:collapse;font-family:'Geist',sans-serif;font-size:14px}
.ecfg-popup-tbl td{padding:6px 10px;border-bottom:1px solid #f0f0f0;color:var(--ecfg-body)}
.ecfg-popup-tbl td:first-child{width:110px;color:var(--ecfg-muted);white-space:nowrap}
.ecfg-popup-tbl td strong{font-weight:600;color:var(--ecfg-warm)}
.ecfg-popup-err{
  background:#FFF3F3;color:#c62828;padding:10px 14px;border-radius:8px;
  font-family:'Geist',sans-serif;font-size:14px;font-weight:normal;margin-bottom:14px;line-height:1.4;
}
.ecfg-popup-form{}
.ecfg-popup-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.ecfg-popup-field{display:flex;flex-direction:column;gap:4px}
.ecfg-popup-field label{font-family:'Geist',sans-serif;font-size:14px;font-weight:600;color:var(--ecfg-warm);letter-spacing:0;line-height:1.3}
.ecfg-popup-field input,
.ecfg-popup-field textarea{
  border:1.5px solid #ddd;border-radius:8px;padding:10px 12px;
  font-size:16px;font-family:'Geist',sans-serif;font-weight:normal;transition:border-color .2s;
  background:#FAFAFA;line-height:1.4;letter-spacing:0;
}
.ecfg-popup-field input:focus,
.ecfg-popup-field textarea:focus{border-color:var(--ecfg-accent,#6AB42E);outline:none;background:#fff}
.ecfg-popup-full{grid-column:1/-1}
.ecfg-popup-send{
  display:block;width:100%;margin-top:16px;padding:14px;
  background:var(--ecfg-dark,#1a1a1a);color:#fff;border:none;border-radius:10px;
  font-family:'Geist',sans-serif;font-size:18px;font-weight:600;cursor:pointer;transition:opacity .2s;
  line-height:1.3;letter-spacing:0;
}
.ecfg-popup-send:hover{opacity:.85}
.ecfg-popup-send:disabled{opacity:.5;cursor:wait}
.ecfg-popup-ok{
  display:flex;flex-direction:column;align-items:center;gap:16px;
  text-align:center;padding:20px 0;
}
.ecfg-popup-ok p{font-family:'Geist',sans-serif;font-size:18px;font-weight:normal;color:var(--ecfg-body);line-height:1.4;letter-spacing:0;margin:0}
.ecfg-popup-close-btn{
  background:none;border:1.5px solid #ddd;border-radius:8px;
  padding:10px 32px;font-family:'Geist',sans-serif;font-size:16px;font-weight:600;cursor:pointer;color:var(--ecfg-warm);
  transition:all .2s;letter-spacing:0;
}
.ecfg-popup-close-btn:hover{border-color:#999;color:#333}
@media(max-width:500px){
  .ecfg-popup{padding:24px 18px;border-radius:12px}
  .ecfg-popup-row{grid-template-columns:1fr}
  .ecfg-popup-intro{font-size:13px;color:#666;margin:-8px 0 16px;line-height:1.5}
.ecfg-popup-title{font-size:18px}
}

/* ═══ POSIZIONI DISPONIBILI ═══ */
.ecfg-positions{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:10px;
}
.ecfg-poscard{
  border:2px solid var(--ecfg-border);border-radius:10px;
  text-align:center;position:relative;overflow:hidden;
  background:#fff;padding-bottom:10px;
  cursor:pointer;transition:all .2s ease;
}
.ecfg-poscard:hover{border-color:var(--ecfg-border-hover);background:#FDFCFA}
.ecfg-poscard.on{border-color:var(--ecfg-accent);background:#F0F8E8}
.ecfg-poscard-img{
  width:100%;aspect-ratio:4/3;overflow:hidden;background:#fff;
  display:flex;align-items:center;justify-content:center;
}
.ecfg-poscard-img img{width:100%;height:100%;object-fit:contain;padding:8px}
.ecfg-poscard-play{background:#F5F4F0;color:var(--ecfg-accent);transition:all .2s ease}
.ecfg-poscard-video:hover .ecfg-poscard-play{background:var(--ecfg-accent);color:#fff}
.ecfg-poscard-video.on .ecfg-poscard-play{background:var(--ecfg-accent);color:#fff}
.ecfg-poscard-name{
  font-family:'Geist',sans-serif;font-size:14px;font-weight:600;
  color:var(--ecfg-headline);line-height:1.3;padding:8px 8px 2px;
}
.ecfg-poscard-desc{
  font-family:'Geist',sans-serif;font-size:11px;font-weight:normal;
  color:var(--ecfg-muted);line-height:1.4;padding:0 8px 4px;
}
.ecfg-video{border-radius:0;background:#000}

/* ═══ SWIPER LEFT PANEL ═══ */
.ecfg-swiper{position:relative;width:100%;height:100%;overflow:hidden;display:block}
.ecfg-slide{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.ecfg-slide-product{padding:0}
.ecfg-slide-product .ecfg-img{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.ecfg-slide-product .ecfg-img img{width:100%;height:100%;object-fit:contain}
.ecfg-slide-position img{width:100%;height:100%;object-fit:contain}
.ecfg-slide-gallery img{width:100%;height:100%;object-fit:contain}
.ecfg-slide-video{background:#000}
.ecfg-slide-video video{width:100%;height:100%;object-fit:contain;background:#000}
.ecfg-slide-cap{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.7);color:#fff;padding:6px 14px;border-radius:50px;font-size:13px;font-weight:500;letter-spacing:0;backdrop-filter:blur(8px);pointer-events:none}
.ecfg-swiper-dots{position:absolute;bottom:14px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:6px;z-index:5}
.ecfg-swiper-dot{width:8px;height:8px;border-radius:50%;background:rgba(0,0,0,.25);cursor:pointer;transition:all .25s;border:none;padding:0}
.ecfg-swiper-dot.on{background:var(--ecfg-accent);width:24px;border-radius:50px}
.ecfg-swiper-arrows{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;padding:0 14px;pointer-events:none;z-index:5}
.ecfg-swiper-arrow{pointer-events:auto;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.9);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#1a1a1a;box-shadow:0 2px 10px rgba(0,0,0,.12);transition:all .2s}
.ecfg-swiper-arrow:hover{background:#fff;color:var(--ecfg-accent);transform:scale(1.06)}
.ecfg-swiper-arrow:disabled{opacity:0;pointer-events:none}

/* Mobile gallery CSS is injected inline in the configurator widget render
   (scoped by widget #id) to guarantee it stays in sync with the inline JS
   and is never served from a stale cached stylesheet. */

/* ═══ CARATTERISTICHE POLTRONA MASSAGGIANTE (nel pannello destro) ═══ */
.ecfg-features{margin:36px 0 0;padding:32px 0 4px;border-top:1px solid var(--ecfg-border);font-family:'Geist',-apple-system,sans-serif}
.ecfg-features-eyebrow{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#6AB42E;text-align:left;margin-bottom:28px}
.ecfg-feat{display:flex;flex-direction:column;margin-bottom:36px}
.ecfg-feat-media{order:-1;margin-bottom:16px;border-radius:14px;overflow:hidden;background:var(--ecfg-bg-alt,#f5f4f0)}
.ecfg-feat-media img{display:block;width:100%;height:auto;object-fit:cover}
.ecfg-feat-h2{font-size:22px;font-weight:600;line-height:1.25;letter-spacing:-.01em;color:var(--ecfg-headline,#1a1a1a);margin:0 0 12px}
.ecfg-feat-h3{font-size:16px;font-weight:600;color:#6AB42E;margin:0 0 10px;line-height:1.3}
.ecfg-feat-p{font-size:15px;line-height:1.65;color:var(--ecfg-muted,#555);margin:0 0 12px}
.ecfg-feat-list{margin:12px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.ecfg-feat-list li{position:relative;padding-left:26px;font-size:14px;line-height:1.5;color:var(--ecfg-muted,#555)}
.ecfg-feat-list li::before{content:'';position:absolute;left:0;top:6px;width:16px;height:16px;border-radius:50%;background:var(--ecfg-accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M5 12l4 4L19 7'/%3E%3C/svg%3E") center/11px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M5 12l4 4L19 7'/%3E%3C/svg%3E") center/11px no-repeat}


/* ═══ SELETTORE IVA / AGEVOLAZIONE 4% ═══ */
.ecfg-vat{margin:20px 0 4px;padding-top:18px;border-top:1px solid var(--ecfg-border)}
.ecfg-vat-label{font-family:'Geist',sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ecfg-warm);margin-bottom:10px}
.ecfg-vat-btns{display:flex;gap:10px;flex-wrap:wrap}
.ecfg-vat-btn{flex:1 1 auto;min-width:130px;padding:12px 16px;border:1.5px solid var(--ecfg-border);border-radius:12px;background:#fff;font-family:'Geist',sans-serif;font-size:14px;font-weight:600;color:var(--ecfg-text);cursor:pointer;transition:all .2s}
.ecfg-vat-btn:hover{border-color:var(--ecfg-accent)}
.ecfg-vat-btn.on{border-color:var(--ecfg-accent);background:#F0F8E8;color:var(--ecfg-accent)}
.ecfg-vat-hint{font-size:12px;line-height:1.5;color:var(--ecfg-muted);margin-top:10px}
.ecfg-vat-filehint{display:block;font-size:12px;color:var(--ecfg-muted);margin-top:6px}
.ecfg-popup-form input[type=file]{width:100%;font-family:'Geist',sans-serif;font-size:14px;padding:10px;border:1.5px dashed var(--ecfg-border);border-radius:10px;background:var(--ecfg-bg-alt);cursor:pointer}

/* ═══ v4.5.0 — IVA prices (footer) + modulo IVA 4% inline ═══ */
.ecfg-fdk-price{display:flex;flex-direction:column;gap:1px;margin-right:8px}
.ecfg-fdk-price .ecfg-price-val{font-size:26px;font-weight:700;letter-spacing:-.02em;color:#fff;line-height:1.1}
.ecfg-fdk-price .ecfg-price-vat{font-size:12px;font-weight:500;color:#9CCB6E}
.ecfg-fm-price{font-size:18px;font-weight:700;color:#fff;letter-spacing:-.01em;line-height:1.15}

.ecfg-vat-module{margin-top:14px;padding:16px;border:1px solid var(--ecfg-border);border-radius:12px;background:#FAFAF8}
.ecfg-vat-module .ecfg-vat-hint{margin-top:0;margin-bottom:12px}
.ecfg-vat-dl{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;background:var(--ecfg-accent);color:#fff;font-family:'Geist',sans-serif;font-size:14px;font-weight:600;text-decoration:none;transition:filter .2s;margin-bottom:14px}
.ecfg-vat-dl:hover{filter:brightness(.94)}
.ecfg-vat-dl svg{flex-shrink:0}
.ecfg-vat-uplabel{display:block;font-family:'Geist',sans-serif;font-size:13px;font-weight:600;color:var(--ecfg-text);margin-bottom:6px}
.ecfg-vat-upload{display:block;width:100%;box-sizing:border-box;font-family:'Geist',sans-serif;font-size:13px;color:var(--ecfg-text);padding:9px;border:1px dashed var(--ecfg-border);border-radius:10px;background:#fff;cursor:pointer}
.ecfg-vat-upload::file-selector-button{margin-right:12px;padding:7px 14px;border:none;border-radius:8px;background:var(--ecfg-accent);color:#fff;font-family:'Geist',sans-serif;font-size:13px;font-weight:600;cursor:pointer}

/* ═══ v4.5.2 — forza l'accento sul VERDE brand (vince sull'azzurro salvato in Elementor) ═══ */
.ecfg.ecfg.ecfg{--ecfg-accent:#6AB42E !important}
/* Bottoni modulo IVA 4% sempre verdi (carica + scarica) */
.ecfg .ecfg-vat-dl{background:#6AB42E !important;color:#fff !important}
.ecfg .ecfg-vat-upload::file-selector-button{background:#6AB42E !important;color:#fff !important}
.ecfg .ecfg-vat-upload::-webkit-file-upload-button{background:#6AB42E !important;color:#fff !important;border:none;border-radius:8px;padding:7px 14px;font-family:'Geist',sans-serif;font-weight:600;cursor:pointer;margin-right:12px}
/* Bordi e check delle card selezionate sempre verdi */
.ecfg .ecfg-modcard.on,.ecfg .ecfg-colcard.on,.ecfg .ecfg-optcard.on{border-color:#6AB42E !important}
.ecfg .ecfg-modcard.on .ecfg-modcard-check,.ecfg .ecfg-colcard.on .ecfg-colcard-check,.ecfg .ecfg-optcard.on .ecfg-optcard-check{background:#6AB42E !important;border-color:#6AB42E !important;color:#fff !important}
/* Badge (es. "Più venduta") verde */
.ecfg .ecfg-modcard-badge{background:#6AB42E !important;color:#fff !important}

/* ═══ v4.5.8 — Caratteristiche versione selezionata (sotto i bottoni) ═══ */
.ecfg-mfeats{margin:14px 0 4px}
.ecfg-mfeat-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.ecfg-mfeat-list li{position:relative;padding-left:24px;font-family:'Geist',sans-serif;font-size:14px;line-height:1.45;color:var(--ecfg-text,#2b2b2b)}
.ecfg-mfeat-list li::before{content:"";position:absolute;left:0;top:7px;width:14px;height:14px;border-radius:50%;background:#6AB42E;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'><path d='M2.5 7L5.5 10L11.5 4' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/12px no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'><path d='M2.5 7L5.5 10L11.5 4' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/12px no-repeat}
