/* Buchmacher-Steckbriefe im Sportwetten-Profi-Design (Theme-Variablen mit Rückfallwerten). */
.swp-bm-dir [hidden], .swp-bm-section[hidden], .swp-bm-dcard[hidden] { display: none !important; }

/* ---------- Bewertungsbox oben ---------- */
.swp-bm-scorebox {
	position: relative; display: grid; grid-template-columns: 170px 1fr auto; gap: 24px; align-items: center;
	margin: 0 0 30px; padding: 24px 26px; border-radius: var(--radius, 14px);
	background: radial-gradient(ellipse 80% 120% at 100% 0%, rgba(229, 38, 43, .22), transparent 60%), linear-gradient(180deg, var(--card-2, #18181d), var(--card, #131317));
	border: 1px solid rgba(229, 38, 43, .35);
	box-shadow: 0 0 0 1px rgba(229, 38, 43, .12), 0 30px 70px -30px rgba(229, 38, 43, .5);
	overflow: hidden;
}
.swp-bm-scorebox::before {
	content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px;
	background: linear-gradient(90deg, transparent, var(--red, #e5262b), transparent); box-shadow: 0 0 14px rgba(229, 38, 43, .8);
}
.swp-bm-scorebox__brand { display: flex; align-items: center; justify-content: center; min-height: 96px; padding: 14px; border-radius: 12px; background: rgba(255, 255, 255, .04); border: 1px solid var(--line, rgba(255, 255, 255, .08)); }
.swp-bm-logo { max-width: 100%; max-height: 80px; width: auto; height: auto; object-fit: contain; }
.swp-bm-logo--text { font: 800 1.4rem/1.1 var(--head, sans-serif); text-transform: uppercase; color: #fff; text-align: center; }
.swp-content .swp-bm-scorebox p { margin: 0; }
.swp-bm-kicker { font: 700 .7rem/1 var(--body, sans-serif); text-transform: uppercase; letter-spacing: .16em; color: var(--red-hot, #ff3d3d); margin-bottom: 8px !important; }
.swp-bm-fazit { font-size: 1.02rem; line-height: 1.5; color: var(--text, #f4f4f5); margin-bottom: 14px !important; }
.swp-bm-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.swp-bm-anzeige { font: 700 .62rem/1 var(--body, sans-serif); text-transform: uppercase; letter-spacing: .14em; color: var(--muted, #a1a1aa); border: 1px solid var(--line-2, rgba(255, 255, 255, .14)); border-radius: 4px; padding: 4px 6px; }
.swp-content a.swp-bm-btn, a.swp-bm-btn {
	display: inline-block; padding: 13px 26px; border-radius: 999px; background: var(--red, #e5262b); color: #fff; text-decoration: none;
	font: 800 .82rem/1 var(--body, sans-serif); text-transform: uppercase; letter-spacing: .12em;
	box-shadow: 0 0 24px rgba(229, 38, 43, .5); transition: background .2s, box-shadow .2s, transform .2s;
}
.swp-content a.swp-bm-btn:hover, a.swp-bm-btn:hover { background: var(--red-hot, #ff3d3d); color: #fff; box-shadow: 0 0 36px rgba(229, 38, 43, .75); transform: translateY(-1px); }
.swp-bm-legal { font: 700 .72rem/1 var(--body, sans-serif); color: var(--dim, #71717a); }
.swp-bm-scorebox__score { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.swp-bm-score-label { font: 700 .66rem/1 var(--body, sans-serif); text-transform: uppercase; letter-spacing: .14em; color: var(--muted, #a1a1aa); }

/* Ring mit Note (conic-gradient, --p = Prozent) */
.swp-bm-ring {
	--p: 0; position: relative; display: grid; place-items: center; width: 108px; height: 108px; border-radius: 50%;
	background: conic-gradient(var(--red, #e5262b) calc(var(--p) * 1%), rgba(255, 255, 255, .08) 0);
	box-shadow: 0 0 30px rgba(229, 38, 43, .35);
}
.swp-bm-ring::before { content: ""; position: absolute; inset: 8px; border-radius: 50%; background: var(--card, #131317); }
.swp-bm-ring b, .swp-bm-ring small { position: relative; }
.swp-bm-ring b { font: 800 2rem/1 var(--head, sans-serif); color: #fff; margin-top: 6px; }
.swp-bm-ring small { font: 600 .7rem/1 var(--body, sans-serif); color: var(--muted, #a1a1aa); margin-top: -22px; }
.swp-bm-ring--sm { width: 64px; height: 64px; }
.swp-bm-ring--sm::before { inset: 5px; }
.swp-bm-ring--sm b { font-size: 1.15rem; margin-top: 4px; }
.swp-bm-ring--sm small { font-size: .55rem; margin-top: -14px; }

/* ---------- Karten nach dem ersten Absatz ---------- */
.swp-bm-card {
	position: relative; margin: 26px 0 30px; padding: 22px 24px; border-radius: var(--radius, 14px);
	background: linear-gradient(180deg, var(--card-2, #18181d), var(--card, #131317));
	border: 1px solid var(--line, rgba(255, 255, 255, .08)); box-shadow: 0 24px 60px -30px rgba(229, 38, 43, .35);
}
.swp-content .swp-bm-h, .swp-bm-h {
	margin: 0 0 16px; padding: 0; border: 0; font: 800 1.05rem/1.2 var(--head, sans-serif);
	text-transform: uppercase; letter-spacing: .1em; color: var(--red-hot, #ff3d3d);
}
.swp-bm-facts table { width: 100%; border-collapse: collapse; font-size: .97rem; }
.swp-bm-facts th, .swp-bm-facts td { padding: 10px 12px; border-bottom: 1px solid var(--line, rgba(255, 255, 255, .08)); vertical-align: top; text-align: left; }
.swp-bm-facts tr:last-child th, .swp-bm-facts tr:last-child td { border-bottom: 0; }
.swp-bm-facts tr:nth-child(odd) { background: rgba(255, 255, 255, .025); }
.swp-bm-facts th { width: 38%; font-weight: 700; color: var(--muted, #a1a1aa); white-space: nowrap; }
.swp-bm-facts td { color: var(--text, #f4f4f5); }

.swp-bm-ratings__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 8px; }
.swp-bm-ratings__head .swp-bm-h { margin: 0; }
.swp-content .swp-bm-bars, .swp-bm-bars { list-style: none; margin: 0; padding: 0; }
.swp-bm-bars li { display: grid; grid-template-columns: 170px 1fr 38px; align-items: center; gap: 14px; padding: 7px 0; margin: 0; }
.swp-bm-bar__label { font-size: .92rem; color: var(--text, #f4f4f5); }
.swp-bm-bar { height: 8px; border-radius: 999px; background: rgba(255, 255, 255, .07); overflow: hidden; }
.swp-bm-bar i { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--red-deep, #7a0d12), var(--red, #e5262b), var(--red-hot, #ff3d3d)); box-shadow: 0 0 12px rgba(229, 38, 43, .6); }
.swp-bm-bars b { font: 800 1rem/1 var(--head, sans-serif); text-align: right; color: #fff; }

.swp-bm-proscons { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 26px 0 30px; }
.swp-bm-pc { padding: 20px 22px; border-radius: var(--radius, 14px); background: var(--card, #131317); border: 1px solid var(--line, rgba(255, 255, 255, .08)); }
.swp-bm-pc--pro { border-top: 2px solid #22c55e; }
.swp-bm-pc--con { border-top: 2px solid var(--red, #e5262b); }
.swp-content .swp-bm-pc h3, .swp-bm-pc h3 { margin: 0 0 12px; font: 800 1rem/1 var(--head, sans-serif); text-transform: uppercase; letter-spacing: .1em; }
.swp-bm-pc--pro h3 { color: #4ade80; }
.swp-bm-pc--con h3 { color: var(--red-hot, #ff3d3d); }
.swp-content .swp-bm-pc ul, .swp-bm-pc ul { list-style: none; margin: 0; padding: 0; }
.swp-bm-pc li { position: relative; padding: 5px 0 5px 26px; margin: 0; font-size: .95rem; line-height: 1.45; }
.swp-bm-pc li::before { position: absolute; left: 0; top: 5px; font-weight: 800; }
.swp-bm-pc--pro li::before { content: "+"; color: #4ade80; }
.swp-bm-pc--con li::before { content: "–"; color: var(--red-hot, #ff3d3d); }

.swp-bm-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.swp-content a.swp-bm-chip, a.swp-bm-chip {
	display: inline-block; padding: 8px 16px; 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 .85rem/1 var(--body, sans-serif);
	transition: border-color .2s, color .2s;
}
.swp-content a.swp-bm-chip:hover, a.swp-bm-chip:hover { border-color: var(--red, #e5262b); color: #fff; }

/* ---------- Galerie + Lightbox ---------- */
.swp-bm-gallery { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 30px; }
.swp-content .swp-bm-gallery a, .swp-bm-gallery a { display: block; border-radius: 10px; overflow: hidden; border: 1px solid var(--line, rgba(255, 255, 255, .08)); cursor: zoom-in; transition: border-color .2s, transform .2s; }
.swp-bm-gallery a:hover { border-color: rgba(229, 38, 43, .6); transform: translateY(-2px); }
.swp-bm-gallery img { height: 96px; width: auto; display: block; }
.swp-bm-lightbox { position: fixed; inset: 0; z-index: 100000; display: none; align-items: center; justify-content: center; padding: 20px; background: rgba(5, 5, 7, .94); }
.swp-bm-lightbox.is-open { display: flex; }
.swp-bm-lightbox figure { margin: 0; max-width: 90vw; text-align: center; }
.swp-bm-lightbox img { max-width: 100%; max-height: 78vh; display: block; margin: 0 auto; border-radius: 10px; box-shadow: 0 0 60px rgba(229, 38, 43, .35); }
.swp-bm-lightbox figcaption { margin-top: 12px; color: var(--muted, #a1a1aa); font-size: .9rem; }
.swp-bm-lightbox button { position: absolute; background: none; border: 0; color: #fff; cursor: pointer; padding: 12px; font-size: 30px; line-height: 1; }
.swp-bm-lightbox button:hover { color: var(--red-hot, #ff3d3d); }
.swp-bm-lb-close { top: 10px; right: 16px; font-size: 36px !important; }
.swp-bm-lb-prev { left: 8px; top: 50%; transform: translateY(-50%); }
.swp-bm-lb-next { right: 8px; top: 50%; transform: translateY(-50%); }
body.swp-bm-lb-open { overflow: hidden; }

/* ---------- A–Z-Übersicht ---------- */
.swp-bm-dir { margin: 10px 0 40px; }
.swp-bm-az { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0 0 18px; }
.swp-content .swp-bm-az__btn, .swp-bm-az__btn {
	min-width: 36px; padding: 8px 9px; border-radius: 10px; border: 1px solid var(--line-2, rgba(255, 255, 255, .14));
	background: rgba(255, 255, 255, .03); color: var(--text, #f4f4f5); font: 800 .85rem/1 var(--head, sans-serif); text-align: center;
	text-decoration: none; cursor: pointer; transition: background .2s, border-color .2s, box-shadow .2s;
}
.swp-bm-az__btn:hover { border-color: var(--red, #e5262b); color: #fff; }
.swp-bm-az__btn.is-active { background: var(--red, #e5262b); border-color: var(--red, #e5262b); box-shadow: 0 0 18px rgba(229, 38, 43, .55); color: #fff; }
.swp-bm-az__btn.is-off { opacity: .25; cursor: default; }
.swp-bm-search { display: flex; justify-content: center; margin: 0 0 26px; }
.swp-bm-search input {
	width: 100%; max-width: 420px; 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-bm-search input:focus { outline: none; border-color: var(--red, #e5262b); }
.swp-content .swp-bm-letter, .swp-bm-letter {
	display: flex; align-items: center; gap: 14px; margin: 26px 0 16px; padding: 0; border: 0;
	font: 800 1.6rem/1 var(--head, sans-serif); color: var(--red-hot, #ff3d3d);
}
.swp-bm-letter::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-bm-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.swp-bm-dcard { margin: 0; }
.swp-content .swp-bm-dcard a, .swp-bm-dcard a { display: block; text-decoration: none; color: inherit; }
.swp-bm-dcard__media {
	position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3; padding: 18px; border-radius: var(--radius, 14px); overflow: hidden;
	background: radial-gradient(ellipse at 50% 0%, rgba(229, 38, 43, .18), transparent 70%), linear-gradient(180deg, var(--card-2, #18181d), var(--card, #131317));
	border: 1px solid var(--line, rgba(255, 255, 255, .08)); transition: transform .25s, border-color .25s, box-shadow .25s;
}
.swp-bm-dcard a:hover .swp-bm-dcard__media { transform: translateY(-4px); border-color: rgba(229, 38, 43, .6); box-shadow: 0 14px 40px -12px rgba(229, 38, 43, .5); }
.swp-bm-card__logo { max-width: 85%; max-height: 70%; width: auto; height: auto; object-fit: contain; }
.swp-bm-card__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.swp-bm-card__name-logo { font: 800 1.25rem/1.1 var(--head, sans-serif); text-transform: uppercase; text-align: center; color: #fff; }
.swp-bm-card__score {
	position: absolute; top: 10px; right: 10px; z-index: 2; padding: 5px 9px; border-radius: 999px; background: var(--red, #e5262b);
	color: #fff; font: 800 .85rem/1 var(--head, sans-serif); box-shadow: 0 0 14px rgba(229, 38, 43, .6);
}
.swp-bm-card__score small { font-size: .65em; opacity: .85; }
.swp-bm-dcard__overlay {
	position: absolute; inset: 0; z-index: 1; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 14px;
	background: linear-gradient(0deg, rgba(8, 8, 10, .85), transparent 60%); color: #fff; font: 800 .72rem/1 var(--body, sans-serif);
	text-transform: uppercase; letter-spacing: .14em; opacity: 0; transition: opacity .25s;
}
.swp-bm-dcard a:hover .swp-bm-dcard__overlay, .swp-bm-dcard a:focus-visible .swp-bm-dcard__overlay { opacity: 1; }
.swp-bm-dcard__title { display: block; margin-top: 10px; text-align: center; font: 700 1rem/1.25 var(--head, sans-serif); color: var(--text, #f4f4f5); }
.swp-bm-dcard a:hover .swp-bm-dcard__title { color: var(--red-hot, #ff3d3d); }
.swp-bm-noresults, .swp-bm-empty { text-align: center; color: var(--muted, #a1a1aa); }
.swp-bm-pages { display: flex; justify-content: center; gap: 8px; margin-top: 30px; }
.swp-content .swp-bm-pages a, .swp-bm-pages a, .swp-bm-pages span {
	min-width: 40px; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--line-2, rgba(255, 255, 255, .14));
	text-align: center; text-decoration: none; color: var(--text, #f4f4f5); font: 800 .9rem/1 var(--head, sans-serif);
}
.swp-bm-pages .is-current { background: var(--red, #e5262b); border-color: var(--red, #e5262b); color: #fff; }
@media (hover: none) { .swp-bm-dcard__overlay { opacity: 1; background: linear-gradient(0deg, rgba(8, 8, 10, .7), transparent 45%); } }

@media (max-width: 980px) {
	.swp-bm-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 700px) {
	.swp-bm-scorebox { grid-template-columns: 1fr auto; gap: 16px; padding: 20px; }
	.swp-bm-scorebox__brand { grid-column: 1 / -1; min-height: 80px; }
	.swp-bm-scorebox__body { grid-column: 1 / 2; }
	.swp-bm-ring { width: 88px; height: 88px; }
	.swp-bm-ring b { font-size: 1.6rem; }
	.swp-bm-proscons { grid-template-columns: 1fr; }
	.swp-bm-bars li { grid-template-columns: 1fr 34px; gap: 6px 10px; }
	.swp-bm-bar__label { grid-column: 1 / -1; }
	.swp-bm-facts th { white-space: normal; width: 42%; }
	.swp-bm-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.swp-bm-card, .swp-bm-pc { padding: 18px; }
}

/* ---------- Aktionen-Block in der Artikelmitte ---------- */
.swp-bm-promos {
	position: relative; margin: 38px 0 40px; padding: 26px 26px 22px; border-radius: var(--radius, 14px);
	background:
		radial-gradient(ellipse 70% 90% at 0% 0%, rgba(229, 38, 43, .34), transparent 60%),
		radial-gradient(ellipse 60% 80% at 100% 100%, rgba(229, 38, 43, .22), transparent 60%),
		repeating-linear-gradient(135deg, rgba(255, 255, 255, .025) 0 12px, transparent 12px 24px),
		linear-gradient(180deg, #1d0c0e, var(--card, #131317));
	border: 2px solid var(--red, #e5262b);
	box-shadow: 0 0 0 4px rgba(229, 38, 43, .12), 0 0 46px rgba(229, 38, 43, .38), 0 30px 80px -30px rgba(229, 38, 43, .6);
	overflow: hidden;
}
.swp-bm-promos::before {
	content: "Bonus & Aktionen"; position: absolute; top: 34px; right: -58px; width: 230px; text-align: center; transform: rotate(35deg);
	padding: 7px 0; background: var(--red, #e5262b); color: #fff; font: 800 .6rem/1 var(--body, sans-serif);
	text-transform: uppercase; letter-spacing: .16em; box-shadow: 0 0 18px rgba(229, 38, 43, .8);
}
.swp-bm-promos__head { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; padding-right: 96px; }
.swp-bm-promos__icon { flex: 0 0 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: radial-gradient(circle at 30% 30%, var(--red-hot, #ff3d3d), var(--red-deep, #7a0d12)); box-shadow: 0 0 24px rgba(229, 38, 43, .75); }
.swp-content .swp-bm-promos p, .swp-bm-promos p { margin: 0; }
.swp-bm-promos__kicker { font: 700 .68rem/1 var(--body, sans-serif); text-transform: uppercase; letter-spacing: .18em; color: var(--red-hot, #ff3d3d); margin-bottom: 6px !important; }
.swp-bm-promos__title { font: 800 clamp(1.25rem, 2.6vw, 1.6rem)/1.15 var(--head, sans-serif); color: #fff; }
.swp-content .swp-bm-promos__list, .swp-bm-promos__list { list-style: none; margin: 0 0 18px; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.swp-content .swp-bm-promos__list li, .swp-bm-promo { margin: 0; padding: 14px 16px; border-radius: 12px; background: rgba(0, 0, 0, .35); border: 1px solid rgba(229, 38, 43, .3); display: flex; flex-direction: column; gap: 6px; }
.swp-content .swp-bm-promos__list li::before { display: none; content: none; }
.swp-content .swp-bm-promos__list li.is-main, .swp-bm-promo.is-main { grid-column: 1 / -1; background: linear-gradient(90deg, rgba(229, 38, 43, .28), rgba(0, 0, 0, .35)); border-color: rgba(229, 38, 43, .7); }
.swp-bm-promo__tag { align-self: flex-start; padding: 4px 9px; border-radius: 999px; background: rgba(229, 38, 43, .18); border: 1px solid rgba(229, 38, 43, .55); color: var(--red-hot, #ff3d3d); font: 800 .6rem/1 var(--body, sans-serif); text-transform: uppercase; letter-spacing: .14em; }
.swp-bm-promo__title { font: 800 1.02rem/1.25 var(--head, sans-serif); color: #fff; }
.swp-bm-promo.is-main .swp-bm-promo__title { font-size: 1.3rem; }
.swp-bm-promo__text { font-size: .92rem; line-height: 1.5; color: var(--text, #e4e4e7); }
.swp-bm-promos__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.swp-bm-promos__legal { font-size: .74rem; line-height: 1.4; color: var(--muted, #a1a1aa); }
.swp-bm-promos__legal a { color: var(--muted, #a1a1aa); text-decoration: underline; }
@media (max-width: 640px) {
	.swp-bm-promos { padding: 22px 16px 18px; }
	.swp-bm-promos__head { padding-right: 60px; }
	.swp-content .swp-bm-promos__list, .swp-bm-promos__list { grid-template-columns: 1fr; }
}
