/* Single, non-overlapping product-card layout for the homepage. */
.best-grid,
.all-product-grid { align-items: start; }
.best-card,
.all-product-card { min-width: 0; overflow: hidden; }
.best-image,
.all-product-card > div {
  position: relative;
  height: auto !important;
  aspect-ratio: 1 / 1;
  min-height: 0;
  padding: 20px !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  background: #fafaf8;
}
.best-image img,
.all-product-card > div > img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}
.best-card:hover .best-image img,
.all-product-card:hover > div > img { transform: none !important; }
.best-card h3,
.best-card p,
.best-card a,
.all-product-card > span,
.all-product-card > h3,
.all-product-card > a,
.all-product-card > .compare-toggle { position: relative; z-index: 1; }
.best-card h3,
.all-product-card h3 { margin-top: 20px; }
@media (max-width: 850px) {
  .best-image,
  .all-product-card > div { padding: 16px !important; }
}
@media (max-width: 520px) {
  .best-image,
  .all-product-card > div { padding: 14px !important; }
}

/* Keep the stage speaker within the Party Audio card at narrow widths. */
.category-links a[data-open-filter="party"] img{object-position:62% center;}

/* Bound portrait images to the square frame independently of intrinsic height. */
.best-image img,.all-product-card > div > img {
 position:absolute; inset:20px; width:calc(100% - 40px)!important;
 height:calc(100% - 40px)!important; min-width:0; min-height:0;
 object-fit:contain!important; object-position:center!important;
}
@media(max-width:850px){
 .best-image img,.all-product-card > div > img {inset:16px;width:calc(100% - 32px)!important;height:calc(100% - 32px)!important}
}
@media(max-width:520px){
 .best-image img,.all-product-card > div > img {inset:14px;width:calc(100% - 28px)!important;height:calc(100% - 28px)!important}
 .hero-slider{height:640px;min-height:0}
 .hero-slider .slide > img{height:52%;width:100%;object-fit:cover;object-position:center;transform:none}
 .hero-slider .slide{background:#15191e}
 .hero-slider .slide-shade{background:linear-gradient(180deg,transparent 32%,#15191e 53%)}
 .hero-slider .slide .slide-copy{left:6%;right:6%;top:54%;bottom:auto;width:auto;max-width:none;transform:none}
 .hero-slider .slide-copy h1{font-size:clamp(28px,7.5vw,36px);line-height:1.1;margin:0 0 12px;letter-spacing:-.025em;text-wrap:initial}
 .hero-slider .slide-copy .kicker{font-size:10px;line-height:1.4;letter-spacing:.12em;margin:0 0 10px}
 .hero-slider .slide-copy p:not(.kicker){font-size:14px;line-height:1.5;max-width:38ch}
 .hero-slider .slide-copy .slide-button{margin-top:16px;padding:13px 18px}
 .hero-slider .slider-arrow{top:25%;width:32px;height:44px;font-size:30px;background:rgba(0,0,0,.35)}
 .hero-slider .prev{left:10px}.hero-slider .next{right:10px}
 .hero-slider .slider-dots{bottom:18px}
}
