/* ssoft.shop Camera Configurator v3.1 — Spacious layout */
:root{
  --scfg-g:#3d8eff;--scfg-b:#00c8ff;
  --scfg-bg:#07090f;--scfg-bg2:#0c0f18;--scfg-bg3:#111827;
  --scfg-bdr:rgba(255,255,255,.07);
  --scfg-text:#e2e8f0;--scfg-muted:#64748b;--scfg-dim:#1e293b;
  --scfg-font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --scfg-mono:'JetBrains Mono','Fira Code',monospace;
  --scfg-r:12px;--scfg-r2:16px;
}
.scfg-wrap{font-family:var(--scfg-font);color:var(--scfg-text);max-width:1400px;margin:0 auto;}
.scfg-wrap *,.scfg-wrap *::before,.scfg-wrap *::after{box-sizing:border-box;}

.scfg-header{text-align:center;padding:2.5rem 0 2rem;}
.scfg-header h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;color:#f0f6fc;margin-bottom:.5rem;letter-spacing:-.02em;}
.scfg-header p{font-size:14px;color:var(--scfg-muted);max-width:520px;margin:0 auto;}

.scfg-layout{display:grid;grid-template-columns:1fr 320px;gap:2.5rem;align-items:start;}
.scfg-main{min-width:0;}

/* STEP TABS */
.scfg-steps{display:flex;background:var(--scfg-bg2);border:0.5px solid var(--scfg-bdr);border-radius:var(--scfg-r2);overflow:hidden;margin-bottom:2rem;}
.scfg-stab{flex:1;padding:.85rem .4rem;text-align:center;font-size:10px;font-weight:600;letter-spacing:.04em;color:var(--scfg-muted);cursor:pointer;transition:all .2s;border-right:0.5px solid var(--scfg-bdr);position:relative;}
.scfg-stab:last-child{border-right:none;}
.scfg-stab.active{background:rgba(61,142,255,.07);color:var(--scfg-g);}
.scfg-stab.done{color:var(--scfg-g);}
.scfg-stab.done::after{content:'✓';position:absolute;top:5px;right:6px;font-size:9px;}
.scfg-sn{display:block;font-size:8px;letter-spacing:.15em;color:var(--scfg-muted);margin-bottom:3px;font-family:var(--scfg-mono);}
.scfg-stab.active .scfg-sn{color:rgba(61,142,255,.45);}

/* PANELS */
.scfg-panel{display:none;background:var(--scfg-bg2);border:0.5px solid var(--scfg-bdr);border-radius:var(--scfg-r2);padding:2.25rem 2.5rem;}
.scfg-panel.active{display:block;}

/* LABELS */
.scfg-slabel{font-size:9px;letter-spacing:.22em;color:var(--scfg-g);font-family:var(--scfg-mono);display:block;margin-bottom:.9rem;margin-top:2.25rem;}
.scfg-panel>.scfg-slabel:first-child,
.scfg-design-block>.scfg-slabel:first-child{margin-top:0;}
.scfg-desc{font-size:13px;color:var(--scfg-muted);line-height:1.85;margin-bottom:1.75rem;}

/* CONTEXT BAR */
.scfg-context-bar{background:rgba(61,142,255,.05);border:0.5px solid rgba(61,142,255,.14);border-radius:9px;padding:.85rem 1.2rem;font-size:12px;color:var(--scfg-g);margin-bottom:1.75rem;display:none;}
.scfg-context-bar.show{display:block;}

