/* Recover-50-bottles signup band. Always the brand's light mapping — the
   section remaps --rv-* in site-tokens.css — so it converts on both the
   dark homepage and the dark inner pages. Read --rv-* only. */

.pb-cta-section {
  background: var(--rv-surface);
  color: var(--rv-text);
  text-align: center;
  padding: 48px 24px;
  border-top: 1px solid var(--rv-cta-rule);
  border-bottom: 1px solid var(--rv-cta-rule);
}

/* Homepage waves already draw the seam; keep the rules for inner pages. */
.wave-divider + .pb-cta-section { border-top: none; }
.pb-cta-section:has(+ .wave-divider) { border-bottom: none; }

/* After key facts the band is a close, not a second hero. One S-9 rule
   separates the cards from the offer; padding stays tight. */
.facts-section + .pb-cta-section {
  padding: 36px 24px 48px;
}

.pb-cta-inner {
  max-width: 640px;
  margin: 0 auto;
}

.pb-cta-h2 {
  font-size: clamp(1.5rem, 3.2vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin: 0 0 10px;
  color: var(--rv-text);
}

.pb-cta-accent {
  color: var(--rv-accent);
}

.pb-cta-sub {
  font-size: 1rem;
  color: var(--rv-text-muted);
  line-height: 1.6;
  margin: 0 0 20px;
}

.pb-cta-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-bottom: 14px;
}

.pb-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  min-width: 220px;
  padding: 12px 22px;
  border-radius: var(--radius-btn);
  font-family: var(--font-main);
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  transition: background var(--transition-base), color var(--transition-base);
}

.pb-cta-btn img {
  display: block;
  flex-shrink: 0;
}

.pb-cta-btn:focus-visible {
  outline: 2px solid var(--rv-accent);
  outline-offset: 2px;
}

.pb-cta-btn-google {
  background: var(--rv-cta-google-bg);
  color: var(--rv-text);
}

.pb-cta-btn-google:hover,
.pb-cta-btn-google:focus-visible {
  background: var(--rv-cta-google-hover);
  color: var(--rv-text);
}

.pb-cta-btn-apple {
  background: var(--rv-cta-apple-bg);
  color: var(--rv-cta-apple-fg);
}

.pb-cta-btn-apple:hover,
.pb-cta-btn-apple:focus-visible {
  background: var(--rv-cta-apple-hover);
  color: var(--rv-cta-apple-fg);
}

.pb-cta-email {
  display: inline-block;
  margin-bottom: 12px;
  font-weight: 600;
  color: var(--rv-accent);
  text-decoration: none;
}

.pb-cta-email:hover,
.pb-cta-email:focus-visible {
  color: var(--rv-accent-hover);
}

.pb-cta-email:focus-visible {
  outline: 2px solid var(--rv-accent);
  outline-offset: 2px;
}

.pb-cta-legal {
  font-size: 0.78rem;
  color: var(--rv-text-muted);
  line-height: 1.6;
  margin: 0;
}

.pb-cta-legal a {
  color: var(--rv-accent);
  font-weight: 600;
}

.pb-cta-legal a:hover {
  color: var(--rv-accent-hover);
}

body:has(.pb-cta-section) .page {
  padding-bottom: 48px;
}

body:has(.pb-cta-section) .footer {
  margin-top: 0;
}

@media (max-width: 520px) {
  .pb-cta-section { padding: 36px 20px 40px; }
  .facts-section + .pb-cta-section { padding: 28px 20px 40px; }
  .pb-cta-buttons { flex-direction: column; align-items: stretch; }
  .pb-cta-btn { width: 100%; min-width: 0; }
}
