/* Shared promo layout: complete artwork, readable copy, and no text over images. */
.marketplace-section{padding:24px 0 18px;background:#f3f6f8}
.marketplace-banner{position:relative;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);padding:0;min-width:0;min-height:220px;height:auto;aspect-ratio:auto;border:1px solid #e0e8e3;border-radius:18px;overflow:hidden;background:#fff;color:#0b1023;box-shadow:none}
.marketplace-banner.has-image{aspect-ratio:auto;min-height:220px}
.marketplace-media{grid-column:2;grid-row:1;display:grid;place-items:center;min-width:0;width:100%;height:auto;align-self:stretch;background:#edf5f0}
.marketplace-media picture{display:block;width:100%;height:auto}
.marketplace-media img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;filter:none;opacity:1;user-select:none;-webkit-user-drag:none}
.marketplace-post-head{display:none}
.marketplace-copy{grid-column:1;grid-row:1;z-index:1;align-self:stretch;justify-self:stretch;align-content:center;display:grid;gap:14px;width:auto;max-width:none;min-width:0;margin:0;padding:28px 30px;border:0;border-radius:0;background:#fff;color:#0b1023}
.marketplace-copy h2{display:block;margin:0;color:inherit;font-size:clamp(22px,2.4vw,30px);line-height:1.22;letter-spacing:-.025em;font-weight:760;overflow-wrap:anywhere;overflow:visible;-webkit-line-clamp:unset}
.marketplace-copy p{display:block;margin:0;color:#536171;font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.marketplace-copy .btn{justify-self:start;width:auto;min-height:44px;max-width:100%;margin:0;padding:11px 16px;font-size:14px;line-height:1.4;border-radius:11px;white-space:normal;text-align:center}
.marketplace-banner:not(.has-image){grid-template-columns:minmax(0,1fr)}
.marketplace-banner:not(.has-image) .marketplace-copy{grid-column:1;grid-row:1;width:auto;max-width:none;min-height:180px;background:linear-gradient(120deg,#eefbf4,#e3f4eb)}
.marketplace-banner--artwork,.marketplace-banner--artwork.has-image{display:block;min-height:0;height:auto;aspect-ratio:auto;background:#edf5f0}
.marketplace-banner--artwork .marketplace-media{display:block;height:auto;background:transparent}
.marketplace-artwork-link{display:block;color:inherit;text-decoration:none}
.marketplace-artwork-link:focus-visible{outline:3px solid #087b53;outline-offset:-4px;border-radius:inherit}
.banner-track{display:flex;align-items:flex-start;overflow-x:auto;overflow-y:hidden;transition:height .2s ease;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:16px;touch-action:pan-x pan-y pinch-zoom}
.banner-track::-webkit-scrollbar{display:none}
.banner-track:focus-visible{outline:2px solid #087b53;outline-offset:4px}
.banner-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;display:block;align-self:flex-start}
.banner-slide .marketplace-banner{width:100%;box-shadow:none}
.banner-toolbar{display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px;margin-top:6px}
.banner-navigation{display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap}
.banner-navigation button{display:grid;place-items:center;width:26px;min-width:26px;height:40px;min-height:40px;padding:0;border:0;border-radius:8px;background:transparent}
.banner-navigation button::before{content:"";width:6px;height:6px;background:#bbc6c1;border-radius:8px;transition:width .2s ease}
.banner-navigation button[aria-current=true]::before{width:18px;background:#078554}
.banner-navigation .banner-arrow{width:36px;min-width:36px;color:#536171;font-size:26px;line-height:1}
.banner-navigation .banner-arrow::before{display:none}
.banner-play{display:grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0;border:0;border-radius:50%;background:transparent;color:#536171}
.banner-play svg{display:block;pointer-events:none}
.banner-play:hover{background:#0b102308}
.banner-navigation button:focus-visible,.banner-play:focus-visible{outline:2px solid #087b53;outline-offset:0}
.banner-admin-preview{display:block;min-width:0;overflow:hidden;border-radius:12px}
.banner-admin-preview>img{display:block;width:100%;height:auto;object-fit:contain}
.marketplace-banner--preview .btn{pointer-events:none}
.banner-admin-preview--mobile{width:100%;max-width:390px;margin-inline:auto}
.banner-admin-preview--mobile .marketplace-banner{grid-template-columns:minmax(0,1fr);min-height:0;border-radius:15px}
.banner-admin-preview--mobile .marketplace-media{grid-column:1;grid-row:1;height:auto}
.banner-admin-preview--mobile .marketplace-copy{grid-column:1;grid-row:2;width:auto;margin:0;padding:20px;gap:12px;align-content:start}
.banner-admin-preview--mobile .marketplace-copy h2{font-size:21px;line-height:1.24}
.banner-admin-preview--mobile .marketplace-copy p{font-size:15px;line-height:1.5}
.banner-admin-preview--mobile .marketplace-banner:not(.has-image) .marketplace-copy{grid-row:1;min-height:160px}
.search-hero.artwork-only .search-hero-image{position:static;height:auto;object-fit:contain}
.search-hero.artwork-only:before{display:none}
.search-hero.artwork-only .search-hero-inner{position:absolute;left:50%;bottom:0;transform:translateX(-50%);padding-block:0 24px}
.search-hero.artwork-only .search-hero-bar{margin-top:0}
@media(max-width:760px){
 .marketplace-section{padding:16px 0 12px}
 .marketplace-section>.container{width:calc(100% - 32px)}
 .marketplace-banner,.marketplace-banner.has-image{grid-template-columns:minmax(0,1fr);min-height:0;height:auto;aspect-ratio:auto;border-radius:15px}
 .marketplace-media{grid-column:1;grid-row:1;height:auto}
 .marketplace-copy{grid-column:1;grid-row:2;width:auto;max-width:none;margin:0;padding:20px;gap:12px;align-content:start}
 .marketplace-copy h2{font-size:21px;line-height:1.24;display:block;overflow:visible;-webkit-line-clamp:unset}
 .marketplace-copy p{display:block;font-size:15px;line-height:1.5}
 .marketplace-copy .btn{min-height:44px;max-width:100%;padding:11px 16px;font-size:14px}
 .marketplace-banner:not(.has-image) .marketplace-copy{grid-row:1;min-height:160px}
 .marketplace-banner--artwork,.marketplace-banner--artwork.has-image{display:block;min-height:0}
 .banner-toolbar{margin-top:2px;gap:2px}
 .banner-navigation button{width:24px;min-width:24px}
 .banner-navigation .banner-arrow{width:32px;min-width:32px}
 .search-hero.artwork-only .search-hero-inner{position:static;left:auto;bottom:auto;transform:none;padding-block:16px 20px}
}
@media(prefers-reduced-motion:reduce){.banner-navigation button::before,.banner-track{transition:none}}
