/* Äußerer Wrapper für alle Busse */
.bus-seat-wrapper {
  display: flex;
  flex-wrap: wrap; /* mehrere Busse können nebeneinander / untereinander */
  gap: 15px; /* Abstand zwischen den Bussen */
  margin: 20px 0 0 0;
  flex-direction: column;
}

/* Einzelner Bus */
.bus-block {
  position: relative;
  padding: 15px;
  background-image: url(../assets/Fixkraft-Bus.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left;
  display: flex;
  flex-direction: row;
  gap: 5px;
}

/* Optional: Titel über dem Bus (Bus 1, Bus 2, …) */
.bus-title {
  width: 100%;
  font-weight: 600;
  margin-bottom: 8px;
}

/* Jede "Reihe" von Sitzen – in deinem Layout sind das Spalten im Bus */
.bus-seat-row {
  display: flex;
  flex-direction: column; /* Sitze innerhalb einer Reihe von oben nach unten */
  gap: 4px; /* Abstand zwischen Sitzen vertikal */
}

/* Sitz */
.bus-seat {
  width: 17px;
  height: 17px;
  display: inline-block;
}

.bus-seat.available {
  background-image: url(../assets/Fixkraft-Bus-Sitz-gruen.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.bus-seat.sold {
  background-image: url(../assets/Fixkraft-Bus-Sitz-rot.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* Gang zwischen den Sitzblöcken */
.bus-aisle {
  width: 12px;
  height: 5px;
  display: inline-block;
}

.bus-seat-text {
  font-size: 14px;
  margin: 10px 0 20px 0;
}

.bus-seat-text.soldout {
  color: red;
  font-weight: bold;
  font-size: 24px;
}

/*Variations buttons*/
/* Wrapper untereinander */
.variation-radio-wrapper {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Radio-Buttons */

.variation-radio-wrapper input[type="radio"] {
  position: absolute;
  left: 1em;
  top: 50%;
  transform: translateY(-50%);
  width: 1.2em;
  height: 1.2em;
  accent-color: #0073aa;
}
.variation-radio-wrapper label:hover {
  border-color: #0073aa;
  background-color: #f0f8ff;
}
.variation-radio-wrapperinput[type="radio"]:checked + span {
  font-weight: bold;
  color: #0073aa;
}

/* Labels als moderne Karten */
.variation-radio-wrapper label {
  padding: 12px 16px 12px 35px;
  border: 2px solid #ccc;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  background-color: #f9f9f9;
  font-weight: 500;
  position: relative;
}

/* Hover-Effekt */
.variation-radio-wrapper label:hover {
  border-color: #0073aa;
  background-color: #eef6fb;
}

/* Ausgewählte Variante (JS fügt Klasse hinzu) */
.variation-radio-wrapper label.selected {
  border-color: #0073aa;
  background-color: #d0e7f9;
  color: #0073aa;
  font-weight: 600;
}

table.variations tr {
  flex-direction: column;
  display: flex;
}

table.variations tr th {
  text-align: left;
}

.single_add_to_cart_button.disabled {
  opacity: 0.5;
  pointer-events: none;
  cursor: not-allowed;
}
