/* CTA Band Component */

.doghouse-cta-band {
  padding: var(--site-space-2xl) var(--site-container-padding);
  border-radius: var(--site-radius-lg);
  margin: var(--site-space-2xl) auto;
  max-width: calc(var(--site-container-max-width) - 4rem);
}

.doghouse-cta-band__inner {
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--site-space-base);
}

/* Heading typography lives in .dh-section-heading (base.css).
   Variant-specific colour overrides for __heading remain below. */

.doghouse-cta-band__heading-accent {
  color: var(--dh-accent, var(--site-color-coral));
}

.doghouse-cta-band__label {
  font-size: 0.75rem;
  font-weight: var(--site-fw-semibold);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--dh-accent, var(--site-color-coral));
  margin: 0;
}

.doghouse-cta-band__body {
  font-size: var(--site-body-font-size);
  line-height: var(--site-body-line-height);
  max-width: 600px;
}

.doghouse-cta-band__body p {
  margin: 0;
}

.doghouse-cta-band__cta {
  margin-top: var(--site-space-base);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem 2rem;
  flex-wrap: wrap;
}

/* Default variant */
.doghouse-cta-band--default {
  --dh-btn-accent: var(--dh-accent, var(--site-color-primary));
  background-color: var(--site-color-bg-surface);
  color: var(--site-color-text-heading);
}

.doghouse-cta-band--default .doghouse-cta-band__heading { color: var(--site-color-text-heading); }
.doghouse-cta-band--default .doghouse-cta-band__body { color: var(--site-color-text-body); }

/* Surface variant */
.doghouse-cta-band--surface {
  --dh-btn-accent: var(--dh-accent, var(--site-color-primary));
  background-color: var(--site-color-bg-surface);
  color: var(--site-color-text-heading);
}

.doghouse-cta-band--surface .doghouse-cta-band__heading { color: var(--site-color-text-heading); }
.doghouse-cta-band--surface .doghouse-cta-band__body { color: var(--site-color-text-body); }

/* Coral variant — forces coral accent regardless of node --dh-accent */
.doghouse-cta-band--coral {
  --dh-btn-accent: var(--site-color-coral);
  background: linear-gradient(135deg, rgba(254, 74, 73, 0.08) 0%, var(--site-color-bg-surface) 40%, rgba(24, 175, 173, 0.06) 100%);
  border: 1px solid rgba(74, 68, 85, 0.2);
}

.doghouse-cta-band--coral .doghouse-cta-band__heading { color: var(--site-color-text-heading); }
.doghouse-cta-band--coral .doghouse-cta-band__body { color: var(--site-color-text-body); }

/* Full-width layout variant */
.doghouse-cta-band--full-width {
  border-radius: 0;
  max-width: none;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  margin-bottom: 0;
  padding: var(--site-space-3xl, 5rem) var(--site-container-padding);
  background-color: var(--site-color-bg-surface);
  border-top: 1px solid var(--site-color-border-subtle);
  margin-top: var(--site-space-2xl);
}
