/* ============================================================
   EVENT BOOKING — CUSTOM STYLES BORUSSIAFANCLUB KLEVE
   ============================================================
   Inhalt:
   1) Warteliste-Formular (Vereinfachung)
   2) Timeline-Übersicht (Cards + Ampel)
   3) Buchungsformular (Vereinsstil)
   4) Bestätigungsseite (Vereinsstil + Pending-Notice)
   5) Event-Detailseite (Vereinsstil + Social entschlackt)
   6) Login-Hinweis (Mitglieder-Buchung)
   7) Globale Responsive-Regeln
   ============================================================ */

/* ============================================================
   1) WARTELISTE-FORMULAR — Vereinfachung
   ============================================================ */

/* Ticket-Tabelle: nur "Ticket-Typ" + "Anzahl" sichtbar
   Preis (Spalte 2) + Freie Plätze (Spalte 3) ausblenden */
.eb-waitinglist-individual-registration-form table.table th:nth-child(2),
.eb-waitinglist-individual-registration-form table.table td:nth-child(2),
.eb-waitinglist-individual-registration-form table.table th:nth-child(3),
.eb-waitinglist-individual-registration-form table.table td:nth-child(3){
	display: none;
}

/* H3 "Zahlungsinformation", Betrag, AGB ausblenden */
.eb-waitinglist-individual-registration-form h3.eb-heading:has(+ #eb-amount-container),
.eb-waitinglist-individual-registration-form #eb-amount-container{
	display: none;
}

/* ============================================================
   2) TIMELINE-ÜBERSICHT — Cards, Vereinsgrün, Ampel
   ============================================================ */

/* Ticket-Tabelle in der Timeline ausblenden */
#eb-category-page-timeline .eb-event-tickets-heading,
#eb-category-page-timeline .eb-ticket-information{
	display: none;
}

/* Event-Container als kompakte Cards */
#eb-category-page-timeline .eb-event-container{
	background: #ffffff;
	border: 1px solid #eaeaea;
	border-radius: 10px;
	padding: 1.25em 1.5em;
	margin-bottom: 1em;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
	transition: box-shadow 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}

#eb-category-page-timeline .eb-event-container:hover{
	box-shadow: 0 4px 16px rgba(0, 128, 0, 0.10);
	border-color: #c8e6c8;
	transform: translateY(-1px);
}

/* Titel kompakt */
#eb-category-page-timeline .eb-event-title-container{
	margin-bottom: 0.5em;
	line-height: 1.3;
}

/* Datum-Badge in Vereinsgrün */
#eb-category-page-timeline .eb-event-date.bg-primary{
	background-color: #008000 !important;
	border-radius: 50%;
	padding: 1em 0.85em;
	min-width: 70px;
	min-height: 70px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	line-height: 1.2;
}

#eb-category-page-timeline .eb-event-date .eb-event-date-day{
	font-size: 1.15em;
	font-weight: 700;
}

#eb-category-page-timeline .eb-event-date .eb-event-date-month,
#eb-category-page-timeline .eb-event-date .eb-event-date-year{
	font-size: 0.78em;
	opacity: 0.95;
}

/* Kategorie-Badge: Outline-Style */
#eb-category-page-timeline .eb-event-price-container.bg-primary{
	background-color: transparent !important;
	border: 1.5px solid #008000;
	border-radius: 20px;
	padding: 4px 14px;
}

#eb-category-page-timeline .eb-event-price-container .eb-individual-price{
	color: #008000;
	font-weight: 600;
	font-size: 0.88em;
}

/* Info-Zeilen (Datum, Ort, Kapazität) */
#eb-category-page-timeline .eb-event-date-info,
#eb-category-page-timeline .eb-event-location-info,
#eb-category-page-timeline .eb-event-capacity-info{
	font-size: 0.92em;
	color: #555555;
	margin-top: 0.25em;
	display: flex;
	align-items: center;
	gap: 0.55em;
}

