.supplier-visual,.collection-visual{position:relative;width:100%;height:100%;min-height:150px;background:#f0f0ec;overflow:hidden;color:#202526}
#popular .products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 26px}
#popular .product-card{min-width:0;min-height:0}
#popular .product-body p{min-height:44px}
#popular .product-image{height:260px}
@media(max-width:700px){#popular .products{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}#popular .product-image{height:190px}#popular .product-body h3{min-height:46px}#popular .product-body p{min-height:64px}}
.supplier-visual{display:flex;align-items:center;justify-content:center;padding:18px 18px 52px}
.supplier-visual img{position:static!important;display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important}
.supplier-visual>span{position:absolute;bottom:13px;left:16px;right:16px;font:10px/1.4 Inter,sans-serif;text-align:left;color:#404540}
.supplier-visual small{display:block;color:#717771;font-size:9px;margin-top:2px}
.supplier-visual.white-packshot{background:#fff}
.supplier-visual.baseline-photo{padding:0 0 52px}
.supplier-visual.baseline-photo img{object-fit:cover!important}
.baseline-media>.baseline-photo{min-height:450px}
.collection-visual{display:flex;flex-direction:column;justify-content:space-between;padding:24px;text-align:left;background:#e5e7e0}
.collection-visual>span{font:9px/1.5 monospace;letter-spacing:.12em;color:#687068}
.collection-visual>b{font:400 clamp(22px,2.5vw,38px)/1.12 'Space Grotesk',sans-serif;letter-spacing:-.035em;overflow-wrap:anywhere}
.collection-visual>small{font:10px/1.5 Inter,sans-serif;color:#687068}
.pcov.media>.supplier-visual,.pcov.media>.collection-visual{position:absolute;inset:0;padding-bottom:150px}
.pcov.media>.supplier-visual>span{bottom:120px}
.pcov.media::after{display:none}
.pcov.media .media-label,.pcov.media .media-label .mono,.pcov.media .media-label span:last-child{color:#343a35}
.baseline-media>.collection-visual{min-height:450px;padding:48px}
.baseline-media>.collection-visual>b{font-size:64px}
@media(max-width:700px){.supplier-visual{padding:12px 12px 50px}.supplier-visual>span{font-size:9px;left:12px;right:12px}.collection-visual{padding:16px}.collection-visual>b{font-size:22px}.baseline-media>.collection-visual{min-height:330px;padding:28px}.baseline-media>.collection-visual>b{font-size:44px}}

/* Captions occupy a real layout row, so wrapped copy never meets the photo. */
.supplier-visual,.supplier-visual.baseline-photo{display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:stretch;padding:0}
.supplier-visual img{min-height:0;padding:18px}
.supplier-visual>span{position:static;display:block;min-height:74px;padding:16px 18px 18px;line-height:1.5}
.supplier-visual small{margin-top:4px;line-height:1.5}
.supplier-visual.baseline-photo img{padding:0;object-fit:contain!important}
#popular .product-image{height:300px}
.pcov.media>.supplier-visual{padding:0 0 112px}
@media(max-width:700px){#popular .product-image{height:236px}.supplier-visual img{padding:12px}.supplier-visual>span{min-height:88px;padding:14px 12px 16px}.supplier-visual.baseline-photo img{padding:0}}

/* Homepage cards have one copy block, below an uninterrupted image. */
.body>main{min-width:0;width:100%}
.toolbar .count{min-width:0}
.list.grid .card{min-width:0;width:100%}
@media(max-width:820px){
 .body{display:block!important}
 .mobile-tools #mobileSort{display:none!important}
 .mobile-tools{position:static!important;display:flex!important;padding:0!important;margin-bottom:16px}
 .mobile-tools #filterOpen{flex:0 0 auto;min-height:44px;padding:10px 24px}
 .toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px}
 .toolbar .count{flex:1 1 160px;line-height:1.5}
 .toolbar .tools{flex:0 1 auto;min-width:0}
 .toolbar .view-btn{display:none!important}
 .toolbar select{width:160px;max-width:100%;min-height:44px}
 #results.list,#results.list.grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px;width:100%}
 #results .card{display:flex!important;flex-direction:column;align-items:stretch;width:100%;padding:0;min-width:0;min-height:0;border:0;background:transparent;gap:12px}
 #results .icon.product-image{width:100%!important;height:auto!important;aspect-ratio:4/3}
 #results .main h3{white-space:normal;min-height:0;font-size:22px}
 #results .desc{display:block;white-space:normal;min-height:0}
 #results .right{width:100%;text-align:left;align-self:stretch}
 #results .actions{display:flex;justify-content:space-between;align-items:center}
 #results .add{min-height:44px;min-width:72px}
 #results .fee{display:block}
 #results .specs{display:none}
 #results .load,#results .empty{grid-column:1/-1}
}
@media(max-width:540px){#results.list,#results.list.grid{grid-template-columns:minmax(0,1fr)}}
#popular .product-image{height:auto;aspect-ratio:4/3}
#popular .supplier-visual{display:block;min-height:0;padding:0}
#popular .supplier-visual>span{display:none}
#popular .supplier-visual.baseline-photo img{padding:0;object-fit:cover!important}
#popular .product-body{padding-top:22px}
.list .card .supplier-visual{display:block;min-height:0;padding:0}
.list .card .supplier-visual>span{display:none}
.list .card .supplier-visual img{max-width:none!important;max-height:none!important}
.list .card .supplier-visual.baseline-photo img{object-fit:cover!important;padding:0}
.pcov.media>.supplier-visual{display:block;padding:0}
.pcov.media>.supplier-visual>span,.pcov.media:has(>.supplier-visual) .media-label{display:none}
.pcov.media>.supplier-visual img{max-width:none!important;max-height:none!important}
.pcov.media>.supplier-visual.baseline-photo img{object-fit:cover!important;padding:0}
@media(max-width:700px){.mobile-tools #mobileSort{display:none}.mobile-tools{grid-template-columns:1fr!important}.list .card .icon.product-image img{width:100%!important;height:100%!important}}
@media(max-width:700px){#popular .product-body{padding-top:16px}}
.supplier-visual.real-photo{display:block;padding:0}
/* Photography fills the frame; packshots retain their complete product silhouette. */
.supplier-visual.real-photo.baseline-photo img{padding:0!important;object-fit:cover!important}
.supplier-visual.real-photo img[src$="ct-real.png"]{object-position:50% 64%!important}
.supplier-visual.real-photo img[src$="vo2-real.jpg"]{object-position:50% 18%!important}
.supplier-visual.white-packshot img{padding:clamp(12px,2vw,24px)!important;object-fit:contain!important}
/* Match the studio master ratio so package edges and equipment stay intact. */
.list.grid .icon.product-image{height:auto!important;aspect-ratio:4/3}
.pcov.media:has(>.premium-studio){aspect-ratio:4/3;min-height:0;height:auto}
