
/*
 * BBB Drink Vault final cleanup v4.6.23
 * Loaded after bbb-dv.css to neutralize old accumulated layout overrides.
 */

.bbb-dv[data-bbb-dv-root] .bbb-dv__grid {
  align-items: start !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  align-self: start !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__body {
  display: flex !important;
  flex-direction: column !important;
  grid-template-rows: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 18px !important;
  gap: 0 !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__topline,
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__product-details,
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__tastebox,
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__descriptor-block,
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__summary-wrap,
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__score-pair,
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-v23-bottom {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  flex: 0 0 auto !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__topline {
  margin-bottom: 16px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__product-details {
  margin-bottom: 14px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__tastebox {
  margin-bottom: 14px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__descriptor-block {
  margin-bottom: 14px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__summary-wrap {
  margin-bottom: 16px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__score-pair {
  margin-bottom: 12px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) h3 {
  font-size: 22px !important;
  line-height: 1.12 !important;
  overflow: visible !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__meta,
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__product-meta {
  font-size: 13px !important;
  line-height: 1.35 !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__section-label {
  font-size: 10.5px !important;
  line-height: 1.15 !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__summary {
  font-size: 14px !important;
  line-height: 1.42 !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__topline,
.bbb-dv[data-bbb-dv-root] .bbb-dv__topline h3,
.bbb-dv[data-bbb-dv-root] .bbb-dv__info-wrap {
  overflow: visible !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__info-wrap {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: help !important;
  z-index: 50 !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__info {
  cursor: help !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__tooltip {
  display: none !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__info-wrap::after {
  content: attr(data-tip);
  display: none;
  position: absolute;
  z-index: 999999;
  left: 50%;
  bottom: 140%;
  transform: translateX(-50%);
  width: 300px;
  max-width: min(300px, 82vw);
  padding: 12px 13px;
  border: 1px solid rgba(217,169,40,.85);
  border-radius: 10px;
  background: #0b0703;
  color: #fff;
  box-shadow: 0 12px 30px rgba(0,0,0,.58);
  font-size: 13px;
  line-height: 1.4;
  font-weight: 800;
  text-align: left;
  white-space: normal;
  pointer-events: none;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__info-wrap:hover::after,
.bbb-dv[data-bbb-dv-root] .bbb-dv__info-wrap:focus-within::after {
  display: block;
}

.bbb-dv[data-bbb-dv-root] .bbb-v23-bottom {
  display: block !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  overflow: visible !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-v23-bottom-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-v23-extra {
  display: block !important;
  box-sizing: border-box !important;
  min-height: 54px !important;
  max-height: none !important;
  overflow: visible !important;
  border: 1px solid rgba(199,154,43,.42) !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.24) !important;
  padding: 9px 10px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-v23-extra--wide {
  width: 100% !important;
  margin: 0 0 10px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-v23-extra span {
  display: block !important;
  color: #9b6813 !important;
  font-size: 10px !important;
  line-height: 1.1 !important;
  font-weight: 950 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  margin: 0 0 5px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-v23-extra strong,
.bbb-dv[data-bbb-dv-root] .bbb-v23-extra a {
  display: block !important;
  color: #000 !important;
  font-size: 12px !important;
  line-height: 1.22 !important;
  font-weight: 900 !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-v23-extra--wide strong {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-v23-extra a {
  color: #5c3300 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-v23-extra a:hover {
  color: #9b6813 !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__toggle {
  display: block !important;
  clear: both !important;
  margin: 10px auto 0 !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 3 !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
}

@media (max-width: 700px) {
  .bbb-dv[data-bbb-dv-root] .bbb-v23-bottom-row {
    grid-template-columns: 1fr !important;
  }
}



/* v4.6.24 readability and alignment pass */

/* Stop the browser/native tooltip duplication. Custom tooltip only. */
.bbb-dv[data-bbb-dv-root] .bbb-dv__info[title] {
  /* title attribute removed in JS; this is a safety fallback only. */
}

/* Custom BBB tooltip: single tooltip, larger text, no layout shift. */
.bbb-dv[data-bbb-dv-root] .bbb-dv__info-wrap::after {
  content: attr(data-tip) !important;
  display: none;
  position: absolute !important;
  z-index: 999999 !important;
  left: 50% !important;
  bottom: 145% !important;
  transform: translateX(-50%) !important;
  width: 320px !important;
  max-width: min(320px, 82vw) !important;
  padding: 13px 14px !important;
  border: 1px solid rgba(217,169,40,.9) !important;
  border-radius: 12px !important;
  background: #0b0703 !important;
  color: #fff !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.6) !important;
  font-size: 14px !important;
  line-height: 1.42 !important;
  font-weight: 850 !important;
  text-align: left !important;
  white-space: normal !important;
  pointer-events: none !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__info-wrap:hover::after,
.bbb-dv[data-bbb-dv-root] .bbb-dv__info-wrap:focus-within::after {
  display: block !important;
}

/* Collapsed card uses natural flow but with consistent zones for better alignment. */
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__body {
  display: flex !important;
  flex-direction: column !important;
  grid-template-rows: none !important;
  height: auto !important;
  overflow: visible !important;
  padding: 20px !important;
  gap: 0 !important;
}

/* More readable collapsed card typography. */
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) h3 {
  font-size: 23px !important;
  line-height: 1.15 !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__meta,
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__product-meta {
  font-size: 14px !important;
  line-height: 1.38 !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__section-label {
  font-size: 11px !important;
  line-height: 1.2 !important;
  letter-spacing: .07em !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__summary {
  font-size: 15.5px !important;
  line-height: 1.5 !important;
  color: #111 !important;
}

/* Consistent collapsed card zone heights for alignment across cards. */
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__descriptor-block {
  min-height: 150px !important;
  margin-bottom: 18px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__descriptor-chips {
  padding-top: 16px !important;
  gap: 9px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__descriptor-chip {
  font-size: 13px !important;
  line-height: 1.1 !important;
  padding: 7px 11px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__summary-wrap {
  min-height: 158px !important;
  max-height: 158px !important;
  margin-bottom: 18px !important;
  overflow: hidden !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__summary {
  display: -webkit-box !important;
  -webkit-line-clamp: 5 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Score boxes stay aligned and readable. */
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__score-pair {
  min-height: 126px !important;
  margin-bottom: 16px !important;
  align-items: stretch !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__crew-box,
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__fan-box {
  min-height: 118px !important;
  padding: 16px 12px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__crew-box span,
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__fan-box span {
  font-size: 11px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__crew-box strong,
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__fan-box strong {
  font-size: 28px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__crew-box small,
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__fan-box small {
  font-size: 11.5px !important;
  line-height: 1.25 !important;
}

/* Bottom detail section: visible, aligned, readable. */
.bbb-dv[data-bbb-dv-root] .bbb-v23-bottom {
  min-height: 160px !important;
  margin: 0 0 18px !important;
  overflow: visible !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-v23-bottom-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  align-items: stretch !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-v23-extra {
  border: 1px solid rgba(199,154,43,.48) !important;
  border-radius: 11px !important;
  background: rgba(255,255,255,.28) !important;
  padding: 11px 12px !important;
  min-height: 62px !important;
  overflow: visible !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-v23-extra--wide {
  min-height: 74px !important;
  margin-bottom: 10px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-v23-extra span {
  font-size: 11px !important;
  line-height: 1.15 !important;
  color: #9b6813 !important;
  font-weight: 950 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-v23-extra strong,
.bbb-dv[data-bbb-dv-root] .bbb-v23-extra a {
  font-size: 13.25px !important;
  line-height: 1.32 !important;
  font-weight: 900 !important;
  color: #000 !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-v23-extra--wide strong {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-v23-extra a {
  color: #5c3300 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-v23-extra a:hover {
  color: #9b6813 !important;
}

/* Align scorecard link below the detail block. */
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__toggle {
  margin: 12px auto 0 !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
}

/* Expanded scorecard readability for older viewers. */
.bbb-dv[data-bbb-dv-root] .bbb-dv__card.is-open .bbb-dv__scorecard,
.bbb-dv[data-bbb-dv-root] .bbb-dv__scorecard {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__host-take,
.bbb-dv[data-bbb-dv-root] .bbb-dv__detail,
.bbb-dv[data-bbb-dv-root] .bbb-dv__verdict span {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__take-head span {
  font-size: 17px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__take-head strong {
  font-size: 21px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__take-mini small,
.bbb-dv[data-bbb-dv-root] .bbb-dv__take-line small,
.bbb-dv[data-bbb-dv-root] .bbb-dv__take-note small {
  font-size: 11px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__take-mini strong,
.bbb-dv[data-bbb-dv-root] .bbb-dv__take-line span,
.bbb-dv[data-bbb-dv-root] .bbb-dv__take-note span,
.bbb-dv[data-bbb-dv-root] .bbb-dv__take-note {
  font-size: 14.5px !important;
  line-height: 1.5 !important;
}

/* Prevent expanded card from forcing neighboring card vertical stretch. */
.bbb-dv[data-bbb-dv-root] .bbb-dv__card.is-open {
  align-self: start !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

@media (max-width: 700px) {
  .bbb-dv[data-bbb-dv-root] .bbb-v23-bottom-row {
    grid-template-columns: 1fr !important;
  }

  .bbb-dv[data-bbb-dv-root] .bbb-v23-bottom {
    min-height: 0 !important;
  }

  .bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__summary-wrap {
    min-height: 0 !important;
    max-height: none !important;
  }
}

/* ==========================================================================
   v4.6.25 — Alignment lock + readability pass
   Problem: collapsed cards in the same grid row were drifting out of
   alignment because several zones only had a min-height (not a real cap),
   so a card with more descriptor chips, a longer summary, or a slang quote
   grew taller than its neighbor and every box below it (crew/fan score,
   memorable detail, would-drink-again, the "View Full Scorecard" link)
   landed at a different vertical position from card to card.
   Fix: every zone in the collapsed card gets a fixed height with overflow
   handled gracefully, so two cards side by side line up row for row no
   matter how much (or how little) data a given drink has. This section
   loads last on purpose so it overrides every earlier pass in this file.
   Also bumps up the smallest, hardest-to-read text sizes plugin-wide.
   ========================================================================== */

/* ---- Readability: enlarge the cramped text so it reads at a glance ---- */
.bbb-dv[data-bbb-dv-root] .bbb-dv__section-label {
  font-size: 12px !important;
  line-height: 1.25 !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) h3 {
  font-size: 25px !important;
  line-height: 1.2 !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__type {
  font-size: 12.5px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__meta,
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__product-meta {
  font-size: 15px !important;
  line-height: 1.42 !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__score strong {
  font-size: 36px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__score span {
  font-size: 11px !important;
  letter-spacing: .05em !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__descriptor-chip {
  font-size: 14.5px !important;
  padding: 8px 13px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__descriptor-placeholder {
  font-size: 17px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__descriptor-cta {
  font-size: 12px !important;
  line-height: 1.4 !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__summary {
  font-size: 16px !important;
  line-height: 1.55 !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__tastebox-label {
  font-size: 11px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__tastebox-location strong,
.bbb-dv[data-bbb-dv-root] .bbb-dv__episode-pill {
  font-size: 14px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__crew-box strong,
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__fan-box strong {
  font-size: 30px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__crew-box span,
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__fan-box span {
  font-size: 12px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__crew-box small,
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__fan-box small {
  font-size: 12.5px !important;
  line-height: 1.3 !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__fan-box .bbb-dv__fan-action {
  font-size: 12.5px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-v23-extra span {
  font-size: 12px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-v23-extra strong,
.bbb-dv[data-bbb-dv-root] .bbb-v23-extra a {
  font-size: 14.5px !important;
  line-height: 1.4 !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__toggle {
  font-size: 16px !important;
}

/* Expanded scorecard — larger and easier to read */
.bbb-dv[data-bbb-dv-root] .bbb-dv__card.is-open .bbb-dv__scorecard,
.bbb-dv[data-bbb-dv-root] .bbb-dv__scorecard {
  font-size: 16.5px !important;
  line-height: 1.55 !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__scorecard-section h4 {
  font-size: 18px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__host-take,
.bbb-dv[data-bbb-dv-root] .bbb-dv__detail,
.bbb-dv[data-bbb-dv-root] .bbb-dv__verdict span {
  font-size: 16.5px !important;
  line-height: 1.55 !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__take-head span {
  font-size: 18px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__take-head strong {
  font-size: 22px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__take-mini small,
.bbb-dv[data-bbb-dv-root] .bbb-dv__take-line small,
.bbb-dv[data-bbb-dv-root] .bbb-dv__take-note small {
  font-size: 12px !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__take-mini strong,
.bbb-dv[data-bbb-dv-root] .bbb-dv__take-line span,
.bbb-dv[data-bbb-dv-root] .bbb-dv__take-note span,
.bbb-dv[data-bbb-dv-root] .bbb-dv__take-note {
  font-size: 15.5px !important;
  line-height: 1.5 !important;
}

.bbb-dv[data-bbb-dv-root] .bbb-dv__verdict small {
  font-size: 11px !important;
}

/* ---- Alignment: give every collapsed-card zone a real, fixed height ---- */

/* Title row: keep a consistent row height, but don't clip anything —
   clipping here was hiding the info tooltip popup. Height is now kept
   consistent by making the title itself single-line (below) instead of
   by cropping the whole row. */
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__topline {
  min-height: 124px !important;
  overflow: visible !important;
}

/* Drink name + info icon always sit on one line, side by side. The name
   truncates with an ellipsis if it's too long to fit rather than pushing
   or dropping the icon to its own line. */
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) h3 {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
}
.bbb-dv[data-bbb-dv-root] .bbb-dv__title-text {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.bbb-dv[data-bbb-dv-root] .bbb-dv__info-wrap {
  flex: 0 0 auto !important;
}
.bbb-dv[data-bbb-dv-root] .bbb-dv__info {
  width: 16px !important;
  height: 16px !important;
  font-size: 11px !important;
}

/* Style / proof / ABV / origin lines: same footprint whether a drink has
   one line of detail or two. */
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__product-details {
  height: 58px !important;
  min-height: 58px !important;
  max-height: 58px !important;
  overflow: hidden !important;
}

/* "What the Table Tasted" — the biggest offender: a drink with 8-9 chips
   was rendering noticeably taller than a drink with a short "coming soon"
   placeholder. Locking this to one height (with a quiet scrollbar as a
   safety valve for outliers) is what makes the two cards in the screenshot
   line up. */
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__descriptor-block {
  height: 234px !important;
  min-height: 234px !important;
  max-height: 234px !important;
  overflow: hidden !important;
}
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__descriptor-block--placeholder {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__descriptor-chips {
  max-height: none !important;
}

/* Review summary: same box height regardless of how long the write-up is. */
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__summary-wrap {
  height: 176px !important;
  min-height: 176px !important;
  max-height: 176px !important;
  overflow: hidden !important;
}
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__summary {
  -webkit-line-clamp: 4 !important;
}

/* Slang/wildcard quote: reserved as its own fixed-height strip so a card
   with a quote and a card without one still end up the same total height. */
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__slang-wrap {
  display: block !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  margin: 0 0 10px !important;
  overflow: hidden !important;
}
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__slang {
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 1 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Crew Score / Fan Score row: identical height on every card, whether or
   not the fan box's "Add Yours" button is showing. */
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__score-pair {
  height: 148px !important;
  min-height: 148px !important;
  max-height: 148px !important;
}
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__crew-box,
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__fan-box {
  height: 148px !important;
  min-height: 148px !important;
  max-height: 148px !important;
}

/* Memorable Detail / Would Drink Again / Brand Website block: fixed
   footprint whether or not a Memorable Detail was submitted for this
   drink yet. */
.bbb-dv[data-bbb-dv-root] .bbb-v23-bottom {
  min-height: 178px !important;
}
.bbb-dv[data-bbb-dv-root] .bbb-v23-extra--wide {
  min-height: 80px !important;
}
.bbb-dv[data-bbb-dv-root] .bbb-v23-extra {
  min-height: 68px !important;
}

/* View Full Scorecard sits at the same position on every card now that
   everything above it is a known height. */
.bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__toggle {
  margin-top: 14px !important;
}

@media (max-width: 700px) {
  /* On phones, cards stack in a single column, so nothing needs to line
     up against a neighbor — let every zone breathe and show full content
     instead of clipping it. */
  .bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__topline,
  .bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__product-details,
  .bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__descriptor-block,
  .bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__summary-wrap,
  .bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__slang-wrap,
  .bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__score-pair,
  .bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__crew-box,
  .bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__fan-box {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) h3,
  .bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__summary,
  .bbb-dv[data-bbb-dv-root] .bbb-dv__card:not(.is-open) .bbb-dv__slang {
    -webkit-line-clamp: unset !important;
  }
}
