/* Shared regions: the artwork grows with its content rather than clipping fixed text boxes. */
.nos-frame.nos-artwork.nos-fluid{display:flex;flex-direction:column;gap:2cqw;padding:5cqw;min-height:100cqw;height:auto;aspect-ratio:auto!important;overflow:hidden;font:400 max(10px,2cqw)/1.35 var(--nos-font,Arial,sans-serif);color:var(--nos-ink);text-align:left}
.nos-frame.nos-artwork.nos-fluid.nos-art-ratio-portrait{min-height:133.333cqw}.nos-frame.nos-artwork.nos-fluid.nos-art-ratio-wide{min-height:34.375cqw;padding:3cqw;gap:1.5cqw}
.nos-fluid>span:not(.nos-generated-background):not(.nos-art-background):not(.nos-component-watermark),.nos-fluid>a{position:relative;z-index:2;min-width:0;flex-shrink:0}
.nos-fluid .nos-component-identity{display:flex;align-items:center;justify-content:space-between;gap:4cqw;min-height:5cqw}.nos-component-identity:empty{display:none!important}
.nos-fluid .nos-component-brand,.nos-fluid .nos-component-partner{max-width:42%;min-width:0;font-size:max(11px,2.7cqw);font-weight:800;overflow-wrap:anywhere}.nos-component-brand:only-child{margin-left:auto}
.nos-fluid .nos-component-identity img{max-width:100%;width:auto;height:6cqw;min-height:16px;object-fit:contain;object-position:left center}
.nos-fluid .nos-component-headline{display:flex;flex-wrap:wrap;gap:.35em;font-size:max(12px,4cqw);font-weight:800;line-height:1.08;overflow-wrap:anywhere;letter-spacing:-.03em}
.nos-component-headline strong{color:var(--nos-accent)}
.nos-fluid .nos-component-title{font-size:max(14px,4.6cqw);font-weight:800;line-height:1.22;overflow-wrap:anywhere;letter-spacing:-.025em}
.nos-fluid .nos-component-subtitle{font-size:max(11px,2.5cqw);line-height:1.3;overflow-wrap:anywhere}
.nos-fluid .nos-component-body{display:grid;grid-template-columns:minmax(0,38fr) minmax(0,62fr);gap:4cqw;align-items:center;flex:1 0 auto}
.nos-fluid .nos-component-information{display:flex;flex-direction:column;gap:2cqw;min-width:0;overflow-wrap:anywhere}
.nos-component-information:empty{display:none!important}.nos-component-body:has(.nos-component-information:empty){grid-template-columns:1fr}
.nos-fluid .nos-component-features{display:flex;flex-direction:column;gap:1cqw;line-height:1.4}.nos-component-features>span{padding-left:1cqw;border-left:.35cqw solid var(--nos-accent)}
.nos-fluid .nos-component-detail{font-size:.9em;line-height:1.5}.nos-fluid .nos-component-callout{padding:1.3cqw;border:1px solid currentColor;border-radius:1cqw;line-height:1.35}.nos-component-callout strong{display:block}
.nos-fluid .nos-component-media{min-width:0;display:flex;flex-direction:column;gap:2cqw;align-items:stretch}
.nos-fluid .nos-component-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(35%,1fr));gap:1cqw;min-width:0}
.nos-fluid .nos-component-photo{display:flex;align-items:center;justify-content:center;position:relative;min-width:0;height:42cqw;padding:5%;overflow:hidden}
.nos-fluid .nos-component-photo img{display:block;object-fit:contain;width:100%;height:100%;max-width:100%;transform:translate(var(--nos-slot-x,0),var(--nos-slot-y,0)) scale(var(--nos-slot-scale,1));transform-origin:center}
.nos-fluid .nos-component-images:has(>.nos-component-photo:nth-child(2)) .nos-component-photo{height:30cqw}
.nos-fluid.nos-art-panel-white .nos-component-photo{background:#fff;border-radius:2cqw}
.nos-fluid .nos-component-secondary{display:grid;grid-template-columns:minmax(0,30%) minmax(0,1fr);gap:1cqw 2cqw;align-items:center;text-decoration:none!important;color:inherit!important;background:var(--nos-bg-end);padding:2cqw;border:1px solid currentColor;border-radius:2cqw;min-width:0}
.nos-fluid .nos-component-secondary>.nos-component-photo{height:16cqw;min-height:50px;grid-row:span 3}.nos-fluid .nos-component-secondary-title{font-size:max(11px,1.8cqw);font-weight:700;overflow-wrap:anywhere;line-height:1.25}
.nos-fluid .nos-component-commerce{display:flex;flex-wrap:wrap;gap:2cqw;align-items:center}.nos-component-commerce:empty{display:none!important}
.nos-fluid .nos-component-price{display:block;min-width:0;max-width:100%;font-weight:800;overflow-wrap:anywhere}.nos-fluid .nos-component-price-label{font-weight:500;font-size:max(10px,1.6cqw);line-height:1.25;margin-bottom:.4cqw}
.nos-fluid .nos-component-price-value{font-size:max(16px,4cqw);line-height:1.15;padding:1.6cqw 2cqw;border-radius:1cqw;background:var(--nos-accent);color:var(--nos-badge-ink);overflow-wrap:anywhere}
.nos-fluid .nos-component-price-value del{display:block;font-size:.55em;opacity:.85;margin-bottom:.25em}.nos-fluid .nos-component-price-value ins{background:none;text-decoration:none;color:inherit}.nos-fluid .nos-component-price-value bdi{white-space:normal}
.nos-fluid .nos-component-secondary .nos-component-price-value,.nos-fluid .nos-component-product .nos-component-price-value{font-size:max(13px,2.5cqw)}
.nos-fluid .nos-component-badge{display:flex;flex-direction:column;gap:.3em;max-width:100%;padding:1.4cqw 2cqw;background:var(--nos-accent);color:var(--nos-badge-ink);line-height:1.15;overflow-wrap:anywhere;transform:scale(var(--nos-badge-scale));transform-origin:left center}
.nos-fluid .nos-component-badge-pill{border-radius:8cqw}.nos-fluid .nos-component-badge-rectangle{border-radius:1cqw}.nos-fluid .nos-component-badge-ticket{border:2px solid currentColor;border-radius:1cqw;box-shadow:.4cqw .4cqw 0 #0002}.nos-component-badge small{font-size:.7em}.nos-component-badge strong{font-size:1.3em}.nos-fluid .nos-component-stock{font-size:max(10px,1.6cqw);font-weight:800}
.nos-fluid .nos-component-warranty{display:flex;flex-direction:column;padding:1.3cqw;border:2px solid currentColor;border-radius:1cqw;font-size:max(10px,1.8cqw)}
.nos-fluid .nos-component-cta{display:block;align-self:flex-start;padding:1cqw 2cqw;background:var(--nos-accent);color:var(--nos-badge-ink)!important;font-size:max(11px,2cqw);font-weight:700;border-radius:1cqw;text-decoration:none!important}
.nos-fluid .nos-component-footer{font-size:max(9px,1.5cqw);line-height:1.35;overflow-wrap:anywhere;margin-top:auto}
.nos-fluid .nos-component-swatches{display:flex;flex-wrap:wrap;gap:1cqw}.nos-component-swatches>span{width:3cqw;height:3cqw;min-width:8px;min-height:8px;border-radius:50%;border:1px solid #808080}
.nos-fluid .nos-component-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2cqw}.nos-fluid .nos-component-product{min-width:0;background:#ffffffde;color:#182333!important;border-radius:2cqw;padding:2cqw;text-decoration:none!important;display:flex;flex-direction:column;gap:1cqw}
.nos-fluid .nos-component-product .nos-component-photo{height:22cqw}.nos-fluid .nos-component-item-title{font-size:max(11px,2cqw);font-weight:700;line-height:1.3;overflow-wrap:anywhere}.nos-component-product .nos-component-badge{align-self:flex-start;font-size:.8em}
.nos-fluid .nos-component-watermark{position:absolute;inset:20% 5% auto;opacity:.09;font-size:26cqw;font-weight:900;line-height:1;overflow-wrap:anywhere;pointer-events:none;z-index:0}
/* Compositions share components while keeping their own visual hierarchy. */
.nos-fluid:is(.nos-recipe-centered,.nos-recipe-launch,.nos-recipe-minimal,.nos-recipe-phonepromo,.nos-recipe-bubble,.nos-recipe-silk,.nos-recipe-collection)>.nos-component-title,.nos-fluid:is(.nos-recipe-centered,.nos-recipe-launch,.nos-recipe-minimal,.nos-recipe-phonepromo,.nos-recipe-bubble,.nos-recipe-silk,.nos-recipe-collection)>.nos-component-headline{text-align:center;justify-content:center}
.nos-fluid:is(.nos-recipe-features,.nos-recipe-work,.nos-recipe-school,.nos-recipe-featuregrid,.nos-recipe-camera) .nos-component-information{padding:2cqw;background:#ffffff18;border-radius:2cqw}
.nos-fluid:is(.nos-recipe-podium,.nos-recipe-audio,.nos-recipe-power) .nos-component-media{padding-bottom:2cqw;border-bottom:2cqw solid #ffffffb0;border-radius:0 0 45% 45%}
.nos-fluid:is(.nos-recipe-celebration,.nos-recipe-midyear,.nos-recipe-spring,.nos-recipe-mega) .nos-component-information{padding:3cqw;border-radius:4cqw;background:#fffffff0;color:#14284b}
.nos-fluid:is(.nos-recipe-leather,.nos-recipe-retail,.nos-recipe-minimal) .nos-component-title{font-weight:600}.nos-fluid.nos-recipe-metric .nos-component-headline{font-size:max(18px,7cqw)}
.nos-fluid.nos-recipe-collection .nos-component-body{grid-template-columns:1fr}.nos-fluid.nos-recipe-collection .nos-component-information{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2cqw}.nos-fluid.nos-recipe-collection .nos-component-photo{height:26cqw}
.nos-fluid.nos-art-ratio-wide .nos-component-title{font-size:max(16px,3cqw)}.nos-fluid.nos-art-ratio-wide .nos-component-photo{height:25cqw}.nos-fluid.nos-art-ratio-wide .nos-component-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.nos-fluid.nos-art-ratio-wide .nos-component-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));font-size:max(10px,1.4cqw)}
.nos-card-poster{display:block;width:100%;height:auto!important;max-height:none!important}.nos-card-poster .nos-original[hidden]{display:none!important}.nos-product-poster{clear:both;width:100%;max-width:1080px;margin:30px auto;container-type:inline-size}.nos-product-poster .nos-artwork-shell{width:100%}
@container(max-width:420px){.nos-frame.nos-artwork.nos-fluid{gap:10px;padding:14px}.nos-fluid .nos-component-body,.nos-fluid.nos-art-ratio-wide .nos-component-body{grid-template-columns:1fr;gap:12px}.nos-fluid .nos-component-information{gap:8px}.nos-fluid .nos-component-features{gap:5px}.nos-fluid .nos-component-media{order:-1}.nos-fluid .nos-component-photo{height:65cqw}.nos-fluid .nos-component-secondary>.nos-component-photo{height:24cqw}.nos-fluid .nos-component-secondary{padding:8px;gap:6px}.nos-fluid.nos-recipe-collection .nos-component-information{grid-template-columns:1fr}.nos-fluid .nos-component-products{gap:8px}.nos-fluid .nos-component-product{padding:8px}.nos-fluid .nos-component-product .nos-component-photo{height:30cqw}.nos-fluid .nos-component-commerce{gap:8px}.nos-fluid .nos-component-price-value{padding:7px}.nos-fluid .nos-component-badge{padding:6px 9px}.nos-fluid .nos-component-title{font-size:max(14px,5cqw)}}

.nos-fluid .nos-original[hidden]{display:none!important}
/* Ecomall/Archive Studio image stages must grow only for full-poster cards. */
.thumbnail-wrapper:has(.nos-card-poster),.thumbnail-wrapper figure:has(.nos-card-poster),.nos-badge-media:has(.nos-card-poster){height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;overflow:visible!important}
.thumbnail-wrapper:has(.nos-card-poster)>a{display:block;height:auto!important}
.nos-card-poster img{opacity:1!important;visibility:visible!important;transition:none!important;inset:auto!important;z-index:auto!important}
.nos-card-poster .nos-component-photo>img{position:static!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain!important;transform:translate(var(--nos-slot-x,0),var(--nos-slot-y,0)) scale(var(--nos-slot-scale,1))!important}
.nos-card-poster .nos-component-identity img{position:static!important;width:auto!important;max-width:100%!important;height:6cqw!important;min-height:16px!important;object-fit:contain!important;transform:none!important}
.nos-card-poster .nos-art-background>img{position:absolute!important;width:100%!important;height:100%!important;object-fit:cover!important;transform:none!important}

/* Narrow two-column storefront cards need a full-width companion price. */
.nos-fluid .nos-component-price-value .amount{white-space:normal!important;overflow-wrap:anywhere}
@container(max-width:200px){.nos-fluid .nos-component-secondary{grid-template-columns:minmax(0,1fr)}.nos-fluid .nos-component-secondary>.nos-component-photo{grid-row:auto;height:40cqw;min-height:0}.nos-fluid .nos-component-secondary .nos-component-price{width:100%}.nos-frame.nos-artwork.nos-fluid{padding:10px}}
