/**
 * B2B Demo Shell — Shared layout + widget polish (Ridge reference)
 *
 * Demo pages set :root --brand-* (and optional --brand-font-* on .brand-name / .tile h3 in page CSS).
 * Dark skins: add class `b2b-demo--dark` on <html> for minor tweaks.
 * Production: add `page--prod` on #pageRoot to hide demo banner + demo-links (see inline demo script).
 */

/* ——— Demo chrome ——— */
.demo-brand-banner {
  margin: 0;
  padding: 0.28rem 1rem;
  background: rgba(46, 34, 27, 0.92);
  color: rgba(255, 253, 252, 0.95);
  font-size: 0.72rem;
  text-align: center;
  letter-spacing: 0.02em;
}
.page--prod .demo-brand-banner {
  display: none !important;
}
.page--prod .footer .demo-links {
  display: none !important;
}

/* ——— Page shell (tight Ridge-style) ——— */
.page {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem 2rem;
}
.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1rem;
  background: var(--brand-card);
  border-bottom: 1px solid var(--brand-border);
  box-shadow: none;
}
.brand-name {
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--brand-text);
  letter-spacing: 0.02em;
  font-family: inherit;
}
.nav {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  font-size: 0.8rem;
}
.nav a {
  color: var(--brand-muted);
  text-decoration: none;
  font-weight: 500;
  font-family: inherit;
}
.nav a:hover {
  color: var(--brand-accent);
}
.nav a.cta {
  color: var(--brand-accent);
  font-weight: 600;
}
.hero {
  padding: 1.65rem 1rem 1.85rem;
  text-align: center;
  background: var(--brand-card);
  margin-bottom: 1.25rem;
  border-bottom: 1px solid var(--brand-border);
}
.hero h1 {
  margin: 0 0 0.35rem;
  font-size: clamp(1.55rem, 3.8vw, 2rem);
  font-weight: 600;
  color: var(--brand-text);
  letter-spacing: 0.02em;
  line-height: 1.2;
  font-family: inherit;
}
.hero p {
  margin: 0;
  color: var(--brand-muted);
  font-size: 0.95rem;
  max-width: 32rem;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.5;
  font-family: inherit;
}
.hero-cta {
  display: inline-block;
  margin-top: 0.65rem;
  padding: 0.55rem 1.15rem;
  background: var(--brand-accent);
  color: #fff;
  font-weight: 600;
  font-size: 0.92rem;
  text-decoration: none;
  border-radius: 9px;
  font-family: inherit;
  line-height: 1.3;
  transition: background 0.2s;
}
.hero-cta:hover {
  background: var(--brand-accent-deep);
  color: #fff;
}
.hero-subheading {
  margin: 0.35rem auto 0;
  max-width: 34rem;
  font-size: 1rem;
  font-weight: 400;
  color: var(--brand-muted);
  line-height: 1.45;
  font-family: inherit;
}
.hero-note {
  margin: 0.75rem auto 0;
  max-width: 34rem;
  font-size: 0.8rem;
  line-height: 1.4;
  color: var(--brand-muted);
  opacity: 0.92;
  font-family: inherit;
}
.hero-tagline {
  margin: 0.5rem auto 0;
  max-width: 32rem;
  font-size: 0.9rem;
  font-style: italic;
  color: var(--brand-muted);
  line-height: 1.45;
  font-family: inherit;
}
.hero-divider {
  width: 48px;
  height: 2px;
  background: var(--brand-accent);
  margin: 0.75rem auto;
}
.how {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
  margin: 1.15rem 0 1.35rem;
}
.tile {
  padding: 0.95rem 1rem;
  background: var(--brand-card);
  border: 1px solid var(--brand-border);
  border-radius: 8px;
  box-shadow: none;
}
.tile h3 {
  margin: 0 0 0.3rem;
  font-size: 0.98rem;
  color: var(--brand-accent);
  font-weight: 600;
  line-height: 1.3;
  font-family: inherit;
}
.tile p {
  margin: 0;
  font-size: 0.78rem;
  color: var(--brand-muted);
  line-height: 1.4;
  font-family: inherit;
}
.widget-wrap {
  margin: 1.35rem 0;
  padding: 1.15rem 1.2rem 1.35rem;
  background: var(--brand-card);
  border: 1px solid var(--brand-border);
  border-radius: 9px;
  box-shadow: 0 1px 6px rgba(46, 34, 27, 0.04);
}
.widget-kicker {
  margin: 0 0 0.15rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--brand-muted);
  font-family: inherit;
}
.widget-title {
  margin: 0 0 0.75rem;
  font-size: 1.35rem;
  color: var(--brand-text);
  line-height: 1.2;
  font-weight: 600;
  font-family: inherit;
}

/* “Why this works” block — reuses .bottles h2 + .how/.tile; no new surface tokens. */
section.b2b-why-works {
  margin: 0.5rem 0 1.25rem;
}
section.b2b-why-works .how {
  margin-top: 0.5rem;
}

/* ——— Portfolio (secondary browse) ——— */
.bottles {
  margin: 1.15rem 0 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid color-mix(in srgb, var(--brand-border) 75%, transparent);
  opacity: 0.84;
}
.bottles h2 {
  margin: 0 0 0.1rem;
  font-size: 0.98rem;
  color: var(--brand-muted);
  font-weight: 600;
  letter-spacing: 0.02em;
  opacity: 0.92;
  font-family: inherit;
}
.bottles-lead {
  margin: 0 0 0.14rem;
  font-size: 0.76rem;
  color: var(--brand-muted);
  font-weight: 500;
  opacity: 0.88;
  font-family: inherit;
}
.bottles-subtext {
  margin: 0 0 0.62rem;
  font-size: 0.68rem;
  color: var(--brand-muted);
  font-style: italic;
  line-height: 1.35;
  opacity: 0.82;
  font-family: inherit;
}
.bottles-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.42rem;
  width: 100%;
  max-width: 100%;
  margin: 0;
}
.bottle-card {
  background: var(--brand-card);
  border: 1px solid var(--brand-border);
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: none;
  transition: border-color 0.2s;
}
.bottle-card:hover {
  border-color: var(--brand-accent);
  box-shadow: 0 2px 8px rgba(46, 34, 27, 0.06);
}
.bottle-img {
  aspect-ratio: 2 / 5;
  min-height: 88px;
  max-height: 112px;
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--brand-card) 94%, var(--brand-bg)) 0%,
    color-mix(in srgb, var(--brand-border) 28%, transparent) 100%
  );
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding: 0.26rem 0.3rem 0.24rem;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 10px 22px -16px rgba(46, 34, 27, 0.12);
}
.bottle-img img {
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  object-position: center bottom;
}
.bottle-img-placeholder {
  font-size: 0.8rem;
  color: var(--brand-muted);
  text-align: center;
  line-height: 1.3;
  font-family: inherit;
}
.bottle-card .bottle-body {
  padding: 0.42rem 0.48rem 0.5rem;
}
.bottle-card h3 {
  margin: 0 0 0.08rem;
  font-size: 0.72rem;
  color: var(--brand-text);
  font-weight: 600;
  line-height: 1.2;
  opacity: 0.94;
  font-family: inherit;
}
.bottle-card p {
  margin: 0;
  font-size: 0.62rem;
  color: var(--brand-muted);
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  opacity: 0.9;
  font-family: inherit;
}
.bottle-card a {
  display: inline-block;
  margin-top: 0.28rem;
  font-size: 0.64rem;
  font-weight: 600;
  color: var(--brand-accent);
  text-decoration: none;
  opacity: 0.92;
}
.bottle-card a:hover {
  text-decoration: underline;
}

