.cfg{padding-bottom:var(--s-8)}.cfg__intro{padding-top:var(--s-7)}.cfg__intro .lead{max-width:54ch}.cfg__stage{display:grid;grid-template-columns:1.4fr .9fr;gap:var(--s-6);max-width:var(--maxw);margin:var(--s-6) auto 0;padding-inline:var(--s-5);align-items:stretch}.cfg__viewport{position:relative;min-height:520px;border-radius:18px;background:radial-gradient(130% 110% at 35% 15%,#fffaf2 0%,var(--paper-2) 55%,var(--paper-sink) 100%);border:1px solid var(--line);box-shadow:var(--sh-4);overflow:hidden}#viewport{position:absolute;top:0;right:0;bottom:0;left:0}.cfg__hint{position:absolute;left:50%;bottom:16px;transform:translate(-50%);font-size:var(--t-xs);color:var(--ink-3);background:color-mix(in srgb,var(--paper) 72%,transparent);padding:.3em .85em;border-radius:var(--r-pill);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cfg__loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:var(--s-3);color:var(--ink-3);font-size:var(--t-sm)}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--line-strong);border-top-color:var(--rose-deep);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.cfg__panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh-3);padding:var(--s-6);display:flex;flex-direction:column;gap:var(--s-5)}.ctl{display:flex;flex-direction:column;gap:var(--s-2)}.ctl__label{font-size:var(--t-eyebrow);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--ink-3);font-weight:600}.ctl__hint{font-size:var(--t-xs);color:var(--ink-3);margin:0}.ctl__text{font-family:var(--font-body);font-size:var(--t-body);padding:.7em .85em;border:1px solid var(--line-strong);border-radius:var(--r-input);background:var(--paper);color:var(--ink);transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.ctl__text:focus{border-color:var(--rose);box-shadow:0 0 0 3px var(--rose-wash);outline:none}.ctl__swatch-name{font-size:var(--t-sm);color:var(--ink-2)}.seg{display:inline-flex;background:var(--paper-sink);border-radius:var(--r-pill);padding:4px;gap:2px}.seg__btn{flex:1;border:none;background:transparent;font-family:var(--font-body);font-size:var(--t-sm);font-weight:600;color:var(--ink-2);padding:.5em .9em;border-radius:var(--r-pill);cursor:pointer;transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}.seg__btn.is-on{background:var(--paper);color:var(--ink);box-shadow:var(--sh-1)}.swatches{display:flex;flex-wrap:wrap;gap:10px}.swatch{width:38px;height:38px;border-radius:50%;cursor:pointer;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.9),transparent 42%),var(--c);border:2px solid transparent;box-shadow:var(--sh-1),inset 0 -3px 6px #00000024;transition:transform var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease)}.swatch:hover{transform:scale(1.08)}.swatch.is-on{border-color:var(--ink);box-shadow:var(--sh-2),0 0 0 3px var(--paper),0 0 0 4px var(--ink)}.cfg__order{margin-top:auto;padding-top:var(--s-5);border-top:1px solid var(--line)}.cfg__price{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--s-4)}.cfg__price-val{font-family:var(--font-soul);font-size:2.4rem;line-height:1;color:var(--ink)}.cfg__actions{display:flex;gap:var(--s-3);flex-wrap:wrap}.btn--added{background:var(--success)!important}.cfg__share-out{font-size:var(--t-sm);margin-top:var(--s-3);word-break:break-all}@media(max-width:920px){.cfg__stage{grid-template-columns:1fr}.cfg__viewport{min-height:380px}}
