/* --- BRYO brand override for the shared white-label components -------------
   Maps the neutral component tokens onto the live source's coffee advertorial
   palette: green CTAs (#31cd13 → #28a311), success green #198754, danger red
   #dc3545, advertorial-blue research callouts (#0d6efd). Page chrome (masthead,
   doctor hero, sections) is styled separately in main.css. ----------------- */
:root {
  --ad-accent: #198754;           /* testimonial border + badge, faq icon, info marker, comment name, links */
  --ad-accent-contrast: #ffffff;
  --ad-cta-bg: #31cd13;           /* solid fallback; the gradient tweak below is the real button */
  --ad-cta-fg: #ffffff;
  --ad-price-accent: #dc3545;     /* price badge + discount/urgency captions */
  --ad-info-accent: #0d6efd;      /* research-callout (info tone) blue rail */
  --ad-positive: #198754;         /* comparison "BRYO" card */
  --ad-negative: #dc3545;         /* comparison "carry on" card */
  --ad-radius: 8px;
  --ad-font-heading: "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --ad-font-body: "Merriweather", Georgia, "Times New Roman", serif;
}

/* Signature green-gradient pulsing CTA (source token the flat --ad-cta-bg can't
   carry). Equal specificity to the component rule, so this must load after it. */
.ad-offer-cta__btn {
  background: linear-gradient(to right, #31cd13, #28a311);
  text-transform: none;
  font-size: 1.4rem;
  text-shadow: 1px 1px 13px #179b0d;
  box-shadow: 0 0 16px 1px rgba(0, 199, 17, .5);
  animation: bryo-cta-pulse 2s infinite;
}
.ad-offer-cta__btn:hover { background: linear-gradient(to right, #2ec212, #4af22a); }
@keyframes bryo-cta-pulse { 0%, 100% { transform: scale(.97); } 70% { transform: scale(1); } }

/* Ingredient cards (neutral info-card) keep the source's green names. Higher
   specificity than the component rule, so order-independent. */
.ad-info--neutral .ad-info__title { color: #198754; }