.configurator{padding:110px 0;background:#eef0ea}
.configurator-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:end;margin-bottom:42px}
.configurator-head h2{font:600 clamp(2.5rem,5vw,4.8rem)/.98 Manrope,sans-serif;letter-spacing:-.055em;margin:10px 0 0}
.configurator-head p{max-width:620px;margin:0;color:#526058;font-size:1.08rem}
.configurator-shell{display:grid;grid-template-columns:340px 1fr;gap:18px}
.config-controls,.config-stage{background:#fff;border:1px solid var(--line);border-radius:22px}
.config-controls{padding:26px}
.control-group{padding:0 0 24px;margin:0 0 24px;border:0;border-bottom:1px solid var(--line)}
.control-group:last-of-type{margin-bottom:18px}
.control-group legend{font:600 1rem Manrope,sans-serif;margin-bottom:12px}
.choice-row{display:flex;flex-wrap:wrap;gap:8px}
.choice{border:1px solid #c8ccc5;background:#fff;color:var(--ink);border-radius:999px;padding:9px 14px;cursor:pointer;font-size:.9rem}
.choice:hover{border-color:var(--forest)}
.choice.active{background:var(--forest);border-color:var(--forest);color:#fff}
.choice:disabled{opacity:.38;cursor:not-allowed}
.swatch{width:42px;height:42px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px #bfc4bd;cursor:pointer;position:relative}
.swatch.active{box-shadow:0 0 0 3px var(--rust)}
.swatch span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.config-summary{padding:16px;background:var(--sand);border-radius:14px;font-size:.88rem;color:#4e5b54}
.config-summary strong{display:block;color:var(--ink);font:600 1rem Manrope,sans-serif;margin-bottom:4px}
.config-stage{min-height:560px;position:relative;overflow:hidden;background:linear-gradient(180deg,#e8ece8 0%,#f7f5ef 65%,#d8d7cf 65%,#eceae4 100%)}
.stage-toolbar{position:absolute;z-index:2;top:18px;left:18px;right:18px;display:flex;justify-content:space-between;gap:12px;align-items:center}
.stage-badge{background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border:1px solid rgba(23,33,29,.12);border-radius:999px;padding:9px 13px;font-size:.82rem;font-weight:600}
.reset-view{border:1px solid rgba(23,33,29,.18);background:rgba(255,255,255,.9);border-radius:999px;padding:9px 13px;cursor:pointer}
.config-canvas{display:block;width:100%;height:560px;touch-action:none;cursor:grab}
.config-canvas:active{cursor:grabbing}
.stage-hint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);background:rgba(23,33,29,.82);color:#fff;border-radius:999px;padding:8px 13px;font-size:.78rem;white-space:nowrap}
.config-note{margin:15px 0 0;color:#687069;font-size:.82rem}
@media(max-width:900px){.configurator-shell,.configurator-head{grid-template-columns:1fr}.configurator-head{gap:20px}.config-stage{min-height:460px}.config-canvas{height:460px}}
@media(max-width:520px){.configurator{padding:75px 0}.config-controls{padding:20px}.config-stage{min-height:390px}.config-canvas{height:390px}.stage-hint{font-size:.72rem}.stage-badge{max-width:70%}}
