.wp-block-accordion,
.wp-block-accordion.acc-white {
  --acc-title-color: #fff;
  --acc-panel-bg: transparent;
  --acc-icon-color: #fff;
  --acc-border-color: #fff;
}
.wp-block-accordion.acc-black {
  --acc-title-color: #1a1a1a;
  --acc-panel-bg: transparent;
  --acc-icon-color: #1a1a1a;
  --acc-border-color: #1a1a1a;
}
.wp-block-accordion.acc-brand {
  --acc-title-color: #0066cc;
  --acc-panel-bg: #e8f0fe;
  --acc-icon-color: #0066cc;
  --acc-border-color: #0066cc;
}
.wp-block-accordion.acc-muted {
  --acc-title-color: #555;
  --acc-panel-bg: transparent;
  --acc-icon-color: #999;
  --acc-border-color: #ddd;
}
.wp-block-accordion-heading__toggle-title {
  line-height: 1.3 !important;
}
.wp-block-accordion-heading__toggle-icon {
  font-size: 4rem;
  font-weight: 100;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: 0.5em;
  font-family: "Roboto", "Helvetica Neue", Arial, sans-serif !important;
  margin-left: 0.5rem;
}
.wp-block-accordion-heading__toggle {
  border-bottom: 1px solid var(--acc-border-color);
  transition: border 0.3s ease;
  align-items: flex-start !important;
}
.wp-block-accordion-heading__toggle[aria-expanded="true"] {
  border-bottom: none;
}
.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
  text-decoration: none;
}
.wp-block-accordion-panel {
  color: var(--acc-title-color) !important;
  background-color: var(--acc-panel-bg) !important;
}
.wp-block-accordion-panel a,
.wp-block-accordion-panel p,
.wp-block-accordion-panel li {
  color: var(--acc-title-color) !important;
}
.wp-block-accordion .wp-block-accordion-item {
  margin-top: 0;
}
.wp-block-accordion-panel p {
  margin-top: 0;
  margin-bottom: 1em;
}
.wp-block-accordion-panel p:last-child {
  margin-bottom: 0;
}
.wp-block-accordion-panel ul.wp-block-list {
  list-style: none;
  margin: 0.75rem 0 0 0;
  padding: 0;
}
.wp-block-accordion-panel ul.wp-block-list > li {
  position: relative;
  padding-left: 1.25em;
  margin-bottom: 0.75rem;
  line-height: 1.5;
}
.wp-block-accordion-panel ul.wp-block-list > li::before {
  content: "\2022";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--acc-icon-color) !important;
  font-size: 1.2em;
  line-height: 1.25;
}
.wp-block-accordion-panel ul.wp-block-list > li:last-child {
  margin-bottom: 0;
}
.wp-block-accordion-panel ol.wp-block-list {
  margin: 0.75rem 0 0 1.5em;
  padding: 0;
}
.wp-block-accordion-panel ol.wp-block-list > li {
  margin-bottom: 0.75rem;
  line-height: 1.5;
  padding-left: 0.25em;
}
.wp-block-accordion-panel ol.wp-block-list > li::marker {
  color: var(--acc-icon-color) !important;
}
.wp-block-accordion-panel ol.wp-block-list > li:last-child {
  margin-bottom: 0;
}
.wp-block-accordion-panel li ul,
.wp-block-accordion-panel li ol {
  margin-top: 0.5rem;
  margin-bottom: 0;
}
.wp-block-accordion.accordion-columns {
  columns: unset !important;
  column-count: unset !important;
  display: flex !important;
  gap: var(--accordion-col-gap, 3rem);
}
.wp-block-accordion.accordion-columns > .accordion-col {
  flex: 1;
  min-width: 0;
  margin-top: 0;
}
.accordion-col .wp-block-accordion-item {
  display: flex;
  flex-direction: column;
}
.accordion-col .wp-block-accordion-item:not(.is-open) .wp-block-accordion-panel {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}
.accordion-col .wp-block-accordion-item:not(.is-open) {
  gap: 0 !important;
}
@media (max-width: 768px) {
.wp-block-accordion-heading__toggle {
    padding-top: var(--wp--preset--spacing--40, 1.5rem);
    padding-bottom: var(--wp--preset--spacing--40, 1.5rem);
  }
  .wp-block-accordion-heading__toggle-title {
    font-size: 1.25rem;
  }
  .wp-block-accordion.accordion-columns {
    flex-direction: column !important;
    gap: unset;
  }
  .wp-block-accordion.accordion-columns > .accordion-col {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: none !important;
  }
  .wp-block-accordion-heading__toggle-icon {
    font-size: 2.5rem;
  }
}
/* ============================================================ */
/* New-theme porting fixes — rules that did not exist in the original           */
/* wp-accordion.js                                                             */
/* ============================================================ */

/*
 * Problem: when the title wraps to two lines, a large empty gap appears between
 *          the lines ("...Prozesse   [blank line]   digitalisiert?" in
 *          screenshot 2).
 * Cause: core makes the toggle a flex container and the title a flex child, and
 *        the default align-items combined with line-wrapping handling pushes the
 *        baselines apart.
 * Fix: force the title to be a block element and control the line spacing
 *      directly.
 */
.wp-block-accordion-heading__toggle-title {
  display: block;
  flex: 1 1 auto;
  line-height: 1.3 !important;
  /* Keep long words (Beratungsunternehmen etc.) from pushing the icon away */
  overflow-wrap: break-word;
  word-break: normal;
}

/*
 * Align the toggle to flex-start, explicitly using flex-start rather than
 * baseline so the title and the icon start on the same first line.
 */
.wp-block-accordion-heading__toggle {
  display: flex;
  align-items: flex-start !important;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
}

/*
 * Keep the + icon pinned to the first line even for two-line titles.
 * (The old theme pulled the icon up with height:0.5em, but with two lines the
 *  icon dropped to the vertical center and looked misaligned)
 */
.wp-block-accordion-heading__toggle-icon {
  flex: 0 0 auto;
  align-self: flex-start;
  margin-top: 0.1em;
}

/*
 * Spacing between items — reproduces the tight rhythm of the old theme (1).
 * The core default inserts a large blockGap between items, which spreads them
 * out like in (2).
 */
.wp-block-accordion .wp-block-accordion-item {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Keep panels of closed items from taking up space (preserves divider rhythm) */
.wp-block-accordion-item:not(.is-open) .wp-block-accordion-panel {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
