.modules-teaser-modules-list {
  grid-column: 3 / span 10;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-md);
}

.modules-teaser-booking-options-headline {
  grid-column: 3 / span 10;
}

.modules-teaser-booking-options-list {
  grid-column: 3 / span 10;
  display: flex;
  gap: var(--grid-gap);
  justify-content: center;
}

.modules-teaser-modules-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.modules-teaser-modules-item-buttons {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1em;
  margin-top: auto;
}

.modules-teaser-modules-item-description {
  margin-block: 1em;
}

.modules-teaser-modules-item-headline {
  margin: 0;
}

.modules-teaser-modules-item-subline {
  align-self: stretch;
  padding-bottom: 0.35em;
  margin-bottom: 0.5em;
  border-bottom: 2px solid currentColor;
  font-size: max(0.9375rem, 1.3vw);
  font-style: italic;
}

.modules-teaser-modules-list:not(:last-child) {
  margin-bottom: var(--s-md);
  border-bottom: 2px solid currentColor;
  padding-bottom: var(--s-md);
}

.modules-teaser-booking-options-headline {
  margin: 0;
  text-align: center;
  margin-bottom: var(--s-md);
}

.modules-teaser-booking-options-item {
  padding: 1.5em 1em;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex-basis: calc((100% - (2 * var(--grid-gap))) / 3);
}

.modules-teaser-booking-options-item:first-child:nth-last-child(4),
.modules-teaser-booking-options-item:first-child:nth-last-child(4)
  ~ .modules-teaser-booking-options-item {
  flex-basis: calc((100% - (3 * var(--grid-gap))) / 4);
}

.modules-teaser-booking-options-item-description {
  margin-block: 1em;
}

.modules-teaser-booking-options-item-headline {
  margin: 0;
}

.modules-teaser-booking-options-item-btn {
  margin-top: auto;
}

@media (max-width: 1199.98px) {
  .modules-teaser-booking-options-headline,
  .modules-teaser-modules-list,
  .modules-teaser-booking-options-list {
    grid-column: 2 / span 12;
  }

  .modules-teaser-booking-options-list {
    flex-wrap: wrap;
  }

  .modules-teaser-booking-options-item {
    flex-basis: calc((100% - (var(--grid-gap))) / 2);
  }

  .modules-teaser-booking-options-item:first-child:nth-last-child(4),
  .modules-teaser-booking-options-item:first-child:nth-last-child(4)
    ~ .modules-teaser-booking-options-item {
    flex-basis: calc((100% - (2 * var(--grid-gap))) / 3);
  }
}

@media (max-width: 991.98px) {
  .modules-teaser-booking-options-item {
    flex-basis: 100%;
  }

  .modules-teaser-booking-options-item:first-child:nth-last-child(4),
  .modules-teaser-booking-options-item:first-child:nth-last-child(4)
    ~ .modules-teaser-booking-options-item {
    flex-basis: calc((100% - (var(--grid-gap))) / 2);
  }
}

@media (max-width: 767.98px) {
  .modules-teaser-modules-list {
    grid-template-columns: 1fr;
  }

  .modules-teaser-booking-options-item:first-child:nth-last-child(4),
  .modules-teaser-booking-options-item:first-child:nth-last-child(4)
    ~ .modules-teaser-booking-options-item {
    flex-basis: 100%;
  }
}