@media (max-width: 768px) {
  .how {
    grid-template-columns: 1fr;
  }
  .bottles-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 520px) {
  .bottles-grid {
    grid-template-columns: 1fr;
  }
}

/* ——— Site footer (quieter) ——— */
.footer {
  margin-top: 1.35rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--brand-border);
  text-align: center;
  font-size: 0.78rem;
  color: var(--brand-muted);
  font-family: inherit;
}
.footer .powered {
  font-size: 0.65rem;
  margin-top: 0.28rem;
  opacity: 0.62;
}
.footer .lead-cta {
  margin: 0.4rem 0 0;
  font-size: 0.82rem;
  line-height: 1.45;
  opacity: 0.92;
}
.footer .lead-cta a {
  color: var(--brand-accent);
  text-decoration: none;
}
.footer .lead-cta a:hover {
  text-decoration: underline;
}
.footer .demo-links {
  font-size: 0.72rem;
  margin-top: 0.4rem;
  line-height: 1.45;
  opacity: 0.72;
  max-width: 52rem;
  margin-left: auto;
  margin-right: auto;
}
.footer .demo-links a {
  color: var(--brand-accent);
  text-decoration: none;
}
.footer .demo-links a:hover {
  text-decoration: underline;
}
.footer .demo-links .demo-disabled {
  color: var(--brand-muted);
  cursor: default;
  text-decoration: none;
  opacity: 0.75;
}
.footer .admin-link {
  margin-top: 0.65rem;
  font-size: 0.74rem;
  opacity: 0.68;
}
.footer .admin-link a {
  color: var(--brand-muted);
}

.results-shell {
  margin-top: 0.5rem;
}
.results-note {
  margin: 0;
  font-size: 0.9rem;
  color: var(--brand-muted);
}

/* ——— Broken bottle image fallback ——— */
.bottle-card img[src=""],
.bottle-card img:not([src]) {
  visibility: hidden;
}

/* ——— Widget: results container ——— */
#bbw-widget .bbw-results-inner {
  display: block;
  width: 100%;
}
#bbw-widget .bbw-profile-summary .bbw-taste-passport-eyebrow {
  color: inherit;
  opacity: 0.85;
}
#bbw-widget .bbw-results-footer {
  border-top-color: rgba(0, 0, 0, 0.08);
  padding-top: 1rem !important;
}
#bbw-widget .bbw-results-footer .bbw-taste-passport {
  margin-bottom: 0;
}

#bbw-widget .bbw-featured-hero-content {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.12rem !important;
  margin-top: 0 !important;
}
/* Portrait bottle frame — consistent across merchant demos (panel variant) */
#bbw-widget .bbw-featured-hero-bottle-panel {
  width: min(100%, 140px) !important;
  aspect-ratio: 2 / 5 !important;
  height: auto !important;
  max-height: 200px !important;
  margin-bottom: 1rem;
  flex-shrink: 0;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  padding: 0.22rem 0.28rem 0.26rem !important;
  box-sizing: border-box !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  border: none !important;
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--brand-card) 96%, var(--brand-bg)) 0%,
    color-mix(in srgb, var(--brand-card) 88%, var(--brand-border) 12%) 75%,
    color-mix(in srgb, var(--brand-border) 16%, transparent) 100%
  ) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.55) inset,
    0 12px 28px -18px rgba(46, 34, 27, 0.12) !important;
}
#bbw-widget .bbw-featured-hero-bottle-panel-img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center bottom !important;
}

/* Cohesive featured module (theme-agnostic surface) */
#bbw-widget .bbw-featured-hero {
  gap: 0.4rem 0.6rem !important;
  margin-bottom: 0.72rem !important;
  padding: 0.45rem 0.6rem 0.42rem !important;
  transform: none !important;
  background: linear-gradient(
    168deg,
    color-mix(in srgb, var(--brand-card) 96%, #fff) 0%,
    color-mix(in srgb, var(--brand-bg) 58%, var(--brand-card)) 48%,
    color-mix(in srgb, var(--brand-card) 94%, #fff) 100%
  ) !important;
  border: 1px solid color-mix(in srgb, var(--brand-border) 58%, transparent) !important;
  border-radius: 12px !important;
  box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 55%, transparent) !important;
  grid-template-columns: minmax(148px, 28%) 1fr !important;
  align-items: center !important;
}

#bbw-widget .bbw-featured-hero-bottle-column {
  padding: 0.2rem 0.22rem 0.18rem 0.12rem !important;
  min-height: 0 !important;
  min-width: 0 !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
}
/* Portrait “shelf” — aspect-locked, bottom-anchored contain (no crop of bottle base) */
#bbw-widget .bbw-featured-hero-bottle-hero {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: 100% !important;
  max-width: 200px !important;
  aspect-ratio: 2 / 5 !important;
  height: auto !important;
  max-height: min(58vh, 280px) !important;
  margin: 0 auto !important;
  padding: 0.26rem 0.36rem 0.3rem !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  border: none !important;
  border-radius: 12px !important;
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--brand-card) 96%, var(--brand-bg)) 0%,
    color-mix(in srgb, var(--brand-card) 90%, var(--brand-border) 10%) 72%,
    color-mix(in srgb, var(--brand-border) 18%, transparent) 100%
  ) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.6) inset,
    0 14px 32px -18px rgba(46, 34, 27, 0.13) !important;
}
#bbw-widget .bbw-featured-hero-bottle-hero-img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  flex: 0 1 auto !important;
}

