/* Keep image buttons measurable, including SVGs with only a viewBox. */
.brandQuick > .item > .logo > .visit-trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-width: 0;
}
.brandQuick > .item > .logo img { object-fit: contain; }

/* Let card content determine row height; keep ratings and actions aligned. */
.listBrands .brands.grid > .brandQuick {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.listBrands .brands.grid > .brandQuick > .item {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 16px;
  height: auto;
  min-width: 0;
}
.listBrands .brands.grid > .brandQuick > .item > .logo {
  flex: 0 0 105px;
  width: 100%;
  height: 105px;
}
.listBrands .brands.grid > .brandQuick > .item > .bonus {
  flex: none;
  width: 100%;
  margin: 0;
  padding-bottom: 12px;
}
.listBrands .brands.grid .brandQuick .item .bonus .data { width: 100%; margin: 0; }
.listBrands .brands.grid .brandQuick .item .bonus .data .bonusBtn {
  width: 100%;
  min-width: 0;
  margin: 0;
}
.listBrands .brands.grid > .brandQuick > .item > .paymentsMethods { width: 100%; }
.brandQuick .item .paymentsMethods ul.markets { gap: 8px; margin-bottom: 12px; }
.brandQuick .item .paymentsMethods ul.markets > li:not(.more) { flex: 1; min-width: 0; }
.brandQuick .item .paymentsMethods ul.markets > li > :is(a, .link-text) {
  display: flex;
  align-items: center;
  gap: 4px;
  line-height: 1.4;
}
.brandQuick .item .paymentsMethods ul.markets > li > :is(a, .link-text) > img { flex: 0 0 14px; width: 14px; }
.brandQuick .item .paymentsMethods ul.payments { flex-wrap: wrap; gap: 8px; }
.brandQuick .item .paymentsMethods ul.payments > li > :is(a, .link-text) { display: flex; align-items: center; }
.brandQuick .item .paymentsMethods ul.payments img { max-width: 90px; object-fit: contain; }
.listBrands .brands.grid > .brandQuick > .item > .highlights {
  flex: 1 0 auto;
  width: 100%;
  margin: 0;
}
.listBrands .brands.grid > .brandQuick > .item > .rating {
  flex: none;
  width: 100%;
  margin: 0;
}
.listBrands .brands.grid > .brandQuick > .item > .actions { flex: none; width: 100%; }
.brandQuick > .item > .actions .button { min-width: 0; }

/* Compact bonus rows use three real columns instead of a six-column span. */
.brandQuick.bonusLayout > .item {
  grid-template-columns: minmax(100px, .85fr) minmax(0, 2fr) minmax(110px, .75fr);
  gap: 20px;
  height: auto;
  min-height: 100px;
  padding: 16px 20px;
}
.brandQuick.bonusLayout > .item > .logo { min-width: 0; height: auto; }
.brandQuick.bonusLayout > .item > .logo > .visit-trigger { min-height: 60px; }
.brandQuick.bonusLayout > .item > .logo img {
  width: auto;
  max-width: 100% !important;
  max-height: 64px;
}
.brandQuick.bonusLayout > .item > .bonus {
  grid-column: auto;
  min-width: 0;
  padding: 0;
  align-items: flex-start;
  text-align: left;
  overflow-wrap: break-word;
}
.brandQuick.bonusLayout > .item > .actions { min-width: 0; width: 100%; }
.brandQuick.bonusLayout > .item > .actions .button {
  width: 100%;
  min-width: 0;
  padding-right: 10px;
  padding-left: 10px;
  white-space: nowrap;
}

/* Give payment cards equal tracks for descriptions, brand logos and links. */
section.payments .listPayments .data { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.paymentCard { display: flex; min-width: 0; }
.paymentCard > .item { display: flex; flex-direction: column; width: 100%; min-width: 0; }
.paymentCard > .item > .image { flex: 0 0 130px; }
.paymentCard > .item > .title { display: block; }
.paymentCard > .item > .description {
  flex: 0 0 104px;
  height: 104px;
  max-height: 104px;
  margin-bottom: 20px;
  line-height: 26px;
}
.paymentCard > .item > .brands { margin-top: auto; }
.paymentCard > .item > .action { margin-top: auto; }
.logoBox { min-width: 0; }
.logoBox > .visit-trigger { min-width: 0; }
.logoBox img { object-fit: contain; }

@media (min-width: 769px) and (max-width: 1199px) {
  .listBrands .brands.grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .content_home .widget .listBrands .brands.grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
  .bonusSection .wrapper > .row { flex-direction: column; row-gap: 24px; }
  .bonusSection .wrapper > .row > .col { flex: 0 0 auto; width: 100%; min-width: 0; }
  .bonusSection .pe-md-5 { padding-right: 0 !important; }
  section.payments .listPayments .data { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  section.payments .listPayments .data .paymentCard:nth-child(2n)::after { display: none; }
}
@media (max-width: 768px) {
  .listBrands .brands.grid > .brandQuick > .item { gap: 14px; }
  .listBrands .brands.grid > .brandQuick > .item > .bonus { padding-bottom: 0; }
  .brandQuick.bonusLayout > .item { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .brandQuick.bonusLayout > .item > .logo img { max-width: 160px !important; }
  .brandQuick.bonusLayout > .item > .actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 0;
  }
  .brandQuick.bonusLayout > .item > .actions .button { height: 40px; }
  .paymentCard > .item > .image { flex-basis: 110px; }
}
@media (max-width: 600px) {
  section.payments .listPayments .data { grid-template-columns: minmax(0, 1fr); }
}
