/* Catalogue only. Home does not load this stylesheet. Card base rules are the
   same bx3 rules used by the home reference in bayrox-pages.css. */
.bx-catalog-region,
.box-with-products .box-content.products,
.filter-product .tab-content { container-type: inline-size; min-width: 0; }
.bx-catalog-grid,
.product-grid:has(> .row > [class*="col-"] > .bx-catalog-card) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 16px; margin: 0; padding: 0; min-width: 0;
}
/* Flatten old Bootstrap row breaks without touching carousel pages or controls. */
.product-grid:has(> .row > [class*="col-"] > .bx-catalog-card) > .row { display: contents; }
.product-grid:has(> .row > [class*="col-"] > .bx-catalog-card) > .row::before,
.product-grid:has(> .row > [class*="col-"] > .bx-catalog-card) > .row::after { display: none !important; }
.product-grid > .row > [class*="col-"]:has(> .bx-catalog-card) {
  width: auto !important; max-width: none; min-width: 0; float: none;
  padding: 0 !important; margin: 0 !important; display: block !important;
}
.product-grid > .row > [class*="col-"]:has(> .bx-catalog-card)::before,
.product-grid > .row > [class*="col-"]:has(> .bx-catalog-card)::after { display: none; }
.bx-catalog-card { min-width: 0; width: 100%; isolation: isolate; }
.bx-catalog-card-body { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.bx-catalog-card .bx3-pcard-title a { overflow-wrap: anywhere; }
.bx-catalog-card .bx3-pcard-thumb img { margin: 0; }
.bx-catalog-card .bx3-pcard-login-btn { min-width: 0; }
.bx-catalog-card .bx3-pcard-login-btn svg { flex-shrink: 0; }
.bx-catalog-card :is(a,button):focus-visible { outline: 3px solid #0788DF; outline-offset: 3px; }
.bx-catalog-grid.is-list { grid-template-columns: minmax(0, 1fr) !important; }
.bx-catalog-card.bx-catalog-card--list { display: grid !important; grid-template-columns: minmax(140px, 25%) minmax(0, 1fr); gap: 16px; }
.bx-catalog-card--list .bx3-pcard-foot { justify-content: flex-start !important; }
.bx-catalog-card--list .bx3-pcard-login-btn { max-width: 240px; }
.bx-wish-item:has(> .bx-catalog-card) { display: flex; flex-direction: column; min-width: 0; }
.bx-catalog-module { margin-bottom: 24px; }
.bx-compare-item { min-width: 0; display: flex; flex-direction: column; }
.bx-compare-item > .bx-catalog-card { height: auto !important; }
.bx-compare-specs { padding: 14px; border: 1px solid #e2e8f0; border-top: 0; border-radius: 0 0 14px 14px; background: #fff; font-size: 12px; overflow-wrap: anywhere; }
@supports (container-type: inline-size) {
  .bx-catalog-grid,
  .product-grid:has(> .row > [class*="col-"] > .bx-catalog-card) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  @container (max-width: 299px) {
    .bx-catalog-grid,
    .product-grid:has(> .row > [class*="col-"] > .bx-catalog-card) { grid-template-columns: minmax(0, 1fr); }
  }
  @container (min-width: 700px) {
    .bx-catalog-grid,
    .product-grid:has(> .row > [class*="col-"] > .bx-catalog-card) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  }
  @container (min-width: 1050px) {
    .bx-catalog-grid,
    .product-grid:has(> .row > [class*="col-"] > .bx-catalog-card) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  }
}
/* Match the unchanged home reference's mobile card values. */
@media (max-width: 768px) {
  .bx-catalog-grid,
  .product-grid:has(> .row > [class*="col-"] > .bx-catalog-card) { gap: 8px; }
  .bx-catalog-card.bx3-pcard { padding: 8px 8px 10px !important; border-radius: 12px !important; }
  .bx-catalog-card .bx3-pcard-thumb { border-radius: 8px !important; }
  .bx-catalog-card .bx3-pcard-brand { font-size: 10px !important; margin-bottom: 2px !important; }
  .bx-catalog-card .bx3-pcard-title { font-size: 11px !important; line-height: 1.35 !important; height: 36px !important; min-height: 36px !important; max-height: 36px !important; margin-bottom: 8px !important; }
  .bx-catalog-card .bx3-pcard-title a { font-size: inherit !important; line-height: inherit !important; }
  .bx-catalog-card .bx3-pcard-foot { padding-top: 6px !important; flex-direction: column !important; align-items: stretch !important; gap: 6px !important; }
  .bx-catalog-card .bx3-pcard-login-btn { font-size: 11.5px !important; padding: 7px 6px !important; border-radius: 8px !important; }
  .bx-catalog-card .bx3-pcard-btn { width: 100% !important; justify-content: center !important; padding: 7px 8px !important; }
  .bx-catalog-card.bx-catalog-card--list { grid-template-columns: minmax(100px, 34%) minmax(0, 1fr); gap: 10px; }
}
@media (max-width: 360px) {
  .bx-catalog-card .bx3-pcard-title { font-size: 10.5px !important; height: 34px !important; min-height: 34px !important; }
  .bx-catalog-card .bx3-pcard-login-btn { font-size: 10px !important; padding: 6px 3px !important; }
}
@media (prefers-reduced-motion: reduce) { .bx-catalog-card, .bx-catalog-card * { transition: none !important; } }
