/* Tabs */
.tabs__button {
  border: 2px solid rgb(var(--c-primary));
  color: rgb(var(--c-primary));
  background: transparent;
  font-weight: var(--f-weight-sb);
}

.tabs__button.-active {
  background: rgb(var(--c-primary));
  color: rgb(var(--c-neutral-lightest));
}

@media (hover: hover) {
  .tabs__button:hover {
    background: rgb(var(--c-primary));
    color: rgb(var(--c-neutral-lightest));
  }
}

/* Accordion vertical */
.accordion.-vertical .accordion__item:not(:first-child) .accordion__header {
  /* Abstand zwischen den Balken 1:1 wie Live (`.ui-accordion-header` margin-top 6px) */
  margin-top: 6px;
}

.accordion.-vertical .accordion__item {
  /* KEIN background — das Content-Panel bleibt TRANSPARENT (Container scheint durch, wie Live) */
  border-radius: var(--b-radius-s);
}

/* Nur die KOPFZEILE (.accordion__header) trägt Farbe; der Content bleibt transparent.
   Farbe kontrastiert mit dem Container (Projekt-Vorgabe: KEIN Grau, nur weiss/hellblau):
   odd-Container (hellblau) -> weisse Bar; even(2n)-Container (weiss) -> helles Blau.
   Container-Kontext via :where() OHNE Spezifität, damit active/hover (teal) sicher gewinnen. */
.accordion.-vertical .accordion__header {
  background: rgb(var(--c-neutral-lightest));
  border-radius: var(--b-radius-s);
}
:where(.content > .frame:nth-child(even)) .accordion.-vertical .accordion__header {
  background: rgb(var(--c-primary-lighter));
}
:where(.content .frame-bg-grey) .accordion.-vertical .accordion__header {
  background: rgb(var(--c-neutral-lightest));
}

.accordion.-vertical .accordion__content {
  /* Content-Panel-Padding 1:1 wie Live (`.ui-accordion-content`): 2em oben/unten, 2.2em seitlich */
  padding: 2em 2.2em;
  margin-bottom: 3px;
  /* Live tightet die Zeilenhoehe im Accordion-Panel auf 1.5 (global sonst 1.7) */
  line-height: 1.5;
}

.accordion.-vertical .accordion__button {
  background: transparent;
  color: rgb(var(--c-neutral-dark));
  font-size: var(--f-size-l-2);
  font-weight: var(--f-weight-n);
  text-transform: uppercase;
  /* Header-Padding 1:1 wie Live (`.ui-accordion-header`): 1em oben/unten,
     3em rechts (Platz fuer den Chevron), 1.2em links. */
  padding: 1em 3em 1em 1.2em;
}

.accordion.-vertical .accordion__header::after {
  color: rgb(var(--c-neutral-dark));
  /* Chevron 1:1 wie Live: normal (NICHT kursiv/fett — sonst erbt er die h3-Optik) */
  font-style: normal;
  font-weight: var(--f-weight-n);
}

/* offener Header wie Live: teal Balken (Farbe auf der Bar = .accordion__header) + weisser Text */
.accordion.-vertical .accordion__header.-active {
  background: rgb(var(--c-primary));
}
.accordion.-vertical .accordion__header.-active .accordion__button {
  color: rgb(var(--c-neutral-lightest));
}

.accordion.-vertical .accordion__header.-active::after {
  color: rgb(var(--c-neutral-lightest));
}

@media (hover: hover) {
  .accordion.-vertical .accordion__header:hover {
    background: rgb(var(--c-primary));
  }
  .accordion.-vertical .accordion__header:hover .accordion__button {
    color: rgb(var(--c-neutral-lightest));
  }

  .accordion.-vertical .accordion__header:hover::after {
    color: rgb(var(--c-neutral-lightest));
  }
}

/* Accordion horizontal */
.accordion.-horizontal .accordion__content {
  padding: 2rem;
}

.accordion.-horizontal .accordion__headertext {
  font-size: var(--f-size-l-3);
  font-weight: var(--f-weight-sb);
}

.accordion.-horizontal .accordion__button {
  background-color: rgb(var(--c-primary));
  color: rgb(var(--c-neutral-lightest));
}

.accordion.-horizontal .accordion__button {
  background: transparent;
  color: rgb(var(--c-primary));
  border: 2px solid rgb(var(--c-primary));
  font-weight: var(--f-weight-sb);
}

.accordion.-horizontal .accordion__buttontext {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 1.5rem 2rem;
  width: 100%;
  height: 100%;
  hyphens: none;
}

.accordion.-horizontal .accordion__header.-active + .accordion__content {
  background: rgb(var(--c-primary));
  color: rgb(var(--c-neutral-lightest));
  border-radius: var(--b-radius-s);
  overflow: hidden;
}

.accordion.-horizontal .accordion__header.-active + .accordion__content h2,
.accordion.-horizontal .accordion__header.-active + .accordion__content h3,
.accordion.-horizontal .accordion__header.-active + .accordion__content h4,
.accordion.-horizontal .accordion__header.-active + .accordion__content a {
  color: rgb(var(--c-neutral-lightest));
}

/* =============================================================================
   Media Queries
   ========================================================================== */

@media (min-width: 800px) {
  /* Accordion horizontal */
  .accordion.-horizontal .accordion__buttontext {
    padding: 2rem 0.5rem;
  }
}

/* Frame-Class content-image (Migration aus gridelements-Layout "container-inhaltbild", 2-Spalter col2-5050):
   Layout steht in firstload.css (.frame-content-image, above-the-fold), Bild-Optik in Extensions/dce.css
   (.bgimage / .bgimage__gradient). */
