#json-aus-api {
  width: 100%;
  overflow: hidden;
}

.menu-section {
  position: relative;
  width: 100%;
}

.menu-section.is-light {
  background: transparent;
  color: inherit;
  padding: 40px 20px;
  box-sizing: border-box;
}

.menu-section.is-dark {
  position: relative;
  width: 100%;
  background: #000;
  color: #fff;
  padding: 120px 20px;
  box-sizing: border-box;
  overflow: hidden;
}

/* Altes Pseudoelement deaktivieren */
.menu-section.is-dark::before {
  display: none;
}

.menu-inner {
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 2;
}

.menu-headline {
  margin: 0 0 20px 0;
  color: inherit;
}

.menu-item {
  max-width: 850px;
  margin: 0 auto 22px auto;
}

.menu-item:last-child {
  margin-bottom: 0;
}

.menu-item-title {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.35;
}

.menu-item-text {
  margin-top: 6px;
  line-height: 1.5;
  white-space: pre-line;
}

.menu-item-price {
  margin-top: 8px;
  font-weight: 700;
}

/* Bogen allgemein */
.menu-bogen {
  position: absolute;
  left: 0;
  width: 100%;
  line-height: 0;
  z-index: 3;
  pointer-events: none;
}

.menu-bogen svg {
  display: block;
  width: 100%;
  height: auto;
}

/* Oberer Bogen */
.menu-bogen.menu-bogen-top {
  top: 0;
  transform: translateY(-1px);
}

/* Unterer Bogen */
.menu-bogen.menu-bogen-bottom {
  bottom: 0;
  transform: translateY(1px);
}

/* Bogenfarbe */
.menu-bogen.menu-bogen-top svg,
.menu-bogen.menu-bogen-bottom svg {
  color: #000;
}

/* Tablet / kleines Desktop */
@media (max-width: 768px) {
  .menu-section.is-light {
    padding: 24px 14px;
  }

  .menu-section.is-dark {
    padding: 58px 14px 58px;
  }

  .menu-inner {
    max-width: 100%;
  }

  .menu-headline {
    margin: 0 0 16px 0;
  }

  .menu-item {
    max-width: 100%;
    margin: 0 auto 16px auto;
  }

  .menu-item-title {
    font-size: 17px;
    line-height: 1.3;
  }

  .menu-item-text {
    margin-top: 4px;
    font-size: 15px;
    line-height: 1.45;
  }

  .menu-item-price {
    margin-top: 6px;
    font-size: 15px;
  }

  .menu-bogen.menu-bogen-top {
    top: 0;
    transform: translateY(-1px);
  }

  .menu-bogen.menu-bogen-bottom {
    bottom: 0;
    transform: translateY(1px);
  }
}

/* Handy */
@media (max-width: 480px) {
  .menu-section.is-light {
    padding: 20px 12px;
  }

  .menu-section.is-dark {
    padding: 44px 12px 44px;
  }

  .menu-headline {
    margin: 0 0 14px 0;
  }

  .menu-item {
    margin: 0 auto 14px auto;
  }

  .menu-item-title {
    font-size: 16px;
    line-height: 1.3;
  }

  .menu-item-text,
  .menu-item-price {
    font-size: 14px;
    line-height: 1.4;
  }

  .menu-item-text {
    margin-top: 4px;
  }

  .menu-item-price {
    margin-top: 5px;
  }
}