.passion-ring-builder-active div.product{display:block}.ring-builder{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--passion-gap);align-items:start}.woocommerce div.product form.cart.ring-builder__form{display:block}.ring-builder__stage{position:relative;aspect-ratio:1 / 1;background:linear-gradient(180deg,#faf9f6 0%,#f0eee8 100%);border:1px solid var(--passion-border);border-radius:4px;overflow:hidden}.ring-builder__stage canvas{display:block;width:100%;height:100%}.ring-builder__stage-hint{position:absolute;bottom:.75rem;left:50%;transform:translateX(-50%);margin:0;font-size:.75rem;color:var(--passion-muted);letter-spacing:.03em;pointer-events:none}.ring-builder__stage-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:2rem;text-align:center;color:var(--passion-muted);font-size:.9rem}.ring-builder__intro{color:var(--passion-muted);margin:0 0 1.5rem}.ring-builder__fixed-shape-notice{font-size:.85rem;color:var(--passion-muted);background:#faf9f6;border-left:3px solid var(--passion-accent);padding:.65rem .9rem;margin:0 0 1.75rem}.ring-builder__carat-slider{width:100%;max-width:320px;display:block;accent-color:var(--passion-accent)}.ring-builder__carat-value{font-weight:400;color:var(--passion-accent);margin-left:.5rem}.ring-builder__carat-scale{display:flex;justify-content:space-between;max-width:320px;font-size:.75rem;color:var(--passion-muted);margin-top:.25rem}.ring-builder__step{border:none;padding:0;margin:0 0 1.75rem}.ring-builder__step legend{font-family:var(--passion-font-heading);font-size:1rem;margin:0 0 .75rem;padding:0}.ring-builder__step--gold-only{padding-left:1rem;border-left:2px solid var(--passion-border)}.ring-builder__options{display:flex;flex-wrap:wrap;gap:.5rem}.ring-builder__option{background:var(--passion-paper);border:1px solid var(--passion-border);color:var(--passion-ink);padding:.5rem .9rem;font-size:.85rem;cursor:pointer;border-radius:2px}.ring-builder__option:hover{border-color:var(--passion-ink)}.ring-builder__option.is-selected{background:var(--passion-ink);border-color:var(--passion-ink);color:var(--passion-paper)}.ring-builder__option--swatch::before{content:"";display:inline-block;width:.7rem;height:.7rem;border-radius:50%;margin-right:.4rem;vertical-align:middle}.ring-builder__option--yellow::before{background:linear-gradient(135deg,#f4d485,#c9a227)}.ring-builder__option--white::before{background:linear-gradient(135deg,#f5f5f3,#cfcfcb)}.ring-builder__option--rose::before{background:linear-gradient(135deg,#f0c3b0,#cf8f76)}.ring-builder__size-select{width:100%;max-width:320px;padding:.6rem .75rem;border:1px solid var(--passion-border);background:var(--passion-paper);color:var(--passion-ink);font-size:.9rem}.ring-builder__size-hint{margin:.6rem 0 0;font-size:.8rem;color:var(--passion-muted)}.ring-builder__summary{border-top:1px solid var(--passion-border);padding-top:1.5rem;margin-top:.5rem}.ring-builder__price{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 .5rem}.ring-builder__price-label{font-size:.85rem;color:var(--passion-muted);text-transform:uppercase;letter-spacing:.06em}.ring-builder__price-amount{font-family:var(--passion-font-heading);font-size:1.75rem;color:var(--passion-ink)}.ring-builder__incomplete-notice{min-height:1.2em;font-size:.85rem;color:var(--passion-accent);margin:0 0 1rem}.ring-builder__submit{width:100%}.ring-builder__submit:disabled{opacity:.5;cursor:not-allowed}@media (max-width:900px){.ring-builder{grid-template-columns:1fr}.ring-builder__stage{aspect-ratio:4 / 3}}