/* BM Traders v3.6.7 — universal banner fit & mobile-safe presentation.
   Loaded after all earlier theme/plugin styles. Presentation only. */

/* ---------- MAIN HERO SLIDER ---------- */
.hero-slider,
.bm-v350-hero .hero-slider{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:var(--bm-banner-ratio,8 / 3) !important;
  overflow:hidden !important;
  background:#061f48 !important;
}
.hero-slide,
.bm-v350-hero .hero-slide{
  background-size:contain !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
}

/* ---------- PROMOTIONAL TILES UNDER HERO ---------- */
.bm-hero-promos{
  align-items:start !important;
  grid-auto-rows:auto !important;
}
.bm-hero-promo,
.bm-hero-promo.is-large{
  position:relative !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:var(--bm-banner-ratio,2 / 1) !important;
  overflow:hidden !important;
  background:#061f48 !important;
}
.bm-hero-promo.is-large{
  grid-row:span 1 !important;
}
.bm-hero-promo img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#061f48 !important;
  transform:none !important;
}
/* Artwork already contains its own copy; avoid a second text layer covering it. */
.bm-hero-promo:after,
.bm-hero-promo::after,
.bm-hero-promo > span{
  display:none !important;
}

/* ---------- PROMO IMAGE TILE MODULE ---------- */
.bm-v29-promo-grid > a,
.bm-v29-promos a,
.omp-promo-tile{
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:var(--bm-banner-ratio,2 / 1) !important;
  overflow:hidden !important;
  background:#061f48 !important;
}
.bm-v29-promo-grid img,
.bm-v29-promos img,
.omp-promo-tile img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#061f48 !important;
}

/* ---------- LEFT / SIDE PRODUCT BANNERS ---------- */
.category-showcase .showcase-row,
.bm-v350-showcase .showcase-row{
  align-items:start !important;
}
.category-showcase .showcase-sponsor-slider,
.bm-v350-showcase .showcase-sponsor-slider,
.showcase-sponsor-slider{
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:var(--bm-banner-ratio,12 / 13) !important;
  overflow:hidden !important;
  background:#fff !important;
}
.showcase-sponsor-slider .showcase-sponsor,
.category-showcase .showcase-sponsor-slider .showcase-sponsor,
.bm-v350-showcase .showcase-sponsor-slider .showcase-sponsor{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:hidden !important;
  background:#fff !important;
}
.showcase-sponsor img,
.category-showcase .showcase-sponsor img,
.bm-v350-showcase .showcase-sponsor img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#fff !important;
  transform:none !important;
}

/* ---------- FOOTER / TRUST BANNER ---------- */
.bm-footer-trust-image,
.footer-banner,
.footer-promo-banner{
  width:100% !important;
  max-width:1600px !important;
  height:auto !important;
  margin-left:auto !important;
  margin-right:auto !important;
  overflow:hidden !important;
}
.bm-footer-trust-image img,
.footer-banner img,
.footer-promo-banner img{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
}

/* ---------- GENERIC SAFETY FOR BANNER IMAGES ---------- */
[data-banner] img,
.banner-image img,
.home-banner img,
.promo-banner img,
.sponsor-banner img{
  max-width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
}

/* Desktop side banner + products: keep products useful without squeezing artwork. */
@media (min-width: 1101px){
  .category-showcase .showcase-row,
  .bm-v350-showcase .showcase-row{
    grid-template-columns:clamp(390px,27vw,500px) minmax(0,1fr) !important;
  }
  .category-showcase .showcase-products .omp-product-grid,
  .bm-v350-showcase .showcase-products .omp-product-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}

/* Tablet: two-column product cards and full artwork. */
@media (min-width: 701px) and (max-width:1100px){
  .category-showcase .showcase-row,
  .bm-v350-showcase .showcase-row{
    grid-template-columns:minmax(300px,38vw) minmax(0,1fr) !important;
  }
  .category-showcase .showcase-products .omp-product-grid,
  .bm-v350-showcase .showcase-products .omp-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* ---------- MOBILE ---------- */
@media (max-width:700px){
  html,body{max-width:100% !important;overflow-x:hidden !important;}

  .hero-slider,
  .bm-v350-hero .hero-slider{
    aspect-ratio:var(--bm-banner-ratio,8 / 3) !important;
    border-radius:12px !important;
  }
  .hero-slide,
  .bm-v350-hero .hero-slide{
    background-size:contain !important;
    background-position:center center !important;
  }

  /* Hero promotion cards become native swipe cards and never crop. */
  .bm-hero-promos{
    display:flex !important;
    width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    gap:10px !important;
    padding:2px 0 8px !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
  }
  .bm-hero-promos::-webkit-scrollbar{display:none !important;}
  .bm-hero-promo,
  .bm-hero-promo.is-large{
    flex:0 0 92% !important;
    width:92% !important;
    min-width:92% !important;
    max-width:92% !important;
    grid-column:auto !important;
    grid-row:auto !important;
    scroll-snap-align:center !important;
    aspect-ratio:var(--bm-banner-ratio,2 / 1) !important;
  }

  /* Portrait side banners stay portrait and fully visible. */
  .category-showcase .showcase-row,
  .bm-v350-showcase .showcase-row,
  .showcase-row{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }
  .category-showcase .showcase-sponsor-slider,
  .bm-v350-showcase .showcase-sponsor-slider,
  .showcase-sponsor-slider{
    width:100% !important;
    aspect-ratio:var(--bm-banner-ratio,12 / 13) !important;
    background:#fff !important;
  }
  .category-showcase .showcase-products,
  .bm-v350-showcase .showcase-products,
  .showcase-products{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding:10px !important;
    overflow:hidden !important;
  }
  .category-showcase .showcase-products .omp-product-grid,
  .bm-v350-showcase .showcase-products .omp-product-grid,
  .showcase-products .omp-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px !important;
  }

  .bm-footer-trust-image{padding-left:12px !important;padding-right:12px !important;}
  .bm-footer-trust-image img{width:100% !important;height:auto !important;border-radius:10px !important;}
}

@media (max-width:390px){
  .category-showcase .showcase-products .omp-product-grid,
  .bm-v350-showcase .showcase-products .omp-product-grid,
  .showcase-products .omp-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
  }
}