#eb-category-page-timeline .eb-event-date-info i,
#eb-category-page-timeline .eb-event-location-info i,
#eb-category-page-timeline .eb-event-capacity-info i{
	color: #999999;
	width: 14px;
	text-align: center;
}

/* Ampel-Badge "freie Plätze" */
#eb-category-page-timeline .eb-event-available-place-info{
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	padding: 4px 12px;
	border-radius: 20px;
	font-weight: 600;
	font-size: 0.85em;
	color: #ffffff;
	margin-top: 0.5em;
}

#eb-category-page-timeline .eb-event-available-place-info i{
	color: #ffffff;
	width: auto;
}

#eb-category-page-timeline .eb-event-available-place-info.places-green{
	background-color: #008000;
}

#eb-category-page-timeline .eb-event-available-place-info.places-yellow{
	background-color: #e09100;
}

#eb-category-page-timeline .eb-event-available-place-info.places-red,
#eb-category-page-timeline .eb-event-full .eb-event-available-place-info{
	background-color: #b32424;
}

/* Beschreibungsbereich */
#eb-category-page-timeline .eb-description-details{
	margin-top: 0.75em;
	padding-top: 0.75em;
	border-top: 1px solid #f0f0f0;
}

#eb-category-page-timeline .eb-description-details p{
	margin-bottom: 0.4em;
	line-height: 1.45;
}

/* Vorschaubild */
#eb-category-page-timeline .eb-thumb-left{
	max-width: 130px;
	height: auto;
	margin-right: 1em;
	border-radius: 6px;
}

/* Action-Buttons */
#eb-category-page-timeline .eb-taskbar{
	margin-top: 1em;
	padding-top: 0.75em;
	border-top: 1px solid #f0f0f0;
}

#eb-category-page-timeline .eb-taskbar ul{
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4em;
}

#eb-category-page-timeline .eb-taskbar ul li{
	margin: 0;
}

#eb-category-page-timeline .eb-taskbar .btn{
	padding: 0.35em 0.9em;
	font-size: 0.88em;
}

/* ============================================================
   3) BUCHUNGSFORMULAR — Vereinsstil
   Wirkt für normale Buchung UND Warteliste
   ============================================================ */

/* Haupt-Container als Card */
#eb-individual-registration-page{
	background: #ffffff;
	border: 1px solid #eaeaea;
	border-radius: 12px;
	padding: 2em 2.5em;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
	margin: 1em 0 2em;
}

/* Seitenüberschrift */
#eb-individual-registration-page .eb-page-heading{
	color: #008000;
	font-weight: 700;
	border-bottom: 3px solid #008000;
	padding-bottom: 0.4em;
	margin-bottom: 1em;
	font-size: 1.8em;
}

@media (max-width: 450px){
	#eb-individual-registration-page table td{
		font-size: .8em !important;
	}
	
	.eb-container .input-small{
		width: 75px !important;
	}
	
}

/* Intro-Box */
#eb-individual-registration-page .eb-message{
	background: #f0f7f0;
	border-left: 4px solid #008000;
	padding: 0.9em 1.25em;
	border-radius: 6px;
	margin-bottom: 1.5em;
	color: #2a2a2a;
}

#eb-individual-registration-page .eb-message p{
	margin: 0;
}

/* H3-Section-Überschriften */
#eb-individual-registration-page .eb-heading{
	color: #008000;
	font-weight: 600;
	border-bottom: 2px solid #e8f0e8;
	padding-bottom: 0.4em;
	margin: 2em 0 1em;
	font-size: 1.2em;
}

/* Ticket-Tabelle */
#eb-individual-registration-page .eb-ticket-information{
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid #e0e0e0;
	margin-bottom: 1.5em;
}

#eb-individual-registration-page .eb-ticket-information thead th{
	background: #008000;
	color: #ffffff;
	font-weight: 600;
	padding: 0.75em 1em;
	border: none;
	text-align: left;
}

