/* Marketplace square images: all catalog densities and viewport sizes. */
.product .photo,body[data-density=compact] .product .photo{display:block;position:relative;aspect-ratio:1/1;overflow:hidden;background:#fff}
.product .photo img{display:block;width:100%;height:100%;padding:0;object-fit:contain;mix-blend-mode:normal}
.product:hover .photo img{transform:none}
.product .photo .tag{position:absolute;left:8px;top:8px;margin:0;font-size:12px;max-width:calc(100% - 16px);z-index:1}
.gallery-main{aspect-ratio:1/1!important;background:#fff}.gallery-main>img{object-fit:contain;padding:0;mix-blend-mode:normal}.gallery-thumbs button{height:auto;aspect-ratio:1/1}.photo-tile img{height:auto;aspect-ratio:1/1;background:white}.cart-row img{height:auto;aspect-ratio:1/1;object-fit:contain}
.store-hero.has-photo{grid-template-columns:1fr 1fr}.hero-photo{aspect-ratio:1/1;min-height:0;max-height:none;position:relative;background:#fff}.hero-photo img{display:block;width:100%;height:100%;max-height:none;padding:0;object-fit:contain;mix-blend-mode:normal}.store-hero{min-height:0}
.store-banner{position:relative;margin:28px 0;border-radius:14px;overflow:hidden;aspect-ratio:3/1;background:#f5f5f5}.store-banner>img{display:block;width:100%;height:100%;object-fit:contain}.banner-placeholder{height:100%;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;border:2px dashed #9eacbd;border-radius:14px;color:#536278;background:#f0f4f8}.banner-placeholder b{font-size:28px}.banner-placeholder span{font-size:16px}.banner-placeholder small{font-size:14px}.banner-state{position:absolute;right:10px;bottom:10px;background:#fff;padding:7px 12px;font-size:14px;border-radius:6px}.design-guide-label{position:absolute;left:10px;top:10px;z-index:4;background:#1b4bc2;color:#fff;border:2px solid white;border-radius:9px;box-shadow:0 2px 12px #0002;text-align:left;padding:10px 14px;display:grid;gap:4px;cursor:pointer}.design-guide-label b{font-size:16px}.design-guide-label span{font-size:14px}.design-guide-label small{font-size:12px;color:#e8efff}.sku-preview-guide{padding:12px 16px;border:1px dashed #adc2f6;background:#f1f5ff;color:#264588;border-radius:9px;font-size:14px;margin-bottom:14px}.design-map{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;margin:24px 0}.design-map h2{font-size:20px;margin:0 0 10px}.design-map p{font-size:14px;line-height:1.6;color:#666}.design-map-links{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.design-map-links button{display:grid;gap:6px;text-align:left;background:#fafafa;border:1px solid #ddd;padding:12px 16px;border-radius:9px;color:#222}.design-map-links button.selected{background:#111;border-color:#111;color:white}.design-map-links b{font-size:14px}.design-map-links small{font-size:12px}.map-note{margin-bottom:0}.guide-section[hidden]{display:none!important}.guide-section{scroll-margin-top:155px}.size-guide{background:#f3f6fc;border:1px solid #d9e2f3;border-radius:10px;padding:16px;margin-bottom:20px}.size-guide b{font-size:14px;color:#203b68}.size-guide p{font-size:14px;line-height:1.6;margin:8px 0 0;color:#536078}.banner-upload img{max-height:220px;object-fit:contain}.content-workspace{grid-template-columns:minmax(320px,1fr) minmax(340px,1fr)}.extra-banner-editors:has(.guide-section:not([hidden])){display:block}.extra-banner-editors:has(.guide-section[hidden]):not(:has(.guide-section:not([hidden]))){display:none}.banner-disabled{opacity:.85}
@media(max-width:1150px){.content-workspace{grid-template-columns:1fr}.preview-panel{grid-row:auto}}
@media(max-width:760px){.store-hero.has-photo{grid-template-columns:1fr}.hero-photo,.hero-photo img{max-height:none}.hero-photo{min-height:0}.product .photo img{height:100%;padding:0}.store-banner{border-radius:10px}.design-map{padding:18px}.design-map-links{display:grid;grid-template-columns:1fr 1fr}.design-map-links button{padding:12px}.is-preview .store-banner:has(.banner-placeholder){min-height:180px}.banner-placeholder b{font-size:20px}.banner-placeholder span,.banner-placeholder small{font-size:12px}.banner-placeholder{padding-top:72px;gap:5px}.design-guide-label{left:6px;top:6px;padding:7px 9px;gap:3px}.design-guide-label b{font-size:14px}.design-guide-label span,.design-guide-label small{font-size:12px}.guide-section{scroll-margin-top:170px}}

.preview-stage{overflow:hidden}.preview-stage iframe{display:block}