#bbw-widget .bbw-featured-hero-media {
  aspect-ratio: 3 / 4 !important;
  max-height: none !important;
  min-height: 148px !important;
  height: auto !important;
  max-width: 200px !important;
  margin: 0 !important;
  border-radius: 11px !important;
  opacity: 0.96 !important;
  overflow: hidden !important;
}
#bbw-widget .bbw-featured-hero-img,
#bbw-widget .bbw-featured-hero-video {
  object-fit: cover !important;
  object-position: center 40% !important;
}
#bbw-widget .bbw-featured-hero-right {
  gap: 0.16rem !important;
  min-width: 0 !important;
}
#bbw-widget .bbw-featured-hero-header {
  margin-bottom: 0 !important;
}
#bbw-widget .bbw-featured-hero-label {
  margin-bottom: 0.28rem !important;
}
#bbw-widget .bbw-featured-hero-name {
  font-size: 1.38rem !important;
  margin-bottom: 0.08rem !important;
  line-height: 1.16 !important;
}
#bbw-widget .bbw-featured-hero-conviction {
  font-size: 0.78rem !important;
  margin-bottom: 0.28rem !important;
  line-height: 1.3 !important;
}
#bbw-widget .bbw-featured-hero-section {
  margin-bottom: 0.16rem !important;
}
#bbw-widget .bbw-featured-hero-section-label {
  margin-bottom: 0.14rem !important;
}
#bbw-widget .bbw-featured-hero-section-text {
  font-size: 0.77rem !important;
  line-height: 1.34 !important;
}
#bbw-widget .bbw-featured-hero-why {
  font-size: 0.77rem !important;
  line-height: 1.34 !important;
  margin: 0 0 0.12rem !important;
}
#bbw-widget .bbw-featured-hero-serve {
  font-size: 0.78rem !important;
  margin-bottom: 0.08rem !important;
}

/* ReserveBar serve-led (no bottle): single-column hero, drink image forward */
#bbw-widget .bbw-featured-hero.bbw-featured-hero-serve-led {
  grid-template-columns: 1fr !important;
}
#bbw-widget .bbw-featured-hero.bbw-featured-hero-serve-led .bbw-featured-hero-media {
  max-width: 100% !important;
  min-height: 160px !important;
  aspect-ratio: 4 / 3 !important;
}
#bbw-widget .bbw-featured-hero.bbw-featured-hero-serve-led .bbw-featured-hero-content {
  gap: 0.35rem !important;
}
#bbw-widget .bbw-serve-led-hint {
  font-size: 0.74rem !important;
  margin-top: 0.2rem !important;
}

/* Flex order keeps CTAs last in column; ReserveBar legacy DOM matches `boozebutler-widget.js` (catalog → why → serve → …). */
#bbw-widget .bbw-featured-hero-ctas {
  order: 0 !important;
  margin-bottom: 0 !important;
  margin-top: 0 !important;
  gap: 0.3rem 0.4rem !important;
}
#bbw-widget .bbw-featured-hero-ctas .bbw-explore-bottle {
  font-size: 1.02rem !important;
  padding: 0.62rem 1.2rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  box-shadow: 0 2px 12px color-mix(in srgb, var(--brand-accent) 32%, transparent) !important;
  flex-shrink: 0 !important;
}
#bbw-widget .bbw-featured-hero-ctas .bbw-view-recipe.bbw-featured-hero-cta-secondary {
  font-size: 0.76rem !important;
  padding: 0.32rem 0.72rem !important;
  font-weight: 500 !important;
  border-width: 1px !important;
  border-color: color-mix(in srgb, var(--brand-accent) 42%, transparent) !important;
  color: var(--brand-muted) !important;
  background: color-mix(in srgb, var(--brand-card) 55%, transparent) !important;
  text-decoration: none !important;
  opacity: 1 !important;
}
#bbw-widget .bbw-featured-hero-ctas .bbw-view-recipe.bbw-featured-hero-cta-secondary:hover {
  color: var(--brand-accent-deep) !important;
  border-color: color-mix(in srgb, var(--brand-accent) 55%, transparent) !important;
  background: color-mix(in srgb, var(--brand-card) 90%, transparent) !important;
}

#bbw-widget .bbw-hero-cta-tertiary-wrap {
  margin-top: 0.06rem !important;
  margin-bottom: 0 !important;
}
#bbw-widget .bbw-cta-tertiary-wrap .bbw-hero-cta-tertiary {
  font-size: 0.78rem;
  color: color-mix(in srgb, var(--brand-muted) 85%, var(--brand-text));
}
#bbw-widget .bbw-cta-tertiary-wrap .bbw-hero-cta-tertiary:hover {
  color: inherit;
}

#bbw-widget .bbw-more-ways {
  margin: 1rem 0 0.45rem !important;
  font-size: 0.62rem !important;
}
#bbw-widget .bbw-more-ways ~ .bbw-more-ways {
  margin-top: 1.5rem !important;
  padding-top: 0.75rem !important;
  border-top: 1px solid rgba(0,0,0,0.06) !important;
}
/* Exploration-only supports: one intentional section (no empty same/adjacent headers). */
#bbw-widget .bbw-more-ways.bbw-support-heading--solo-exploration {
  margin-top: 1.15rem !important;
  letter-spacing: 0.08em !important;
}

#bbw-widget .bbw-flavor-profile {
  padding: 0.85rem 1rem 1rem !important;
  margin-bottom: 1rem !important;
}
#bbw-widget .bbw-q {
  margin-bottom: 0.6rem !important;
}
#bbw-widget .bbw-profile-summary {
  margin-bottom: 0.45rem !important;
}
#bbw-widget .bbw-profile-summary .bbw-taste-passport-primary {
  font-size: 0.82rem !important;
}
#bbw-widget .bbw-results-trust {
  font-size: 0.72rem !important;
  margin: -0.1rem 0 0.5rem 0 !important;
}

