.sj-rep-grid {
	--sj-rep-green-dark: #013733;
	--sj-rep-green-mid: #2f5d58;
	--sj-rep-green-bg: #eef3f2;
	--sj-rep-muted: #5b6b68;
	--sj-rep-radius: 12px;

	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1rem;
	align-items: start;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sj-rep-member {
	margin: 0;
	padding: 1rem;
	background: #fff;
	border: 1px solid #e3eae9;
	border-radius: var(--sj-rep-radius);
	box-shadow: 0 1px 2px rgba(1, 55, 51, .06), 0 4px 12px rgba(1, 55, 51, .06);
	transition: box-shadow .15s ease;
}
.sj-rep-member:hover { box-shadow: 0 2px 4px rgba(1, 55, 51, .08), 0 8px 20px rgba(1, 55, 51, .10); }

.sj-rep-member__head { display: flex; align-items: center; gap: .875rem; }
.sj-rep-grid .sj-rep-member__img {
	flex: none;
	width: 64px;
	height: 64px;
	max-width: none;
	border: 0;
	border-radius: 50%;
	box-shadow: none;
	object-fit: cover;
	background: var(--sj-rep-green-bg);
}
/* .sj-rep-grid-prefix slår temaets h3/p-styling (fx .elementor-kit-123 h3). */
.sj-rep-grid .sj-rep-member__name { margin: 0; font-size: 1.1rem; line-height: 1.3; }
.sj-rep-grid .sj-rep-member__since { margin: .1rem 0 0; font-size: .825rem; line-height: 1.4; color: var(--sj-rep-muted); }

.sj-rep-member__more { margin-top: .75rem; }
.sj-rep-member__more summary {
	display: inline-block;
	margin-left: -.5rem;
	padding: .25rem .5rem;
	border-radius: 6px;
	list-style: none;
	cursor: pointer;
	font-size: .875rem;
	font-weight: 600;
	color: var(--sj-rep-green-dark);
}
.sj-rep-member__more summary::-webkit-details-marker { display: none; }
.sj-rep-member__more summary::before { content: "+ "; }
.sj-rep-member__more[open] summary::before { content: "– "; }
.sj-rep-member__more summary:hover { background: var(--sj-rep-green-bg); }
.sj-rep-member__more summary:focus-visible { outline: 3px solid #f2b705; }

.sj-rep-member__details { margin: .75rem 0 0; font-size: .9rem; }
.sj-rep-member__details dt { margin-top: .75rem; font-weight: 600; color: var(--sj-rep-green-dark); }
.sj-rep-member__details dd { margin: .15rem 0 0; }

.sj-rep-member__mail {
	display: inline-block;
	margin-top: 1rem;
	padding: .5rem 1rem;
	border-radius: 999px;
	background: var(--sj-rep-green-dark);
	color: #fff !important;
	font-size: .875rem;
	font-weight: 600;
	text-decoration: none !important;
}
.sj-rep-member__mail:hover { background: var(--sj-rep-green-mid); }
