/* Product options share one selection, price and gallery preview. */
.product-detail-layout{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:6%;align-items:start}
.product-detail-layout .artwork-gallery{position:sticky;top:110px;align-self:start}
.product-detail-layout .artwork-visual{position:relative;background:var(--paper);border:0;min-height:0}
.product-detail-layout .artwork-content{padding-top:0}
.product-detail-layout .artwork-content h1{font-size:clamp(28px,2.4vw,40px);line-height:1.28;margin-bottom:14px}
.product-detail-layout .artwork-artist{font-size:15px;margin-bottom:16px}
.product-detail-layout .artwork-price{font-size:21px;margin:0 0 12px;font-variant-numeric:tabular-nums}
.product-medium,.product-description{font-size:14px;line-height:1.85;margin:0 0 24px;overflow-wrap:anywhere}
.product-medium h2,.product-description h2{font-size:12px;font-weight:700;letter-spacing:.06em;margin:0 0 7px}
.product-medium{display:flex;align-items:baseline;gap:12px}
.product-medium h2{font-size:inherit;letter-spacing:normal;margin:0;flex-shrink:0}
.product-medium>div{min-width:0}
.product-medium p,.product-description p{margin:0 0 12px}
.product-description-copy{max-height:var(--description-fold-height,9rem);overflow:hidden;position:relative}
.product-description-copy:not(.is-expanded){mask-image:linear-gradient(to bottom,#000 0%,#000 45%,transparent 100%)}
.product-description-copy.is-expanded{max-height:none;mask-image:none}
.product-description-copy a{color:inherit;text-underline-offset:3px}
.product-description-toggle,.product-artist-toggle{display:inline-flex;align-items:center;gap:18px;background:none;border:0;border-bottom:1px solid var(--ink);padding:5px 0;font:inherit;font-size:12px;cursor:pointer;margin-top:8px}
.product-purchase-form{margin-top:28px}
.product-option{display:grid;gap:9px;margin:0 0 20px;font-size:13px;letter-spacing:.015em}
.product-option select{width:100%;min-width:0;min-height:49px;border:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);font:inherit;font-size:14px;padding:12px 36px 12px 14px;overflow:hidden;text-overflow:ellipsis}
.product-option select:focus-visible,.product-add-cart:focus-visible,.product-description-toggle:focus-visible,.product-artist-toggle:focus-visible,.product-preview-views button:focus-visible{outline:2px solid #566f5e;outline-offset:4px}
.product-frame-color{padding-left:16px;border-left:2px solid var(--line)}
.product-add-cart{width:100%;min-height:56px;display:flex;justify-content:space-between;align-items:center;padding:16px 22px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);font:inherit;font-size:14px;cursor:pointer}
.product-add-cart svg{flex-shrink:0}
.product-add-cart:hover{background:#405044}.product-add-cart:disabled{cursor:not-allowed;opacity:.55}
.product-selection-summary{font-size:12px;line-height:1.6;margin:0 0 14px;color:#62685e}
.product-taxonomy{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-size:13px}.product-taxonomy summary{cursor:pointer}.product-taxonomy .dialog-taxonomy{margin:14px 0 0}
.product-frame-preview{width:100%;background:var(--paper)}
.product-frame-viewer{width:100%;height:clamp(300px,45vw,560px);max-height:55vh;position:relative;touch-action:pan-y}
.product-frame-viewer canvas{width:100%;height:100%;display:block;outline:none;touch-action:none;cursor:grab}.product-frame-viewer canvas:active{cursor:grabbing}
.product-frame-viewer canvas:focus-visible{outline:2px solid #566f5e;outline-offset:-3px}
.product-preview-views{display:flex;justify-content:center;gap:10px;margin:12px 0}
.product-preview-views button{background:transparent;color:var(--ink);border:1px solid var(--line);padding:10px 22px;font:inherit;font-size:13px;cursor:pointer}.product-preview-views button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.product-preview-help,.product-preview-status{font-size:12px;color:#62685e;line-height:1.7;text-align:center;padding:0 16px;margin:10px 0}
.product-unavailable{font-size:14px;padding:18px 0}
.product-detail-layout [hidden]{display:none!important}
.detail-route:has(.product-detail-layout) .nav-left a[href="/art-space-designer"]{display:none}
@media(max-width:900px){.product-detail-layout{grid-template-columns:1fr;gap:30px}.product-detail-layout .artwork-gallery{position:static}.product-detail-layout .artwork-content h1{font-size:30px}.product-frame-viewer{height:min(85vw,570px);max-height:70vh}.product-detail-layout .artwork-visual img{max-height:70vh}.product-purchase-form{margin-top:24px}}
@media(prefers-reduced-motion:reduce){.product-description-copy{transition:none}}

#product-show-preview{font:inherit;letter-spacing:inherit;background:transparent;border:0;border-bottom:1px solid currentColor;color:var(--ink);padding:0;cursor:pointer}

.frame-color-picker{position:relative;min-width:0}
.frame-color-button{display:flex;align-items:center;gap:12px;width:100%;min-height:49px;text-align:left;border:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);padding:12px 14px;font:inherit;font-size:14px;cursor:pointer}
.frame-color-button [data-frame-color-caption]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.frame-color-chevron{margin-left:auto;font-size:18px;line-height:1}
.frame-color-dot{display:inline-block;width:20px;height:20px;flex:0 0 20px;border-radius:50%;border:1px solid rgba(35,38,32,.25);background-size:auto 100%;background-position:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.frame-color-options{position:absolute;z-index:30;top:calc(100% + 5px);left:0;right:0;max-height:330px;overflow-y:auto;overscroll-behavior:contain;padding:6px;background:var(--paper,#f3f0e9);border:1px solid var(--line);box-shadow:0 9px 24px rgba(25,29,24,.15)}
.frame-color-option{display:flex;align-items:center;gap:12px;min-height:43px;padding:9px 10px;font-size:14px;line-height:1.5;cursor:pointer}
.frame-color-option>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}
.frame-color-option:hover,.frame-color-option.is-active{background:rgba(49,65,52,.08)}
.frame-color-check{margin-left:auto;visibility:hidden}.frame-color-option[aria-selected=true] .frame-color-check{visibility:visible}
.frame-color-button:focus-visible{outline:2px solid #566f5e;outline-offset:4px}
@media(max-width:600px){.frame-color-options{max-height:280px}.frame-color-option{min-height:46px}}

.product-artist-copy{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
.product-artist-copy.is-expanded{display:block;-webkit-line-clamp:unset;overflow:visible}
.product-artist-toggle{margin-bottom:14px}
.product-artist-toggle[hidden]{display:none}

.product-artwork-preview,.product-artwork-viewer{width:100%;background:var(--paper)}
.product-artwork-viewer{aspect-ratio:1}
.product-artwork-viewer canvas{display:block;width:100%;height:auto}
.product-artwork-status{font-size:12px;text-align:center;color:#62685e;margin:8px 0}
.product-artwork-status:empty{display:none}
