
/* ---------- scoped styles: only affect .ea-configurator ---------- */
.ea-configurator{
  --ea-panel:#fbfcfe;
  --ea-border:#e4e8ef;
  --ea-border-hi:#c9d2de;
  --ea-text:#131a24;
  --ea-muted:#5d6a7d;
  --ea-accent:#76b900;
  --ea-accent-text:#4d8000;
  --ea-accent-soft:rgba(118,185,0,.10);
  --ea-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
  --ea-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  box-sizing:border-box;
  font-family:var(--ea-sans);
  color:var(--ea-text);
  background:#fff;
  border:1px solid var(--ea-border);
  border-radius:14px;
  overflow:hidden;
  max-width:1080px;
  margin:0 auto;
  position:relative;
}
.ea-configurator *,
.ea-configurator *::before,
.ea-configurator *::after{box-sizing:border-box}

.ea-configurator .ea-topbar{
  background:#fff;
  border-bottom:1px solid var(--ea-border);
  padding:14px 24px;
}
.ea-configurator .ea-topbar-inner{
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;
}
.ea-configurator .ea-brand{
  display:flex;align-items:center;gap:10px;flex:none;
  font-weight:700;font-size:15px;letter-spacing:-.01em;color:var(--ea-text);
}
.ea-configurator .ea-brand-mark{
  width:24px;height:24px;border-radius:6px;background:var(--ea-accent);
  display:grid;place-items:center;color:#fff;font-family:var(--ea-mono);
  font-size:11px;font-weight:800;
}
.ea-configurator .ea-progress{
  flex:1;min-width:0;
  display:flex;align-items:center;gap:2px;
  overflow-x:auto;scrollbar-width:none;
  padding:4px 2px;
}
.ea-configurator .ea-progress::-webkit-scrollbar{display:none}
.ea-configurator .ea-p-dot{
  width:26px;height:26px;border-radius:50%;flex:none;
  display:grid;place-items:center;
  font-family:var(--ea-mono);font-size:11px;font-weight:700;
  border:1.5px solid var(--ea-border);background:#fff;
  color:#9aa7ba;cursor:pointer;transition:all .18s;
}
.ea-configurator .ea-p-dot:hover{border-color:var(--ea-border-hi)}
.ea-configurator .ea-p-dot.is-done{
  border-color:var(--ea-accent);
  background:var(--ea-accent-soft);
  color:var(--ea-accent-text);
}
.ea-configurator .ea-p-dot.is-active{
  border-color:var(--ea-accent);background:var(--ea-accent);color:#fff;
  box-shadow:0 0 0 3px rgba(118,185,0,.18);
}
.ea-configurator .ea-p-line{
  width:18px;height:1.5px;background:var(--ea-border);flex:none;
}
.ea-configurator .ea-p-line.is-done{background:rgba(118,185,0,.5)}

.ea-configurator .ea-main{padding:32px 24px 28px}
.ea-configurator .ea-main-inner{max-width:100%}

.ea-configurator .ea-step-head{margin-bottom:24px}
.ea-configurator .ea-step-num{
  font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ea-accent-text);font-weight:700;
}
.ea-configurator .ea-step-head h2{
  margin:8px 0 6px;
  font-size:clamp(20px,3vw,28px);letter-spacing:-.02em;font-weight:700;
  color:var(--ea-text);line-height:1.15;
}
.ea-configurator .ea-step-head p{
  margin:0;color:var(--ea-muted);font-size:14.5px;line-height:1.55;max-width:640px;
}

.ea-configurator .ea-options{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:14px;
}
.ea-configurator .ea-opt{
  position:relative;display:flex;flex-direction:column;gap:10px;
  text-align:left;font:inherit;color:inherit;
  background:#fff;border:1.5px solid var(--ea-border);border-radius:14px;
  padding:16px 18px 17px;cursor:pointer;
  box-shadow:0 1px 2px rgba(16,24,40,.05);
  transition:border-color .16s,transform .16s,box-shadow .16s,background .16s;
}
.ea-configurator .ea-opt:hover{
  border-color:var(--ea-border-hi);transform:translateY(-2px);
  box-shadow:0 10px 22px -16px rgba(16,24,40,.35);
}
.ea-configurator .ea-opt:focus-visible{outline:2px solid var(--ea-accent);outline-offset:2px}
.ea-configurator .ea-opt.is-selected{
  border-color:rgba(118,185,0,.85);
  background:linear-gradient(180deg,rgba(118,185,0,.09),rgba(118,185,0,.015));
  box-shadow:0 0 0 1px rgba(118,185,0,.22),0 12px 26px -18px rgba(90,140,0,.6);
}
.ea-configurator .ea-opt.is-selected::after{
  content:'';position:absolute;top:12px;right:12px;
  width:18px;height:18px;border-radius:50%;
  background:var(--ea-accent);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M3.5 8.5l3 3 6-6.5'/></svg>");
  background-size:12px;background-position:center;background-repeat:no-repeat;
}
.ea-configurator .ea-opt.is-none .ea-opt-title{color:var(--ea-muted);font-weight:500}
.ea-configurator .ea-opt-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  padding-right:28px;
}
.ea-configurator .ea-opt-title{
  font-size:14.5px;font-weight:650;letter-spacing:-.01em;line-height:1.35;color:#0f1620;
}
.ea-configurator .ea-opt-code{
  font-family:var(--ea-mono);font-size:11.5px;font-weight:700;
  color:var(--ea-accent-text);flex:none;letter-spacing:.05em;
}
.ea-configurator .ea-opt-specs{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;gap:3px;
}
.ea-configurator .ea-opt-specs li{
  font-size:12px;color:var(--ea-muted);line-height:1.45;
}
.ea-configurator .ea-opt-specs li::before{
  content:'–';margin-right:6px;color:#b4bdcb;
}

