.bada-events-list{display:grid;gap:18px}
.bada-event-card{
	display:grid;grid-template-columns:260px minmax(0,1fr);overflow:hidden;
	border:1px solid #DCE6EF;border-radius:20px;background:#fff;
	box-shadow:0 10px 28px rgba(32,63,97,.07)
}
.bada-event-card__image img{width:100%;height:100%;min-height:190px;object-fit:cover;display:block}
.bada-event-card__body{padding:22px}.bada-event-card__series{
	color:#4174AB;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase
}
.bada-event-card h3{margin:7px 0 9px;color:#203F61}.bada-event-card__meta{display:flex;gap:14px;flex-wrap:wrap;color:#6F8192;font-size:13px}
.bada-event-card p{color:#526A80;line-height:1.65}.bada-events-empty{padding:20px;border-radius:16px;background:#F4F7FA;color:#66798A}
@media(max-width:700px){.bada-event-card{grid-template-columns:1fr}}

.bada-booking-button{
	margin-top:14px;border:0;border-radius:999px;background:#4174AB;color:#fff;
	padding:11px 18px;font-weight:800;cursor:pointer
}
.bada-booking-panel{
	margin-top:16px;padding:18px;border:1px solid #DCE6EF;border-radius:18px;background:#F8FBFD
}
.bada-booking-panel__head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:15px}
.bada-booking-panel__head span{font-size:10px;letter-spacing:.12em;font-weight:900;color:#4174AB}
.bada-booking-panel__head h3{margin:4px 0 0;color:#203F61}
.bada-booking-close{border:0;background:transparent;font-size:26px;line-height:1;color:#60778B;cursor:pointer}
.bada-booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bada-booking-grid label span{display:block;margin-bottom:5px;font-size:12px;font-weight:800;color:#354B60}
.bada-booking-grid input{width:100%;min-height:42px;border:1px solid #C9D7E3;border-radius:10px;padding:8px 10px}
.bada-booking-submit{margin-top:14px;width:100%;min-height:44px;border:0;border-radius:999px;background:#4174AB;color:#fff;font-weight:800;cursor:pointer}
.bada-booking-message{margin-top:12px;font-size:13px}.bada-booking-message.is-success{color:#2F8B62;font-weight:700}.bada-booking-message.is-error{color:#B34848;font-weight:700}
@media(max-width:700px){.bada-booking-grid{grid-template-columns:1fr}}

.bada-events-rest-target.is-loading{
	min-height:110px;
	position:relative;
}
.bada-events-rest-target.is-loading::before{
	content:"Events werden geladen …";
	display:block;
	padding:18px 20px;
	border-radius:16px;
	background:#F4F7FA;
	color:#66798A;
}

/* BADA Events Booking Modal — Elementor-proof */
html.bada-modal-open,
body.bada-modal-open{
	overflow:hidden!important;
}

.bada-event-card .bada-booking-button,
.bada-events-list .bada-booking-button{
	margin-top:14px!important;
	padding:11px 20px!important;
	border:1px solid #4174AB!important;
	border-radius:999px!important;
	background:#4174AB!important;
	color:#fff!important;
	font-weight:800!important;
	line-height:1.2!important;
	box-shadow:none!important;
	outline:none!important;
	text-decoration:none!important;
	cursor:pointer!important;
}

.bada-event-card .bada-booking-button:hover,
.bada-event-card .bada-booking-button:focus,
.bada-event-card .bada-booking-button:active,
.bada-events-list .bada-booking-button:hover,
.bada-events-list .bada-booking-button:focus,
.bada-events-list .bada-booking-button:active{
	background:#315D8A!important;
	border-color:#315D8A!important;
	color:#fff!important;
	box-shadow:0 0 0 4px rgba(65,116,171,.14)!important;
	outline:none!important;
}

.bada-booking-modal[hidden]{
	display:none!important;
}

.bada-booking-modal{
	position:fixed!important;
	inset:0!important;
	z-index:999999!important;
	display:grid!important;
	place-items:center!important;
	padding:22px!important;
}

.bada-booking-modal__backdrop{
	position:absolute!important;
	inset:0!important;
	background:rgba(32,63,97,.28)!important;
	backdrop-filter:blur(12px)!important;
	-webkit-backdrop-filter:blur(12px)!important;
}

.bada-booking-modal__dialog{
	position:relative!important;
	z-index:2!important;
	width:min(1180px,calc(100vw - 48px))!important;
	max-height:calc(100vh - 44px)!important;
	overflow:auto!important;
	padding:28px!important;
	border:1px solid rgba(65,116,171,.22)!important;
	border-radius:24px!important;
	background:linear-gradient(180deg,#FFFFFF 0%,#F8FBFD 100%)!important;
	box-shadow:0 30px 90px rgba(32,63,97,.24)!important;
	color:#203F61!important;
}

.bada-booking-modal__head{
	padding-right:48px!important;
	margin-bottom:20px!important;
}

.bada-booking-modal__head>span{
	display:block!important;
	margin-bottom:6px!important;
	color:#4174AB!important;
	font-size:10px!important;
	font-weight:900!important;
	letter-spacing:.14em!important;
}

.bada-booking-modal__head h3{
	margin:0!important;
	padding:0!important;
	color:#203F61!important;
	font-size:30px!important;
	line-height:1.1!important;
}

.bada-booking-modal__head p{
	margin:7px 0 0!important;
	color:#6F8192!important;
}

.bada-booking-close{
	position:absolute!important;
	top:18px!important;
	right:18px!important;
	width:40px!important;
	height:40px!important;
	padding:0!important;
	border:1px solid #D5E1EB!important;
	border-radius:50%!important;
	background:#fff!important;
	color:#4174AB!important;
	font-size:26px!important;
	font-weight:400!important;
	line-height:36px!important;
	box-shadow:none!important;
	outline:none!important;
	cursor:pointer!important;
}

.bada-booking-close:hover,
.bada-booking-close:focus,
.bada-booking-close:active{
	background:#EAF1F8!important;
	border-color:#4174AB!important;
	color:#315D8A!important;
	box-shadow:0 0 0 4px rgba(65,116,171,.12)!important;
	outline:none!important;
}

.bada-booking-grid{
	display:grid!important;
	grid-template-columns:1fr 1fr!important;
	gap:15px!important;
}

.bada-booking-grid label{
	display:block!important;
	margin:0!important;
}

.bada-booking-grid label>span{
	display:block!important;
	margin-bottom:6px!important;
	color:#354B60!important;
	font-size:12px!important;
	font-weight:800!important;
}

.bada-booking-grid input{
	width:100%!important;
	min-height:46px!important;
	padding:10px 12px!important;
	border:1px solid #C9D7E3!important;
	border-radius:12px!important;
	background:#fff!important;
	color:#203F61!important;
	box-shadow:none!important;
	outline:none!important;
}

.bada-booking-grid input:hover{
	border-color:#9EB9CF!important;
}

.bada-booking-grid input:focus{
	border-color:#4174AB!important;
	box-shadow:0 0 0 4px rgba(65,116,171,.12)!important;
	outline:none!important;
}

.bada-booking-submit{
	width:100%!important;
	min-height:48px!important;
	margin-top:18px!important;
	padding:11px 18px!important;
	border:1px solid #4174AB!important;
	border-radius:999px!important;
	background:#4174AB!important;
	color:#fff!important;
	font-weight:800!important;
	box-shadow:none!important;
	outline:none!important;
	cursor:pointer!important;
}

.bada-booking-submit:hover,
.bada-booking-submit:focus,
.bada-booking-submit:active{
	background:#315D8A!important;
	border-color:#315D8A!important;
	color:#fff!important;
	box-shadow:0 0 0 4px rgba(65,116,171,.14)!important;
	outline:none!important;
}

.bada-booking-submit:disabled{
	opacity:.68!important;
	cursor:not-allowed!important;
}

.bada-booking-message{
	margin-top:15px!important;
	padding:0!important;
	font-size:13px!important;
	line-height:1.45!important;
}

.bada-booking-message.is-success{
	color:#2F8B62!important;
	font-weight:800!important;
}

.bada-booking-message.is-warning{
	color:#9A6A1F!important;
	font-weight:800!important;
}

.bada-booking-message.is-error{
	color:#B34848!important;
	font-weight:800!important;
}

@media(max-width:700px){
	.bada-booking-modal{
		padding:10px!important;
	}
	.bada-booking-modal__dialog{
		padding:22px 18px!important;
		border-radius:18px!important;
		max-height:calc(100vh - 20px)!important;
		width:calc(100vw - 20px)!important;
	}
	.bada-booking-grid{
		grid-template-columns:1fr!important;
	}
	.bada-booking-modal__head h3{
		font-size:26px!important;
	}
}


/* BADA Seating inside Booking Modal — Elementor-proof */
.bada-booking-modal .bada-booking-seating{
	margin:0 0 22px!important;
	padding:16px!important;
	border:1px solid #DCE6EF!important;
	border-radius:18px!important;
	background:#F7FAFC!important;
}

.bada-booking-modal .bada-booking-seating[hidden]{
	display:none!important;
}

.bada-seat-loading,
.bada-seat-error{
	padding:14px!important;
	border-radius:12px!important;
	background:#fff!important;
	color:#66788A!important;
	text-align:center!important;
}

.bada-seat-error{
	color:#B34848!important;
}

.bada-seat-picker-head{
	display:flex!important;
	align-items:flex-start!important;
	justify-content:space-between!important;
	gap:16px!important;
	margin-bottom:12px!important;
}

.bada-seat-picker-head>div:first-child>span{
	display:block!important;
	color:#4174AB!important;
	font-size:10px!important;
	font-weight:900!important;
	letter-spacing:.12em!important;
}

.bada-seat-picker-head>div:first-child>strong{
	display:block!important;
	margin-top:3px!important;
	color:#203F61!important;
	font-size:14px!important;
}

.bada-seat-legend{
	display:flex!important;
	flex-wrap:wrap!important;
	justify-content:flex-end!important;
	gap:10px!important;
	font-size:11px!important;
	color:#66788A!important;
}

.bada-seat-legend span{
	display:inline-flex!important;
	align-items:center!important;
	gap:5px!important;
}

.bada-seat-legend i{
	display:inline-block!important;
	width:12px!important;
	height:12px!important;
	border-radius:50%!important;
	border:1px solid transparent!important;
}

.bada-seat-legend i.is-free{
	background:#35A76F!important;
	border-color:#27885A!important;
}

.bada-seat-legend i.is-booked{
	background:#D45151!important;
	border-color:#B63D3D!important;
}

.bada-seat-legend i.is-blocked{
	background:#B8C0C8!important;
	border-color:#9CA6AF!important;
}

.bada-seat-selection-info{
	margin:0 0 12px!important;
	padding:9px 11px!important;
	border-radius:10px!important;
	background:#fff!important;
	color:#40566B!important;
	font-size:12px!important;
	font-weight:700!important;
}

.bada-public-seat-canvas{
	position:relative!important;
	width:100%!important;
	overflow:hidden!important;
	border:1px solid #D5E1EB!important;
	border-radius:14px!important;
	background:
		linear-gradient(90deg,rgba(65,116,171,.035) 1px,transparent 1px),
		linear-gradient(rgba(65,116,171,.035) 1px,transparent 1px),
		#fff!important;
	background-size:18px 18px!important;
}

.bada-public-seat-inner{
	position:absolute!important;
	left:0!important;
	top:0!important;
	transform-origin:top left!important;
}

.bada-public-layout{
	position:absolute!important;
	box-sizing:border-box!important;
	transform-origin:center center!important;
}

.bada-public-stage{
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	border-radius:5px!important;
	background:#615858!important;
	color:#fff!important;
	font-size:16px!important;
	font-weight:800!important;
}

.bada-public-seat_block{
	padding:28px 9px 9px!important;
	border:1px dashed #B9C9D7!important;
	border-radius:9px!important;
	background:rgba(255,255,255,.96)!important;
}

.bada-public-block-title{
	position:absolute!important;
	left:7px!important;
	right:7px!important;
	top:5px!important;
	text-align:center!important;
	color:#354B60!important;
	font-size:11px!important;
	font-weight:800!important;
}

.bada-public-seat-grid{
	display:grid!important;
	gap:5px!important;
	justify-content:center!important;
}

.bada-public-seat-row{
	display:flex!important;
	align-items:center!important;
	gap:5px!important;
	min-height:18px!important;
}

.bada-public-row-label{
	flex:0 0 18px!important;
	width:18px!important;
	text-align:right!important;
	color:#40566B!important;
	font-size:9px!important;
	font-weight:800!important;
}

.bada-booking-modal button.bada-public-seat{
	display:block!important;
	flex:0 0 17px!important;
	width:17px!important;
	height:17px!important;
	min-width:17px!important;
	min-height:17px!important;
	margin:0!important;
	padding:0!important;
	border-radius:50%!important;
	box-shadow:none!important;
	outline:none!important;
	transition:transform .12s ease,box-shadow .12s ease!important;
}

.bada-booking-modal button.bada-public-seat.is-free{
	border:1px solid #27885A!important;
	background:#35A76F!important;
	color:#fff!important;
	cursor:pointer!important;
}

.bada-booking-modal button.bada-public-seat.is-free:hover,
.bada-booking-modal button.bada-public-seat.is-free:focus{
	border-color:#203F61!important;
	background:#2F965F!important;
	box-shadow:0 0 0 3px rgba(65,116,171,.18)!important;
	outline:none!important;
	transform:scale(1.12)!important;
}

.bada-booking-modal button.bada-public-seat.is-free.is-selected{
	border:2px solid #203F61!important;
	background:#4174AB!important;
	box-shadow:0 0 0 4px rgba(65,116,171,.20)!important;
	transform:scale(1.14)!important;
}

.bada-booking-modal button.bada-public-seat.is-booked{
	border:1px solid #B63D3D!important;
	background:#D45151!important;
	color:#fff!important;
	cursor:not-allowed!important;
	opacity:1!important;
}

.bada-booking-modal button.bada-public-seat.is-blocked{
	border:1px solid #9CA6AF!important;
	background:#B8C0C8!important;
	color:#fff!important;
	cursor:not-allowed!important;
	opacity:1!important;
}

.bada-public-standing{
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	border:2px dashed #4174AB!important;
	border-radius:10px!important;
	background:#EAF1F8!important;
	color:#203F61!important;
	font-weight:800!important;
}

.bada-public-table{
	border-radius:50%!important;
}

.bada-public-table-shape{
	position:absolute!important;
	inset:12px!important;
	display:grid!important;
	place-items:center!important;
	border:2px solid #4174AB!important;
	border-radius:50%!important;
	background:#DDE8F2!important;
	color:#203F61!important;
	font-size:11px!important;
	font-weight:800!important;
}

@media(max-width:700px){
	.bada-seat-picker-head{
		flex-direction:column!important;
	}
	.bada-seat-legend{
		justify-content:flex-start!important;
	}
}


/* v0.2.5 fallback: render stored DB seats even if legacy layout_json is empty */
.bada-public-fallback-block{
	position:absolute!important;
	box-sizing:border-box!important;
	padding:28px 8px 8px!important;
	border:1px dashed #B9C9D7!important;
	border-radius:9px!important;
	background:rgba(255,255,255,.96)!important;
}

.bada-public-fallback-block .bada-public-block-title{
	position:absolute!important;
	left:7px!important;
	right:7px!important;
	top:5px!important;
	text-align:center!important;
	color:#354B60!important;
	font-size:11px!important;
	font-weight:800!important;
}

.bada-public-plan-empty{
	position:absolute!important;
	left:50%!important;
	top:50%!important;
	width:420px!important;
	max-width:calc(100% - 40px)!important;
	padding:24px!important;
	border:1px dashed #B9C9D7!important;
	border-radius:16px!important;
	background:#FFFFFF!important;
	color:#66788A!important;
	text-align:center!important;
	transform:translate(-50%,-50%)!important;
}

.bada-public-plan-empty strong{
	display:block!important;
	margin-bottom:7px!important;
	color:#203F61!important;
	font-size:16px!important;
}

.bada-public-plan-empty span{
	display:block!important;
	font-size:13px!important;
}


/* v0.2.6 group booking + standing */
.bada-booking-modal button.bada-public-seat.is-selected{border:2px solid #203F61!important;background:#4174AB!important;box-shadow:0 0 0 4px rgba(65,116,171,.22)!important;transform:scale(1.14)!important;}
.bada-standing-options{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:10px!important;margin:12px 0 0!important;}.bada-standing-options:empty{display:none!important;}
.bada-standing-choice{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:11px 12px!important;border:1px solid #D5E1EB!important;border-radius:12px!important;background:#fff!important;transition:.18s ease!important;}.bada-standing-choice.is-focus{border-color:#4174AB!important;box-shadow:0 0 0 4px rgba(65,116,171,.12)!important;}
.bada-standing-choice-copy strong{display:block!important;color:#203F61!important;font-size:13px!important;}.bada-standing-choice-copy span{display:block!important;color:#66788A!important;font-size:11px!important;margin-top:2px!important;}
.bada-standing-stepper{display:flex!important;align-items:center!important;gap:8px!important;}.bada-standing-stepper button{width:32px!important;height:32px!important;min-width:32px!important;padding:0!important;border:1px solid #4174AB!important;border-radius:50%!important;background:#fff!important;color:#4174AB!important;font-size:20px!important;line-height:28px!important;font-weight:700!important;box-shadow:none!important;outline:none!important;cursor:pointer!important;}.bada-standing-stepper button:hover,.bada-standing-stepper button:focus,.bada-standing-stepper button:active{background:#4174AB!important;color:#fff!important;border-color:#4174AB!important;box-shadow:0 0 0 3px rgba(65,116,171,.12)!important;outline:none!important;}.bada-standing-stepper b{min-width:22px!important;text-align:center!important;color:#203F61!important;}
.bada-public-standing{flex-direction:column!important;gap:4px!important;}.bada-public-standing strong{font-size:16px!important;color:#203F61!important;}.bada-public-standing span{font-size:11px!important;color:#66788A!important;}.bada-public-standing.is-selectable{cursor:pointer!important;}.bada-public-standing.is-selectable:hover{border-color:#315D8A!important;background:#DDEAF6!important;}.bada-public-standing.is-selected{border-color:#203F61!important;background:#DCE8F4!important;box-shadow:0 0 0 4px rgba(65,116,171,.13)!important;}.bada-public-standing.is-sold-out{border-color:#9CA6AF!important;background:#E7EAED!important;color:#7F8B95!important;cursor:not-allowed!important;}
@media(min-width:901px){.bada-booking-modal__dialog{padding:30px 34px!important;}.bada-booking-modal .bada-public-seat-canvas{min-height:0!important;}}


/* v0.2.7 — Stehplatz quantity below hall plan */
.bada-public-standing.is-display-only{
    cursor:default!important;
    pointer-events:none!important;
    border-color:#4174AB!important;
    background:#EAF1F8!important;
    box-shadow:none!important;
}
.bada-standing-options{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;
    gap:12px!important;
    margin:14px 0 0!important;
}
.bada-standing-options:empty{display:none!important;}
.bada-standing-choice{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:18px!important;
    padding:14px 16px!important;
    border:1px solid #D5E1EB!important;
    border-radius:14px!important;
    background:#FFFFFF!important;
    box-shadow:none!important;
}
.bada-standing-choice-copy{min-width:0!important;}
.bada-standing-choice-copy .bada-standing-kicker{
    display:block!important;
    margin-bottom:3px!important;
    color:#4174AB!important;
    font-size:9px!important;
    font-weight:900!important;
    line-height:1.2!important;
    letter-spacing:.12em!important;
}
.bada-standing-choice-copy strong{
    display:block!important;
    color:#203F61!important;
    font-size:14px!important;
    line-height:1.3!important;
}
.bada-standing-choice-copy span:not(.bada-standing-kicker){
    display:block!important;
    margin-top:3px!important;
    color:#66788A!important;
    font-size:11px!important;
    line-height:1.3!important;
}
.bada-standing-input-wrap{
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    margin:0!important;
}
.bada-standing-input-wrap>span{
    color:#354B60!important;
    font-size:11px!important;
    font-weight:800!important;
}
.bada-booking-modal .bada-standing-input-wrap input[type="number"]{
    width:78px!important;
    min-width:78px!important;
    height:42px!important;
    min-height:42px!important;
    margin:0!important;
    padding:7px 9px!important;
    border:1px solid #C9D7E3!important;
    border-radius:10px!important;
    background:#FFFFFF!important;
    color:#203F61!important;
    font-size:16px!important;
    font-weight:800!important;
    text-align:center!important;
    box-shadow:none!important;
    outline:none!important;
}
.bada-booking-modal .bada-standing-input-wrap input[type="number"]:focus,
.bada-booking-modal .bada-standing-input-wrap input[type="number"]:active{
    border-color:#4174AB!important;
    background:#FFFFFF!important;
    color:#203F61!important;
    box-shadow:0 0 0 4px rgba(65,116,171,.12)!important;
    outline:none!important;
}
.bada-booking-modal .bada-standing-input-wrap input[type="number"]:disabled{
    border-color:#D9E0E6!important;
    background:#EEF1F4!important;
    color:#8B97A1!important;
    opacity:1!important;
    cursor:not-allowed!important;
}
@media(max-width:700px){
    .bada-standing-choice{
        align-items:flex-start!important;
        flex-direction:column!important;
    }
    .bada-standing-input-wrap{
        width:100%!important;
        justify-content:space-between!important;
    }
    .bada-booking-modal .bada-standing-input-wrap input[type="number"]{
        width:96px!important;
        min-width:96px!important;
    }
}


/* v0.2.8 — fixed standing quantity section render order */
.bada-standing-options-wrap{
	margin-top:14px!important;
	padding-top:14px!important;
	border-top:1px solid #DCE6EF!important;
}

.bada-standing-options-wrap[hidden]{
	display:none!important;
}

.bada-standing-options-wrap::before{
	content:"Stehplätze"!important;
	display:block!important;
	margin-bottom:9px!important;
	color:#203F61!important;
	font-size:13px!important;
	font-weight:900!important;
	letter-spacing:.01em!important;
}


/* v0.3.0 SureCart payment summary */
.bada-booking-price-summary{
    margin-top:18px!important;padding:14px 16px!important;border:1px solid #DCE6EF!important;border-radius:14px!important;background:#FFFFFF!important;
}
.bada-booking-price-summary[hidden]{display:none!important;}
.bada-booking-price-summary>div{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;padding:5px 0!important;color:#40566B!important;font-size:13px!important;}
.bada-booking-price-summary>div strong{color:#203F61!important;white-space:nowrap!important;}
.bada-booking-price-summary .bada-price-total{margin-top:6px!important;padding-top:10px!important;border-top:1px solid #DCE6EF!important;font-size:15px!important;font-weight:900!important;color:#203F61!important;}


/* v0.3.5 — Event-Adresse */
.bada-event-card__meta{
	display:flex!important;
	gap:8px 14px!important;
	flex-wrap:wrap!important;
	align-items:center!important;
}
.bada-event-card__meta span{
	display:inline-flex!important;
	align-items:center!important;
	color:#6F8192!important;
	font-size:13px!important;
	line-height:1.45!important;
}
.bada-booking-event-location{
	margin-top:10px!important;
	padding:10px 12px!important;
	border:1px solid rgba(65,116,171,.18)!important;
	border-radius:12px!important;
	background:#F5F9FC!important;
	color:#40566B!important;
}
.bada-booking-event-location strong,
.bada-booking-event-location span{
	display:block!important;
}
.bada-booking-event-location strong{
	color:#203F61!important;
	font-size:13px!important;
	font-weight:800!important;
}
.bada-booking-event-location span{
	margin-top:2px!important;
	color:#60778B!important;
	font-size:12px!important;
	line-height:1.45!important;
}