#bbw-widget .bbw-card {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0.75rem !important;
  padding-top: 0.85rem !important;
  padding-bottom: 0.85rem !important;
  position: relative !important;
  left: 0 !important;
  transform: none !important;
  clear: both !important;
  overflow: visible !important;
  isolation: isolate !important;
  border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  border-color: rgba(0, 0, 0, 0.06) !important;
}
#bbw-widget .bbw-card:first-of-type {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: none !important;
}
#bbw-widget .bbw-card:hover {
  border-color: rgba(0, 0, 0, 0.1) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05) !important;
}

#bbw-widget .bbw-card.bbw-card-secondary {
  padding: 0.6rem 0 !important;
  border: none !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#bbw-widget .bbw-card.bbw-card-secondary:hover {
  box-shadow: none !important;
}
#bbw-widget .bbw-card.bbw-card-secondary .bbw-view-recipe {
  margin-top: 0.35rem;
  font-size: 0.78rem;
}
#bbw-widget .bbw-card-secondary .bbw-why-this-drink {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  font-size: 0.78rem !important;
  line-height: 1.35 !important;
  margin: 0.15rem 0 0.35rem !important;
}
#bbw-widget .bbw-card-secondary .bbw-card-body {
  padding-bottom: 0.35rem !important;
}

/* Contained embeds: tighter alternates (ReserveBar keeps catalog sizing; Sugarlands has no b2b-demo--contained-widget) */
html.b2b-demo--contained-widget:not(.b2b-demo--reservebar-catalog) #bbw-widget .bbw-card {
  margin-bottom: 0.4rem !important;
}
html.b2b-demo--contained-widget:not(.b2b-demo--reservebar-catalog) #bbw-widget .bbw-card + .bbw-card {
  margin-top: 0 !important;
}
html.b2b-demo--contained-widget:not(.b2b-demo--reservebar-catalog) #bbw-widget .bbw-more-ways {
  margin: 0.5rem 0 0.2rem !important;
}
html.b2b-demo--contained-widget:not(.b2b-demo--reservebar-catalog) #bbw-widget .bbw-more-ways ~ .bbw-more-ways {
  margin-top: 0.85rem !important;
  padding-top: 0.42rem !important;
}
html.b2b-demo--contained-widget:not(.b2b-demo--reservebar-catalog) #bbw-widget .bbw-card h3.bbw-card-title--rb-alt-mini {
  font-size: 0.86rem !important;
  line-height: 1.18 !important;
  font-weight: 700 !important;
}
html.b2b-demo--contained-widget:not(.b2b-demo--reservebar-catalog) #bbw-widget .bbw-card h3.bbw-card-title-secondary:not(.bbw-card-title--rb-alt-mini) {
  font-size: 0.92rem !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
}
html.b2b-demo--contained-widget:not(.b2b-demo--reservebar-catalog) #bbw-widget .bbw-card.bbw-card-secondary {
  padding: 0.32rem 0 0.4rem !important;
}
html.b2b-demo--contained-widget:not(.b2b-demo--reservebar-catalog) #bbw-widget .bbw-card-secondary .bbw-why-this-drink {
  font-size: 0.71rem !important;
  line-height: 1.32 !important;
  margin: 0.08rem 0 0.2rem !important;
}
html.b2b-demo--contained-widget:not(.b2b-demo--reservebar-catalog) #bbw-widget .bbw-card.bbw-card-secondary .bbw-view-recipe {
  font-size: 0.71rem !important;
  margin-top: 0.18rem !important;
}

#bbw-widget .bbw-card .bbw-card-media {
  margin-top: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0.76rem !important;
}

#bbw-widget .bbw-results-actions {
  display: none !important;
}
#bbw-widget .bbw-taste-passport-actions-minimal {
  margin-top: 0.45rem !important;
  gap: 0.2rem 0.4rem !important;
}
#bbw-widget .bbw-taste-passport-link,
#bbw-widget .bbw-passport-retake,
#bbw-widget .bbw-passport-explore,
#bbw-widget .bbw-passport-restart,
#bbw-widget .bbw-next-to-explore-link {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  min-height: auto !important;
  line-height: 1.4 !important;
  width: auto !important;
  display: inline !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}
#bbw-widget .bbw-next-to-explore,
#bbw-widget .bbw-next-to-explore-inline {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 0.15rem 0.25rem !important;
  margin-bottom: 1rem !important;
}
#bbw-widget .bbw-next-to-explore-text {
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}
#bbw-widget .bbw-next-to-explore-sep {
  font-size: 0.78rem !important;
  font-weight: 400 !important;
  color: color-mix(in srgb, var(--brand-muted) 50%, transparent) !important;
  margin: 0 0.1rem !important;
}
#bbw-widget .bbw-next-to-explore-link,
#bbw-widget .bbw-next-to-explore-link-adventurous {
  font-size: 0.78rem !important;
  font-weight: 500 !important;
}
#bbw-widget .bbw-taste-passport-support {
  display: none;
}

/* Dark-theme demos (e.g. Balcones): anchors default to near-black; force readable links */
html.b2b-demo--dark #bbw-widget .bbw-next-to-explore-text {
  color: var(--brand-muted) !important;
}
html.b2b-demo--dark #bbw-widget .bbw-next-to-explore-link,
html.b2b-demo--dark #bbw-widget .bbw-next-to-explore-link-adventurous,
html.b2b-demo--dark #bbw-widget .bbw-passport-explore,
html.b2b-demo--dark #bbw-widget .bbw-passport-restart,
html.b2b-demo--dark #bbw-widget .bbw-taste-passport-link,
html.b2b-demo--dark #bbw-widget .bbw-passport-retake {
  color: var(--brand-accent) !important;
}
html.b2b-demo--dark #bbw-widget .bbw-next-to-explore-link:hover,
html.b2b-demo--dark #bbw-widget .bbw-next-to-explore-link-adventurous:hover,
html.b2b-demo--dark #bbw-widget .bbw-passport-explore:hover,
html.b2b-demo--dark #bbw-widget .bbw-passport-restart:hover,
html.b2b-demo--dark #bbw-widget .bbw-taste-passport-link:hover,
html.b2b-demo--dark #bbw-widget .bbw-passport-retake:hover {
  color: var(--brand-accent-deep) !important;
}
html.b2b-demo--dark #bbw-widget .bbw-next-to-explore-sep {
  color: color-mix(in srgb, var(--brand-muted) 88%, #fff) !important;
}
html.b2b-demo--dark #bbw-widget .bbw-next-to-explore-label {
  color: var(--brand-muted) !important;
}
html.b2b-demo--dark #bbw-widget .bbw-next-to-explore-chip {
  background: color-mix(in srgb, var(--brand-card) 85%, #fff) !important;
  border-color: color-mix(in srgb, var(--brand-accent) 45%, transparent) !important;
  color: var(--brand-muted) !important;
}
html.b2b-demo--dark #bbw-widget .bbw-next-to-explore-chip:hover {
  border-color: var(--brand-accent) !important;
  color: var(--brand-accent) !important;
  background: color-mix(in srgb, var(--brand-accent) 12%, var(--brand-card)) !important;
}