#eb-individual-registration-page .eb-ticket-information thead th.center,
#eb-individual-registration-page .eb-ticket-information thead th.eb-text-right{
	text-align: center;
}

#eb-individual-registration-page .eb-ticket-information tbody tr{
	transition: background 0.2s ease;
}

#eb-individual-registration-page .eb-ticket-information tbody tr:hover{
	background: #f8fbf8 !important;
}

#eb-individual-registration-page .eb-ticket-information tbody td{
	padding: 0.55em 1em;
	border-bottom: 1px solid #f0f0f0;
	background: #ffffff;
}

#eb-individual-registration-page .eb-ticket-information tbody tr:last-child td{
	border-bottom: none;
}

#eb-individual-registration-page .eb-ticket-type-title{
	font-weight: 500;
}

#eb-individual-registration-page .eb-ticket-type-description{
	color: #888888;
	font-size: 0.85em;
	margin: 0.2em 0 0;
	font-style: italic;
}

/* Formular-Zeilen */
#eb-individual-registration-page .form-group.form-row{
	margin-bottom: 0.85em;
	align-items: center;
}

#eb-individual-registration-page .form-control-label{
	color: #444444;
	font-weight: 500;
	padding-top: 0.5em;
}

#eb-individual-registration-page .star,
#eb-individual-registration-page .required{
	color: #b32424;
	margin-left: 2px;
}

/* Eingabefelder */
#eb-individual-registration-page .form-control,
#eb-individual-registration-page .form-select{
	border: 1px solid #d0d0d0;
	border-radius: 6px;
	padding: 0.55em 0.85em;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	background: #ffffff;
}

#eb-individual-registration-page .form-control:focus,
#eb-individual-registration-page .form-select:focus{
	border-color: #008000;
	box-shadow: 0 0 0 3px rgba(0, 128, 0, 0.12);
	outline: none;
}

#eb-individual-registration-page textarea.form-control{
	resize: vertical;
	min-height: 90px;
}

#eb-individual-registration-page input[readonly]{
	background: #f5f5f5;
	color: #555555;
}

/* Zahlungsmethoden als Card-Auswahl */
#eb-individual-registration-page .eb-radio-container{
	display: flex;
	gap: 0.75em;
	flex-wrap: wrap;
	padding: 0;
	border: none;
}

#eb-individual-registration-page .eb-radio-container .row{
	margin: 0;
	flex: 1;
	min-width: 180px;
}

#eb-individual-registration-page .eb-radio-container .col-md-12{
	padding: 0;
}

#eb-individual-registration-page .eb-radio-container label.radio{
	display: flex;
	align-items: center;
	gap: 0.6em;
	padding: 0.75em 1em;
	border: 1.5px solid #d0d0d0;
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.2s ease;
	background: #ffffff;
	margin: 0;
	width: 100%;
}

#eb-individual-registration-page .eb-radio-container label.radio:hover{
	border-color: #008000;
	background: #f8fbf8;
}

#eb-individual-registration-page .eb-radio-container input[type="radio"]{
	accent-color: #008000;
	width: 18px;
	height: 18px;
	margin: 0;
	flex-shrink: 0;
}

/* Betrag / Rabatt / Bruttobetrag */
#eb-individual-registration-page #eb-amount-container,
#eb-individual-registration-page #eb-discount-amount-container,
#eb-individual-registration-page #eb-gross-amount-container{
	background: #f8f9fa;
	padding: 0.5em 1em;
	border-radius: 6px;
	margin-bottom: 0.4em;
}

#eb-individual-registration-page #eb-gross-amount-container{
	background: #f0f7f0;
	font-weight: 600;
}

#eb-individual-registration-page #eb-gross-amount-container .form-control-label{
	color: #008000;
	font-size: 1.05em;
}

/* Datenschutz / AGB-Boxen */
#eb-individual-registration-page #eb-privacy-policy-container,
#eb-individual-registration-page .eb-terms-and-conditions-container{
	background: #fafafa;
	padding: 1em 1.25em;
	border-radius: 8px;
	border: 1px solid #e0e0e0;
	margin-bottom: 1em;
}

