/* Fresh artwork selection, bag and checkout. */
.commerce-back{display:inline-block;margin-bottom:26px;font-size:14px}
.product-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:clamp(36px,5.5vw,88px);align-items:start;max-width:1280px;margin:0 auto}
.product-gallery{min-width:0}
.product-stage{background:var(--paper);position:relative;padding:32px;min-height:400px;display:flex;align-items:center;justify-content:center}
.artwork-zoom{display:flex;align-items:center;justify-content:center;width:100%;border:0;background:none;padding:0;cursor:zoom-in}
.artwork-mount{display:inline-flex;max-width:100%;align-items:center;justify-content:center;line-height:0;transition:padding .2s,border-width .2s}
.product-main-image{display:block;width:auto;max-width:100%;height:auto;max-height:475px;object-fit:contain}
.mount-white,.mount-black,.mount-wood{padding:clamp(20px,2.6vw,36px);border:18px solid;background:#fff;box-shadow:0 4px 14px #00000015}
.mount-white{border-color:#f7f6f2;outline:1px solid #d8d5cf}
.mount-black{border-color:#242321}
.mount-wood{border-color:#ad8256;box-shadow:inset 0 0 0 2px #916c43,0 4px 14px #00000015}
.product-zoom-hint{position:absolute;bottom:9px;left:0;right:0;text-align:center;color:var(--muted);font-size:11px}
.product-thumbnails{display:flex;gap:12px;padding:15px 0;flex-wrap:wrap}
.product-thumbnails button{width:74px;height:82px;padding:5px;border:1px solid var(--line);background:white;cursor:pointer}
.product-thumbnails button[aria-pressed="true"]{border:2px solid var(--pink);padding:4px}
.product-thumbnails img{width:100%;height:100%;object-fit:contain}
.product-category{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin:3px 0 13px}
.product-information h1{font-size:clamp(28px,3vw,43px);line-height:1.15;letter-spacing:-.035em;max-width:18ch;margin:0 0 18px}
.product-status:empty{display:none}.product-status .art-badges{position:static;flex-direction:row;flex-wrap:wrap}.product-status .art-badge{font-size:13px}.product-status .badge-sold{font-size:14px;padding:8px 14px}
.product-status{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.product-price{font-size:24px;margin:0 0 24px;font-weight:500;letter-spacing:-.02em}
.product-specification{margin:0 0 8px;color:var(--muted);font-size:14px;line-height:1.6}
.product-information form{margin-top:28px}
.product-information .field{max-width:100%;margin-bottom:24px}
.product-information .field select{width:100%;min-height:48px;background:#fff;border:1px solid var(--line);padding:12px;color:var(--ink);font:inherit}
.frame-options{border:0;margin:0 0 12px;padding:0;min-width:0}
.frame-options legend{padding:0 0 12px;font-size:14px;font-weight:500}
.frame-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.frame-choice{display:grid;justify-items:center;gap:8px;position:relative;border:1px solid var(--line);padding:13px 5px 10px;cursor:pointer;font-size:12px;line-height:1.3}
.frame-choice input{position:absolute;opacity:0;width:1px;height:1px}
.frame-choice:has(input:checked){border-color:var(--pink);box-shadow:inset 0 0 0 1px var(--pink)}
.frame-choice:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:3px}
.frame-swatch{width:28px;height:31px;border:5px solid;display:block;background:#f8f7f4}
.swatch-unframed{border:1px solid #c9c7c3;background:linear-gradient(130deg,#d6dfdf 55%,#b2c3cc 55%)}
.swatch-white{border-color:#ece9e3;outline:1px solid #d4d0c8}
.swatch-black{border-color:#252522}.swatch-wood{border-color:#b58b5c}
.frame-help{font-size:13px;line-height:1.75;color:var(--muted);margin:0 0 24px}
.frame-help .text-link{display:inline;min-height:0;padding:0;font-size:inherit;color:var(--ink)}
.product-information .quantity-field{display:flex;flex-direction:row;gap:15px;align-items:center;font-size:14px;max-width:180px;margin:24px 0}
.quantity-field input,.bag-quantity input{width:74px;min-height:44px;padding:9px 10px;border:1px solid var(--line);background:white;color:var(--ink);font:inherit;border-radius:0}
.product-action .button{width:100%;text-align:center;justify-content:center}
.purchase-status{font-size:14px;color:var(--muted);margin:0 0 14px;text-transform:capitalize}
.commerce-notice{margin:17px 0 0;padding:14px 17px;background:var(--paper);font-size:14px;line-height:1.6}
.commerce-notice[hidden]{display:none}
.artwork-details{margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.artwork-details summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:18px 0;list-style:none;font-size:14px;font-weight:500}
.artwork-details summary::-webkit-details-marker{display:none}
.artwork-details summary span{position:relative;width:12px;height:12px;flex:none}
.artwork-details summary span:before,.artwork-details summary span:after{content:'';position:absolute;top:5px;left:0;width:12px;height:1px;background:currentColor}
.artwork-details summary span:after{transform:rotate(90deg)}
.artwork-details[open] summary span:after{transform:none}
.artwork-details p{font-size:14px;line-height:1.8;color:var(--muted);margin:0;padding:0 0 20px}
.product-question{display:inline-block;font-size:13px;margin-top:24px}
.artwork-dialog{border:0;padding:30px;background:#fff;max-width:95vw;max-height:95vh;overflow:auto}
.artwork-dialog::backdrop{background:#151513cf}
.artwork-dialog img{display:block;max-height:80vh;max-width:88vw;width:auto;object-fit:contain}
.image-close{display:block;margin:0 0 15px auto;font:inherit;font-size:13px;background:none;border:0;cursor:pointer;padding:8px 0 8px 15px;text-decoration:underline;text-underline-offset:4px}
.bag-layout,.checkout-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.85fr);gap:clamp(30px,5vw,80px);align-items:start;max-width:1320px;margin:0 auto}
.bag-item{border-top:1px solid var(--line);padding:26px 0;display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:25px;align-items:start}
.bag-image{background:var(--paper);display:block;padding:12px;height:144px}
.bag-image img{width:100%;height:100%;object-fit:contain}
.bag-item h2{font-size:18px;line-height:1.4;font-weight:500;margin:2px 0 9px;letter-spacing:-.015em}
.bag-item h2 a,.checkout-item a{text-decoration:none;color:inherit}
.bag-item-details>p{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 6px}
.bag-line-total{font-size:15px;font-weight:500;padding-top:4px}
.bag-controls{display:flex;gap:24px;align-items:center;margin-top:15px;font-size:12px}
.bag-controls .text-link{border:0;padding:0;background:none;font:inherit;cursor:pointer}
.bag-quantity{display:flex;align-items:center;gap:10px}
.bag-quantity input{width:64px;min-height:38px}
.bag-single{color:var(--muted)}
.bag-continue{display:inline-block;margin-top:22px;font-size:14px}
.order-summary{background:var(--paper);padding:30px}
.order-summary h2,.checkout-payment h2{font-size:23px;letter-spacing:-.025em;font-weight:500;margin:0 0 26px}
.order-totals{margin:0 0 26px;font-size:14px}
.order-totals>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;line-height:1.4}
.order-totals dt,.order-totals dd{margin:0}
.order-totals dd{text-align:right}.order-totals>div:first-child{font-size:17px;font-weight:500}
.order-summary>.button{width:100%;text-align:center;justify-content:center}
.order-summary>.text-link{font-size:13px}
.empty-bag{border-top:1px solid var(--line);padding:35px 0 90px}
.empty-bag p{margin-bottom:25px}
.checkout-payment{border-top:1px solid var(--line);padding-top:27px}
.checkout-payment>p{font-size:15px;color:var(--muted);line-height:1.75;max-width:42ch}
.payment-marks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0 10px}
.payment-marks>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:98px;padding:13px 5px;border:1px solid var(--line)}
.payment-marks img{height:48px;width:120px;max-width:90%;object-fit:contain}
.payment-marks span{font-size:11px;text-align:center}
.checkout-payment .payment-note{font-size:12px;margin:0 0 24px;max-width:none}
.checkout-payment>.button{width:100%}
.checkout-items{margin-bottom:20px;border-bottom:1px solid var(--line)}
.checkout-item{display:grid;grid-template-columns:60px 1fr;gap:17px;margin:0 0 24px;font-size:14px}
.checkout-item>img{width:60px;height:80px;object-fit:contain}
.checkout-item p{font-size:12px;line-height:1.6;color:var(--muted);margin:8px 0}
.checkout-item strong{font-weight:500}
.delivery-quote-explanation,.quote-address-note,.quote-payment-note{font-size:14px;line-height:1.7;color:var(--muted)}
.delivery-quote-explanation{margin:-6px 0 22px}.delivery-quote-alternative{display:block;line-height:1.7;margin-top:17px}
.delivery-quote-details{border-top:1px solid var(--line);padding-top:26px;min-width:0}
.delivery-quote-details .form-grid{min-width:0}.delivery-quote-details .field{min-width:0}
.quote-address-note{margin:0}.quote-payment-note{border-top:1px solid var(--line);padding-top:20px;margin:25px 0 0}
.delivery-quote-review h2{font-size:25px;font-weight:500;letter-spacing:-.025em;margin:0 0 24px}
.quote-review-contact{font-size:14px;line-height:1.6;margin:0 0 24px}
.quote-review-contact>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:15px;padding:8px 0}
.quote-review-contact dt{color:var(--muted)}.quote-review-contact dd{margin:0;overflow-wrap:anywhere}
.quote-review-artwork{border-block:1px solid var(--line);padding:5px 0;margin-bottom:23px}
.quote-review-artwork p{margin:15px 0;line-height:1.5}.quote-review-artwork strong{font-size:15px;font-weight:500;display:block}
.quote-review-artwork span{display:block;font-size:13px;color:var(--muted);margin-top:5px}
.delivery-quote-review>.form-actions{margin-top:25px}.delivery-quote-review>.preserve-lines{font-size:14px;line-height:1.7}
.delivery-quote-review[hidden],[data-quote-fields][hidden],.delivery-quote-review [hidden]{display:none}
@media(max-width:720px){.commerce-delivery-quote .order-summary{order:0}.delivery-quote-details{order:1}.commerce-delivery-quote .page-heading p{font-size:15px}.quote-review-contact>div{grid-template-columns:105px minmax(0,1fr);gap:12px}.delivery-quote-details .form-actions{gap:15px}}
@media(min-width:1600px){.product-layout{max-width:1380px}.product-stage{min-height:520px}}
@media(max-width:1000px){.product-layout{gap:32px;grid-template-columns:minmax(0,1fr) minmax(290px,1fr)}.product-stage{padding:24px;min-height:340px}.product-main-image{max-height:430px}.mount-white,.mount-black,.mount-wood{padding:24px;border-width:14px}.bag-layout,.checkout-layout{gap:28px;grid-template-columns:minmax(0,1.3fr) minmax(270px,.85fr)}.bag-item{grid-template-columns:86px minmax(0,1fr);gap:17px}.bag-line-total{grid-column:2}.bag-image{height:118px}.order-summary{padding:24px}}
@media(max-width:720px){.commerce-back{margin-bottom:20px}.product-layout,.bag-layout,.checkout-layout{grid-template-columns:1fr;gap:30px}.product-stage{min-height:320px;padding:26px}.product-main-image{max-height:400px}.product-information h1{font-size:31px;max-width:24ch}.product-information{max-width:520px;width:100%;margin:auto}.product-information form{margin-top:22px}.product-price{font-size:24px;margin-bottom:20px}.product-gallery{max-width:540px;width:100%;margin:auto}.product-thumbnails button{height:72px;width:64px}.frame-choice{padding:14px 6px 11px;font-size:13px}.frame-help{font-size:13px}.bag-item{grid-template-columns:88px minmax(0,1fr);gap:17px;padding:23px 0}.bag-item h2{font-size:17px}.bag-line-total{grid-column:2;margin-top:-8px}.bag-controls{gap:20px;flex-wrap:wrap}.bag-layout{gap:35px}.order-summary{padding:25px}.checkout-layout{gap:35px}.checkout-payment{order:1}.commerce-checkout .order-summary{order:0}.checkout-items{max-height:280px;overflow:auto}.artwork-dialog{padding:16px}.artwork-dialog img{max-width:86vw}.payment-marks{gap:7px}.payment-marks>div{min-height:95px}.empty-bag{padding-bottom:45px}}
@media(prefers-reduced-motion:reduce){.artwork-mount{transition:none}}

/* Reserve the frame's space even when unframed: the preview and print stay put. */
.print-stage{--preview-height:clamp(400px,50vw,560px);--stage-padding:32px;--mount-padding:clamp(20px,2.6vw,36px);--frame-width:18px;height:var(--preview-height);min-height:0;padding:var(--stage-padding)}
.print-stage .artwork-mount{padding:var(--mount-padding);border-width:var(--frame-width);border-style:solid;transition:none;min-width:0}
.print-stage .mount-unframed{border-color:transparent;background:transparent;box-shadow:none}
.print-stage .product-main-image{max-height:calc(var(--preview-height) - 2 * var(--stage-padding) - 2 * var(--mount-padding) - 2 * var(--frame-width));min-width:0}
@media(max-width:1000px){.print-stage{--stage-padding:24px;--mount-padding:24px;--frame-width:14px}}
@media(max-width:720px){.print-stage{--preview-height:clamp(320px,100vw,500px);--stage-padding:26px}}