#bbw-widget .bbw-credibility-layer {
  margin-top: 0.6rem;
}
#bbw-widget .bbw-recipe-steps {
  display: none !important;
}
#bbw-widget .bbw-recipe-steps.bbw-open {
  display: block !important;
}

@media (max-width: 639px) {
  #bbw-widget .bbw-featured-hero-media {
    aspect-ratio: 3 / 4 !important;
    max-height: none !important;
    min-height: 148px !important;
    width: 100% !important;
    max-width: 240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ——— Packet 10: premium embed shell polish (no engine changes) ——— */
.widget-wrap {
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.04) inset,
    0 2px 24px rgba(15, 23, 42, 0.08);
  border: 1px solid color-mix(in srgb, var(--brand-border) 90%, var(--brand-bg) 5%);
  border-radius: 12px;
}
.widget-title {
  letter-spacing: -0.02em;
}
.nav a:focus-visible,
.hero-cta:focus-visible,
.footer a:focus-visible,
a.cta:focus-visible,
.demo-links a:focus-visible {
  outline: 2px solid var(--brand-accent);
  outline-offset: 3px;
  border-radius: 2px;
}
.bottle-card a:focus-visible {
  outline: 2px solid var(--brand-accent);
  outline-offset: 2px;
}
.topbar {
  position: relative;
  z-index: 1;
}
.topbar::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    color-mix(in srgb, var(--brand-accent) 25%, transparent),
    transparent
  );
  pointer-events: none;
}
.page {
  padding-bottom: 2.5rem;
}
@media (max-width: 480px) {
  .page {
    padding-left: 0.85rem;
    padding-right: 0.85rem;
  }
  .topbar {
    flex-wrap: wrap;
    row-gap: 0.4rem;
  }
}

/* ——— ReserveBar bottle stage: cap height on large viewports (SDK default min-height is tall) ——— */
@media (min-width: 720px) {
  #bbw-widget .boozebutler-widget .bbw-featured-hero-media.bbw-featured-hero-media--bottle-led {
    min-height: min(17.5rem, 48vh) !important;
    max-height: min(22rem, 52vh) !important;
  }
}

/* ——— Dark-theme widget embeds (Balcones, etc.): recipe + profile readability ——— */
html.b2b-demo--dark #bbw-widget .bbw-recipe-steps.bbw-open,
html.b2b-demo--dark #bbw-widget .bbw-recipe-steps.bbw-open .bbw-sec-title {
  color: var(--brand-text) !important;
}
html.b2b-demo--dark #bbw-widget .bbw-recipe-steps.bbw-open {
  background: color-mix(in srgb, var(--brand-card) 92%, #1a1410) !important;
  border-color: color-mix(in srgb, var(--brand-accent) 35%, var(--brand-border)) !important;
  border-top-color: var(--brand-accent) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 6px 18px rgba(0, 0, 0, 0.35) !important;
}
html.b2b-demo--dark #bbw-widget .bbw-flavor-profile {
  background: color-mix(in srgb, var(--brand-card) 88%, #000) !important;
  border-color: color-mix(in srgb, var(--brand-border) 80%, transparent) !important;
  color: var(--brand-text) !important;
}
html.b2b-demo--dark #bbw-widget .bbw-taste-passport-primary,
html.b2b-demo--dark #bbw-widget .bbw-taste-passport-eyebrow {
  color: var(--brand-text) !important;
}
html.b2b-demo--dark #bbw-widget .bbw-taste-chip,
html.b2b-demo--dark #bbw-widget .bbw-pref-chip {
  border-color: color-mix(in srgb, var(--brand-accent) 40%, transparent) !important;
  color: var(--brand-muted) !important;
}
html.b2b-demo--dark #bbw-widget .bbw-hero-recipe-inline-toggle--bottle-match .bbw-recipe-steps.bbw-open {
  color: #e8ddd0 !important;
}
html.b2b-demo--dark #bbw-widget .bbw-featured-hero-cta-tertiary {
  color: var(--brand-accent) !important;
  opacity: 0.95;
}
html.b2b-demo--dark #bbw-widget .bbw-featured-hero-cta-tertiary:hover {
  color: #f0d4a8 !important;
}
html.b2b-demo--dark #bbw-widget button.bbw-view-recipe[disabled],
html.b2b-demo--dark #bbw-widget button.bbw-view-recipe[aria-disabled="true"] {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
}
html.b2b-demo--dark #bbw-widget .bbw-results-page-title,
html.b2b-demo--dark #bbw-widget .bbw-results-page-subtitle {
  color: var(--brand-text) !important;
}
html.b2b-demo--dark #bbw-widget .bbw-results-page-subtitle {
  color: var(--brand-muted) !important;
  opacity: 0.95;
}

/* ——— Dark theme: taste quiz (unreadable #111 labels on dark hosts) ——— */
html.b2b-demo--dark #bbw-widget .bbw-quiz {
  color: #e8e4dc !important;
}
html.b2b-demo--dark #bbw-widget .bbw-q label {
  color: #faf6f0 !important;
  font-weight: 600 !important;
}
html.b2b-demo--dark #bbw-widget .bbw-quiz-progress-label {
  color: #c9b8a0 !important;
}
html.b2b-demo--dark #bbw-widget .bbw-quiz-step-num {
  color: var(--brand-accent) !important;
  font-weight: 700 !important;
}
html.b2b-demo--dark #bbw-widget .bbw-quiz-progress-bar {
  background: #3a342e !important;
}
html.b2b-demo--dark #bbw-widget .bbw-quiz-progress-fill {
  opacity: 1 !important;
  filter: saturate(1.1);
}
html.b2b-demo--dark #bbw-widget .bbw-opt {
  color: #ede8e0 !important;
  background: #2a2320 !important;
  border-color: #5c534a !important;
}
html.b2b-demo--dark #bbw-widget .bbw-opt:hover {
  border-color: var(--brand-accent) !important;
  color: #fff !important;
}
html.b2b-demo--dark #bbw-widget .bbw-opt.bbw-selected {
  color: #1a0f0a !important;
  background: var(--brand-accent) !important;
  border-color: var(--brand-accent) !important;
  font-weight: 600 !important;
}