#eb-individual-registration-page .eb-privacy-policy-message{
	background: transparent;
	border: none;
	padding: 0.5em 0 0;
	color: #555555;
	font-size: 0.92em;
}

#eb-individual-registration-page input[type="checkbox"]{
	accent-color: #008000;
	width: 17px;
	height: 17px;
	margin-right: 0.5em;
	vertical-align: middle;
}

/* Submit-Button */
#eb-individual-registration-page .form-actions{
	margin-top: 2em;
	padding-top: 1.5em;
	border-top: 1px solid #eaeaea;
	text-align: center;
}

#eb-individual-registration-page #btn-submit{
	background: #008000;
	border: none;
	color: #ffffff;
	font-size: 1.1em;
	font-weight: 600;
	padding: 0.75em 3em;
	border-radius: 8px;
	transition: all 0.2s ease;
	box-shadow: 0 2px 6px rgba(0, 128, 0, 0.2);
	cursor: pointer;
}

#eb-individual-registration-page #btn-submit:hover{
	background: #006400;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(0, 128, 0, 0.3);
}

#eb-individual-registration-page #btn-submit:active{
	transform: translateY(0);
}

/* Coupon-Fehlermeldung */
#eb-individual-registration-page #coupon_validate_msg.invalid{
	color: #b32424;
	font-size: 0.9em;
	margin-top: 0.3em;
	display: block;
}

/* ============================================================
   4) BESTÄTIGUNGSSEITE — Vereinsstil
   ============================================================ */

/* Haupt-Container als Card */
#eb-registration-complete-page{
	background: #ffffff;
	border: 1px solid #eaeaea;
	border-radius: 12px;
	padding: 2em 2.5em;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
	margin: 1em 0 2em;
	position: relative;
}

/* Erfolgs-Badge oben */
#eb-registration-complete-page::before{
	content: "✓";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	background: #008000;
	color: #ffffff;
	border-radius: 50%;
	font-size: 1.6em;
	font-weight: 700;
	margin-bottom: 0.75em;
	box-shadow: 0 2px 8px rgba(0, 128, 0, 0.25);
}

/* Überschrift */
#eb-registration-complete-page .eb-page-heading{
	color: #008000;
	font-weight: 700;
	font-size: 1.8em;
	margin-bottom: 0.5em;
	display: flex;
	align-items: center;
	gap: 0.5em;
}

/* Druck-Button */
#eb-registration-complete-page #pop-print{
	background: transparent;
	border: 1px solid #008000;
	color: #008000;
	padding: 0.3em 0.6em;
	border-radius: 6px;
	margin-left: auto;
	transition: all 0.2s ease;
}

#eb-registration-complete-page #pop-print:hover{
	background: #008000;
	color: #ffffff;
}

#eb-registration-complete-page #pop-print a{
	color: inherit;
}

/* Intro-Box (Vielen Dank) */
#eb-registration-complete-page .eb-message > div.redim-success{
	background: #f0f7f0;
	border: 1px solid #a1bca1;
	border-left: 4px solid #008000;
	padding: 1em 1.25em;
	border-radius: 6px;
	margin-bottom: 1.75em;
	color: #2a2a2a;
	font-size: 1.05em;
}

#eb-registration-complete-page .eb-message > div.redim-success strong{
	color: #008000;
}

#eb-registration-complete-page .eb-message > div.redim-success > *:last-child{
	margin-bottom: 0px;
}

.eb-message em{
	color: #5a5a5a
}

/* Section-Überschriften */
#eb-registration-complete-page .eb-heading{
	color: #008000;
	font-weight: 600;
	border-bottom: 2px solid #e8f0e8;
	padding-bottom: 0.4em;
	margin: 2em 0 1em;
	font-size: 1.15em;
}

