/* Expandable Services — standalone accordion panel */

.xpnd-srv .xpnd-srv-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Each category is a native <details>; .crd + .bg-bx supply radius, fill, shadow */
.xpnd-srv .xpnd-srv-cat {
	overflow: hidden;
}

.xpnd-srv .xpnd-srv-hd {
	cursor: pointer;
	list-style: none;
	color: var(--text-color);
}

/* Strip the default disclosure triangle across engines */
.xpnd-srv .xpnd-srv-hd::-webkit-details-marker,
.xpnd-srv .xpnd-srv-hd::marker {
	display: none;
	content: "";
}

.xpnd-srv .xpnd-srv-ico :where(svg, img),
.xpnd-srv .xpnd-srv-ico svg {
	display: block;
	width: 45px;
	height: 40px;
}

/* Chevron indicator rotates with the open state */
.xpnd-srv .xpnd-srv-chev {
	transition: transform var(--g-trn-sp, .3s) var(--g-trn-tf, ease) 0s;
}

.xpnd-srv .xpnd-srv-cat[open] .xpnd-srv-chev {
	transform: rotate(180deg);
}

/* Service list — scrolls in place like the source design */
.xpnd-srv .xpnd-srv-body {
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 504px;
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}

.xpnd-srv .xpnd-srv-body::-webkit-scrollbar {
	width: 4px;
}

.xpnd-srv .xpnd-srv-body::-webkit-scrollbar-thumb {
	background: rgba(255, 255, 255, 0.2);
	border-radius: 8px;
}

/* Dividers sit between items only (bdr_tp supplies the line via --bdr-clr) */
.xpnd-srv .xpnd-srv-body > li:first-child {
	border-top: 0;
}

.xpnd-srv .xpnd-srv-lnk {
	color: var(--text-color);
	text-decoration: none;
}

.xpnd-srv .xpnd-srv-lnk:where(:hover, :focus-visible) {
	color: var(--link-color);
}
