/* Shared frame contract. Ratio and shape live here; templates only select a frame key. */
.image-frame{--frame-ratio:4/5;--frame-radius:0;position:relative;display:block;aspect-ratio:var(--frame-ratio);overflow:hidden;min-width:0;padding:0;margin:0;background:#f7f6f4;}
.image-frame>img{position:absolute!important;inset:0!important;display:block;width:100%!important;height:100%!important;max-width:none;object-fit:cover;object-position:center!important;margin:0!important;padding:0!important;transform:none!important;filter:none!important;}
.image-frame--item-main,.image-frame--product-card,.image-frame--quick-view{border-radius:50% 50% 0 0;}.image-frame--item-main{--frame-ratio:var(--ratio-item-main,4/5)}.image-frame--item-thumb{--frame-ratio:var(--ratio-item-thumb,4/5)}.image-frame--product-card{--frame-ratio:var(--ratio-product-card,4/5)}.image-frame--quick-view{--frame-ratio:var(--ratio-quick-view,4/5)}.image-frame--cart-order{--frame-ratio:var(--ratio-cart-order,4/5)}.image-frame--wishlist-search{--frame-ratio:var(--ratio-wishlist-search,4/5)}
.image-frame--item-thumb,.image-frame--cart-order,.image-frame--wishlist-search{border-radius:12px;}
.image-frame--item-main>img,.image-frame--item-thumb>img,.image-frame--product-card>img,.image-frame--quick-view>img,.image-frame--cart-order>img,.image-frame--wishlist-search>img{clip-path:inherit;border-radius:inherit;}
.image-frame--item-main,.image-frame--product-card,.image-frame--quick-view{clip-path:inset(0 round 50% 50% 0 0);}
.image-frame--item-thumb,.image-frame--cart-order,.image-frame--wishlist-search{clip-path:inset(0 round 12px);}
.product-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px;margin:0;padding:0;min-width:0;}
.product-gallery .gallery-image{width:100%;aspect-ratio:var(--ratio-item-thumb,4/5);min-width:0;margin:0;padding:0;transform:none!important;filter:none!important;overflow:hidden;border-radius:12px;clip-path:inset(0 round 12px)}.product-gallery .gallery-image.image-frame--item-main{aspect-ratio:var(--ratio-item-main,4/5);border-radius:50% 50% 0 0;clip-path:inset(0 round 50% 50% 0 0)}
.product-gallery .gallery-image:first-child{grid-column:1/-1;}
.product-gallery .gallery-image>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;margin:0;padding:0;transform:none!important;filter:none!important;}
.motion-enabled .product-gallery img{opacity:1!important;transition:none!important;}
.product-gallery .gallery-image img{opacity:1!important;}
.product-gallery .gallery-image.is-active{outline:0;}
.image-frame-preview{overflow:hidden;position:relative;aspect-ratio:4/5;border-radius:50% 50% 0 0;clip-path:inset(0 round 50% 50% 0 0);}
.image-frame-preview--rounded{border-radius:12px;clip-path:inset(0 round 12px);}
.image-frame-preview canvas{display:block;width:100%;height:100%;object-fit:cover;}