#eb-registration-complete-page h4.eb-heading{
	font-size: 1em;
	color: #555555;
	border-bottom: 1px dashed #e0e0e0;
	margin: 1.5em 0 0.75em;
}

/* Daten-Zeilen */
#eb-registration-complete-page .form-group.form-row{
	margin-bottom: 0.4em;
	padding: 0.45em 0;
	border-bottom: 1px solid #f5f5f5;
	align-items: baseline;
}

#eb-registration-complete-page .form-group.form-row:last-child{
	border-bottom: none;
}

#eb-registration-complete-page .form-group.form-row:has(.eb-heading){
	border-bottom: none;
	padding: 0;
	margin-bottom: 0;
}

/* Labels (linke Spalte) */
#eb-registration-complete-page .form-control-label{
	color: #777777;
	font-weight: 400;
	font-size: 0.95em;
}

/* Werte (rechte Spalte) */
#eb-registration-complete-page .eb-form-control{
	color: #1a1a1a;
	font-weight: 500;
}

#eb-registration-complete-page .eb-form-control:empty,
#eb-registration-complete-page .eb-form-control:has(> :empty){
	color: #bbbbbb;
}

/* E-Mail-Link */
#eb-registration-complete-page .eb-form-control a[href^="mailto:"]{
	color: #008000;
	font-weight: 500;
}

#eb-registration-complete-page .eb-form-control a[href^="mailto:"]:hover{
	text-decoration: underline;
}

/* Grußformel + Signatur */
#eb-registration-complete-page .eb-confirmation-greeting{
	margin-top: 2.5em;
	padding-top: 1.5em;
	border-top: 1px solid #eaeaea;
	color: #555555;
	font-style: italic;
	margin-bottom: 0.25em;
}

#eb-registration-complete-page .eb-confirmation-signature{
	color: #008000;
	font-weight: 600;
	margin-top: 0;
}

/* Pending-Notice (Hinweis: Buchung noch nicht bestätigt) */
#eb-registration-complete-page .eb-message > div.redim-warning{
	background: #fff8e1;
	border: 1px solid #f5d76e;
	border-left: 4px solid #e09100;
	padding: 1em 1.25em;
	border-radius: 6px;
	margin: 0 0 1.75em;
	color: #2a2a2a;
}

#eb-registration-complete-page .eb-message > div.redim-warning strong:first-child{
	display: block;
	color: #b8730a;
	font-size: 1.05em;
	margin-bottom: 0.5em;
}

#eb-registration-complete-page .eb-message > div.redim-warning p{
	margin: 0.5em 0 0;
	line-height: 1.5;
}

#eb-registration-complete-page .eb-message > div.redim-warning p:first-of-type{
	margin-top: 0.5em;
}

/* ============================================================
   5) EVENT-DETAILSEITE — Vereinsstil
   ============================================================ */

/* Haupt-Container als Card */
#eb-event-details{
	background: #ffffff;
	border: 1px solid #eaeaea;
	border-radius: 12px;
	padding: 2em 2.5em;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
	margin: 1em 0 2em;
}

/* Globale H1-Überschrift */
.eb-page-heading{
	color: #008000;
	font-weight: 700;
	margin-bottom: 0.4em;
}

/* Alte Tweet- / Facebook-Like-Blöcke entfernen */
#eb-event-details .sharing,
#eb-event-details #rsep_fb_like,
#eb-event-details #rsep_twitter{
	display: none !important;
}

/* Beschreibung */
#eb-event-details .eb-description-details{
	font-size: 1.02em;
	line-height: 1.55;
	color: #2a2a2a;
	margin-bottom: 1.75em;
	padding-bottom: 1.5em;
	border-bottom: 1px solid #f0f0f0;
}

/* Section-Überschriften */
#eb-event-details h3,
#eb-event-details .eb-event-tickets-heading,
#eb-event-details #eb-event-properties-heading{
	color: #008000;
	font-weight: 600;
	border-bottom: 2px solid #e8f0e8;
	padding-bottom: 0.4em;
	margin: 1.5em 0 1em;
	font-size: 1.2em;
}

