.product-portrait{--portrait-photo-ratio:.82;--portrait-shadow:0 4px 22px -8px #66534a38;min-width:0;scroll-margin-top:108px}.portrait-frame{aspect-ratio:var(--portrait-photo-ratio);background:var(--force-cream);position:relative}.product-visual,.portrait-image-link{width:100%;height:100%;display:block}.product-visual{position:relative;overflow:hidden}.portrait-photo{position:absolute;inset:0}.portrait-photo img{object-fit:cover;transition:transform .7s var(--ease-editorial)}.portrait-loading{background:var(--force-bg);color:var(--force-text-muted);pointer-events:none;padding:4px 8px;font-size:12px;position:absolute;bottom:12px;left:12px}.portrait-image-link:focus-visible{outline-offset:6px}.portrait-add{width:48px;height:48px;color:var(--force-text);border:1px solid var(--force-border);background:var(--force-bg);box-shadow:var(--portrait-shadow);transition:background-color var(--motion-ui);border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;bottom:16px;right:16px}.portrait-add svg{stroke:currentColor;stroke-width:1.2px;width:24px;height:24px}.portrait-photo-toggle{border:1px solid var(--force-border);background:var(--force-bg);min-width:44px;min-height:44px;color:var(--force-text);font-variant-numeric:tabular-nums;border-radius:24px;padding:8px 12px;font-size:13px;position:absolute;bottom:12px;left:12px}.portrait-information{padding:18px 0 4px}.portrait-category{color:var(--force-text-muted);margin:0 0 8px;font-size:13px}.portrait-name-price{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.portrait-name-price h3{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:2rem;font-weight:400;line-height:1.15}.portrait-name-price>p{font-variant-numeric:tabular-nums;flex-shrink:0;margin:0;font-size:16px}.demo-label{color:var(--force-text-muted);font-size:11px;font-family:var(--font-body);letter-spacing:.02em;vertical-align:middle;display:inline-block}.portrait-colors{flex-wrap:wrap;align-items:center;gap:0;margin-top:8px;display:flex}.portrait-swatch{background:0 0;border:0;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;display:grid}.portrait-swatch span{border:1px solid var(--force-text-muted);background:var(--swatch);outline-offset:4px;border-radius:50%;outline:1px solid #0000;width:17px;height:17px;display:block}.portrait-swatch[aria-pressed=true] span{outline-color:var(--force-taupe-deep)}.portrait-color-name{color:var(--force-text-muted);margin-left:8px;font-size:13px}@media (hover:hover){.portrait-image-link:hover .portrait-photo img{transform:scale(1.025)}.portrait-add:hover,.portrait-photo-toggle:hover{background:var(--force-cream)}}@media (min-width:1000px){.product-portrait--featured .portrait-name-price h3{font-size:3rem}.product-portrait--standard .portrait-name-price{display:block}.product-portrait--standard .portrait-name-price>p{margin-top:8px}}@media (prefers-reduced-motion:reduce){.portrait-photo img,.portrait-add{transition:none}}
.dialog-quick-add .panel-overlay{padding:max(16px, env(safe-area-inset-top)) 0 0;justify-content:center;align-items:flex-end}.dialog-quick-add .panel-surface{max-width:580px;max-height:calc(100dvh - max(16px, env(safe-area-inset-top)));padding-bottom:max(24px, env(safe-area-inset-bottom));border-radius:28px 28px 0 0}.quick-selection{min-width:0}.quick-product{align-items:center;gap:20px;margin:4px 0 24px;display:flex}.quick-product-photo{background:var(--force-cream);flex-shrink:0;width:84px;height:108px;position:relative;overflow:hidden}.quick-product-photo img{object-fit:cover}.quick-product h3{font-family:var(--font-display);letter-spacing:-.04em;margin:0 0 8px;font-size:32px;font-weight:400;line-height:1.2}.quick-product p{margin-block:0 8px}.quick-selection fieldset{border:0;min-width:0;margin:0 0 24px;padding:0}.quick-selection legend{margin-bottom:12px;font-size:16px}.variant-sizes legend span{color:var(--force-text-muted);font-size:13px}.variant-options{flex-wrap:wrap;gap:8px;display:flex}.variant-color-option,.size-option{cursor:pointer;position:relative}.variant-color-option input,.size-option input{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;margin:0;position:absolute}.variant-color-option>span{border:1px solid var(--force-border);border-radius:24px;align-items:center;gap:8px;min-height:44px;padding:8px 12px;font-size:14px;display:flex}.variant-color-option i{background:var(--swatch);border:1px solid var(--force-text-muted);border-radius:50%;width:14px;height:14px}.variant-color-option input:checked+span,.size-option input:checked+span{border-color:var(--force-taupe-deep);background:var(--force-cream);box-shadow:inset 0 0 0 1px var(--force-taupe-deep)}.variant-color-option input:focus-visible+span,.size-option input:focus-visible+span{outline:2px solid var(--force-taupe-deep);outline-offset:4px}.size-options{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.size-option>span{border:1px solid var(--force-border);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:64px;font-size:18px;display:flex}.size-option small{color:var(--force-text-muted);font-size:12px}.size-option input:disabled{cursor:not-allowed}.size-option input:disabled+span{opacity:.45;background:var(--force-cream);text-decoration:line-through}.quick-demo-note{color:var(--force-text-muted);margin:0 0 18px;font-size:12px}.quick-add-submit{background:var(--force-taupe-deep);width:100%;min-height:52px;color:var(--force-bg);border:0;border-radius:28px;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.quick-add-submit:disabled{background:var(--force-cream);color:var(--force-text-muted);cursor:default}.quick-add-submit>span{font-size:26px;line-height:1}.quick-add-feedback{min-height:44px;color:var(--force-text-muted);margin-top:16px;font-size:14px}.quick-add-feedback.is-added{border-left:2px solid var(--force-taupe-deep);background:var(--force-cream);color:var(--force-text);padding:12px 16px}@media (min-width:700px){.dialog-quick-add .panel-overlay{align-items:center;padding:24px}.dialog-quick-add .panel-surface{border-radius:28px;max-height:calc(100dvh - 48px);padding:28px 36px}.size-options{grid-template-columns:repeat(6,1fr)}}