.ea-configurator .ea-summary-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:22px 28px;
  background:var(--ea-panel);border:1px solid var(--ea-border);
  border-radius:16px;padding:24px 26px;
}
.ea-configurator .ea-sum-row{border-left:2px solid #d7dee8;padding-left:14px}
.ea-configurator .ea-sum-label{
  font-size:10.5px;text-transform:uppercase;letter-spacing:.13em;color:#7c8899;
}
.ea-configurator .ea-sum-value{
  font-size:14.5px;font-weight:650;margin-top:5px;line-height:1.35;color:#0f1620;
}
.ea-configurator .ea-sum-sub{
  font-size:12px;color:var(--ea-muted);margin-top:4px;line-height:1.45;
}

.ea-configurator .ea-pn-hero{
  margin-top:24px;border:1px solid var(--ea-border);border-radius:16px;
  padding:22px 26px;background:linear-gradient(180deg,#f7fbf0,#fff);
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
}
.ea-configurator .ea-pn-label{
  font-size:10.5px;text-transform:uppercase;letter-spacing:.16em;color:#7c8899;
}
.ea-configurator .ea-pn-value{
  font-family:var(--ea-mono);font-size:clamp(17px,2.4vw,22px);font-weight:700;
  color:#0d131c;letter-spacing:.02em;word-break:break-word;
}
.ea-configurator .ea-pn-hero .ea-btn{margin-left:auto}

.ea-configurator .ea-note-warn{
  margin-top:20px;padding:13px 16px;border-radius:10px;
  font-size:13.5px;line-height:1.5;
  border:1px solid #ffd591;background:#fff8e6;color:#8a5a00;
}

.ea-configurator .ea-nav{
  position:sticky;bottom:0;z-index:5;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-top:1px solid var(--ea-border);
  padding:14px 24px;
}
.ea-configurator .ea-nav-inner{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
}
.ea-configurator .ea-nav-info{
  flex:1;min-width:0;font-size:12.5px;color:#7c8899;letter-spacing:.02em;
}
.ea-configurator .ea-nav-info strong{color:#3d4a5e;font-weight:650}
.ea-configurator .ea-btn{
  font:inherit;font-size:13.5px;font-weight:650;border-radius:10px;
  padding:10px 20px;cursor:pointer;border:1px solid transparent;
  transition:.15s;flex:none;line-height:1;
}
.ea-configurator .ea-btn:disabled{opacity:.42;cursor:not-allowed}
.ea-configurator .ea-btn-primary{background:var(--ea-accent);color:#0a1400}
.ea-configurator .ea-btn-primary:not(:disabled):hover{background:#88d400}
.ea-configurator .ea-btn-ghost{
  background:#fff;border-color:var(--ea-border-hi);color:#26303f;
}
.ea-configurator .ea-btn-ghost:not(:disabled):hover{
  border-color:#9aa7ba;background:#f7f9fc;
}
.ea-configurator .ea-btn-text{
  background:transparent;border:none;color:#7c8899;font-weight:600;padding:10px 8px;
}
.ea-configurator .ea-btn-text:hover{color:#3d4a5e}

@media (max-width:720px){
  .ea-configurator .ea-topbar{padding:12px 16px}
  .ea-configurator .ea-main{padding:22px 16px 20px}
  .ea-configurator .ea-nav{padding:12px 16px}
  .ea-configurator .ea-nav-info{display:none}
  .ea-configurator .ea-p-dot{width:22px;height:22px;font-size:10px}
  .ea-configurator .ea-p-line{width:12px}
  .ea-configurator .ea-options{grid-template-columns:1fr}
}
