/* [connect_aussteller] – Farben über CSS-Variablen anpassbar, z. B. im Theme/Elementor-Custom-CSS:
   .cp-accordion { --cp-acc-brand: #c00; } */
.cp-accordion {
  --cp-acc-brand: #005691;
  --cp-acc-bg: #ffffff;
  --cp-acc-head-bg: #f4f7f9;
  --cp-acc-head-bg-open: #005691;
  --cp-acc-head-color-open: #ffffff;
  --cp-acc-line: #d6dde3;
  --cp-acc-radius: 6px;
  --cp-acc-gap: 10px;
}
.cp-acc-search { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; flex-wrap: wrap; }
.cp-acc-search input { flex: 1 1 260px; padding: 10px 14px; border: 1px solid var(--cp-acc-line); border-radius: var(--cp-acc-radius); font: inherit; }
.cp-acc-search input:focus { outline: 2px solid var(--cp-acc-brand); border-color: var(--cp-acc-brand); }
.cp-acc-count { font-size: 14px; color: #666; }

.cp-acc-item { border: 1px solid var(--cp-acc-line); border-radius: var(--cp-acc-radius); margin: 0 0 var(--cp-acc-gap); background: var(--cp-acc-bg); overflow: hidden; }
.cp-acc-head { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 14px; padding: 12px 16px; background: var(--cp-acc-head-bg); transition: background .15s; }
.cp-acc-head::-webkit-details-marker { display: none; }
.cp-acc-head:hover { background: #e6f0f6; }
.cp-acc-head:focus-visible { outline: 2px solid var(--cp-acc-brand); outline-offset: -2px; }
.cp-acc-item[open] > .cp-acc-head { background: var(--cp-acc-head-bg-open); color: var(--cp-acc-head-color-open); }
.cp-acc-logo { width: 64px !important; height: 40px !important; object-fit: contain; background: #fff; border-radius: 4px; padding: 2px; flex: none; }
.cp-acc-title { flex: 1; font-weight: 700; font-size: 1.05em; color: var(--cp-acc-brand); line-height: 1.3; }
.cp-acc-item[open] .cp-acc-title { color: inherit; }
.cp-acc-title small { display: block; font-weight: 400; font-size: .85em; opacity: .8; color: #555; }
.cp-acc-item[open] .cp-acc-title small { color: inherit; }
.cp-acc-icon { width: 14px; height: 14px; flex: none; position: relative; }
.cp-acc-icon::before, .cp-acc-icon::after { content: ""; position: absolute; left: 0; top: 6px; width: 14px; height: 2px; background: currentColor; transition: transform .2s; }
.cp-acc-icon::after { transform: rotate(90deg); }
.cp-acc-item[open] .cp-acc-icon::after { transform: rotate(0); }
.cp-acc-body { padding: 0; }
.cp-acc-body img { max-width: 100%; height: auto; vertical-align: middle; }
.cp-acc-item[hidden] { display: none; }
@media (max-width: 600px) {
  .cp-acc-logo { width: 48px !important; height: 32px !important; }
  .cp-acc-body > div { padding: 12px !important; }
}
