/**
 * BVD Sitzplan – Online-Buchung (Produktseite).
 *
 * Ergänzt bvd-saalplan.css um das Layout aus Plan + Auswahl-Seitenleiste.
 * Bewusst zurückhaltend, damit es sich in möglichst viele Themes einfügt.
 */

.bvd-shop {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	align-items: flex-start;
	margin: 20px 0 32px;
}

.bvd-shop__plan {
	flex: 1 1 520px;
	min-width: 300px;
	position: relative;
}

.bvd-shop .bvd-saalplan {
	width: 100%;
	min-height: 420px;
	background: #12161c;
	border-radius: 10px;
	overflow: hidden;
}

.bvd-shop__seite {
	flex: 1 1 280px;
	max-width: 380px;
	background: #fff;
	border: 1px solid #e3e6ea;
	border-radius: 10px;
	padding: 18px 18px 20px;
	box-shadow: 0 2px 10px rgba(20, 28, 40, 0.06);
}

.bvd-shop__titel {
	margin: 0 0 12px;
	font-size: 1.1em;
}

.bvd-shop__leer {
	color: #6b7280;
	font-size: 0.92em;
	margin: 0;
}

.bvd-shop__liste {
	list-style: none;
	margin: 0;
	padding: 0;
}

.bvd-shop__zeile {
	border-bottom: 1px solid #eef0f3;
	padding: 10px 0;
}

.bvd-shop__zeile-kopf {
	display: flex;
	align-items: center;
	gap: 8px;
}

.bvd-shop__punkt {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	flex: 0 0 auto;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset;
}

.bvd-shop__platz {
	font-weight: 600;
	font-size: 0.92em;
	flex: 1 1 auto;
}

.bvd-shop__weg {
	border: none;
	background: transparent;
	color: #b32d2e;
	font-size: 1.2em;
	line-height: 1;
	cursor: pointer;
	padding: 0 4px;
}

.bvd-shop__weg:hover {
	color: #7f1d1d;
}

.bvd-shop__preisart {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 8px 0 0 20px;
}

.bvd-shop__opt {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.86em;
	padding: 5px 9px;
	border: 1px solid #d5d9df;
	border-radius: 999px;
	cursor: pointer;
	transition: border-color 0.12s, background 0.12s;
}

.bvd-shop__opt.is-aktiv {
	border-color: #1f6feb;
	background: #eaf2ff;
	font-weight: 600;
}

.bvd-shop__opt input {
	margin: 0;
}

.bvd-shop__summe {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin: 14px 0 12px;
	padding-top: 12px;
	border-top: 2px solid #eef0f3;
	font-size: 1.05em;
}

.bvd-shop__summe strong {
	font-size: 1.15em;
}

.bvd-shop__kaufen {
	width: 100%;
	text-align: center;
}

.bvd-shop__kaufen[disabled] {
	opacity: 0.6;
	cursor: default;
}

.bvd-shop__mini {
	margin: 10px 0 0;
	min-height: 1.2em;
	font-size: 0.85em;
	color: #b32d2e;
}

.bvd-shop__laden,
.bvd-shop__hinweis {
	color: #6b7280;
	padding: 24px 0;
}

@media (max-width: 720px) {
	.bvd-shop {
		flex-direction: column;
	}
	.bvd-shop__seite {
		max-width: none;
		width: 100%;
	}
}

/* --- Kontaktdaten im Buchungsbereich ------------------------------------ */
.bvd-shop__kontakt {
	margin: 14px 0 4px;
	padding-top: 12px;
	border-top: 1px solid #eef0f3;
}

.bvd-shop__kontakt-titel {
	margin: 0 0 8px;
	font-size: 0.95em;
}

.bvd-shop__feld-reihe {
	display: flex;
	gap: 8px;
}

.bvd-shop__feld {
	display: block;
	flex: 1 1 auto;
	margin: 0 0 8px;
	font-size: 0.82em;
	color: #4b5563;
}

.bvd-shop__feld span {
	display: block;
	margin-bottom: 3px;
}

.bvd-shop__feld input {
	width: 100%;
	padding: 8px 10px;
	border: 1px solid #d5d9df;
	border-radius: 7px;
	font-size: 1rem;
	box-sizing: border-box;
}

.bvd-shop__feld input:focus {
	border-color: #1f6feb;
	outline: none;
}

/* --- Bei bestuhlten Events die alte Preistabelle ausblenden -------------- */
/* Gebucht wird ausschließlich über den Sitzplan. */
body.bvd-bestuhlt table.variant,
body.bvd-bestuhlt .bvd-tickets,
body.bvd-bestuhlt .pvtfw-table-heading-continer,
body.bvd-bestuhlt .pvtfw_variant_table_wrapper,
body.bvd-bestuhlt .bvd-sticky {
	display: none !important;
}
