/* Artwork geometry is scoped to posters and banners, never commerce cards. */
.nos-artwork-shell{display:block;width:100%;container-type:inline-size;line-height:1.15}
.nos-frame.nos-artwork{display:block;position:relative;isolation:isolate;width:100%;height:auto;min-height:0;padding:0;margin:0;overflow:hidden;border:0;border-radius:0;aspect-ratio:1/1;font-family:Arial,Helvetica,sans-serif;font-size:2.5cqw;color:var(--nos-ink);background:var(--nos-bg);text-align:left;box-shadow:none}
.nos-frame.nos-artwork.nos-art-ratio-portrait{aspect-ratio:3/4}
.nos-frame.nos-artwork.nos-art-ratio-wide{aspect-ratio:1600/550}
.nos-artwork.nos-bg-gradient{background:linear-gradient(125deg,var(--nos-bg),var(--nos-bg-end))}
.nos-artwork.nos-bg-pattern{background:radial-gradient(circle at 70% 35%,var(--nos-bg-end),var(--nos-bg))}
.nos-artwork.nos-bg-pattern:before{content:"";position:absolute;inset:0;opacity:.12;pointer-events:none;background-image:radial-gradient(var(--nos-ink) .65px,transparent .8px);background-size:9px 9px}
.nos-artwork *{box-sizing:border-box}
.nos-artwork span{display:block}
.nos-artwork img{display:block;width:100%;height:100%;max-width:none;object-fit:contain;margin:0;border:0;border-radius:0}
.nos-art-background{position:absolute;inset:0;z-index:-1}
.nos-art-background img{object-fit:cover}
.nos-artwork .woocommerce-Price-amount,.nos-artwork .woocommerce-Price-currencySymbol{display:inline!important;font-size:inherit!important;color:inherit!important}
.nos-artwork bdi{white-space:nowrap}
.nos-artwork .woocommerce-Price-currencySymbol{font-size:.5em!important;margin-right:.1em}
@container (max-width:550px){.nos-frame.nos-artwork.nos-art-ratio-wide{aspect-ratio:1/1}}
/* Generated scenery and baked alpha effects are shared by preview, public artwork and exports. */
.nos-generated-background{z-index:0;pointer-events:none}
.nos-generated-background img{object-fit:fill!important}
.nos-artwork.nos-bg-generated:before{display:none}
.nos-frame:not(.nos-artwork)>.nos-generated-background{z-index:0}
.nos-frame:not(.nos-artwork)>.nos-generated-background img{width:100%;height:100%;object-fit:fill}
.nos-frame:not(.nos-artwork)>.nos-copy,.nos-frame:not(.nos-artwork)>.nos-branding{position:relative;z-index:2}
.nos-poster-brand-logo{position:absolute;right:5%;top:5%;width:20%;height:10%;z-index:6}
.nos-poster-brand-logo img{width:100%;height:100%;object-fit:contain}