.product-photo-frame-previews{position:relative;display:flex;flex-flow:row wrap;align-items:flex-start;gap:12px;margin:14px 0 0}
.product-photo-frame-previews figure{min-width:0;margin:0}
.product-photo-frame-previews figure{flex:0 1 92px}
.product-photo-frame-previews canvas{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:50% 50% 0 0;clip-path:inset(0 round 50% 50% 0 0)}
.product-photo-frame-previews .image-frame-preview--cart-order{aspect-ratio:var(--ratio-cart-order,4/5);border-radius:12px;clip-path:inset(0 round 12px)}
.product-photo-frame-previews figcaption{font-size:10px;text-transform:capitalize;margin-top:5px}
.product-photo-quality-warning{color:#8a4d00;font-size:12px}
@media(max-width:600px){.product-photo-frame-previews{gap:8px}.product-photo-frame-previews figure{flex-basis:calc(50% - 4px)}}

.image-frame--item-main{aspect-ratio:var(--ratio-item-main,4/5)}.image-frame--product-card{aspect-ratio:var(--ratio-product-card,4/5)}.image-frame--quick-view{aspect-ratio:var(--ratio-quick-view,4/5)}
img.image-frame--cart-order,img.image-frame--wishlist-search{display:block;aspect-ratio:var(--frame-ratio,4/5);object-fit:cover;object-position:center;border-radius:12px;clip-path:inset(0 round 12px)}
.product-card-image{aspect-ratio:var(--ratio-product-card,4/5)}
.product-card-image>img{object-position:center!important;margin:0!important;padding:0!important}
.product-gallery .gallery-image{aspect-ratio:var(--ratio-item-thumb,4/5)}.product-gallery .gallery-image.image-frame--item-main{aspect-ratio:var(--ratio-item-main,4/5)}
.product-gallery .gallery-image img{aspect-ratio:inherit}
.product-photo-crop-viewport .image-frame-preview{width:100%;height:auto;aspect-ratio:var(--ratio-item-main,4/5);border-radius:50% 50% 0 0;clip-path:inset(0 round 50% 50% 0 0)}
.product-photo-crop-viewport canvas.image-frame-preview{display:block;object-fit:cover}


.quick-view-dialog>img{aspect-ratio:var(--ratio-quick-view,4/5);border-radius:50% 50% 0 0;clip-path:inset(0 round 50% 50% 0 0)}
.image-admin{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin:20px 0}
.image-admin figure{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr);align-items:start;gap:10px;margin:0;padding:12px;border:1px solid var(--staff-line,#e5e2dd);border-radius:12px;background:#fff}
.image-admin figure>img{grid-row:1/3;width:88px;height:auto;aspect-ratio:var(--ratio-item-main,4/5);object-fit:cover;object-position:center;border-radius:50% 50% 0 0;clip-path:inset(0 round 50% 50% 0 0)}
.image-admin figcaption{display:grid;gap:6px;min-width:0;font-size:11px}
.image-admin figcaption button{width:100%}
.image-drag-handle{cursor:grab;touch-action:none;color:#777;font-size:18px}
.image-admin figure:active .image-drag-handle{cursor:grabbing}
.product-photo-crop-viewport{position:relative;display:flex;justify-content:center;align-items:center;min-height:0;padding:12px;background:#e6e5e3;overflow:visible}
.product-photo-crop-viewport canvas.image-frame-preview{width:auto;height:auto;max-width:100%;max-height:48vh;object-fit:fill;outline:1px dashed #fff;outline-offset:4px;touch-action:none;cursor:grab}
.product-photo-crop-viewport canvas.image-frame-preview:active{cursor:grabbing}
.product-photo-frame-previews{z-index:auto}
.product-photo-crop-viewport canvas{position:relative;z-index:0}
@media(max-width:600px){.image-admin{grid-template-columns:1fr 1fr}.image-admin figure{grid-template-columns:64px minmax(0,1fr);padding:8px}.image-admin figure>img{width:64px}}

.product-photo-frame-previews .image-frame-preview--item-main{aspect-ratio:var(--ratio-item-main,4/5)}
.product-photo-frame-previews .image-frame-preview--product-card{aspect-ratio:var(--ratio-product-card,4/5)}
.product-photo-frame-previews .image-frame-preview--quick-view{aspect-ratio:var(--ratio-quick-view,4/5)}
.product-photo-frame-previews .image-frame-preview--cart-order{aspect-ratio:var(--ratio-cart-order,4/5)}

.product-photo-preview>img{border-radius:50% 50% 0 0;clip-path:inset(0 round 50% 50% 0 0)}
.product-photo-preview__actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px}


/* Public product imagery uses the reference's rounded portrait frame. */
.product-card .product-card-image.image-frame--product-card{border-radius:12px;clip-path:inset(0 round 12px)}
.product-page .product-gallery .gallery-featured{display:none}
.product-page .product-gallery .gallery-thumbnails{display:contents}
.product-page .product-gallery .gallery-image,.product-page .product-gallery .gallery-image>img,.product-page .product-gallery .gallery-featured,.product-page .product-gallery .gallery-featured>img{border-radius:12px!important;clip-path:inset(0 round 12px)!important}
.product-page .product-gallery .gallery-image:first-child{grid-column:auto}
@media(max-width:760px){.product-page .product-gallery{display:flex;flex-direction:column;margin:0;gap:10px}.product-page .product-gallery .gallery-featured{display:block;width:100%;aspect-ratio:4/5;border:0;padding:0;background:#f7f6f4;overflow:hidden;cursor:zoom-in}.product-page .product-gallery .gallery-featured>img{transition:opacity 440ms ease,transform 520ms cubic-bezier(.2,.7,.25,1)!important;transform:scale(1)!important;opacity:1!important}.product-page .product-gallery .gallery-featured.is-switching>img{transform:scale(1.025)!important;opacity:0!important}.product-page .product-gallery .gallery-thumbnails{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;padding-bottom:2px}.product-page .product-gallery .gallery-thumbnails .gallery-image{flex:0 0 clamp(58px,16vw,84px);width:clamp(58px,16vw,84px);aspect-ratio:4/5}.product-page .product-gallery .gallery-thumbnails .gallery-image.is-active{outline:1px solid #111;outline-offset:2px}}
@media (hover:hover) and (pointer:fine) and (min-width:761px){.product-page .product-gallery .gallery-image{cursor:zoom-in}.product-page .product-gallery .gallery-image:hover>img{transform:scale(1.8)!important;transform-origin:var(--zoom-x,50%) var(--zoom-y,50%)!important;transition:transform 500ms cubic-bezier(.2,.7,.25,1)!important}.product-page .product-gallery .gallery-image:not(:hover)>img{transition:transform 500ms cubic-bezier(.2,.7,.25,1)!important}}
.product-page .product-detail-copy>.wishlist-form,.product-page .product-detail-copy>.wishlist-button{margin-top:18px!important}
@media(prefers-reduced-motion:reduce){.product-page .product-gallery .gallery-featured>img{transition:none!important}.product-page .product-gallery .gallery-image>img{transition:none!important}}
