/* Offer ladder rows inside the pricing tiles. Everything else reuses the tile chrome. */

/* Front doors strip: text left, two buttons right. Stacks under the text on the mobile grid. */
.bd-offers-doors {
  display: flex;
  flex: none;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.bd-x2Grz.bd-v-nx7dap .bd-offers-doors {
  justify-content: flex-start;
  width: 100%;
}

/* The Library: two buy buttons side by side in the slot one CTA used to fill. */
.bd-offers-buy {
  display: flex;
  flex: none;
  gap: 10px;
  width: 100%;
  height: 40px;
  position: relative;
}
.bd-offers-buy > a {
  flex: 1 1 0;
  min-width: 0;
}

/* Pricing grid. The front doors strip sits above the tiles, three offers in row one, two supporting
   tiles in row two, the fit call strip below. Tiles stretch to equal height and pin their bottom block. */
.bd-x2Grz.bd-offers-grid.bd-1jn2j71,
.bd-x2Grz.bd-offers-grid.bd-v-nx7dap.bd-1jn2j71 {
  --bd-offers-accent: #e34400;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 24px;
  width: 100%;
  max-width: 1122px;
  margin: 0 auto;
}
.bd-x2Grz.bd-offers-grid .bd-k5bkwf {
  width: 100%;
  min-width: 0;
}
.bd-offers-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
  width: 100%;
}
.bd-offers-row-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.bd-x2Grz.bd-offers-grid .bd-1jo8c9e-container,
.bd-x2Grz.bd-offers-grid .bd-1wgf9pl-container {
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.bd-x2Grz.bd-offers-grid .bd-3xjcA.bd-eku2u9,
.bd-x2Grz.bd-offers-grid .bd-Ln2Fp.bd-11mdqz7 {
  width: 100%;
  height: auto;
  flex: 1 1 auto;
}
/* Bottom block (divider, toggle line, button) pinned to the bottom so buttons align across a row. */
.bd-x2Grz.bd-offers-grid .bd-3xjcA .bd-wolg7r,
.bd-x2Grz.bd-offers-grid .bd-Ln2Fp .bd-er4ybd {
  margin-top: auto;
}
/* Price line: keep the figure and its suffix together, wrap cleanly when the tile is narrow. */
.bd-x2Grz.bd-offers-grid .bd-3xjcA .bd-1wh2jio,
.bd-x2Grz.bd-offers-grid .bd-Ln2Fp .bd-5b4ogp {
  width: 100%;
  flex-wrap: wrap;
  row-gap: 0;
}
.bd-x2Grz.bd-offers-grid .bd-3xjcA .bd-9najof,
.bd-x2Grz.bd-offers-grid .bd-Ln2Fp .bd-qeb4hw {
  white-space: nowrap;
  height: auto;
  flex: 0 1 auto;
}
/* Main offer: a quiet one pixel accent ring on the Membership tile. */
.bd-x2Grz.bd-offers-grid .bd-offers-main .bd-3xjcA.bd-eku2u9 {
  outline: 1px solid var(--bd-offers-accent, #e34400);
  outline-offset: -1px;
}
/* Tablet: two across, then one. */
@media (max-width: 1199.98px) {
  .bd-offers-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* Phone: one column. */
@media (max-width: 809.98px) {
  .bd-offers-row,
  .bd-offers-row-2 {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 809.98px) {
  /* The phone variant's column may grow with the pane instead of holding a 330px ribbon. */
  .bd-c5ctls .bd-2k2nwc-container {
    max-width: 520px;
  }
}
