.spa-accordion{
  font-family: inherit;
  max-width: 960px;
  margin: 0 auto;
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}

.spa-item + .spa-item{
  border-top: 1px solid rgba(0,0,0,.08);
}

.spa-header{
  margin: 0;
}

.spa-trigger{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  background: #fff;
  border: 0;
  cursor: pointer;
  text-align: left;
  font: inherit;
  text-transform: uppercase;
}

.spa-trigger:focus,
.spa-trigger:focus-visible{
  outline: none;
  box-shadow: none;
}

.spa-title{
  font-weight: 600;
  font-size: 16px;
  line-height: 1.3em;
  text-transform: uppercase;
}

.spa-icon{
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.25);
  flex: 0 0 auto;
  position: relative;
}

.spa-icon::before,
.spa-icon::after{
  content: "";
  position: absolute;
  width: 12px;
  height: 2px;
  background: rgba(0,0,0,.7);
  border-radius: 2px;
}

.spa-icon::after{
  transform: rotate(90deg);
}

.spa-trigger[aria-expanded="true"] .spa-icon::after{
  transform: rotate(0deg);
  opacity: 0;
}

.spa-panel{
  padding: 0 18px 18px 18px;
}

.spa-programs{
  margin: 0;
  padding: 0 18px 16px 34px;
  font-size: 16px;
  text-transform: uppercase;
  list-style: disc;
  column-gap: 40px;
}

.spa-accordion[data-columns="1"] .spa-programs{ columns: 1; }
.spa-accordion[data-columns="2"] .spa-programs{ columns: 2; }
.spa-accordion[data-columns="3"] .spa-programs{ columns: 3; }

.spa-programs li{
  list-style-type: disc;
  text-transform: uppercase;
  break-inside: avoid;
  margin: 8px 0;
}

.spa-empty, .spa-error{
  margin: 12px 18px;
}

@media (max-width: 640px){
  .spa-programs{ columns: 1 !important; }
}

.spa-programs li::marker{
  color: var(--e-global-color-uicore_primary);
}

/* Fallback bullet styling for older browsers */
@supports not (selector(::marker)){
  .spa-programs{ list-style: none; padding-left: 18px; }
  .spa-programs li{ position: relative; padding-left: 16px; }
  .spa-programs li:before{
    content: "•";
    position: absolute;
    left: 0;
    color: var(--e-global-color-uicore_primary);
  }
}

/* ===== HOVER STATE – kill black completely ===== */
.spa-accordion .spa-accordion-toggle:hover .spa-icon,
.spa-accordion .spa-accordion-toggle:hover .spa-icon::before,
.spa-accordion .spa-accordion-toggle:hover .spa-icon::after {
  border-color: var(--e-global-color-uicore_primary) !important;
  background-color: var(--e-global-color-uicore_primary) !important;
  color: var(--e-global-color-uicore_primary) !important;
}

/* ===== EXTRA SAFETY (UiCore button hover bleed fix) ===== */
.spa-accordion .spa-accordion-toggle:hover {
  color: inherit !important;
}

