.configurator-v3-layout{grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);grid-template-areas:"config preview";align-items:start}
.configurator-v3-config-card{order:1;grid-area:config;min-width:0}
.configurator-v1-preview-panel{order:2;grid-area:preview;position:sticky;top:96px;justify-self:stretch}
.configurator-v3-header{margin-bottom:20px}
.configurator-progress-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:8px 0 14px}
.configurator-progress-kicker{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#2563eb;margin-bottom:4px}
.configurator-progress-status{padding:8px 12px;border-radius:999px;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;font-size:.82rem;font-weight:700;white-space:nowrap}
.configurator-progress-rail{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;margin:0 0 24px}
.configurator-progress-pill{position:relative;display:flex;gap:12px;align-items:flex-start;padding:16px 16px 15px;border:1px solid #dbe4f0;border-radius:20px;background:linear-gradient(180deg,#fff,#f8fbff);min-height:112px;overflow:hidden}
.configurator-progress-pill::after{content:"";position:absolute;inset:auto 16px 0;bottom:0;height:3px;border-radius:999px;background:transparent}
.configurator-progress-pill span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-weight:900;font-size:1.35rem;line-height:1}
.configurator-progress-pill strong{display:block;font-size:1rem;line-height:1.15;color:#0f172a;margin-top:2px}
.configurator-progress-pill small{display:block;margin-top:6px;color:#64748b;line-height:1.42;font-size:.91rem;max-width:19ch}
.configurator-progress-pill.is-active{border-color:#93c5fd;box-shadow:0 12px 30px rgba(37,99,235,.10);background:linear-gradient(180deg,#fefeff,#f4f8ff)}
.configurator-progress-pill.is-active::after{background:linear-gradient(90deg,#60a5fa,#2563eb)}
.configurator-field-help{margin:4px 0 0;color:#64748b;font-size:.88rem;line-height:1.45}
.option-card-grid,.tier-card-grid,.pricing-tier-grid{margin-top:10px}
.option-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.option-card-grid-sizes{grid-template-columns:repeat(3,minmax(0,1fr))}
.option-card-grid-materials{grid-template-columns:repeat(2,minmax(0,1fr))}
.option-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:6px;min-height:96px}
.option-card span{font-weight:800;color:#0f172a}
.option-card small{color:#64748b}
.option-card-size{min-height:104px}
.tier-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.tier-card{position:relative;min-height:116px;padding-top:40px}
.tier-card-badge{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-style:normal;font-size:.75rem;font-weight:800;letter-spacing:.01em}
.tier-card.active .tier-card-badge{background:#dbeafe}
.pricing-tier-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pricing-tier-card{padding:14px 16px;border:1px solid #d9e4f2;border-radius:20px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 8px 20px rgba(15,23,42,.04)}
.pricing-tier-card.active{border-color:#60a5fa;background:linear-gradient(180deg,#eff6ff,#fff);box-shadow:0 14px 32px rgba(37,99,235,.12)}
.configurator-upload-surface{background:linear-gradient(180deg,#fff,#f8fbff)}
.configurator-upload-shell{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:16px;align-items:stretch}
.configurator-upload-meta{display:flex;flex-direction:column;gap:4px}
.configurator-upload-checks{display:grid;gap:8px;margin-top:14px}
.configurator-upload-checks span{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;color:#475569;font-size:.88rem;font-weight:600}
.configurator-help-strip{margin-bottom:14px;padding:10px 12px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-size:.88rem}
.configurator-order-summary{margin-top:18px;padding:16px 18px;border-radius:20px;border:1px solid #dbe7f5;background:linear-gradient(180deg,#fff,#f8fbff)}
.configurator-order-summary-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}
.configurator-order-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
.configurator-order-summary-grid div,.configurator-sticky-summary-list div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #edf2f7}
.configurator-order-summary-grid div:nth-child(-n+2){border-top:0;padding-top:0}
.configurator-order-summary-grid span,.configurator-sticky-summary-list span{color:#64748b;font-size:.9rem}
.configurator-order-summary-grid strong,.configurator-sticky-summary-list strong{color:#0f172a}
.configurator-sticky-summary{margin-top:18px;padding:18px;border-radius:22px;background:linear-gradient(180deg,#0f172a,#1e293b);color:#fff;box-shadow:0 18px 36px rgba(15,23,42,.22)}
.configurator-sticky-summary-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}
.configurator-sticky-summary-head .muted{color:rgba(255,255,255,.7)!important}
.configurator-sticky-total{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12);font-weight:800}
.configurator-sticky-summary-list div{border-color:rgba(255,255,255,.1)}
.configurator-sticky-summary-list span{color:rgba(255,255,255,.7)}
.configurator-sticky-summary-list strong{color:#fff}
.configurator-conversion-strip{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:16px;padding:14px 16px;border-radius:18px;border:1px solid #dbe7f5;background:linear-gradient(180deg,#fff,#f8fbff)}
.configurator-conversion-strip strong{color:#0f172a}
.configurator-conversion-strip span{color:#64748b;font-size:.92rem}
.configurator-cta-row-phase2{margin-top:16px}
@media (max-width: 1180px){
  .configurator-v3-layout{grid-template-columns:1fr;grid-template-areas:"preview" "config"}
  .configurator-v1-preview-panel{order:1;position:static;top:auto}
  .configurator-v3-config-card{order:2}
}
@media (max-width: 1080px){
  .configurator-progress-head{flex-direction:column;align-items:flex-start}
  .configurator-progress-rail{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 900px){
  .pricing-tier-grid,.tier-card-grid,.option-card-grid-sizes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .configurator-upload-shell{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .configurator-progress-rail,.option-card-grid,.option-card-grid-materials,.option-card-grid-sizes,.tier-card-grid,.pricing-tier-grid,.configurator-order-summary-grid{grid-template-columns:1fr}
  .configurator-progress-pill{padding:14px 14px 13px;min-height:auto}
  .configurator-progress-pill small{max-width:none}
  .configurator-conversion-strip{flex-direction:column;align-items:flex-start}
}


/* Phase 3 polish */
.configurator-progress-head{align-items:center;margin:6px 0 12px}
.configurator-progress-head strong{font-size:1.05rem;color:#0f172a}
.configurator-progress-status{background:#f8fafc;border-color:#e2e8f0;color:#334155;font-weight:700}
.configurator-progress-rail{position:relative;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
.configurator-progress-pill{min-height:96px;padding:14px 14px 14px;border-radius:18px;gap:10px}
.configurator-progress-pill span{width:36px;height:36px;flex-basis:36px;font-size:1.2rem}
.configurator-progress-pill strong{font-size:1rem;line-height:1.1}
.configurator-progress-pill small{margin-top:4px;font-size:.84rem;line-height:1.28;max-width:none}
.configurator-progress-pill > div{min-width:0}
.configurator-progress-pill::before{content:"";position:absolute;right:-8px;top:50%;width:16px;height:2px;background:#dbe4f0;transform:translateY(-50%)}
.configurator-progress-pill:last-child::before{display:none}
.configurator-trust-row{display:flex;flex-wrap:wrap;gap:10px 12px;margin:0 0 18px}
.configurator-trust-row span{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:#f8fbff;border:1px solid #dbe7f5;color:#1e293b;font-size:.9rem;font-weight:700}
.tier-card{min-height:124px;border-width:1.5px}
.tier-card span{font-size:1.04rem;font-weight:800;color:#0f172a}
.tier-card small{font-size:.88rem}
.pricing-tier-card strong{font-size:1.05rem}
.configurator-upload-surface{border-radius:22px;border:1px solid #dbe7f5;background:linear-gradient(180deg,#ffffff,#f8fbff)}
.configurator-upload-checks span{font-weight:700}
.configurator-transform-card--subtle{border:1px solid #e6edf5;background:#fcfdff}
.configurator-price-grid .price-box strong{font-size:1.5rem}
.configurator-addon-card{border-radius:20px}
.configurator-order-summary{border-width:1.5px}
.configurator-order-summary-head strong{font-size:1rem}
.configurator-conversion-strip{margin-top:18px;padding:16px 18px;border-radius:20px;border-color:#cfe0f5;background:linear-gradient(180deg,#f8fbff,#ffffff)}
.configurator-conversion-strip strong{font-size:1rem}
.configurator-cta-help{margin-top:10px;color:#64748b;font-size:.9rem}
.configurator-cta-row-phase2 .configurator-primary-btn{min-width:250px;box-shadow:0 14px 28px rgba(37,99,235,.16)}
.configurator-secondary-btn{background:#fff}
@media (max-width:1100px){.configurator-progress-pill{min-height:unset}.configurator-progress-pill::before{display:none}}
@media (max-width:700px){.configurator-trust-row{margin-bottom:14px}.configurator-progress-head strong{font-size:1rem}.configurator-progress-status{white-space:normal}.configurator-cta-row-phase2 .configurator-primary-btn{min-width:0;width:100%}}


/* phase 4 compact refinements */
.configurator-progress-head-compact{margin:2px 0 10px;align-items:center}
.configurator-progress-head-compact strong{font-size:.98rem;line-height:1.2}
.configurator-progress-head-compact .configurator-progress-status{padding:6px 10px;font-size:.76rem}
.configurator-progress-rail-compact{gap:10px;margin:0 0 12px}
.configurator-progress-rail-compact .configurator-progress-pill{min-height:78px;padding:12px;border-radius:16px;gap:9px}
.configurator-progress-rail-compact .configurator-progress-pill span{width:32px;height:32px;flex-basis:32px;font-size:1rem}
.configurator-progress-rail-compact .configurator-progress-pill strong{font-size:.88rem;line-height:1.05}
.configurator-progress-rail-compact .configurator-progress-pill small{font-size:.74rem;line-height:1.18;margin-top:3px;max-width:14ch}
.configurator-progress-rail-compact .configurator-progress-pill::before{right:-6px;width:12px}
.configurator-trust-row-compact{gap:8px;margin:0 0 14px}
.configurator-trust-row-compact span{padding:6px 10px;font-size:.8rem;font-weight:700}
.pricing-tier-grid-compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pricing-tier-card-compact{padding:12px 12px 10px;border-radius:16px;box-shadow:none;min-height:0;text-align:left;cursor:pointer}
.pricing-tier-card-compact strong{font-size:.92rem;line-height:1.1;display:block;margin-bottom:6px}
.pricing-tier-card-compact .small{font-size:.82rem;line-height:1.22}
.pricing-tier-card-compact.active{box-shadow:0 8px 18px rgba(37,99,235,.08)}
.configurator-order-summary-compact{padding:14px 16px;border-radius:18px;background:#fbfdff}
.configurator-order-summary-head-compact{margin-bottom:10px}
.configurator-order-summary-head-compact strong{font-size:.96rem}
.configurator-order-summary-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.summary-chip{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid #e6edf5;border-radius:14px;background:#fff}
.summary-chip label{font-size:.74rem;font-weight:700;letter-spacing:.01em;color:#64748b;text-transform:uppercase}
.summary-chip strong{font-size:.96rem;color:#0f172a;line-height:1.2}
.summary-chip-qty{background:#f8fbff}
.summary-chip-total{background:#f8fbff;border-color:#cfe0f5}
.summary-chip-total strong{font-size:1.05rem}
@media (max-width:1100px){.configurator-progress-rail-compact .configurator-progress-pill{min-height:auto}.configurator-order-summary-chips{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-tier-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.configurator-progress-head-compact .configurator-progress-status{width:100%;text-align:center}.configurator-progress-rail-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.configurator-progress-rail-compact .configurator-progress-pill small{max-width:none}.configurator-order-summary-chips{grid-template-columns:1fr}.pricing-tier-grid-compact{grid-template-columns:1fr}}


/* v3.3.1 quantity ui */
.configurator-section-head--tight{margin-bottom:14px}
.configurator-section-head--tight p{max-width:60ch}
.configurator-qty-group{gap:14px}
.configurator-qty-picker{display:flex;flex-wrap:wrap;gap:10px}
.configurator-qty-btn{appearance:none;border:1px solid #d7e0ec;background:#fff;border-radius:14px;padding:11px 16px;min-width:98px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;transition:border-color .18s ease, background-color .18s ease, transform .18s ease, box-shadow .18s ease;color:#0f172a}
.configurator-qty-btn:hover{border-color:#94a3b8;background:#fbfdff}
.configurator-qty-btn.active{border-color:#2563eb;background:#f8fbff;box-shadow:0 8px 18px rgba(37,99,235,.08)}
.configurator-qty-number{font-size:1.08rem;font-weight:800;line-height:1}
.configurator-qty-label{font-size:.78rem;color:#64748b;font-weight:700;line-height:1.1}
.configurator-tier-details{border:1px solid #e6edf5;border-radius:18px;padding:14px 16px;background:#fbfdff}
.configurator-tier-details-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.configurator-tier-details-head strong{font-size:.96rem;color:#0f172a}
.configurator-tier-details-note{font-size:.8rem;color:#64748b}
.configurator-tier-chips{display:flex;flex-wrap:wrap;gap:10px}
.configurator-tier-chip{display:inline-flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid #d7e0ec;border-radius:999px;background:#fff;min-width:140px}
.configurator-tier-chip label{font-size:.68rem;text-transform:uppercase;letter-spacing:.03em;color:#64748b;font-weight:700}
.configurator-tier-chip strong{font-size:.96rem;line-height:1.15;color:#0f172a}
.configurator-tier-chip--discount{background:#f8fbff;border-color:#cfe0f5}
@media (max-width:700px){.configurator-qty-btn{min-width:calc(50% - 5px)}.configurator-tier-chip{min-width:100%;border-radius:14px}.configurator-tier-details-head{align-items:flex-start}}


/* Patch 9 — stronger quantity and pricing emphasis */
.configurator-qty-btn{
  transition:border-color .18s ease, background-color .18s ease, transform .18s ease, box-shadow .18s ease, color .18s ease;
}
.configurator-qty-btn.active{
  border-width:2px;
  border-color:#1a2b6d;
  background:linear-gradient(180deg,#f4f7ff 0%,#eef3ff 100%);
  color:#1a2b6d;
  box-shadow:0 10px 24px rgba(37,99,235,.16);
  transform:translateY(-1px);
}
.configurator-qty-btn.active .configurator-qty-number,
.configurator-qty-btn.active .configurator-qty-label{
  color:#4f46e5;
}

.configurator-tier-details{
  margin-top:14px;
  background:linear-gradient(135deg,#f8faff 0%,#eef3ff 100%);
  border:1px solid #c9d8ff;
  border-radius:20px;
  padding:18px;
  box-shadow:0 6px 18px rgba(80,120,255,.08);
}
.configurator-tier-details-head{
  align-items:flex-start;
}
.configurator-tier-selected{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  font-size:1rem;
}
.configurator-tier-selected-value{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 14px;
  border-radius:999px;
  background:#1a2b6d;
  color:#fff;
  font-weight:800;
  letter-spacing:.01em;
  box-shadow:0 10px 18px rgba(26,43,109,.18);
}
.configurator-tier-details-note{
  font-size:.82rem;
}
.configurator-tier-chips{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.configurator-tier-chip{
  min-width:0;
  border-radius:16px;
  border:1px solid #dce6ff;
  background:#fff;
  padding:12px 14px;
  box-shadow:0 2px 0 rgba(255,255,255,.8) inset;
}
.configurator-tier-chip label{
  color:#64748b;
}
.configurator-tier-chip strong{
  font-size:1.05rem;
}
.configurator-tier-chip--discount{
  background:#eafaf1;
  border-color:#b6ebc9;
}
.configurator-tier-chip--discount label,
.configurator-tier-chip--discount strong{
  color:#1f7a4d;
}
@media (max-width:700px){
  .configurator-tier-selected{align-items:flex-start}
  .configurator-tier-selected-value{padding:6px 12px;font-size:.92rem}
  .configurator-tier-chips{grid-template-columns:1fr}
}


/* PATCH 13: CTA polish */
.configurator-cta-row-phase2{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;
}
.configurator-cta-row-phase2 .configurator-primary-btn,
.configurator-cta-row-phase2 .configurator-secondary-btn{
  min-width:0;
  width:100%;
  min-height:84px;
  padding:20px 24px;
  font-size:1rem;
  font-weight:800;
  border-radius:24px;
}
.configurator-cta-row-phase2 .configurator-secondary-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
@media (max-width:700px){
  .configurator-cta-row-phase2{grid-template-columns:1fr;}
}


/* PATCH 14: Primary CTA aligned with homepage cinematic button */
.configurator-cta-row-phase2 .configurator-primary-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  min-height:3.5rem;
  padding:0 1.35rem;
  border-radius:999px;
  font-weight:800;
  letter-spacing:-0.015em;
  color:#fff;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(135deg, #2563eb 0%, #7c3aed 55%, #06b6d4 100%);
  box-shadow:0 16px 40px rgba(37,99,235,.28), 0 0 34px rgba(124,58,237,.18);
  text-shadow:none;
}
.configurator-cta-row-phase2 .configurator-primary-btn:hover,
.configurator-cta-row-phase2 .configurator-primary-btn:focus-visible{
  transform:translateY(-1px);
  filter:none;
  box-shadow:0 18px 42px rgba(37,99,235,.30), 0 0 36px rgba(124,58,237,.20);
}
.configurator-cta-row-phase2 .configurator-primary-btn:active{
  transform:translateY(0);
  box-shadow:0 12px 28px rgba(37,99,235,.24), 0 0 24px rgba(124,58,237,.14);
}
.configurator-cta-row-phase2 .configurator-secondary-btn{
  min-height:3.5rem;
  border-radius:999px;
  padding:0 1.35rem;
  font-weight:800;
}
@media (min-width:701px){
  .configurator-cta-row-phase2 .configurator-primary-btn,
  .configurator-cta-row-phase2 .configurator-secondary-btn{
    min-height:82px;
    padding:0 1.7rem;
  }
}


/* material cards: show admin texture overlay + transparent look */
.option-card-material{position:relative;gap:10px;min-height:148px;padding:14px 14px 12px;overflow:hidden}
.option-card-material__visual-wrap{display:block;width:100%}
.option-card-material__visual{position:relative;display:block;width:100%;height:74px;border-radius:16px;border:1px solid #dbe4f0;overflow:hidden;background:linear-gradient(135deg,#ffffff,#f8fafc);box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.option-card-material__visual::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.42),rgba(255,255,255,0));pointer-events:none;z-index:2}
.option-card-material__texture{position:absolute;inset:0;background-image:var(--material-texture-image);background-repeat:repeat;background-size:cover;background-position:center;opacity:var(--material-texture-opacity,.18);mix-blend-mode:multiply;z-index:1}
.option-card-material__shine{position:absolute;inset:0;background:radial-gradient(circle at top left,rgba(255,255,255,.55),transparent 46%),linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0));pointer-events:none;z-index:2}
.option-card-material__title{display:block;font-weight:800;color:#0f172a;line-height:1.2}
.option-card-material small{margin-top:auto}
.option-card-material--transparent .option-card-material__visual,
.option-card-material__visual.is-transparent{background-image:linear-gradient(45deg,rgba(148,163,184,.16) 25%,transparent 25%),linear-gradient(-45deg,rgba(148,163,184,.16) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(148,163,184,.16) 75%),linear-gradient(-45deg,transparent 75%,rgba(148,163,184,.16) 75%),linear-gradient(145deg,rgba(255,255,255,.55),rgba(226,232,240,.14));background-size:16px 16px,16px 16px,16px 16px,16px 16px,100% 100%;background-position:0 0,0 8px,8px -8px,-8px 0,0 0;border-color:rgba(148,163,184,.45);backdrop-filter:blur(10px)}
.option-card-material--transparent .option-card-material__texture,
.option-card-material__visual.is-transparent .option-card-material__texture{mix-blend-mode:screen;opacity:max(.28,var(--material-texture-opacity,.32))}
.option-card-material.active .option-card-material__visual{border-color:#93c5fd;box-shadow:0 10px 24px rgba(37,99,235,.10), inset 0 1px 0 rgba(255,255,255,.85)}

/* === Guided step configurator redesign === */
.configurator-shell {
  gap: 18px;
}

.config-steps {
  display: grid;
  gap: 14px;
}

.config-step {
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  background: #ffffff;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.config-step:hover {
  border-color: #cbd5e1;
}

.config-step.is-active {
  border-color: #2563eb;
  box-shadow: 0 12px 30px rgba(37, 99, 235, 0.10);
}

.config-step.is-complete .config-step__index {
  background: #16a34a;
  color: #fff;
  border-color: #16a34a;
}

.config-step__header {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 18px 20px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  text-align: left;
  cursor: pointer;
}

.config-step__index {
  width: 48px;
  height: 48px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 1rem;
  background: #f8fafc;
  color: #94a3b8;
  border: 1px solid #dbe4ee;
}

.config-step.is-active .config-step__index {
  background: #eff6ff;
  color: #2563eb;
  border-color: #bfdbfe;
}

.config-step__heading {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.config-step__heading strong {
  font-size: 1rem;
  line-height: 1.2;
  color: #0f172a;
}

.config-step__heading small {
  font-size: .85rem;
  line-height: 1.35;
  color: #64748b;
}

.config-step__summary {
  justify-self: end;
  max-width: 320px;
  padding: 10px 14px;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #334155;
  font-size: .86rem;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.config-step__panel {
  padding: 0 20px 20px;
  border-top: 1px solid #f1f5f9;
}

.config-step__body,
.config-step__intro {
  display: grid;
  gap: 14px;
}

.config-step__text {
  margin: 0;
  color: #64748b;
  line-height: 1.5;
}

.config-step__actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #edf2f7;
}

.config-step .configurator-section-card {
  border: 0;
  box-shadow: none;
  padding: 0;
  background: transparent;
}

.config-step .configurator-section-head {
  display: none;
}

.config-step .option-card,
.config-step .configurator-qty-btn,
.config-step .summary-chip {
  border-radius: 16px;
}

.config-step .option-card {
  min-height: 112px;
  border: 1px solid #dbe4ee;
  box-shadow: none;
}

.config-step .option-card.active,
.config-step .configurator-qty-btn.active {
  border-color: #2563eb;
  box-shadow: 0 8px 20px rgba(37, 99, 235, 0.10);
}

.config-step .configurator-upload-card {
  border-radius: 18px;
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  box-shadow: none;
}

#configStep4.is-active {
  border-color: #0f172a;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.10);
}

@media (max-width: 900px) {
  .config-step__header {
    grid-template-columns: 44px minmax(0, 1fr);
  }

  .config-step__summary {
    grid-column: 1 / -1;
    justify-self: start;
    max-width: 100%;
    white-space: normal;
  }

  .config-step__panel {
    padding: 0 16px 16px;
  }

  .config-step__header {
    padding: 16px;
  }
}

/* === Step 1 premium redesign === */
.config-step__body--premium{gap:22px}
.config-step__intro--premium{gap:12px}
.configurator-helper--step1{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;padding:14px 16px;border:1px solid #dbe7f5;border-radius:18px;background:linear-gradient(180deg,#f8fbff,#ffffff);color:#334155}
.configurator-helper--step1 strong{color:#0f172a}
.configurator-helper--step1 span{font-size:.92rem;line-height:1.5}
.option-group--premium{position:relative;padding:18px;border:1px solid #eef2f7;border-radius:20px;background:linear-gradient(180deg,#fff,#fcfdff)}
.configurator-section-label-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.configurator-section-kicker{margin-bottom:4px;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#2563eb}
.configurator-label-with-help--floating{position:absolute;top:18px;right:18px}
.configurator-inline-note{margin-top:12px;padding:12px 14px;border-radius:16px;border:1px solid #dbe7f5;background:#f8fbff;color:#334155;font-size:.92rem;line-height:1.5}
.configurator-inline-note--soft{background:#f8fafc;border-color:#e2e8f0}
.option-card-premium{position:relative;gap:8px;min-height:144px;padding:16px;border:1px solid #dde7f2;border-radius:18px;background:linear-gradient(180deg,#fff,#fbfdff);transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease, background .2s ease}
.option-card-premium:hover{transform:translateY(-2px);border-color:#bfd4ef;box-shadow:0 16px 30px rgba(15,23,42,.06)}
.option-card-premium.active{background:linear-gradient(180deg,#eff6ff,#ffffff);border-color:#60a5fa;box-shadow:0 16px 32px rgba(37,99,235,.14)}
.option-card-premium span{display:block}
.option-card-premium__eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64748b}
.option-card-premium__desc{font-size:.9rem;line-height:1.45;color:#64748b;font-weight:600}
.option-card-premium__meta{margin-top:auto;font-size:.8rem;font-weight:800;color:#0f172a}
.option-card-premium__meta--accent{color:#7c3aed}
.configurator-choice-badge--topright{position:absolute;top:12px;right:12px;z-index:3}
.option-card-grid-shapes{grid-template-columns:repeat(3,minmax(0,1fr))}
.option-card-shape{align-items:flex-start}
.option-card-shape__icon{display:block;width:68px;height:68px;margin-bottom:8px;border:2px solid #cbd5e1;background:linear-gradient(180deg,#f8fafc,#fff)}
.option-card-shape__icon--circle{border-radius:999px}
.option-card-shape__icon--square{border-radius:14px}
.option-card-shape__icon--rounded{border-radius:22px}
.option-card-shape__icon--rectangle{width:88px;height:58px;border-radius:14px}
.option-card-shape__icon--oval{width:88px;height:58px;border-radius:999px}
.option-card-shape__icon--contour{width:84px;height:64px;clip-path:polygon(18% 9%,78% 6%,95% 33%,86% 84%,36% 96%,7% 61%);border:none;background:linear-gradient(180deg,#e0f2fe,#ffffff);box-shadow:inset 0 0 0 2px #7dd3fc}
.option-card-shape__title{font-weight:800;color:#0f172a}
.option-card-material{min-height:220px}
.option-card-material .option-card-material__visual-wrap{margin-bottom:2px}
.option-card-size--custom{border-style:dashed;background:linear-gradient(180deg,#fff,#f8fbff)}
.custom-size-box--premium{margin-top:14px;padding:16px;border:1px solid #dbe7f5;border-radius:18px;background:#f8fbff}
.custom-size-box--premium input{margin-top:8px}
@media (max-width: 900px){
  .option-card-grid-shapes{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 640px){
  .configurator-helper--step1{flex-direction:column}
  .option-group--premium{padding:16px}
  .option-card-grid-shapes{grid-template-columns:1fr}
}

/* === Step 1 minimal redesign === */
.config-step__body--minimal{gap:18px}
.config-step__intro--minimal{gap:8px}
.config-hint{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:#6b7280}
.config-hint strong{color:#111827}
.config-hint--inline{justify-self:end;white-space:nowrap}
.option-group--minimal{display:grid;gap:12px;padding:0;border:0;background:transparent}
.config-minimal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.config-minimal-head label{display:block;margin:0;font-size:1rem;font-weight:700;color:#111827}
.config-minimal-head p{margin:4px 0 0;font-size:.88rem;line-height:1.45;color:#6b7280}
.config-inline-soft{font-size:.84rem;line-height:1.45;color:#6b7280}
.option-card-grid-minimal{grid-template-columns:repeat(2,minmax(0,1fr))}
.option-card-grid-materials-minimal{grid-template-columns:repeat(2,minmax(0,1fr))}
.option-card-grid-shapes-minimal{grid-template-columns:repeat(4,minmax(0,1fr))}
.option-card-grid-sizes-minimal{grid-template-columns:repeat(4,minmax(0,1fr))}
.option-card-minimal{
  position:relative;
  min-height:0 !important;
  padding:14px 16px !important;
  border:1px solid #e5e7eb !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:none !important;
  gap:4px;
  color:#111827 !important;
  transition:border-color .15s ease, background-color .15s ease, transform .15s ease;
}
.option-buttons .option-card-minimal::after{display:none}
.option-card-minimal:hover{transform:none !important;border-color:#cbd5e1 !important;box-shadow:none !important}
.option-card-minimal.active{border-color:#111827 !important;background:#f9fafb !important;box-shadow:none !important;color:#111827 !important}
.option-card-minimal span{padding-right:0 !important}
.option-card-minimal__title{display:block;font-size:.98rem;font-weight:700;line-height:1.2;color:#111827}
.option-card-minimal__meta{display:block;font-size:.78rem;font-weight:600;line-height:1.3;color:#6b7280}
.option-card-material.option-card-minimal{min-height:148px !important;gap:10px}
.option-card-material__visual-wrap--minimal{display:block;margin-bottom:2px}
.option-card-material__visual-wrap--minimal .option-card-material__visual{height:52px;border-radius:12px;box-shadow:none}
.option-card-material.option-card-minimal.active .option-card-material__visual{border-color:#d1d5db;box-shadow:none}
.option-card-shape-minimal{align-items:flex-start;justify-content:flex-start}
.option-card-shape-minimal .option-card-shape__icon{width:38px;height:38px;margin-bottom:8px;border-width:1.5px;border-color:#cbd5e1;background:#fff}
.option-card-shape-minimal .option-card-shape__icon--rectangle,
.option-card-shape-minimal .option-card-shape__icon--oval{width:50px;height:32px}
.option-card-shape-minimal .option-card-shape__icon--contour{width:46px;height:34px;box-shadow:none}
.option-card-size-minimal{justify-content:center;align-items:flex-start;min-height:84px !important}
.option-card-size-minimal--custom{border-style:dashed !important}
.option-card-minimal--text{min-height:84px !important;justify-content:center}
.custom-size-box--minimal{margin-top:8px;padding:14px 16px;border:1px solid #e5e7eb;border-radius:14px;background:#fafafa}
.custom-size-box--minimal input{margin-top:8px}
@media (max-width:900px){
  .option-card-grid-shapes-minimal,.option-card-grid-sizes-minimal{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .config-minimal-head{flex-direction:column;align-items:flex-start}
  .config-hint--inline{justify-self:start;white-space:normal}
  .option-card-grid-materials-minimal,.option-card-grid-minimal,.option-card-grid-shapes-minimal,.option-card-grid-sizes-minimal{grid-template-columns:1fr}
}
