/* --- your original rules --- */
.services .services__panel { display: none; }

.services__taxonomy {
    display: flex;
    gap: 0;
    justify-content: center;
    max-width: 100%;
    flex-wrap: wrap;
}

.services__panel ul {
    list-style-type: none;
}

.services__taxonomy .services__group {
    width: 100%;
}

.services .services__group-header.has-children,
.services .services__post-header.has-children {
  cursor: pointer;
  position: relative;
}

/* Add + and – symbols using pseudo-elements */
.services__group--level-0 > .services__group-header .services__group-title {
    text-align: center;
}

.services__group--level-0 > .services__group-header.has-children::after {
    display: none;
}

.services .services__group-header.has-children::after,
.services .services__post-header.has-children::after {
  content: "+";
}

.services .services__group-header.is-open::after,
.services .services__post-header.is-open::after {
  content: "−";
}

.services__taxonomy .services__group--level-0 > .services__group-header{
  display: flex;
  align-items: center;
  justify-content: center;
  background: #D9DAE0;
  border-radius: 100px;
  padding: 0.7rem 1.5rem;
  margin-bottom: 15px;
}

.services__taxonomy > .services__group--level-0:first-child > .services__group-header {
    background-color: var(--wp--preset--color--secondary);
    color: white;
}

.services__taxonomy > .services__group--level-0:nth-child(2) > .services__group-header {
    background-color: var(--wp--preset--color--primary);
    color: white;
}

.services__taxonomy .services__group--level-0 > .services__group-header > .services__group-title{
  font-size: 1.6rem;
  margin: 0;
  padding-right: 10px;
}

.services__list--terms {
  margin: 0;
  padding: 0;
  list-style: none;
}

.services__taxonomy .services__group--level-1{
  margin-bottom: 6px;
}
.services__taxonomy .services__group--level-1 > .services__panel {
  padding-top: 15px;
  padding-bottom: 15px;
}
.services__taxonomy .services__group--level-1 > .services__group-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #D9DAE0;
  border-radius: 100px;
  padding: 0.3em 1em;
  /*margin-bottom: 10px;*/
}
.services__taxonomy .services__group--level-1 > .services__group-header > .services__group-title{
  font-size: 1rem;
  margin: 0;
  padding-right: 10px;
  font-family: var(--font-family-beta);
  font-weight: 500;
}

.services__item-link {
    color: var(--wp--preset--color--secondary);
}

/* --- minimal additions for toggles (no font/margin changes) --- */

/* Post headers: lay out like term headers and only button toggles (title link navigates) */
.services .services__post-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* We only want the pseudo +/− on term headers.
   For posts (that have a real toggle), suppress the pseudo icon.
   We added .has-toggle in PHP when a post has children. */
.services .services__post-header.has-children.has-toggle::after {
  content: unset;
}

.services__list--post-children {
    margin-top: 10px;
    margin-bottom: 15px;
}

.services__post-header.has-children.is-open a {
    color: var(--wp--preset--color--primary);
}

/* Cursor: term headers remain clickable; post headers rely on the button, not the whole header */
.services .services__post-header.has-children { cursor: default; }

/* Small, clean toggle button; no font/margin changes to your existing headings */
.services .services__toggle {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0 .5rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
}

/*.services__post.has-children {*/
/*    */
/*}*/

/* Use CSS to show +/− inside the button */
.services .services__toggle .services__toggle-icon::before { content: "+"; }
.services .services__post-header.is-open .services__toggle .services__toggle-icon::before { content: "−"; }

.services__taxonomy .services__group--level-0 > .services__group-header.is-open {
    margin-bottom: 30px;
}

.is-style-basic .services__taxonomy {
    display: flex;
    gap: 8px 25px;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.is-style-basic .services__taxonomy > div {
    width: 48%;
}

.is-style-basic .services__taxonomy > .services__group--level-0 > .services__group-header {
    background-color: transparent;
    color: var(--wp--preset--color--secondary);
    justify-content: flex-start;
}

.is-style-basic .services__taxonomy > .services__group--level-0 {
    margin-bottom: 0;
}

.is-style-basic .services__taxonomy > .services__group--level-0 > .services__group-header h2 {
    font-family: var(--wp--preset--font-family--project-sans-serif);
    font-size: 1rem;
    font-weight: 400;
    text-align: left !important;
}

.is-style-basic .services__taxonomy .services__group--level-0 > .services__group-header {
    padding: 0;
}

.is-style-basic .services__post-header a {
    font-family: var(--wp--preset--font-family--project-sans-serif);
    font-size: 1rem;
    font-weight: 400;
    text-align: left !important;
}

.is-style-basic .services__panel ul {
    padding: 20px;
}

.is-style-basic .services__taxonomy .services__group--level-0 > .services__group-header.is-open {
    margin-bottom: 0;
}

@media ( min-width: 768px ) {
    .services__taxonomy {
        flex-wrap: unset;
        gap: 25px;
    }

    .services__taxonomy .services__group--level-0{
        margin-bottom: 30px;
    }
}