/* Properties-Tabelle */
#eb-event-details table.table{
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid #e0e0e0;
	margin-bottom: 1.5em;
	background: #ffffff;
}

#eb-event-details .eb-event-property{
	transition: background 0.2s ease;
}

#eb-event-details .eb-event-property:hover{
	background: #f8fbf8;
}

#eb-event-details .eb-event-property-label{
	background: #fafafa;
	color: #555555;
	font-weight: 500;
	padding: 0.7em 1em;
	border: none;
	border-bottom: 1px solid #f0f0f0;
	width: 35%;
}

#eb-event-details .eb-event-property-value{
	padding: 0.7em 1em;
	border: none;
	border-bottom: 1px solid #f0f0f0;
	color: #1a1a1a;
	font-weight: 500;
}

#eb-event-details .eb-event-property:last-child .eb-event-property-label,
#eb-event-details .eb-event-property:last-child .eb-event-property-value{
	border-bottom: none;
}

/* Ticket-Tabelle */
#eb-event-details .eb-ticket-information{
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid #e0e0e0;
	margin-bottom: 1.5em;
}

#eb-event-details .eb-ticket-information thead th{
	background: #008000;
	color: #ffffff;
	font-weight: 600;
	padding: 0.75em 1em;
	border: none;
	text-align: left;
}

#eb-event-details .eb-ticket-information thead th.center,
#eb-event-details .eb-ticket-information thead th.eb-text-right{
	text-align: center;
}

#eb-event-details .eb-ticket-information tbody tr{
	transition: background 0.2s ease;
}

#eb-event-details .eb-ticket-information tbody tr:hover{
	background: #f8fbf8 !important;
}

#eb-event-details .eb-ticket-information tbody td{
	padding: 0.55em 1em;
	border-bottom: 1px solid #f0f0f0;
	background: #ffffff;
}

#eb-event-details .eb-ticket-information tbody tr:last-child td{
	border-bottom: none;
}

#eb-event-details .eb-ticket-type-description{
	color: #888888;
	font-size: 0.85em;
	margin: 0.2em 0 0;
	font-style: italic;
}

/* Action-Buttons */
#eb-event-details .eb-taskbar{
	margin-top: 1.5em;
	padding-top: 1.25em;
	border-top: 1px solid #f0f0f0;
}

#eb-event-details .eb-taskbar ul{
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.6em;
}

#eb-event-details .eb-taskbar ul li{
	margin: 0;
}

#eb-event-details .eb-taskbar .btn-primary{
	background: #008000;
	border: none;
	color: #ffffff;
	font-weight: 600;
	padding: 0.65em 1.75em;
	border-radius: 8px;
	transition: all 0.2s ease;
	box-shadow: 0 2px 6px rgba(0, 128, 0, 0.2);
}

#eb-event-details .eb-taskbar .btn-primary:hover{
	background: #006400;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(0, 128, 0, 0.3);
}

#eb-event-details .eb-taskbar .btn-secondary{
	background: #ffffff;
	border: 1px solid #d0d0d0;
	color: #555555;
	padding: 0.65em 1.5em;
	border-radius: 8px;
	transition: all 0.2s ease;
}

#eb-event-details .eb-taskbar .btn-secondary:hover{
	border-color: #008000;
	color: #008000;
}

/* Social-Sharing-Buttons — entschlackt */
#eb-event-details .eb-social-sharing-buttons{
	margin-top: 2em;
	padding-top: 1.25em;
	border-top: 1px solid #eaeaea;
	display: flex;
	gap: 0.5em;
	align-items: center;
	flex-wrap: wrap;
}

#eb-event-details .eb-social-sharing-buttons::before{
	content: "Teilen:";
	color: #888888;
	font-size: 0.88em;
	margin-right: 0.5em;
}

