/* Styling für alle Frontend-Ausgaben des Plugins */
/* Styling für das Accordion */
.accordion {
	margin: 20px 0;
	/*border: 1px solid #ccc;*/
	border-radius: 5px;
	overflow: hidden;
}

.accordion-header {
	background-color: #f7f7f7;
	padding: 10px;
	font-size: 16px;
	cursor: pointer;
	border-bottom: 1px solid #ddd;
}

.accordion-header h4{font-size: 18px;}

.accordion-header:hover {
	background-color: #e7e7e7;
}

.accordion-content {
	padding: 15px;
	background-color: #fff;
	display: none;  /* Standardmäßig ausgeblendet */
}

.accordion-item {
	margin-bottom: 5px;
	border: 1px solid #ccc;
	border-radius: 5px;
}

.vereinsdaten-wrapper {
	display: flex; flex-direction: column; gap: 10px; border: 1px solid #000; padding: 10px;
}

/* Zusätzliche allgemeine Stile für andere Plugin-Elemente */
.accordion .vereinsdaten-wrapper {
	border: 0 !important;
	padding: 10px;
	margin-bottom: 20px;
	display: flex;
	flex-direction: column; 
	gap: 10px; border: 0;
}




.vereins-angebote span{
	background-color: var(--theme-button-background-initial-color);
	color: var(--theme-selection-text-color);
	font-weight: 700;
}

.vereins-kontakt{
	padding-top: 20px;
}

.accordion p{
	margin: 0;
}

.vereins-header {
	display: flex;
	flex-direction: row; /* Standardmäßig nebeneinander */
	justify-content: space-between;
	align-items: center; /* Optional: Vertikale Ausrichtung */
}

@media (max-width: 768px) {  /* Bei Bildschirmgrößen kleiner als 768px (z.B. Tablets und Handys) */
	.vereins-header {
		flex-direction: column; /* Untereinander anordnen */
		align-items: flex-start; /* Vertikale Ausrichtung der Elemente */
	}
}

/* Kreisgruppen Vorstand Layout */
.kg-card {
	max-width: 1290px;
	margin: 0 auto;
	background: #ffffff;
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid #cfd7df;
}

.kg-hero {
	background: linear-gradient(135deg, #f5f8fb, #e6edf3);
	padding: 28px 28px 20px;
	border-bottom: 1px solid #cfd7df;
}

.kg-hero h1 {
	margin: 0 0 6px;
	font-size: 28px;
	letter-spacing: 0.2px;
	color: #29333c;
}


.kg-sub {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	color: #415161;
	font-size: 14px;
}

.kg-sub span {
	background: #e9eef3;
	padding: 6px 10px;
	border-radius: 999px;
	border: 1px solid #cfd7df;
	font-family: "IBM Plex Sans", "Arial", sans-serif;
}

.kg-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	padding: 24px 28px 28px;
}

.kg-section h2 {
	font-size: 18px;
	margin: 0 0 10px;
	padding-bottom: 6px;
	border-bottom: 2px solid #cfd7df;
	color: #33a370;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	font-family: "IBM Plex Sans", "Arial", sans-serif;
}

.kg-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 10px;
}

.kg-list li {
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 8px;
	padding: 10px 12px;
	background: #f7f9fb;
	border: 1px solid #cfd7df;
	border-radius: 10px;
	font-family: "IBM Plex Sans", "Arial", sans-serif;
	font-size: 14px;
	color: #29333c;
}

.kg-list li.is-chair {
	background: #edf5f1;
	border-color: #33a370;
}

.kg-list li.is-chair .kg-label {
	color: #33a370;
	font-weight: 700;
}

.kg-list li.is-chair .kg-value {
	font-size: 15px;
	font-weight: 700;
}

.kg-label {
	color: #415161;
	font-weight: 600;
}

.kg-value a,
.kg-role a {
	color: #29333c;
	text-decoration: none;
	border-bottom: 1px dashed #33a370;
}

.kg-functions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

@media (min-width: 1100px) {
	.kg-functions {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 820px) {
	.kg-functions {
		grid-template-columns: 1fr;
	}
}

.kg-role {
	border: 1px solid #cfd7df;
	border-radius: 12px;
	padding: 12px 14px;
	background: #f9fbfd;
}

.kg-role h3 {
	margin: 0 0 6px;
	font-size: 15px;
	font-family: "IBM Plex Sans", "Arial", sans-serif;
	color: #29333c;
}

.kg-role p {
	margin: 0;
	color: #415161;
	font-size: 14px;
	font-family: "IBM Plex Sans", "Arial", sans-serif;
}
