/* MGH Facilities widget – accordion list of facility items */
/* Title: Desktop H3 / Mobile H3, MGH blue. Padding: 60px mobile, 100px desktop. */
/* Item: 32×32 icon container (MGH blue), 16×16 white icon; title H6; 24px top / 20px bottom; border 1px rgba(44,58,96,0.2); 10px gap icon–title; plus right-aligned. */
/* Layout: 1 column mobile, 2 columns desktop. */

.mgh-facilities {
	padding: 60px 20px 0 20px;
	max-width: 884px;
	margin-left: auto;
	margin-right: auto;
}

.mgh-facilities__title {
	margin: 0 0 20px 0;
	line-height: 1.2;
}

.mgh-facilities__list {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	padding: 0;
}

.mgh-facilities__col {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
}

.mgh-facilities__item {
	margin: 0;
	padding: 0;
	border: none;
	border-top: 1px solid rgba(44, 58, 96, 0.20);
}

.mgh-facilities__col .mgh-facilities__item:last-child {
	border-bottom: 1px solid rgba(44, 58, 96, 0.20);
}

.mgh-facilities__header {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 24px 0 20px 0;
	cursor: pointer;
	list-style: none;
}

.mgh-facilities__header::-webkit-details-marker,
.mgh-facilities__header::marker {
	display: none;
}

.mgh-facilities__icon-wrap {
	width: 32px;
	height: 32px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #2c3a60;
	border-radius: 4px;
	color: #fff;
}

.mgh-facilities__icon-wrap svg,
.mgh-facilities__icon-wrap i {
	width: 16px;
	height: 16px;
	font-size: 16px;
}

.mgh-facilities__icon-wrap svg {
	fill: currentColor;
}

.mgh-facilities__icon-img {
	width: 16px;
	height: 16px;
	object-fit: contain;
	display: block;
}

.mgh-facilities__item-title {
	flex: 1;
	min-width: 0;
	line-height: 1.2;
}

/* Default item title color (MGH blue) so existing widgets show blue without re-adding */
.mgh-facilities .mgh-facilities__list .mgh-facilities__item-title {
	color: #2c3a60;
}

.mgh-facilities__plus {
	flex-shrink: 0;
	line-height: 1;
	font-size: 1.25rem;
	font-weight: 400;
	color: #242424;
	transition: transform 0.2s ease;
}

.mgh-facilities__item[open] .mgh-facilities__plus {
	transform: rotate(45deg);
}

.mgh-facilities__description {
	margin: 0 0 20px 0;
	padding: 0 0 0 42px; /* align with title after icon + gap */
	line-height: 1.4;
}

/* Desktop: two independent columns side by side, 100px padding */
@media (min-width: 1280px) {
	.mgh-facilities {
		max-width: 100%;
		padding: 100px 50px 0 50px;
	}

	.mgh-facilities__title {
		margin-bottom: 28px;
	}

	.mgh-facilities__list {
		flex-direction: row;
		gap: 32px;
		align-items: flex-start;
	}

	.mgh-facilities__col {
		flex: 1;
		min-width: 0;
	}
}
