/* Site-owned accordions only: no library replacement or new motion controller. */
html body :is(.accordion, #accordion).accordion > :is(.card,details.parks-article-faq-item),
html body :is(.parks-city-faq,.parks-campaign-faq,.parks-faq) > details {
  background-color: var(--cheers-component-surface) !important;
  border: 1px solid var(--cheers-component-border) !important;
  border-radius: var(--cheers-component-radius) !important;
  box-shadow: none;
  color: var(--cheers-component-text);
  margin-bottom: 16px !important;
}
html body :is(.accordion, #accordion).accordion > .card > .card-header {
  background-color: transparent !important;
  border-color: transparent;
  border-radius: var(--cheers-component-radius) !important;
  padding: 20px 22px !important;
}
html body :is(.accordion, #accordion).accordion > .card > .card-header :is(h3,button,a),
html body :is(.accordion, #accordion).accordion > details > summary,
html body :is(.parks-city-faq,.parks-campaign-faq,.parks-faq) > details > summary {
  color: var(--cheers-component-heading);
  font-size: 20px;
  line-height: 1.35;
  font-weight: 700;
  min-height: 48px;
}
html body :is(.accordion, #accordion).accordion > details > summary,
html body :is(.parks-city-faq,.parks-campaign-faq,.parks-faq) > details > summary {
  padding: 20px 22px !important;
}
html body :is(.accordion, #accordion).accordion > .card .card-body {
  padding: 0 22px 22px !important;
  color: var(--cheers-component-text);
  font-size: 18px;
  line-height: 1.6;
}
html body :is(.accordion, #accordion).accordion > .card :is(button,a,summary):focus-visible,
html body :is(.parks-city-faq,.parks-campaign-faq,.parks-faq) > details > summary:focus-visible {
  outline: 3px solid var(--cheers-component-focus);
  outline-offset: 3px;
}
/* The header owns spacing; retained legacy h3 padding must not double it. */
html body :is(.accordion, #accordion).accordion > .card > .card-header > h3 {
  padding: 0 !important;
  min-height: 0;
}