/* ——— Dark: ReserveBar hero + body copy (SDK defaults are light-theme grays) ——— */
html.b2b-demo--dark #bbw-widget .boozebutler-widget .bbw-featured-hero-name,
html.b2b-demo--dark #bbw-widget .boozebutler-widget .bbw-featured-hero-name--serve-primary {
  color: #faf8f2 !important;
}
html.b2b-demo--dark #bbw-widget .boozebutler-widget .bbw-featured-hero-conviction,
html.b2b-demo--dark #bbw-widget .boozebutler-widget .bbw-featured-hero-label {
  color: #d4c8b8 !important;
}
html.b2b-demo--dark #bbw-widget .boozebutler-widget .bbw-featured-hero-bottle-support-name {
  color: #f2ece2 !important;
}
html.b2b-demo--dark #bbw-widget .boozebutler-widget .bbw-featured-hero-bottle-support-label {
  color: #c9a86e !important;
  opacity: 1 !important;
}
html.b2b-demo--dark #bbw-widget .boozebutler-widget .bbw-brand-fit-proof,
html.b2b-demo--dark #bbw-widget .boozebutler-widget .bbw-featured-hero-section-text,
html.b2b-demo--dark #bbw-widget .boozebutler-widget .bbw-featured-hero-copy,
html.b2b-demo--dark #bbw-widget .boozebutler-widget .bbw-featured-hero-selection-echo,
html.b2b-demo--dark #bbw-widget .boozebutler-widget .bbw-featured-hero-intent-note,
html.b2b-demo--dark #bbw-widget .boozebutler-widget .bbw-recipe-preview-hero-line {
  color: #d8cfc2 !important;
}
html.b2b-demo--dark #bbw-widget .boozebutler-widget .bbw-recipe-preview-hero-label {
  color: #b8a892 !important;
  opacity: 0.95 !important;
}
html.b2b-demo--dark #bbw-widget .boozebutler-widget .bbw-why,
html.b2b-demo--dark #bbw-widget .boozebutler-widget .bbw-why-summary {
  color: #d0c4b4 !important;
}
html.b2b-demo--dark #bbw-widget .boozebutler-widget .bbw-hero-lineup-honesty {
  color: #b8a99a !important;
}

/* ——— Dark: “What matched your profile” — charcoal panel, not high-contrast white ——— */
html.b2b-demo--dark #bbw-widget .bbw-featured-hero-section.bbw-featured-hero-why-works,
html.b2b-demo--dark #bbw-widget .bbw-featured-hero-taste-alignment {
  background: color-mix(in srgb, var(--brand-card) 94%, #0a0806) !important;
  border-color: color-mix(in srgb, var(--brand-border) 75%, var(--brand-accent) 12%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}
html.b2b-demo--dark
  #bbw-widget
  .bbw-featured-hero-section.bbw-featured-hero-why-works
  .bbw-featured-hero-section-label,
html.b2b-demo--dark #bbw-widget .bbw-featured-hero-taste-alignment .bbw-featured-hero-section-label {
  color: #d4b890 !important;
  opacity: 1 !important;
}
html.b2b-demo--dark #bbw-widget .bbw-featured-hero-why-list,
html.b2b-demo--dark #bbw-widget .bbw-featured-hero-why-list li {
  color: #e4dcd0 !important;
}

/* ——— Dark: alternate premium cards ——— */
html.b2b-demo--dark #bbw-widget .boozebutler-widget .bbw-card.bbw-card-secondary {
  background: color-mix(in srgb, var(--brand-card) 88%, #000) !important;
  border-color: color-mix(in srgb, var(--brand-border) 70%, transparent) !important;
}
html.b2b-demo--dark #bbw-widget .bbw-card-title--rb-alt-mini,
html.b2b-demo--dark #bbw-widget .bbw-card h3 {
  color: #faf6ef !important;
}
html.b2b-demo--dark #bbw-widget .bbw-rb-alt-lede,
html.b2b-demo--dark #bbw-widget .bbw-rb-alt-diff,
html.b2b-demo--dark #bbw-widget .bbw-card-desc-secondary {
  color: #d0c4b4 !important;
}
html.b2b-demo--dark #bbw-widget .bbw-rb-alt-bullets,
html.b2b-demo--dark #bbw-widget .bbw-rb-alt-bullets li {
  color: #c9beb0 !important;
}
html.b2b-demo--dark #bbw-widget .bbw-rb-alt-micro-label,
html.b2b-demo--dark #bbw-widget .bbw-card-overline-secondary {
  color: #b8a78f !important;
}

/* ——— Contained distillery: compact hero (excludes full-bleed Company marketing, Ridge, ReserveBar) ——— */
html.b2b-demo--contained-widget:not(.b2b-demo--company-marketing-hero):not(.b2b-demo--ridge):not(
    .b2b-demo--reservebar-catalog
  )
  .page
  > section.hero {
  padding: 0.75rem 0.75rem 0.95rem;
  margin-bottom: 0.85rem;
}
html.b2b-demo--contained-widget:not(.b2b-demo--company-marketing-hero):not(.b2b-demo--ridge):not(
    .b2b-demo--reservebar-catalog
  )
  .page
  > section.hero
  h1 {
  font-size: clamp(1.12rem, 2.5vw, 1.48rem);
  margin: 0 0 0.25rem;
  line-height: 1.2;
}
html.b2b-demo--contained-widget:not(.b2b-demo--company-marketing-hero):not(.b2b-demo--ridge):not(
    .b2b-demo--reservebar-catalog
  )
  .page
  > section.hero
  p.hero-subheading,
