.rpggroups-container {
	font-size: var(--md-t-body);
	color: var(--md-ink-dim);
}
.rpggroups-container *,
.rpggroups-container *::before,
.rpggroups-container *::after { box-sizing: border-box; }

/* ============================================================
   Suche
   ============================================================ */
.rpggroups-searchbar {
	display: flex;
	align-items: center;
	gap: .6rem;
	max-width: 24rem;
	margin-bottom: 1.2rem;
}
.rpggroups-searchbar input { flex: 1 1 auto; min-width: 0; }
.rpggroups-search-icon { display: none; }
.rpggroups-search-clear {
	display: none;
	flex: 0 0 auto;
	padding: 0 .3rem;
	font-size: 1rem;
	line-height: 1;
	cursor: pointer;
	color: var(--md-ink-faint);
	transition: color var(--md-dur) var(--md-ease);
}
.rpggroups-search-clear:hover { color: var(--md-ink); }

.rpggroups-search-results {
	margin-bottom: 1.2rem;
	font-size: var(--md-t-kicker);
	letter-spacing: var(--md-ls-nav);
	text-transform: uppercase;
	color: var(--md-ink-faint);
}
.rpggroups-search-info { margin: 0; }

/* ============================================================
   Reiter je Gruppe
   ============================================================ */
.rpggroups-tabs { margin-bottom: clamp(1.5rem, 3vw, 2.25rem); }
.rpggroups-tab-list {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.rpggroups-tab a {
	display: inline-flex;
	align-items: baseline;
	gap: .55rem;
	padding: .5rem 1.2rem;
	border: 1px solid var(--md-rule-hair);
	font-size: var(--md-t-kicker);
	letter-spacing: var(--md-ls-nav);
	text-transform: uppercase;
	color: var(--md-ink-dim);
	transition: border-color var(--md-dur) var(--md-ease), color var(--md-dur) var(--md-ease);
}
.rpggroups-tab a:hover { border-color: var(--md-rule-soft); color: var(--md-ink); }
.rpggroups-tab-count {
	font-variant-numeric: tabular-nums;
	color: var(--md-ink-faint);
}
/* Der aktive Reiter traegt Helligkeit, nicht Farbe. */
.rpggroups-tab-active a { border-color: var(--md-rule); color: var(--md-ink-bright); }
.rpggroups-tab-active .rpggroups-tab-count { color: var(--md-ink); }
/* Die Gruppenfarbe kommt als Inline-Stil aus dem Namensstil der Usergruppe. */
.rpggroups-tab-name { color: inherit; }

/* ============================================================
   Kopf einer Gruppe
   ============================================================ */
.rpggroups-group-header,
.rpggroups-all-header,
.rpggroups-section-header {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: .5rem 1.2rem;
	padding-bottom: .8rem;
	margin-bottom: 1.4rem;
	border-bottom: 1px solid var(--md-rule-hair);
	border-left: 0;
	border-right: 0;
	border-top: 0;
}
.rpggroups-group-title,
.rpggroups-all-header h2,
.rpggroups-section-header h3 {
	margin: 0;
	font-family: var(--md-f-serif);
	font-weight: 400;
	font-size: 1.35rem;
	letter-spacing: var(--md-ls-display);
	text-transform: uppercase;
}
.rpggroups-all-header h2 { color: var(--md-ink-bright); }
.rpggroups-group-count,
.rpggroups-section-count,
.rpggroups-total-count {
	font-size: var(--md-t-kicker);
	letter-spacing: var(--md-ls-nav);
	text-transform: uppercase;
	font-variant-numeric: tabular-nums;
	color: var(--md-ink-faint);
}

.rpggroups-section + .rpggroups-section { margin-top: clamp(2rem, 4vw, 3rem); }

/* ============================================================
   Charakterliste
   ------------------------------------------------------------
   Passepartout wie im Profil: Rahmen und Bild beruehren sich nicht,
   der Name steht in der Serife darunter.
   ============================================================ */
.rpggroups-userlist {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: clamp(1.1rem, 2.5vw, 1.75rem);
}
.rpggroups-user { min-width: 0; }

.rpggroups-user-avatar { display: block; }
.rpggroups-user-avatar a { display: block; line-height: 0; }
.rpggroups-user-avatar img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 6 / 7;
	object-fit: cover;
	padding: 4px;
	border: 1px solid var(--md-rule-hair);
	background: var(--md-wash);
	filter: var(--md-photo-filter);
	transition: filter var(--md-dur) var(--md-ease), border-color var(--md-dur) var(--md-ease);
}
.rpggroups-user:hover .rpggroups-user-avatar img {
	border-color: var(--md-rule-soft);
	filter: none;
}

.rpggroups-user-info { margin-top: .6rem; }
.rpggroups-username {
	display: block;
	font-family: var(--md-f-serif);
	font-size: 1.05rem;
	line-height: 1.3;
	letter-spacing: var(--md-ls-display);
	color: var(--md-ink-bright);
	transition: color var(--md-dur) var(--md-ease);
}
.rpggroups-username:hover { color: var(--md-accent-soft); }
.rpggroups-customfield {
	display: block;
	margin-top: .2rem;
	font-size: var(--md-t-kicker);
	letter-spacing: var(--md-ls-nav);
	text-transform: uppercase;
	color: var(--md-ink-faint);
}

.rpggroups-no-users {
	padding: 2rem 0;
	text-align: center;
	color: var(--md-ink-faint);
}
.rpggroups-no-users p { margin: 0; }

/* ============================================================
   Fehlerseiten
   ============================================================ */
.rpggroups-error p { margin: 0 0 1.4rem; color: var(--md-ink-dim); }
