.configurator{align-items:start}.product-visual{position:sticky;top:20px}.product-image img{aspect-ratio:1;object-fit:contain}.from-price{display:inline-block;background:#eaf8ed;color:#176b32;border-radius:8px;padding:10px 14px;font-weight:700}.config-block{border-top:1px solid var(--line);padding:22px 0}.config-block h2{font-size:22px;margin:0 0 14px}.color-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.color-choice{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px;text-align:left;font:inherit;font-weight:700;cursor:pointer}.color-choice.active{border:2px solid var(--brand);padding:9px}.color-choice i{width:25px;height:25px;border-radius:50%;background:var(--swatch);border:1px solid #aeb5b7;box-shadow:inset 0 0 0 2px #fff}.size-options{border:1px solid var(--line);border-radius:10px;overflow:hidden}.size-row{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--line)}.size-row:last-child{border:0}.size-row>span{font-size:13px;color:var(--muted)}.stepper{display:grid;grid-template-columns:36px 42px 36px;align-items:center}.stepper button{height:34px;border:1px solid var(--line);background:var(--soft);font-size:19px;cursor:pointer}.stepper output{text-align:center;font-weight:800}.personalization-options{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.personalization-options label input{position:absolute;opacity:0}.personalization-options span{display:block;border:1px solid var(--line);border-radius:9px;padding:12px;cursor:pointer;font-weight:700}.personalization-options input:checked+span{border:2px solid var(--brand);padding:11px;background:#fff7f3}.config-summary-wrap{background:var(--soft);padding:38px 24px}.config-summary{max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 360px;gap:50px}.config-summary h2{margin-top:0}.selection-lines p,#selection-lines p{display:flex;justify-content:space-between;max-width:500px;border-bottom:1px solid var(--line);padding:7px 0;margin:0}.totals{background:#fff;padding:22px;border-radius:12px}.totals>div{display:flex;justify-content:space-between;padding:7px 0}.totals .grand{font-size:20px;border-top:1px solid var(--line);margin-top:7px;padding-top:14px}.totals .cta{width:100%;margin-top:15px}@media(max-width:760px){.product-visual{position:static}.color-options,.personalization-options,.config-summary{grid-template-columns:1fr}.config-summary{gap:22px}}