html.b2b-demo--contained-widget:not(.b2b-demo--company-marketing-hero):not(.b2b-demo--ridge):not(
    .b2b-demo--reservebar-catalog
  )
  .page
  > section.hero
  .hero-subheading {
  font-size: 0.88rem;
  margin: 0.2rem auto 0;
  max-width: 32rem;
}
html.b2b-demo--contained-widget:not(.b2b-demo--company-marketing-hero):not(.b2b-demo--ridge):not(
    .b2b-demo--reservebar-catalog
  )
  .page
  > section.hero
  .hero-divider {
  width: 40px;
  height: 2px;
  margin: 0.45rem auto;
}
html.b2b-demo--contained-widget:not(.b2b-demo--company-marketing-hero):not(.b2b-demo--ridge):not(
    .b2b-demo--reservebar-catalog
  )
  .page
  > section.hero
  .hero-cta {
  margin-top: 0.42rem;
  padding: 0.44rem 0.95rem;
  font-size: 0.85rem;
  border-radius: 8px;
}
/* ——— Contained distillery: featured + recipe closer to Ridge (Ridge/ReserveBar have stronger overrides) ——— */
html.b2b-demo--contained-widget:not(.b2b-demo--ridge):not(.b2b-demo--reservebar-catalog) #bbw-widget .bbw-card {
  margin-bottom: 0.38rem !important;
  padding-top: 0.48rem !important;
  padding-bottom: 0.48rem !important;
}
html.b2b-demo--contained-widget:not(.b2b-demo--ridge):not(.b2b-demo--reservebar-catalog)
  #bbw-widget
  .bbw-featured-hero {
  padding: 0.32rem 0.48rem 0.3rem !important;
  margin-bottom: 0.48rem !important;
  gap: 0.32rem 0.48rem !important;
}
html.b2b-demo--contained-widget:not(.b2b-demo--ridge):not(.b2b-demo--reservebar-catalog)
  #bbw-widget
  .bbw-featured-hero-bottle-hero {
  max-height: min(46vh, 210px) !important;
  padding: 0.18rem 0.28rem 0.22rem !important;
}
html.b2b-demo--contained-widget:not(.b2b-demo--ridge):not(.b2b-demo--reservebar-catalog)
  #bbw-widget
  .bbw-featured-hero-name {
  font-size: 1.14rem !important;
  line-height: 1.18 !important;
}
html.b2b-demo--contained-widget:not(.b2b-demo--ridge):not(.b2b-demo--reservebar-catalog)
  #bbw-widget
  .bbw-featured-hero-conviction {
  font-size: 0.74rem !important;
  margin-bottom: 0.2rem !important;
}
html.b2b-demo--contained-widget:not(.b2b-demo--ridge):not(.b2b-demo--reservebar-catalog)
  #bbw-widget
  .bbw-featured-hero-ctas {
  gap: 0.24rem 0.32rem !important;
}
html.b2b-demo--contained-widget:not(.b2b-demo--ridge):not(.b2b-demo--reservebar-catalog)
  #bbw-widget
  .bbw-featured-hero-ctas
  .bbw-explore-bottle {
  font-size: 0.9rem !important;
  padding: 0.48rem 0.95rem !important;
}
html.b2b-demo--contained-widget:not(.b2b-demo--ridge):not(.b2b-demo--reservebar-catalog)
  #bbw-widget
  .bbw-featured-hero-ctas
  .bbw-view-recipe.bbw-featured-hero-cta-secondary {
  font-size: 0.72rem !important;
  padding: 0.28rem 0.62rem !important;
}
html.b2b-demo--contained-widget:not(.b2b-demo--ridge):not(.b2b-demo--reservebar-catalog)
  #bbw-widget
  .bbw-recipe-steps.bbw-open {
  margin-top: 0.25rem !important;
  padding: 0.45rem 0.62rem 0.55rem !important;
  border-radius: 8px !important;
}
html.b2b-demo--contained-widget:not(.b2b-demo--ridge):not(.b2b-demo--reservebar-catalog)
  #bbw-widget
  .bbw-recipe-steps.bbw-open
  .bbw-sec-title {
  font-size: 0.63rem !important;
  margin: 0.22rem 0 0.14rem !important;
}
html.b2b-demo--contained-widget:not(.b2b-demo--ridge):not(.b2b-demo--reservebar-catalog) #bbw-widget .bbw-recipe-ingredients li,
html.b2b-demo--contained-widget:not(.b2b-demo--ridge):not(.b2b-demo--reservebar-catalog) #bbw-widget .bbw-recipe-directions li {
  font-size: 0.72rem !important;
  line-height: 1.32 !important;
  margin-bottom: 0.1rem !important;
}
/* Garnish value (p.bbw-garnish); "Garnish" label remains .bbw-sec-title — same scope as li body */
html.b2b-demo--contained-widget:not(.b2b-demo--reservebar-catalog) #bbw-widget .bbw-recipe-steps.bbw-open p.bbw-garnish {
  font-size: 0.75rem !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  margin: 0.25rem 0 0 !important;
  color: inherit !important;
}

/* ——— Non-Sugarlands: premium contained widget width (Sugarlands page omits this class) ——— */
.b2b-demo--contained-widget .widget-wrap {
  max-width: min(100%, 40.5rem);
  margin: 0.7rem auto 1.05rem;
  padding: 0.5rem 1.1rem 1.1rem;
  width: 100%;
  box-sizing: border-box;
}
.b2b-demo--contained-widget .widget-kicker {
  margin-bottom: 0.08rem;
}
/* Tighten space above “Your best match” (SDK page head) — contained demos only */
.b2b-demo--contained-widget #bbw-widget .bbw-results-page-head {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0.2rem !important;
  padding-bottom: 0.05rem !important;
}
.b2b-demo--contained-widget #bbw-widget .bbw-results-page-title {
  margin-top: 0 !important;
  padding-top: 0 !important;
  font-size: clamp(1.22rem, 2.35vw, 1.4rem) !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.02em !important;
}
.b2b-demo--contained-widget #bbw-widget .bbw-results-page-subtitle {
  font-size: 0.78rem !important;
  line-height: 1.38 !important;
  margin: 0.1rem 0 0 !important;
  max-width: 40em;
  opacity: 0.9;
}
.b2b-demo--contained-widget #bbw-widget .bbw-results-inner--reservebar-bottle-match,
.b2b-demo--contained-widget #bbw-widget .bbw-results-inner--reservebar-guided {
  margin-top: 0 !important;
  padding-top: 0.1rem !important;
}

/* ——— ReserveBar catalog: primary recipe CTA (premium gold; “Hide recipe” = selected, not disabled) ——— */
html.b2b-demo--reservebar-catalog
  #bbw-widget
  .bbw-hero-cta-serve-pair
  .bbw-view-recipe.bbw-featured-hero-cta-primary,
html.b2b-demo--reservebar-catalog
  #bbw-widget
  .bbw-recipe-reveal--bottle-hero
  .bbw-view-recipe.bbw-featured-hero-cta-primary,
