/* Tabs */
.tabs__button {
  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;
  background: transparent;
}

.tabs__button.-active {
  color: 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));
}

.tabs__button::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
  left: 50%;
  bottom: 0;
  border-bottom: 2px solid rgb(var(--c-primary));
  -webkit-transition: opacity 0.05s 0.1s, width 0.2s 0.4s, height 0.2s 0.2s;
  -moz-transition: opacity 0.05s 0.1s, width 0.2s 0.4s, height 0.2s 0.2s;
  -o-transition: opacity 0.05s 0.1s, width 0.2s 0.4s, height 0.2s 0.2s;
  transition: opacity 0.05s 0.1s, width 0.2s 0.4s, height 0.2s 0.2s;
  transform: translateX(-50%) translateY(0);
  -ms-transform: translateX(-50%) translateY(0);
  -moz-transform: translateX(-50%) translateY(0);
  -webkit-transform: translateX(-50%) translateY(0);
}

.page .tabs__nav {
  gap: 0;
  margin-bottom: 4rem;
}

@media (hover: hover) {
  .tabs__button:hover {
    background: transparent;
    color: rgb(var(--c-primary));
  }

  .tabs__button:hover::after {
    opacity: 1;
    width: 100%;
    height: 100%;
    -webkit-transition: opacity 0.05s, width 0.2s, height 0.2s 0.2s;
    -moz-transition: opacity 0.05s, width 0.2s, height 0.2s 0.2s;
    -o-transition: opacity 0.05s, width 0.2s, height 0.2s 0.2s;
    transition: opacity 0.05s, width 0.2s, height 0.2s 0.2s;
  }
}

/* Accordion vertical */
.accordion.-vertical .accordion__item:not(:first-child) .accordion__header {
  margin-top: var(--g-gap-s);
}

.frame-bg-grey .accordion.-vertical .accordion__item {
  background: rgb(var(--c-neutral-lighter));
}

.accordion.-vertical .accordion__content {
  padding: 1.2rem;
}

.accordion.-vertical .accordion__button {
  background: rgb(var(--c-neutral-lighter));
  color: rgb(var(--c-primary));
  font-size: var(--f-size-l-2);
  text-transform: uppercase;
  font-family: var(--f-family-hmc);
  padding: 0.6rem 4rem 0.6rem 1rem;
  border: none;
}

.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__button:hover {
    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: 3rem 1.2rem;
  }
}
