/* Glossar im Sportwetten-Profi-Design (Theme-Variablen mit Rückfallwerten). */
.swp-gl [hidden], .swp-gl-modal [hidden] { display: none !important; }
.swp-gl { margin: 10px 0 40px; }

/* A–Z-Leiste: klebt beim Scrollen unter der Kopfzeile */
.swp-gl-az {
	position: sticky; top: 92px; z-index: 5; display: flex; flex-wrap: wrap; justify-content: center; gap: 5px;
	margin: 0 0 16px; padding: 10px; border-radius: 14px; background: rgba(8, 8, 10, .88);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 1px solid var(--line, rgba(255, 255, 255, .08));
}
.admin-bar .swp-gl-az { top: 124px; }
.swp-content a.swp-gl-az__btn, .swp-gl-az__btn {
	min-width: 32px; padding: 7px 8px; border-radius: 9px; border: 1px solid var(--line-2, rgba(255, 255, 255, .14));
	color: var(--text, #f4f4f5); text-align: center; text-decoration: none; font: 800 .82rem/1 var(--head, sans-serif); transition: background .2s, border-color .2s;
}
.swp-content a.swp-gl-az__btn:hover, .swp-gl-az__btn:hover { background: var(--red, #e5262b); border-color: var(--red, #e5262b); color: #fff; }
.swp-gl-az__btn.is-off { opacity: .22; }

.swp-gl-tools { display: flex; flex-direction: column; align-items: center; gap: 14px; margin: 0 0 10px; }
.swp-gl-tools input {
	width: 100%; max-width: 460px; padding: 12px 18px; border-radius: 999px; border: 1px solid var(--line-2, rgba(255, 255, 255, .14));
	background: rgba(255, 255, 255, .04); color: var(--text, #f4f4f5); font: 400 .95rem var(--body, sans-serif);
}
.swp-gl-tools input:focus { outline: none; border-color: var(--red, #e5262b); }
.swp-gl-themes { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.swp-gl-theme {
	padding: 7px 13px; border-radius: 999px; border: 1px solid var(--line-2, rgba(255, 255, 255, .14)); background: transparent;
	color: var(--muted, #a1a1aa); font: 600 .78rem/1 var(--body, sans-serif); cursor: pointer;
}
.swp-gl-theme:hover { color: #fff; border-color: var(--red, #e5262b); }
.swp-gl-theme.is-active { background: var(--red, #e5262b); border-color: var(--red, #e5262b); color: #fff; }

.swp-gl-letter, .swp-gl-entry { scroll-margin-top: 170px; }
/* Linkleiste zu den Bereichsseiten (Hauptseite oben, Bereichsseiten unten) */
.swp-gl-sections { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin: 0 0 18px; }
.swp-gl--bereich .swp-gl-sections { margin: 34px 0 0; }
.swp-gl-sections__h { flex-basis: 100%; text-align: center; font: 700 .7rem/1 var(--body, sans-serif); text-transform: uppercase; letter-spacing: .14em; color: var(--muted, #a1a1aa); margin-bottom: 2px; }
.swp-gl-sections .swp-gl-chip small { margin-left: 4px; color: var(--dim, #71717a); font-weight: 600; }
.swp-gl > .swp-gl-crumbs { text-align: center; }
/* „Zurück zum Hauptglossar“ auf den Bereichsseiten (oben und unten) */
.swp-content .swp-gl-home, .swp-gl-home { margin: 0 0 18px; text-align: center; }
.swp-gl-home--bottom { margin-top: 34px !important; }
.swp-content a.swp-gl-btn--ghost, a.swp-gl-btn--ghost {
	background: transparent; border: 1px solid var(--red, #e5262b); color: #fff; box-shadow: 0 0 16px rgba(229, 38, 43, .3);
}
.swp-content a.swp-gl-btn--ghost:hover, a.swp-gl-btn--ghost:hover { background: var(--red, #e5262b); color: #fff; }
.swp-gl-btn--ghost small { margin-left: 4px; font-weight: 600; text-transform: none; letter-spacing: 0; opacity: .75; }

/* Bei 1000+ Begriffen: Abschnitte außerhalb des Bildschirms erst beim Hinscrollen zeichnen (Inhalt bleibt im HTML) */
.swp-gl-letter { content-visibility: auto; contain-intrinsic-size: auto 900px; }

/* Bereichsfilter (Sportwetten, Fußball, Basketball …) */
.swp-gl-bereiche { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.swp-gl-bereich {
	padding: 9px 16px; border-radius: 999px; border: 1px solid var(--line-2, rgba(255, 255, 255, .14)); background: rgba(255, 255, 255, .03);
	color: var(--text, #f4f4f5); font: 800 .8rem/1 var(--head, sans-serif); text-transform: uppercase; letter-spacing: .08em; cursor: pointer;
}
.swp-gl-bereich:hover { border-color: var(--red, #e5262b); }
.swp-gl-bereich.is-active { background: var(--red, #e5262b); border-color: var(--red, #e5262b); color: #fff; box-shadow: 0 0 16px rgba(229, 38, 43, .5); }
/* Plakette „Fußball“, „Basketball“ … oben rechts auf der Karte */
.swp-gl-entry { position: relative; }
.swp-gl-entry__bereich {
	float: right; margin: -2px 0 6px 10px; padding: 3px 8px; border-radius: 999px; border: 1px solid var(--line-2, rgba(255, 255, 255, .14));
	color: var(--muted, #a1a1aa); font: 700 .6rem/1.3 var(--body, sans-serif); text-transform: uppercase; letter-spacing: .1em;
}
/* Auf Bereichsseiten überflüssig – dort gehören ohnehin alle Begriffe zum selben Bereich */
.swp-gl--bereich .swp-gl-entry__bereich { display: none; }
.swp-gl-b--sportwetten { border-color: rgba(229, 38, 43, .5); color: var(--red-hot, #ff3d3d); }
.swp-gl-b--fussball { border-color: rgba(74, 222, 128, .45); color: #4ade80; }
.swp-gl-b--basketball { border-color: rgba(251, 146, 60, .5); color: #fb923c; }
.swp-gl-b--tennis { border-color: rgba(250, 204, 21, .45); color: #facc15; }
.swp-content .swp-gl-letter__h, .swp-gl-letter__h {
	display: flex; align-items: center; gap: 14px; margin: 28px 0 14px; padding: 0; border: 0;
	font: 800 1.7rem/1 var(--head, sans-serif); color: var(--red-hot, #ff3d3d);
}
.swp-gl-letter__h::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, var(--red, #e5262b), transparent); box-shadow: 0 0 10px rgba(229, 38, 43, .5); }
.swp-gl-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.swp-gl-entry {
	margin: 0; padding: 14px 16px; border-radius: 12px; cursor: pointer;
	background: linear-gradient(180deg, var(--card-2, #18181d), var(--card, #131317)); border: 1px solid var(--line, rgba(255, 255, 255, .08));
	transition: border-color .2s, transform .2s, box-shadow .2s;
}
.swp-gl-entry:hover { border-color: rgba(229, 38, 43, .55); transform: translateY(-2px); box-shadow: 0 12px 30px -14px rgba(229, 38, 43, .5); }
.swp-gl-entry.is-target { border-color: var(--red, #e5262b); box-shadow: 0 0 0 2px rgba(229, 38, 43, .5), 0 0 30px rgba(229, 38, 43, .45); }
.swp-content .swp-gl-entry__term, .swp-gl-entry__term { margin: 0 0 6px; padding: 0; border: 0; font: 800 1.08rem/1.2 var(--head, sans-serif); }
.swp-content .swp-gl-entry__term a, .swp-gl-entry__term a { color: #fff; text-decoration: none; }
.swp-content .swp-gl-entry__term a:hover, .swp-gl-entry__term a:hover { color: var(--red-hot, #ff3d3d); }
.swp-gl-entry__badge { display: inline-block; margin-left: 6px; padding: 2px 7px; border-radius: 999px; background: rgba(229, 38, 43, .18); color: var(--red-hot, #ff3d3d); font: 700 .6rem/1.4 var(--body, sans-serif); text-transform: uppercase; letter-spacing: .1em; vertical-align: middle; }
.swp-content .swp-gl-entry__syn, .swp-gl-entry__syn { margin: 0 0 4px; font-size: .78rem; color: var(--dim, #71717a); }
.swp-content .swp-gl-entry__def, .swp-gl-entry__def {
	margin: 0; font-size: .9rem; line-height: 1.5; color: var(--muted, #a1a1aa);
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; /* volle Definition steht im HTML, gekürzt wird nur die Anzeige */
}
.swp-gl-noresults, .swp-gl-empty { text-align: center; color: var(--muted, #a1a1aa); }

/* ---------- Modal (<dialog>) ---------- */
html.swp-gl-lock { overflow: hidden; }
.swp-gl-modal { padding: 0; border: 0; background: transparent; max-width: 620px; width: calc(100% - 32px); color: var(--text, #f4f4f5); }
.swp-gl-modal::backdrop { background: rgba(5, 5, 7, .82); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.swp-gl-modal__box {
	position: relative; padding: 30px 30px 26px; border-radius: 18px;
	background: radial-gradient(ellipse 80% 120% at 100% 0%, rgba(229, 38, 43, .2), transparent 60%), linear-gradient(180deg, var(--card-2, #18181d), var(--card, #131317));
	border: 1px solid rgba(229, 38, 43, .4); box-shadow: 0 30px 80px -20px rgba(229, 38, 43, .45);
}
.swp-gl-modal__box::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; border-radius: 18px 18px 0 0; background: linear-gradient(90deg, transparent, var(--red, #e5262b), transparent); }
.swp-gl-modal__close {
	position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line-2, rgba(255, 255, 255, .14));
	background: rgba(255, 255, 255, .06); color: #fff; font-size: 26px; line-height: 1; cursor: pointer;
}
.swp-gl-modal__close:hover { background: var(--red, #e5262b); border-color: var(--red, #e5262b); }
.swp-gl-modal__kicker { margin: 0 0 6px; font: 700 .68rem/1 var(--body, sans-serif); text-transform: uppercase; letter-spacing: .16em; color: var(--red-hot, #ff3d3d); }
.swp-content .swp-gl-modal__title, .swp-gl-modal__title { margin: 0 50px 6px 0; padding: 0; border: 0; font: 800 1.9rem/1.1 var(--head, sans-serif); color: #fff; }
.swp-gl-modal__syn { margin: 0 0 12px; font-size: .85rem; color: var(--dim, #71717a); }
.swp-gl-modal__def { margin: 0 0 18px; font-size: 1.05rem; line-height: 1.6; }
.swp-gl-modal__rel-h { margin: 0 0 8px; font: 700 .7rem/1 var(--body, sans-serif); text-transform: uppercase; letter-spacing: .14em; color: var(--muted, #a1a1aa); }
.swp-gl-modal__related { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.swp-gl-modal__related .swp-gl-modal__rel-h { flex-basis: 100%; }
.swp-gl-modal__more { margin: 0; }

.swp-content a.swp-gl-chip, a.swp-gl-chip {
	display: inline-block; padding: 7px 14px; border-radius: 999px; border: 1px solid var(--line-2, rgba(255, 255, 255, .14));
	background: rgba(255, 255, 255, .04); color: var(--text, #f4f4f5); text-decoration: none; font: 600 .82rem/1 var(--body, sans-serif);
}
.swp-content a.swp-gl-chip:hover, a.swp-gl-chip:hover { border-color: var(--red, #e5262b); color: #fff; }
.swp-content a.swp-gl-btn, a.swp-gl-btn {
	display: inline-block; padding: 12px 22px; border-radius: 999px; background: var(--red, #e5262b); color: #fff; text-decoration: none;
	font: 800 .78rem/1 var(--body, sans-serif); text-transform: uppercase; letter-spacing: .12em; box-shadow: 0 0 22px rgba(229, 38, 43, .5);
}
.swp-content a.swp-gl-btn:hover, a.swp-gl-btn:hover { background: var(--red-hot, #ff3d3d); color: #fff; }

/* ---------- Detailseite ---------- */
.swp-gl-crumbs { margin: 0 0 18px; font-size: .85rem; color: var(--dim, #71717a); }
.swp-content .swp-gl-crumbs a, .swp-gl-crumbs a { color: var(--muted, #a1a1aa); text-decoration: none; }
.swp-gl-short {
	margin: 0 0 28px; padding: 20px 22px; border-radius: 14px; border: 1px solid rgba(229, 38, 43, .35);
	background: radial-gradient(ellipse 80% 120% at 100% 0%, rgba(229, 38, 43, .16), transparent 60%), var(--card, #131317);
}
.swp-content .swp-gl-short p, .swp-gl-short p { margin: 0; }
.swp-gl-short__kicker { font: 700 .68rem/1 var(--body, sans-serif); text-transform: uppercase; letter-spacing: .16em; color: var(--red-hot, #ff3d3d); margin-bottom: 8px !important; }
.swp-gl-short__def { font-size: 1.08rem; line-height: 1.6; color: #fff; }
.swp-gl-short__syn { margin-top: 10px !important; font-size: .85rem; color: var(--muted, #a1a1aa); }
.swp-gl-related .swp-gl-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.swp-gl-back { margin-top: 30px; }

@media (max-width: 700px) {
	.swp-gl-list { grid-template-columns: 1fr; }
	.swp-gl-az { top: 74px; }
	/* Modal auf dem Handy als Vollbild-Overlay, Schließen-Knopf bleibt sichtbar */
	.swp-gl-modal { width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; }
	.swp-gl-modal__box { min-height: 100%; border-radius: 0; padding: 70px 20px 30px; }
	.swp-gl-modal__close { position: fixed; top: 14px; right: 14px; }
	.swp-gl-modal__title { margin-right: 0; font-size: 1.6rem; }
}
