/* Colors */
:root {
  --ticket-color: #E3222F;
  --ticket-color-hover: #b61621;
  --quicklink-color-one: #b61621;
  --quicklink-color-two: #E3222F;
}



.preisliste-table table {
  width: 100%;
}

.preisliste-table-preis {
  text-align: right;
}

.frames-caption {
  color: var(--text-color);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.logo {
  height: 81px;
}

.ti-cs-vertical {
  color: var(--text-color) !important;
}

.ti-cs-eye {
  color: var(--text-color) !important;
}

.kp_headline_white {
  text-transform: uppercase;
  color: var(--text-color);
  font-size: var(--text-3xl);
}

.kp_headline_red {
  text-transform: uppercase;
  /* color: var(--ticket-color); */
  color: var(--text-color);
  font-size: var(--text-3xl);
}

.formbutton {
  width: 100% !important;
  background-color: var(--ticket-color) !important;
  border: none !important;
  color: var(--text-color) !important;
}

.formelement input,
.formelement textarea {
  background-color: transparent !important;
  border-radius: var(--border-lg) !important;
  color: var(--text-color) !important;
  outline: none !important;
  accent-color: var(--ticket-color) !important;
}

.accordion-button {
  background-color: var(--background-color) !important;
  color: var(--text-color) !important;
}

.accordion-collapse {
  background-color: var(--background-color) !important;
  color: var(--text-color) !important;
}

.accordion-button::after {
    background-image: none !important;

    width: 1.25rem;
    height: 1.25rem;

    background-color: var(--text-color);

    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");

    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 1.25rem;
    mask-size: 1.25rem;
}

/*Aktuelles Programm*/
/* Aktuelles Programm - immer Grid, aber responsiv */
.swiper-button-programm-next,
.swiper-button-programm-prev,
.shadow-effect-left,
.shadow-effect-right {
  display: none !important;
}

.programm-swiper-wrapper .swiper-programm-slide:first-child {
  margin-left: unset;
}

.programm-swiper-wrapper .swiper-programm-slide:last-child {
  margin-right: unset;
}

.swiper-programm-slide {
  width: auto !important;
  min-width: 0 !important;
  height: auto;
}

.programm-swiper-wrapper {
  width: 100% !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  justify-content: center;
  align-items: start;
  gap: 24px;
  padding-left: clamp(12px, 2vw, 24px);
  padding-right: clamp(12px, 2vw, 24px);
}

.programm-image {
  width: 100%;
  height: auto;
  aspect-ratio: 27 / 40;
}

.programm-info {
  width: auto;
}

/* Large Tablet / small laptop */
@media (max-width: 1200px) {
  .programm-swiper-wrapper {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Tablet */
@media (max-width: 992px) {
  .programm-swiper-wrapper {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }
}

/* Handy quer / großes Handy */
@media (max-width: 768px) {
  .programm-swiper-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
}

/* Kleines Handy: weiterhin 2 nebeneinander */
@media (max-width: 480px) {
  .programm-swiper-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
}