html.b2b-demo--reservebar-catalog #bbw-widget button.bbw-view-recipe.bbw-featured-hero-cta-primary {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--brand-accent) 96%, #f5e6c0) 0%,
    color-mix(in srgb, var(--brand-accent) 88%, var(--brand-accent-deep)) 100%
  ) !important;
  color: #1a0f04 !important;
  border: 1px solid color-mix(in srgb, var(--brand-accent-deep) 40%, #3d2a10) !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em;
  min-height: 2.38rem;
  padding: 0.48rem 0.95rem !important;
  opacity: 1 !important;
  filter: none !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.4) inset,
    0 1px 2px rgba(0, 0, 0, 0.05),
    0 2px 10px rgba(60, 45, 20, 0.12) !important;
}
html.b2b-demo--reservebar-catalog
  #bbw-widget
  .bbw-view-recipe.bbw-featured-hero-cta-primary[aria-expanded="true"],
html.b2b-demo--reservebar-catalog
  #bbw-widget
  button.bbw-view-recipe.bbw-featured-hero-cta-primary[aria-expanded="true"] {
  filter: none !important;
  background: linear-gradient(180deg, #fff7e0 0%, #e8d49a 55%, #d4b86a 100%) !important;
  color: #1c1408 !important;
  border: 1px solid color-mix(in srgb, var(--brand-accent) 65%, #5c4a20) !important;
  box-shadow:
    0 0 0 1.5px color-mix(in srgb, var(--brand-accent) 60%, rgba(0, 0, 0, 0.15)),
    0 1px 3px rgba(50, 40, 15, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;
}
html.b2b-demo--reservebar-catalog
  #bbw-widget
  .bbw-view-recipe.bbw-featured-hero-cta-primary:hover,
html.b2b-demo--reservebar-catalog
  #bbw-widget
  button.bbw-view-recipe.bbw-featured-hero-cta-primary:hover {
  filter: brightness(1.03) !important;
  color: #120a02 !important;
}
html.b2b-demo--reservebar-catalog
  #bbw-widget
  .bbw-view-recipe.bbw-featured-hero-cta-primary[aria-expanded="true"]:hover,
html.b2b-demo--reservebar-catalog
  #bbw-widget
  button.bbw-view-recipe.bbw-featured-hero-cta-primary[aria-expanded="true"]:hover {
  color: #140c06 !important;
  filter: brightness(1.02) !important;
}
/* “Find this bottle” / secondary: clear outline, not flat gray */
html.b2b-demo--reservebar-catalog #bbw-widget a.bbw-featured-hero-cta-secondary,
html.b2b-demo--reservebar-catalog #bbw-widget button.bbw-featured-hero-cta-secondary {
  background: #fffef9 !important;
  color: #2a2418 !important;
  border: 1.5px solid color-mix(in srgb, var(--brand-accent) 55%, #c4b8a4) !important;
  min-height: 2.35rem;
  padding: 0.45rem 0.9rem !important;
  font-weight: 600 !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}
html.b2b-demo--reservebar-catalog #bbw-widget a.bbw-featured-hero-cta-secondary:hover,
html.b2b-demo--reservebar-catalog #bbw-widget button.bbw-featured-hero-cta-secondary:hover {
  border-color: var(--brand-accent) !important;
  color: #1a1408 !important;
  background: #fff !important;
}

/* ——— ReserveBar catalog: shorter bottle stage (~12% tighter than prior pass; object-fit: contain) ——— */
html.b2b-demo--reservebar-catalog
  #bbw-widget
  .boozebutler-widget
  .bbw-featured-hero-media.bbw-featured-hero-media--bottle-led {
  min-height: min(7.5rem, 25vh) !important;
  max-height: min(10.5rem, 28vh) !important;
  padding: 0.3rem 0.48rem 0.36rem !important;
}
@media (min-width: 720px) {
  html.b2b-demo--reservebar-catalog
    #bbw-widget
    .boozebutler-widget
    .bbw-featured-hero-media.bbw-featured-hero-media--bottle-led {
    min-height: min(8.25rem, 26vh) !important;
    max-height: min(11.5rem, 30vh) !important;
  }
}
html.b2b-demo--reservebar-catalog
  #bbw-widget
  .boozebutler-widget
  .bbw-featured-hero-media--bottle-led
  .bbw-featured-hero-img--bottle-led,
html.b2b-demo--reservebar-catalog
  #bbw-widget
  .boozebutler-widget
  .bbw-featured-hero-media--bottle-led
  .bbw-featured-hero-img,
html.b2b-demo--reservebar-catalog
  #bbw-widget
  .boozebutler-widget
  .bbw-featured-hero-media--bottle-led
  img {
  max-height: min(26vh, 10.5rem) !important;
  object-fit: contain !important;
  object-position: center center !important;
}
/* Portrait “shelf” column (non–bottle-led layouts) */
html.b2b-demo--reservebar-catalog #bbw-widget .bbw-featured-hero-bottle-hero {
  max-height: min(48vh, 230px) !important;
}
html.b2b-demo--reservebar-catalog #bbw-widget .bbw-featured-hero-bottle-hero-img {
  object-fit: contain !important;
  max-height: 100% !important;
}
/* Tighter featured card vertical rhythm (ReserveBar only) */
html.b2b-demo--reservebar-catalog
  #bbw-widget
  .boozebutler-widget
  .bbw-featured-hero--bottle-match {
  padding: 0.85rem 1.1rem 0.9rem !important;
  margin: 0 0 0.95rem !important;
  row-gap: 0.35rem;
}
html.b2b-demo--reservebar-catalog
  #bbw-widget
  .boozebutler-widget
  .bbw-featured-hero--bottle-match
  .bbw-featured-hero-right--bottle-match
  > * + * {
  margin-top: 0.55rem !important;
}
html.b2b-demo--reservebar-catalog
  #bbw-widget
  .boozebutler-widget
  .bbw-featured-hero-header--serve-primary
  > * + * {
  margin-top: 0.4rem !important;
}
html.b2b-demo--reservebar-catalog
  #bbw-widget
  .boozebutler-widget
  .bbw-hero-recipe-stack--bottle-match {
  margin-top: 0.6rem !important;
}
html.b2b-demo--reservebar-catalog
  #bbw-widget
  .boozebutler-widget
  .bbw-hero-cta-cluster--bottle-match {
  gap: 0.35rem !important;
}
