/* ==========================================================================
   Federation Members accordion — federation-members.css  v2.0.0
   ========================================================================== */

.fed-members {
	width: 100%;
}

/* ── Row ──────────────────────────────────────────────────────────────────── */
.fed-members-item {
	border-top: 1px solid currentColor;
}

.fed-members-item:last-child {
	border-bottom: 1px solid currentColor;
}

/* ── Trigger (header row) ─────────────────────────────────────────────────── */
.fed-members-trigger {
	display:         flex;
	justify-content: space-between;
	align-items:     center;
	gap:             1rem;
	/* padding:         1rem 4rem; */
	cursor:          pointer;
}

.fed-members-title {
	font-size: clamp(2rem, 5vw, 4.0625rem);
	font-weight:    100;
	/* text-transform: uppercase; */
	letter-spacing: .05em;
	line-height:    1.2;
}

.fed-members-toggle {
	flex-shrink:  0;
	width:        2rem;
	height:       2rem;
	/* border:       1px solid currentColor; */
	border-radius: 50%;
	background:   none;
	color:        inherit;
	cursor:       pointer;
	font-size:    3.5rem;
	font-weight: 100;
	line-height:  1;
	display:      flex;
	align-items:  center;
	justify-content: center;
	transition:   transform .25s ease;
	padding:      0;
}

/* ── Accordion content ────────────────────────────────────────────────────── */
.fed-members-content {
	overflow:   hidden;
	max-height: 0;
	opacity:    0;
	transition: max-height .4s ease, opacity .3s ease, padding .4s ease;
	padding-bottom: 0;
}

.fed-members-item.is-open .fed-members-content {
	max-height:     600px;
	opacity:        1;
	padding-bottom: 1.5rem;
	padding: 1rem 4rem 1.5rem; /* add horizontal padding when open */
}

/* ── Inner layout (logo + body) ───────────────────────────────────────────── */
.fed-members-inner {
	/* display:     flex; */
	gap:         4rem;
	/* align-items: flex-start; */
}

.fed-members-logo {
	flex-shrink: 0;
	width:       220px;
}

.fed-members-logo img {
	width:      100%;
	height:     auto;
	max-height: 180px;
	object-fit: contain;
	display:    block;
}

.fed-members-body {
	display:        flex;
	flex-direction: column;
	gap:            .75rem;
}

.fed-members-description {
	font-size:   .95rem;
	line-height: 1.6;
	margin:      0;
	opacity:     .8;
}

.fed-members-link {
	display:        inline-block;
	font-size:      .85rem;
	font-weight:    500;
	/* text-transform: uppercase; */
	letter-spacing: .08em;
	text-decoration: none;
	color:          inherit;
	border:         1px solid currentColor;
	background-color: black;
	color:          #fff;
	padding:        .25rem 1rem;
	border-radius:  4px;
	transition:     opacity .2s ease;
	align-self:     flex-start;
}
html[theme="dark"] .fed-members-link {
	color: black;
	background-color: white;
}

.fed-members-link:hover {
	opacity: .7;
}

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 480px) {
	.fed-members-inner {
		flex-direction: column;
		gap:            1rem;
	}

	.fed-members-logo {
		max-width: 180px;
	}
}