/* Tote / unerwünschte Dienste ausblenden */
#eb-event-details .eb-btn-delicious,
#eb-event-details .eb-btn-digg,
#eb-event-details .eb-btn-twitter,
#eb-event-details .eb-btn-linkedin{
	display: none !important;
}

#eb-event-details .eb-social-sharing-buttons .btn{
	width: 32px;
	height: 32px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	font-size: 0.95em;
	color: #ffffff !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	border: none;
}

#eb-event-details .eb-social-sharing-buttons .btn:hover{
	transform: translateY(-2px);
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

#eb-event-details .eb-btn-facebook{
	background: #1877f2;
}

#eb-event-details .eb-btn-pinterest{
	background: #e60023;
}

#eb-event-details .eb-social-sharing-buttons .btn i{
	font-size: 1em;
	line-height: 1;
}

/* ============================================================
   6) LOGIN-HINWEIS im Buchungsformular
   ============================================================ */
.eb-login-hint{
	background: #f8f9fa;
	border: 1px solid #e0e0e0;
	border-left: 4px solid #008000;
	padding: 0.9em 1.25em;
	border-radius: 6px;
	margin: 1em 0 1.5em;
	font-size: 0.95em;
	color: #444444;
}

.eb-login-hint a{
	color: #008000;
	font-weight: 600;
	text-decoration: underline;
}

/* Bei eingeloggten Usern ausblenden */
body.user-logged-in .eb-login-hint{
	display: none;
}

@media (max-width: 1400px){
	#eb-category-page-timeline .eb-event-date-container{
		margin: 0 0 0.75em 0 !important;
		float: none !important;
		width: 82px;
	}
}

/* ============================================================
   7) RESPONSIVE — Mobile (≤ 768 px)
   Konsolidiert aus allen vorherigen Mobile-Blöcken
   ============================================================ */
