/* Tabs */
nav.tabs__nav {
  gap: 0;
}

.tabs__content > .grid__main > .headline {
  display: none;
}

.frame-type-tabs > div.headline h1,
.frame-type-tabs > div.headline h2 {
  justify-content: center;
}

.frame-type-tabs > div.headline,
.frame-type-tabs > nav.tabs__nav {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  width: 92%;
}

.tabs__button {
  background: transparent;
  font-weight: var(--f-weight-b);
  font-size: var(--f-size-l-2);
  color: rgb(var(--c-neutral-dark));
  text-transform: uppercase;
  -moz-box-shadow: inset 0 -2px 0 0 rgb(var(--c-neutral-lighter));
  -webkit-box-shadow: inset 0 -2px 0 0 rgb(var(--c-neutral-lighter));
  box-shadow: inset 0 -2px 0 0 rgb(var(--c-neutral-lighter));
  display: block;
  padding: 0 0.6rem 0.3rem 0.6rem;
  border: none;
  position: relative;
  outline: none;
}

.tabs__button.-active {
  color: rgb(var(--c-primary));
  -moz-box-shadow: inset 0 -2px 0 0 rgb(var(--c-primary));
  -webkit-box-shadow: inset 0 -2px 0 0 rgb(var(--c-primary));
  box-shadow: inset 0 -2px 0 0 rgb(var(--c-primary));
}

@media (hover: hover) {
  .tabs__button:hover {
    color: rgb(var(--c-primary));
    -moz-box-shadow: inset 0 -2px 0 0 rgb(var(--c-primary));
    -webkit-box-shadow: inset 0 -2px 0 0 rgb(var(--c-primary));
    box-shadow: inset 0 -2px 0 0 rgb(var(--c-primary));
  }
}

/* Accordion vertical */
.accordion.-vertical .accordion__item:not(:first-child) .accordion__header {
  margin-top: var(--g-gap-s);
}

.accordion.-vertical .accordion__item {
  background: rgb(var(--c-neutral-lightest));
}

.content > .frame:nth-child(2n) .accordion.-vertical .accordion__item {
  background: rgb(var(--c-neutral-lighter));
}

.accordion.-vertical .accordion__content {
  padding: 1.2rem;
}

.accordion.-vertical .accordion__button {
  border: 0;
  font-weight: var(--f-weight-b);
  font-size: var(--f-size-l-2);
  text-transform: uppercase;
  background: rgb(var(--c-neutral-lighter));
  color: rgb(var(--c-primary));
  padding: 0.6rem 4rem 0.6rem 1rem;
  position: relative;
  cursor: pointer;
  outline: none;
  margin-bottom: 3px;
}

.accordion.-vertical .accordion__header.-active .accordion__button {
  background: rgb(var(--c-primary));
  color: rgb(var(--c-neutral-lightest));
}

.accordion.-vertical .accordion__header::after {
  color: rgb(var(--c-neutral-darker));
}

.accordion.-vertical .accordion__header.-active::after {
  color: rgb(var(--c-neutral-lightest));
}

@media (hover: hover) {
  .accordion.-vertical .accordion__header:hover .accordion__button {
    background: rgb(var(--c-primary));
    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;
  }

  .accordion.-vertical .accordion__content {
    padding: 2.5rem 1.2rem;
  }

  div.frame-type-tabs:not(.-itempadding) > .tabs__content {
    margin-top: var(--g-gap-l);
  }
}
