/* Preserve CBA's existing palette and components, improving task hierarchy. */
body .btn.btn--accent { color: var(--base); }
body .btn.btn--accent:hover { color: var(--white); background: var(--accent-dark); }
body .btn.btn--primary { color: var(--white); background: var(--primary); }
body .btn.btn--primary:hover { background: var(--primary-dark); }
body .pillar-card .pillar-card__text { color: var(--base) !important; }
body .event-feature-card-short .event-feature-card-short__badge { color: var(--base) !important; }
.membership-levels .page-hero__eyebrow { color: var(--accent-dark); }
body form.wsf-form button.wsf-button-primary[type="submit"] { color: #fff !important; background: var(--primary); }
body form.wsf-form button.wsf-button-primary[type="submit"]:hover { color: #fff !important; background: var(--primary-dark); }
.membership-intro__content, .membership-levels__header, .membership-mail__content { max-inline-size: 70ch; }
.membership-intro p, .membership-levels p, .membership-mail p { line-height: 1.6; }
.membership-spotlight__inner > p.text--l { line-height: 1.6; max-inline-size: 65ch; margin-inline: auto; }
body.home .pillar-card__title { margin-block: var(--space-s) var(--space-xs); }
body.home .cta-band { padding-block: var(--space-l); }
body.home .cta-band__heading { font-size: var(--text-l); margin-block: 0 var(--space-s); }
body.home .cta-band__subheading,
body.home .cta-band__icon,
body.home .cta-band__card[href="/membership"],
body.home .cta-band__card[href="/membership/"] { display: none; }
body.home .cta-band__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: var(--space-m); max-inline-size: 65rem; margin-inline: auto; }
body.home .cta-band__card { padding: var(--space-s); gap: var(--space-xs); }
body.home .cta-band__card-title { font-size: var(--text-m); margin: 0; }
body.home .cta-band__card-text { line-height: 1.6; margin: 0; }
.cba-checkout-help { line-height: 1.6; margin-block: 0 var(--space-m); }
body.home .membership-spotlight__benefits {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
  inline-size: 100%;
  max-inline-size: 50rem;
  margin-inline: auto;
  padding: var(--space-m);
  gap: var(--space-s) var(--space-m);
}
body.home .membership-spotlight__benefit {
  min-inline-size: 0;
  align-items: baseline;
  font-size: var(--text-m);
  line-height: 1.5;
}
/* Give the local musician mosaic a full screen; allow taller copy to grow. */
body.home .hero-catalina {
  min-block-size: 100vh;
  min-block-size: 100svh;
  padding-block: var(--section-space-m);
}
body.home .hero-catalina .section-intro { margin-block-end: 0; gap: var(--space-m); }
body.home .hero-catalina .section-intro__headline { font-size: var(--text-l); font-weight: 400; line-height: 1.6; max-inline-size: 52ch; }
body.home .hero-catalina .section-intro__cta-wrapper { display: flex; flex-wrap: wrap; gap: var(--space-s); }
body.home .hero-catalina .section-intro__cta-primary,
body.home .hero-catalina .section-intro__cta-secondary { display: inline-flex; align-items: center; justify-content: center; min-block-size: 44px; padding: .75em 1.5em; border-radius: var(--btn-radius); font-weight: 600; line-height: 1.2; text-decoration: none; }
body.home .hero-catalina .section-intro__cta-primary { color: var(--base); background: var(--accent); }
body.home .hero-catalina .section-intro__cta-primary:hover { color: var(--base); background: var(--accent-light); }
body.home .hero-catalina .section-intro__cta-secondary { color: var(--white); border: 1px solid currentColor; }
body.home .hero-catalina .section-intro__cta-secondary:hover { color: var(--base); background: var(--white); }
.page-id-4402 .page-hero { padding-block: var(--space-l); }
.page-id-4402 .show-index { padding-block-start: var(--space-l); }
body.page-id-4402 .page-hero { padding-block: var(--space-s); min-block-size: 0; }
body.cba-checkout main { padding-block: var(--space-l); }
body.cba-checkout .pmpro { max-inline-size: 72ch; margin-inline: auto; }
body.cba-checkout .pmpro > .pmpro_section { padding-block: 0; }
body.cba-checkout .pmpro_level_description_text { line-height: 1.6; }
body.cba-checkout .pmpro_level_description_text h5 { font: inherit; text-transform: none; }
.cba-change-plan a { color: var(--primary-dark); text-underline-offset: .15em; }
.cba-checkout-summary { padding-block: var(--space-m); border-block-start: 1px solid var(--neutral-light); line-height: 1.6; }
.cba-checkout-summary p { margin-block: 0 .5em; }
.show-index__heading { margin-block: 0 var(--space-m); }
.cba-show-empty { grid-column: 1 / -1; padding-block: var(--space-m); }
.cba-show-empty p { margin-block: 0 .5em; }
.cba-show-empty a, .cba-returning-member a { color: var(--primary-dark); text-decoration: underline; text-underline-offset: .15em; }
.cba-returning-member { padding: var(--space-m); background: var(--neutral-ultra-light); color: var(--base); border-radius: var(--radius); }
#join, #renew { scroll-margin-block-start: var(--space-m); }
body a:focus-visible, body button:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }
.header a:focus-visible, .header button:focus-visible, .hero-catalina a:focus-visible, .site-footer a:focus-visible { outline-color: var(--accent); }
.show-filter { flex-wrap: wrap; max-inline-size: 100%; }
.show-filter__tab { min-block-size: 44px; display: inline-flex; align-items: center; }
@media (max-width: 599px) {
  body.home .hero-catalina .section-intro__cta-wrapper { align-items: stretch; }
  body.home .hero-catalina .section-intro__cta-wrapper > a { flex: 1 1 12rem; }
  .show-index__toolbar { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  .pillar-card:hover, .event-feature-card-short:hover { transform: none; }
}