/* OBJECT GRID */
.scfg-obj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px;margin-bottom:.75rem;}
.scfg-obj{background:var(--scfg-bg3);border:0.5px solid var(--scfg-bdr);border-radius:var(--scfg-r);padding:1.25rem 1rem;cursor:pointer;transition:all .25s;text-align:center;position:relative;}
.scfg-obj:hover{border-color:rgba(61,142,255,.28);background:rgba(61,142,255,.03);transform:translateY(-2px);}
.scfg-obj.selected{border-color:var(--scfg-g);background:rgba(61,142,255,.07);}
.scfg-obj.selected::after{content:'✓';position:absolute;top:8px;right:10px;font-size:11px;color:var(--scfg-g);font-weight:700;}
.scfg-obj-ico{font-size:2.2rem;margin-bottom:.7rem;display:block;}
.scfg-obj-name{font-size:12px;font-weight:600;color:#f0f6fc;margin-bottom:4px;}
.scfg-obj-sub{font-size:10px;color:var(--scfg-muted);line-height:1.45;}

/* OPTION CARDS */
.scfg-opt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:.75rem;}
.scfg-opt{background:var(--scfg-bg3);border:0.5px solid var(--scfg-bdr);border-radius:var(--scfg-r);padding:1.2rem 1.1rem;cursor:pointer;transition:all .25s;text-align:center;position:relative;}
.scfg-opt:hover{border-color:rgba(61,142,255,.28);transform:translateY(-2px);}
.scfg-opt.selected{border-color:var(--scfg-g);background:rgba(61,142,255,.07);}
.scfg-opt.selected::after{content:'✓';position:absolute;top:8px;right:10px;font-size:11px;color:var(--scfg-g);font-weight:700;}
.scfg-opt-ico{font-size:2rem;margin-bottom:.65rem;display:block;}
.scfg-opt-name{font-size:13px;font-weight:600;color:#f0f6fc;margin-bottom:4px;}
.scfg-opt-sub{font-size:11px;color:var(--scfg-muted);}
.scfg-badge{display:inline-block;font-size:9px;letter-spacing:.09em;padding:2px 8px;border-radius:4px;background:rgba(61,142,255,.1);color:var(--scfg-g);margin-top:6px;}
.scfg-badge-blue{background:rgba(74,158,255,.1);color:var(--scfg-b);}
.scfg-badge-amber{background:rgba(245,158,11,.1);color:#f59e0b;}

/* SWATCHES */
.scfg-swatch-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:.75rem;}
.scfg-sw-wrap{text-align:center;}
.scfg-sw{width:48px;height:48px;border-radius:10px;border:2px solid transparent;transition:all .2s;display:flex;align-items:center;justify-content:center;margin:0 auto;cursor:pointer;}
.scfg-sw:hover{transform:scale(1.12);}
.scfg-sw.selected{border-color:var(--scfg-g);box-shadow:0 0 0 3px rgba(61,142,255,.2);}
.scfg-sw.selected::after{content:'✓';font-size:16px;color:#fff;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.7);}
.scfg-sw-label{font-size:10px;color:var(--scfg-muted);margin-top:6px;white-space:nowrap;}

/* EXTRAS — 2 column grid */
.scfg-extras-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:.75rem;}
.scfg-extra{display:flex;align-items:flex-start;gap:11px;padding:.9rem 1.1rem;background:var(--scfg-bg3);border:0.5px solid var(--scfg-bdr);border-radius:10px;cursor:pointer;transition:border-color .2s;}
.scfg-extra:hover{border-color:rgba(61,142,255,.2);}
.scfg-extra-cb{width:16px;height:16px;accent-color:var(--scfg-g);flex-shrink:0;cursor:pointer;margin-top:1px;}
.scfg-extra-name{font-size:12px;font-weight:600;color:#f0f6fc;margin-bottom:2px;}
.scfg-extra-sub{font-size:10px;color:var(--scfg-muted);line-height:1.4;}

/* UPLOAD */
.scfg-drop-zone{border:1.5px dashed rgba(61,142,255,.2);border-radius:var(--scfg-r);padding:2.75rem 2rem;text-align:center;cursor:pointer;transition:all .2s;background:rgba(61,142,255,.02);position:relative;margin-bottom:.75rem;}
.scfg-drop-zone:hover,.scfg-drop-zone.drag{border-color:var(--scfg-g);background:rgba(61,142,255,.05);}
.scfg-drop-zone input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.scfg-dz-ico{font-size:2.5rem;margin-bottom:.75rem;display:block;}
.scfg-dz-title{font-size:14px;font-weight:600;color:#f0f6fc;margin-bottom:.4rem;}
.scfg-dz-sub{font-size:12px;color:var(--scfg-muted);}
.scfg-photo-name{font-size:11px;color:var(--scfg-g);margin-top:.65rem;font-family:var(--scfg-mono);}
.scfg-preview-img{max-width:220px;max-height:220px;border-radius:9px;margin:1rem auto 0;display:none;border:0.5px solid var(--scfg-bdr);}

/* FORM */
.scfg-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;}
.scfg-frow{margin-bottom:1.25rem;}
.scfg-frow label{display:block;font-size:10px;font-weight:600;color:var(--scfg-muted);margin-bottom:.5rem;letter-spacing:.1em;}
.scfg-req{color:var(--scfg-g);}
.scfg-input{width:100%;background:var(--scfg-bg3);border:0.5px solid var(--scfg-bdr);color:var(--scfg-text);border-radius:9px;padding:12px 16px;font-size:13px;outline:none;transition:border-color .2s, background .2s;font-family:var(--scfg-font);}
.scfg-input:focus{border-color:rgba(61,142,255,.35);background:rgba(61,142,255,.02);}
textarea.scfg-input{min-height:95px;resize:vertical;}
select.scfg-input option{background:var(--scfg-bg2);}
.scfg-privacy{font-size:12px;color:var(--scfg-muted);padding:.9rem 1.1rem;background:rgba(74,158,255,.04);border:0.5px solid rgba(74,158,255,.1);border-radius:9px;margin-top:.5rem;line-height:1.7;}

/* SUMMARY */
.scfg-sbox{background:var(--scfg-bg3);border:0.5px solid var(--scfg-bdr);border-radius:var(--scfg-r);padding:1.4rem 1.6rem;margin-bottom:12px;}
.scfg-sbox-h{font-size:12px;font-weight:700;color:#f0f6fc;margin-bottom:1.1rem;letter-spacing:.02em;}
.scfg-srow{display:flex;justify-content:space-between;gap:1.5rem;padding:7px 0;border-bottom:0.5px solid var(--scfg-dim);font-size:13px;}
.scfg-srow:last-child{border:none;}
.scfg-srow span{color:var(--scfg-muted);flex-shrink:0;}
.scfg-srow strong{color:var(--scfg-g);font-weight:500;text-align:right;}
.scfg-quote-note{font-size:12px;color:var(--scfg-muted);padding:1rem 1.2rem;background:rgba(61,142,255,.04);border:0.5px solid rgba(61,142,255,.12);border-radius:9px;margin:1.25rem 0;line-height:1.75;}
.scfg-quote-note strong{color:var(--scfg-g);}
.scfg-err{background:rgba(239,68,68,.07);border:0.5px solid rgba(239,68,68,.2);color:#ef4444;border-radius:9px;padding:.8rem 1.1rem;font-size:13px;margin-bottom:1rem;}

/* BUTTONS */
.scfg-btn-row{display:flex;justify-content:space-between;align-items:center;margin-top:2.5rem;flex-wrap:wrap;gap:.75rem;}
.scfg-submit-row{margin-top:1.25rem;}
.scfg-btn{font-size:13px;font-weight:600;padding:12px 26px;border-radius:10px;cursor:pointer;transition:all .2s;border:none;font-family:var(--scfg-font);display:inline-flex;align-items:center;gap:7px;text-decoration:none;letter-spacing:.01em;}
.scfg-btn-p{background:var(--scfg-g);color:#07090f!important;}
.scfg-btn-p:hover{opacity:.87;transform:translateY(-2px);}
.scfg-btn-p:disabled{opacity:.4;cursor:not-allowed;transform:none;}
.scfg-btn-g{background:var(--scfg-bg3);color:var(--scfg-text)!important;border:0.5px solid var(--scfg-bdr);}
.scfg-btn-g:hover{border-color:var(--scfg-g);color:var(--scfg-g)!important;}
.scfg-btn-wa{background:#25d366;color:#fff!important;}
.scfg-btn-wa:hover{opacity:.88;}

/* SUCCESS */
.scfg-success{display:none;text-align:center;padding:4.5rem 2.5rem;background:rgba(61,142,255,.04);border:0.5px solid rgba(61,142,255,.14);border-radius:var(--scfg-r2);}
.scfg-success h2{font-size:1.6rem;font-weight:700;color:var(--scfg-g);margin-bottom:.5rem;}
.scfg-success p{font-size:14px;color:var(--scfg-muted);line-height:1.85;max-width:460px;margin:0 auto;}

/* SIDEBAR */
.scfg-sidebar{position:sticky;top:80px;background:var(--scfg-bg2);border:0.5px solid var(--scfg-bdr);border-radius:var(--scfg-r2);padding:1.6rem;height:fit-content;}
.scfg-sidebar-title{font-size:13px;font-weight:700;color:#f0f6fc;margin-bottom:.4rem;}
.scfg-sidebar-sub{font-size:12px;color:var(--scfg-muted);margin-bottom:1.4rem;line-height:1.65;}
.scfg-products-list{display:flex;flex-direction:column;gap:12px;}
.scfg-prod-loading{font-size:12px;color:var(--scfg-muted);text-align:center;padding:2rem 1rem;}
.scfg-prod-card{display:flex;gap:12px;align-items:flex-start;background:var(--scfg-bg3);border:0.5px solid var(--scfg-bdr);border-radius:var(--scfg-r);padding:1rem;text-decoration:none;transition:all .2s;}
.scfg-prod-card:hover{border-color:rgba(61,142,255,.25);transform:translateX(3px);}
.scfg-prod-img{width:64px;height:64px;object-fit:cover;border-radius:8px;flex-shrink:0;background:var(--scfg-bg2);}
.scfg-prod-info{flex:1;min-width:0;}
.scfg-prod-name{font-size:11px;font-weight:600;color:#f0f6fc;line-height:1.4;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.scfg-prod-price{font-size:14px;font-weight:700;color:var(--scfg-g);}
.scfg-prod-price del{font-size:11px;color:var(--scfg-muted);font-weight:400;margin-right:3px;}
.scfg-prod-sale{font-size:9px;letter-spacing:.09em;background:rgba(239,68,68,.12);color:#f87171;padding:2px 7px;border-radius:4px;margin-left:5px;vertical-align:middle;}
.scfg-view-all{display:block;text-align:center;margin-top:1.2rem;font-size:12px;font-weight:600;color:var(--scfg-g);padding:.8rem;border:0.5px solid rgba(61,142,255,.18);border-radius:9px;transition:all .2s;text-decoration:none;}
.scfg-view-all:hover{background:rgba(61,142,255,.07);}

/* RESPONSIVE */
@media(max-width:1100px){
  .scfg-layout{grid-template-columns:1fr;}
  .scfg-sidebar{position:static;}
  .scfg-products-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
}
@media(max-width:680px){
  .scfg-panel{padding:1.5rem 1.25rem;}
  .scfg-obj-grid{grid-template-columns:repeat(auto-fill,minmax(115px,1fr));}
  .scfg-opt-grid{grid-template-columns:1fr 1fr;}
  .scfg-extras-list{grid-template-columns:1fr;}
  .scfg-form-grid{grid-template-columns:1fr;}
  .scfg-steps{flex-wrap:wrap;}
  .scfg-stab{flex:1 1 30%;font-size:9px;padding:.65rem .2rem;}
  .scfg-btn-row{flex-direction:column;align-items:stretch;}
  .scfg-btn{justify-content:center;}
  .scfg-products-list{grid-template-columns:1fr;}
}
/* ── SHORTCUT BANNER ── */
.scfg-shortcut {
  background: rgba(61,142,255,.07);
  border: 1px solid rgba(61,142,255,.18);
  border-radius: 8px;
  padding: .6rem 1.1rem;
  font-size: 13px;
  color: var(--scfg-muted,#4a607a);
  margin-bottom: 1.25rem;
}
.scfg-shortcut a {
  color: var(--scfg-g,#3d8eff);
  font-weight: 600;
  text-decoration: none;
}
.scfg-shortcut a:hover { text-decoration: underline; }

/* ── PRICE ESTIMATE ── */
.scfg-price-estimate {
  background: rgba(61,142,255,.06);
  border: 1.5px solid rgba(61,142,255,.22);
  border-radius: 10px;
  padding: 1.1rem 1.4rem;
  margin: 1.25rem 0;
  display: flex;
  flex-direction: column;
  gap: .3rem;
}
.scfg-price-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  color: var(--scfg-muted,#4a607a);
}
.scfg-price-range {
  font-size: 28px;
  font-weight: 800;
  color: var(--scfg-g,#3d8eff);
  font-family: var(--scfg-mono,'IBM Plex Mono',monospace);
  line-height: 1.1;
}
.scfg-price-note {
  font-size: 11px;
  color: var(--scfg-muted,#4a607a);
}

/* ── TRUST LINE ── */
.scfg-trust-line {
  font-size: 12px;
  color: var(--scfg-muted,#4a607a);
  margin-top: .75rem;
  padding: .5rem .9rem;
  border-left: 3px solid rgba(61,142,255,.3);
  background: rgba(61,142,255,.04);
  border-radius: 0 6px 6px 0;
}

/* ── BATTERY micro-copy (benefit) ── */
.scfg-opt-benefit {
  font-size: 10px;
  color: var(--scfg-muted,#4a607a);
  margin-top: 2px;
  line-height: 1.3;
}

/* ── Legal micro-copy under hero ── */
.scfg-hero small {
  display: block;
  margin-top: .4rem;
  font-size: 11px;
  color: var(--scfg-muted,#4a607a);
}

/* ── STATIC EXTRAS ── */
.scfg-extras-static {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: .5rem;
}
.scfg-extra-tag {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--scfg-text, #e8edf8);
  padding: 8px 12px;
  background: rgba(61,142,255,.05);
  border: 1px solid rgba(61,142,255,.12);
  border-radius: 6px;
}
.scfg-extra-tag span {
  font-weight: 400;
  color: var(--scfg-muted, #4a607a);
  font-size: 12px;
}

/* ── LIVE CONFIG SUMMARY ── */
.scfg-live-summary {
  background: var(--scfg-bg3, #0a1428);
  border: 1px solid rgba(61,142,255,.2);
  border-radius: 10px;
  padding: 1.25rem 1.4rem;
  margin-bottom: 1.5rem;
}
.scfg-ls-title {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
  color: var(--scfg-b, #00c8ff);
  margin-bottom: .9rem;
}
.scfg-ls-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px 1.5rem;
  margin-bottom: .9rem;
}
.scfg-ls-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.scfg-ls-label {
  font-size: 9px;
  letter-spacing: .12em;
  color: var(--scfg-muted, #4a607a);
  font-weight: 600;
}
.scfg-ls-val {
  font-size: 13px;
  font-weight: 600;
  color: var(--scfg-text, #e8edf8);
}
.scfg-ls-price {
  font-size: 13px;
  color: var(--scfg-muted, #4a607a);
  border-top: 0.5px solid rgba(61,142,255,.12);
  padding-top: .75rem;
  margin-top: .25rem;
}
.scfg-ls-price strong {
  color: var(--scfg-g, #3d8eff);
  font-size: 18px;
  font-weight: 800;
  margin-left: 4px;
}

/* ── BIG EMAIL INPUT ── */
.scfg-email-big .scfg-input {
  font-size: 16px !important;
  padding: 14px 18px !important;
  border-radius: 8px !important;
  border-width: 2px !important;
}
.scfg-email-big .scfg-input:focus {
  border-color: var(--scfg-g, #3d8eff) !important;
  box-shadow: 0 0 0 3px rgba(61,142,255,.12) !important;
}

/* Sidebar price — strikethrough old, highlight new */
.scfg-prod-price del {
  color: #64748b;
  font-size: 11px;
  font-weight: 400;
  margin-right: 4px;
  text-decoration: line-through;
}
.scfg-prod-price del .woocommerce-Price-amount { color: #64748b; }
