/*
 * Partner & Unterstützer widget — replaces the old "Netzwerk" page's native-Elementor
 * logo grid + toggle accordion (no shared design system) with the plugin's established
 * card/pill/accordion language. Two independent sections: a logo grid ("Unterstützer",
 * card hover-lift + pill "Besuchen" button, same pattern as Team-Mitglieder) and a
 * categorized link accordion ("Partner & weiterführende Links", same interaction as the
 * Bürgerinitiative-Archiv legal-text proposals).
 */

.ac-partners {
	font-family: 'Amiko', sans-serif;
}

.ac-partners-section + .ac-partners-section {
	margin-top: 50px;
}

.ac-partners-intro {
	font-size: 1.05rem;
	color: #555;
	margin: 0;
}

/* Font-size/weight/color come from the shared .ac-heading class (see ac-fonts.css). */
.ac-partners-heading {
	margin: 0 0 10px;
}

/* Unterstützer grid */

.ac-partners-grid {
	display: grid;
	grid-template-columns: repeat( 3, 1fr );
	gap: 25px;
	margin-top: 35px;
}

.ac-partners-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	padding: 25px;
	background-color: #fff;
	border: 1px solid #eee;
	border-radius: 10px;
	box-shadow: 0 4px 15px rgba( 0, 0, 0, 0.04 );
	transition: transform 0.3s, box-shadow 0.3s;
}

.ac-partners-card:hover {
	transform: translateY( -4px );
	box-shadow: 0 10px 25px rgba( 0, 0, 0, 0.08 );
}

.ac-partners-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 90px;
}

.ac-partners-logo img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}

.ac-partners-name {
	font-family: 'Montserrat', sans-serif;
	font-size: 1rem;
	font-weight: 700;
	color: #111;
	margin: 0;
}

.ac-partners-visit,
.ac-partners-visit:link,
.ac-partners-visit:visited {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 18px;
	border-radius: 50px;
	background-color: transparent !important;
	color: var( --ac-accent, #2e6741 ) !important;
	border: 2px solid var( --ac-accent, #2e6741 );
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 0.85rem;
	text-decoration: none;
	transition: background-color 0.25s, color 0.25s;
}

.ac-partners-visit:hover,
.ac-partners-visit:focus {
	background-color: var( --ac-accent, #2e6741 ) !important;
	color: #fff !important;
}

.ac-partners-visit svg {
	width: 0.8em !important;
	height: 0.8em !important;
	fill: currentColor !important;
}

/* Partner & weiterführende Links accordion */

.ac-partners-accordion {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 20px;
}

.ac-partners-category {
	background-color: #fff;
	border: 1px solid #eee;
	border-radius: 10px;
	overflow: hidden;
}

.ac-partners-category-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	width: 100%;
	padding: 18px 22px;
	background: none;
	border: none;
	appearance: none;
	outline: none;
	cursor: pointer;
	text-align: left;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 1rem;
	color: #111 !important;
	background-color: #fff !important;
	transition: background-color 0.25s;
}

.ac-partners-category-toggle:hover,
.ac-partners-category-toggle:focus {
	background-color: #f7f9fc !important;
	color: #111 !important;
}

.ac-partners-category-icon {
	flex-shrink: 0;
	display: inline-flex;
	font-size: 0.85rem;
	line-height: 1;
	color: var( --ac-accent, #2e6741 );
	transition: transform 0.3s;
}

.ac-partners-category-icon svg {
	width: 1em !important;
	height: 1em !important;
	fill: currentColor !important;
}

.ac-partners-category-toggle.ac-active .ac-partners-category-icon {
	transform: rotate( 180deg );
}

.ac-partners-category-body {
	display: none;
	padding: 0 22px 20px;
	border-top: 1px solid #eee;
}

.ac-partners-category-body.ac-active {
	display: block;
}

.ac-partners-links {
	list-style: none;
	margin: 0;
	padding: 15px 0 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ac-partners-links a {
	color: var( --ac-accent, #2e6741 );
	font-size: 0.95rem;
	text-decoration: none;
	transition: opacity 0.2s;
}

.ac-partners-links a:hover,
.ac-partners-links a:focus {
	text-decoration: underline;
}

/*
 * No hardcoded column-count breakpoints here — the "Spalten" Style control (see
 * register_controls()) is a responsive Elementor control with its own tablet/mobile
 * defaults (matching the Team-Mitglieder widget's identical pattern), so it already
 * covers this; a CSS-level override here would fight an admin's custom responsive choice.
 */
@media ( max-width: 560px ) {
	.ac-partners-heading {
		font-size: 1.35rem;
	}
}