@media (max-width: 768px){
	
	/* --- Timeline --- */
	#eb-category-page-timeline .eb-event-container{
		padding: 1em;
	}
	
	#eb-category-page-timeline .eb-thumb-left{
		max-width: 100px;
	}
	
	/* --- Buchungsformular --- */
	#eb-individual-registration-page{
		padding: 1.25em;
	}
	
	#eb-individual-registration-page .eb-page-heading{
		font-size: 1.5em;
	}
	
	#eb-individual-registration-page .form-control-label{
		padding-top: 0;
		margin-bottom: 0.25em;
	}
	
	#eb-individual-registration-page .eb-ticket-information{
		font-size: 0.85em;
	}
	
	#eb-individual-registration-page .eb-ticket-information thead th,
	#eb-individual-registration-page .eb-ticket-information tbody td{
		padding: 0.4em 0.5em;
	}
	
	#eb-individual-registration-page #btn-submit{
		width: 100%;
	}
	
	/* --- Bestätigungsseite — Container + Header --- */
	#eb-registration-complete-page{
		padding: 1.25em;
	}
	
	#eb-registration-complete-page::before{
		width: 38px;
		height: 38px;
		font-size: 1.2em;
	}
	
	#eb-registration-complete-page .eb-page-heading{
		font-size: 1.3em;
		flex-wrap: wrap;
	}
	
	#eb-registration-complete-page #pop-print{
		padding: 0.25em 0.5em;
		font-size: 0.9em;
	}
	
	#eb-registration-complete-page .eb-heading{
		margin: 1.5em 0 0.75em;
		font-size: 1.05em;
		padding-left: 0;
	}
	
	#eb-registration-complete-page h4.eb-heading{
		font-size: 0.92em;
		margin: 1em 0 0.5em;
	}
	
	/* Bestätigungsseite — Daten-Zeilen: Label oben, Wert unten */
	#eb-registration-complete-page .form-group.form-row{
		display: block;
		padding: 0.55em 0;
		border-bottom: 1px solid #f5f5f5;
	}
	
	#eb-registration-complete-page .form-control-label{
		display: block;
		width: 100%;
		padding: 0 !important;
		margin-bottom: 0.2em;
		color: #777777;
		font-size: 0.85em;
		font-weight: 500;
		text-transform: uppercase;
		letter-spacing: 0.3px;
	}
	
	#eb-registration-complete-page .eb-form-control{
		display: block;
		width: 100%;
		padding: 0 !important;
		color: #1a1a1a;
		font-weight: 500;
		font-size: 1em;
	}
	
	/* Bootstrap-Spalten-Padding bei Daten-Zeilen entfernen */
	#eb-registration-complete-page .form-group.form-row > .col-md-3,
	#eb-registration-complete-page .form-group.form-row > .col-md-9,
	#eb-registration-complete-page .form-group.form-row > label.col-md-3{
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	
	/* Bestätigungsseite — Intro-Box behält Innen-Padding */
	#eb-registration-complete-page .eb-message > p:last-child{
		margin-bottom: 0 !important;
	}
	
	/* Bestätigungsseite — Pending-Notice + Bankverbindung */
	.eb-pending-notice{
		padding: 0.9em 1.1em !important;
		font-size: 0.95em;
	}
	
	.eb-pending-notice p{
		padding: 0 !important;
		margin: 0.4em 0 0;
	}
	
	#eb-registration-complete-page > #eb-message > p:has(strong:first-child){
		background: #f8f9fa;
		border-left: 3px solid #008000;
		padding: 0.75em 1em !important;
		border-radius: 6px;
		margin: 0.5em 0 !important;
		line-height: 1.6;
	}
	
	/* Bestätigungsseite — Grußformel bündig */
	.eb-confirmation-greeting,
	.eb-confirmation-signature{
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	
	/* --- Event-Detailseite --- */
	#eb-event-details{
		padding: 1.25em;
	}
	
	#eb-event-details h3,
	#eb-event-details .eb-event-tickets-heading,
	#eb-event-details #eb-event-properties-heading{
		font-size: 1.05em;
	}
	
	/* Properties-Tabelle: Label oben, Wert unten */
	#eb-event-details table.table,
	#eb-event-details .eb-event-property,
	#eb-event-details .eb-event-property td{
		display: block;
		width: 100% !important;
	}
	
	#eb-event-details .eb-event-property-label{
		background: #fafafa;
		font-size: 0.85em;
		padding: 0.4em 0.75em;
		border-bottom: none;
	}
	
	#eb-event-details .eb-event-property-value{
		padding: 0.5em 0.75em 0.75em;
		border-bottom: 1px solid #f0f0f0;
		font-size: 1em;
	}
	
	/* Ticket-Tabelle kompakt */
	#eb-event-details .eb-ticket-information{
		font-size: 0.9em;
	}
	
	#eb-event-details .eb-ticket-information thead th,
	#eb-event-details .eb-ticket-information tbody td{
		padding: 0.45em 0.6em;
	}
	
	/* Buttons untereinander */
	#eb-event-details .eb-taskbar ul{
		flex-direction: column;
	}
	
	#eb-event-details .eb-taskbar .btn{
		width: 100%;
		text-align: center;
	}
}

/* ============================================================
   Extra Small (≤ 480 px)
   ============================================================ */
@media (max-width: 480px){
	#eb-event-details{
		padding: 1em;
		border-radius: 8px;
	}
	
	#eb-event-details .eb-ticket-information thead th,
	#eb-event-details .eb-ticket-information tbody td{
		padding: 0.4em 0.4em;
		font-size: 0.85em;
	}
	
	.eb-taskbar li, .eb-taskbar li .btn{
		width: 100% !important;
	}
}

.eb-login-hint{
	display: none;
}

#eb-waiting-list-complete-page .eb-heading{
	font-weight: bold;
	padding: 8px 0px;
	color: #008000;
}

#eb-waiting-list-complete-page .title_cell{
	font-weight: bold;
	padding: 2px 0px
}

.eb-waitlist-login-hint{
	padding-top: 10px;
}