/*
Theme Name: Billigster Internetanbieter Relaunch
Theme URI: https://www.billigster-internetanbieter.de/
Author: Billigster-Internetanbieter.de
Description: Schnelles, SEO-schonendes Hybrid-Theme mit vollständiger Unterstützung der bestehenden Classic-Editor-, ACF- und Shortcode-Inhalte.
Version: 0.9.23
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: billigster-relaunch
*/

:root {
	--bir-navy: #082e57;
	--bir-navy-2: #061f3b;
	--bir-blue: #0074c8;
	--bir-cyan: #27aee4;
	--bir-sky: #edf8fe;
	--bir-sky-2: #dff3fc;
	--bir-orange: #ff6a13;
	--bir-orange-hover: #e95500;
	--bir-green: #16a05d;
	--bir-text: #17314a;
	--bir-muted: #5b6e7f;
	--bir-border: #d8e4ed;
	--bir-white: #fff;
	--bir-shadow: 0 14px 40px rgba( 8, 46, 87, .10 );
	--bir-radius: 16px;
	--bir-container: 1180px;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	color: var(--bir-text);
	background: #fff;
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: var(--bir-blue);
	text-underline-offset: .15em;
}

a:hover { color: var(--bir-orange-hover); }

button,
input,
select,
textarea { font: inherit; }

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.bir-skip-link {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 9999;
	padding: 10px 16px;
	color: #fff;
	background: var(--bir-navy);
	border-radius: 6px;
	transform: translateY(-160%);
}

.bir-skip-link:focus { transform: translateY(0); }

.bir-container {
	width: min(calc(100% - 40px), var(--bir-container));
	margin-inline: auto;
}

.bir-trustbar {
	color: #fff;
	background: var(--bir-navy);
	font-size: 13px;
}

.bir-trustbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 32px;
	gap: 24px;
}

.bir-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255,255,255,.96);
	border-bottom: 1px solid rgba(216,228,237,.9);
	box-shadow: 0 4px 20px rgba(8,46,87,.05);
	backdrop-filter: blur(12px);
}

.admin-bar .bir-header { top: 32px; }

.bir-header__inner {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	min-height: 82px;
	gap: 34px;
}

.custom-logo-link,
.custom-logo-link img,
.bir-brand__image { display: block; }
.custom-logo-link img,
.bir-brand__image { max-width: 235px; max-height: 56px; width: auto; height: auto; }

.bir-brand__fallback {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--bir-navy);
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
}

.bir-brand__fallback strong,
.bir-brand__fallback small { display: block; }
.bir-brand__fallback strong { font-size: 16px; letter-spacing: .03em; }
.bir-brand__fallback small { margin-top: 3px; font-size: 13px; font-weight: 800; color: var(--bir-blue); }
.bir-brand__signal { font-size: 40px; font-weight: 900; color: var(--bir-cyan); transform: rotate(-20deg); }

.bir-navigation { justify-self: end; }
.bir-navigation__list,
.bir-navigation__list ul {
	display: flex;
	align-items: center;
	gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bir-navigation__list li { position: relative; }
.bir-navigation__list a {
	display: block;
	padding-block: 26px;
	color: var(--bir-navy);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}

.bir-navigation__list a:hover,
.bir-navigation__list .current-menu-item > a { color: var(--bir-blue); }

.bir-navigation__list .sub-menu {
	position: absolute;
	top: 100%;
	left: -18px;
	display: none;
	min-width: 250px;
	padding: 10px;
	background: #fff;
	border: 1px solid var(--bir-border);
	border-radius: 12px;
	box-shadow: var(--bir-shadow);
}

.bir-navigation__list li:hover > .sub-menu,
.bir-navigation__list li:focus-within > .sub-menu { display: block; }
.bir-navigation__list .sub-menu a { padding: 10px 12px; border-radius: 8px; }
.bir-navigation__list .sub-menu a:hover { background: var(--bir-sky); }

.bir-header__cta,
.bir-button,
.button,
.button-alt,
.button-small {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 11px 20px;
	border: 0;
	border-radius: 8px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.bir-header__cta,
.bir-button--orange,
.button {
	color: #fff;
	background: var(--bir-orange);
	box-shadow: 0 8px 20px rgba(255,106,19,.22);
}

.bir-header__cta:hover,
.bir-button--orange:hover,
.button:hover {
	color: #fff;
	background: var(--bir-orange-hover);
	transform: translateY(-1px);
	box-shadow: 0 10px 22px rgba(255,106,19,.28);
}

.bir-button--secondary,
.button-alt {
	color: var(--bir-navy);
	background: #fff;
	border: 1px solid var(--bir-border);
}

.bir-button--secondary:hover,
.button-alt:hover { color: var(--bir-blue); border-color: var(--bir-blue); }
.button-small { min-height: 40px; padding: 8px 14px; color: #fff; background: var(--bir-blue); }

.bir-menu-toggle { display: none; }

.bir-hero {
	position: relative;
	overflow: hidden;
	background: linear-gradient(110deg, #effaff 0%, #e4f6fe 55%, #fff 100%);
}

.bir-hero::before {
	position: absolute;
	inset: auto auto -240px -180px;
	width: 560px;
	height: 560px;
	content: "";
	background: rgba(39,174,228,.09);
	border-radius: 50%;
}

.bir-hero__grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
	align-items: stretch;
	min-height: 620px;
}

.bir-hero__content { padding: 68px 58px 52px 0; }

.bir-eyebrow {
	margin: 0 0 12px;
	color: var(--bir-blue);
	font-size: 14px;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.bir-hero h1,
.bir-page-header h1,
.bir-article__header h1,
.bir-not-found h1 {
	margin: 0;
	color: var(--bir-navy);
	font-size: clamp(38px, 4.8vw, 66px);
	line-height: 1.04;
	letter-spacing: -.035em;
}

.bir-hero h1 span { color: var(--bir-blue); }
.bir-hero__lead { max-width: 660px; margin: 22px 0 16px; font-size: 20px; line-height: 1.55; }
.bir-hero__benefits { color: var(--bir-text); }
.bir-hero__benefits span { color: inherit !important; }
.bir-hero__benefits > p:first-child { margin-top: 0; }
.bir-hero__benefits ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 20px; padding: 0; list-style: none; }
.bir-hero__benefits li { position: relative; padding-left: 27px; font-weight: 650; }
.bir-hero__benefits li::before {
	position: absolute;
	top: .3em;
	left: 0;
	display: grid;
	place-items: center;
	width: 18px;
	height: 18px;
	content: "✓";
	color: #fff;
	background: var(--bir-green);
	border-radius: 50%;
	font-size: 12px;
	font-weight: 900;
}

.bir-checker {
	position: relative;
	z-index: 2;
	max-width: 700px;
	margin-top: 26px;
	padding: 23px;
	background: #fff;
	border: 1px solid rgba(216,228,237,.9);
	border-radius: var(--bir-radius);
	box-shadow: var(--bir-shadow);
}

.bir-checker h2 { margin: 0 0 15px; color: var(--bir-navy); font-size: 21px; line-height: 1.25; }
.bir-checker__description { margin: 0 0 17px; color: var(--bir-muted); line-height: 1.55; }
.bir-checker__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 480px;
	min-height: 54px;
	margin-inline: auto;
	padding: 12px 20px;
	color: #fff;
	background: var(--bir-orange);
	border-radius: 10px;
	box-shadow: 0 12px 27px rgba(255,106,19,.28);
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: background .2s ease, box-shadow .2s ease, transform .2s ease;
}
.bir-checker__cta span { margin-left: 9px; font-size: 21px; line-height: 1; transition: transform .2s ease; }
.bir-checker__cta:hover,
.bir-checker__cta:focus-visible { color: #fff; background: var(--bir-orange-hover); transform: translateY(-1px); }
.bir-checker__cta:hover span,
.bir-checker__cta:focus-visible span { transform: translateX(3px); }
.bir-checker__cta:focus-visible { outline: 3px solid rgba(39,174,228,.35); outline-offset: 3px; }
.bir-checker__partner-widget { min-height: 146px; }
.bir-checker .c24pp1.c24pp2.c24pp3.c24dsl { width: 100%; color: var(--bir-text); }
.bir-checker .c24dsl-title,
.bir-checker .c24dsl-left { display: none; }
.bir-checker .c24dsl-full { display: grid; grid-template-columns: minmax(120px, .75fr) minmax(180px, 1.25fr); gap: 5px 10px; }
.bir-checker span.c24dsl-areacode,
.bir-checker span.c24dsl-downstream { display: block; margin: 0; font-size: 12px; font-weight: 800; }
.bir-checker span.c24dsl-areacode { grid-column: 1; grid-row: 1; }
.bir-checker div.c24dsl-areacode { grid-column: 1; grid-row: 2; }
.bir-checker span.c24dsl-downstream { grid-column: 2; grid-row: 1; }
.bir-checker div.c24dsl-downstream { grid-column: 2; grid-row: 2; }
.bir-checker input.c24dsl-areacode,
.bir-checker select.c24dsl-downstream {
	width: 100%;
	height: 48px;
	padding: 0 13px;
	color: var(--bir-text);
	background: #fff;
	border: 1px solid #b9ccda;
	border-radius: 7px;
}
.bir-checker input.c24dsl-areacode:focus,
.bir-checker select.c24dsl-downstream:focus { outline: 3px solid rgba(39,174,228,.2); border-color: var(--bir-blue); }
.bir-checker .c24pp-error { border-color: #c92a2a !important; }
.bir-checker .c24dsl-right { margin-top: 12px; }
.bir-checker button.c24dsl-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	padding: 12px 20px;
	color: #fff;
	background: var(--bir-orange);
	border: 0;
	border-radius: 7px;
	box-shadow: 0 9px 22px rgba(255,106,19,.22);
	cursor: pointer;
	font-weight: 800;
}
.bir-checker button.c24dsl-submit:hover { background: var(--bir-orange-hover); transform: translateY(-1px); }
.bir-checker noscript .bir-button { width: 100%; margin-top: 12px; }
.bir-checker__note { margin: 9px 0 0; color: var(--bir-muted); font-size: 12px; text-align: center; }

.bir-hero__visual { position: relative; min-height: 620px; overflow: hidden; }
.bir-hero__visual::after {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(90deg, rgba(237,248,254,.55), transparent 24%);
	pointer-events: none;
}
.bir-hero__visual img { width: 100%; height: 100%; object-fit: cover; }
.bir-hero__visual--placeholder { display: grid; place-items: center; background: linear-gradient(145deg, #0d5383, #27aee4); }
.bir-hero__placeholder { position: relative; z-index: 1; max-width: 350px; padding: 50px; color: #fff; text-align: center; }
.bir-hero__placeholder strong { display: block; font-size: 52px; line-height: 1.05; }
.bir-hero__placeholder small { display: block; margin-top: 16px; font-size: 17px; }
.bir-hero__wifi { display: block; font-size: 90px; line-height: 1; transform: rotate(-20deg); }

.bir-provider-strip { padding: 24px 0 28px; background: #fff; border-bottom: 1px solid var(--bir-border); }
.bir-section-kicker { margin: 0 0 18px; color: var(--bir-navy); font-size: 17px; text-align: center; }
.bir-provider-grid { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 16px; align-items: center; }
.bir-provider {
	display: grid;
	place-items: center;
	min-height: 58px;
	padding: 8px;
	color: var(--bir-navy);
	border-radius: 8px;
	font-size: 13px;
	font-weight: 800;
	text-align: center;
	text-decoration: none;
}
.bir-provider:hover { background: var(--bir-sky); }
.bir-provider img { max-height: 42px; width: auto; filter: saturate(.95); }

.bir-main,
.bir-home-main { padding: 58px 0 78px; }
.bir-main { min-height: 58vh; }
.bir-page-header { max-width: 880px; margin: 12px 0 42px; }
.bir-page-header h1,
.bir-article__header h1,
.bir-not-found h1 { font-size: clamp(36px, 4vw, 56px); }
.bir-page-header > p:not(.bir-eyebrow) { color: var(--bir-muted); font-size: 20px; }

.bir-breadcrumbs { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 28px; color: var(--bir-muted); font-size: 13px; }
.bir-breadcrumbs a { color: var(--bir-muted); }

.bir-layout { display: block; }
.bir-layout--sidebar { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 64px; align-items: start; }
.bir-prose { min-width: 0; }
.bir-prose > :first-child { margin-top: 0; }
.bir-prose h2,
.bir-prose h3,
.bir-prose h4,
.bir-additional-content h2,
.bir-additional-content h3 {
	color: var(--bir-navy);
	line-height: 1.22;
	letter-spacing: -.02em;
	scroll-margin-top: 120px;
}
.bir-prose h2,
.bir-additional-content h2 { margin: 58px 0 18px; font-size: clamp(28px, 3vw, 38px); }
.bir-prose h3,
.bir-additional-content h3 { margin: 38px 0 12px; font-size: clamp(22px, 2vw, 27px); }
.bir-prose h4 { margin: 28px 0 10px; font-size: 20px; }
.bir-prose p,
.bir-prose ul,
.bir-prose ol { margin-block: 0 20px; }
.bir-prose ul,
.bir-prose ol { padding-left: 1.3em; }
.bir-prose li + li { margin-top: 7px; }
.bir-prose hr { margin: 44px 0; border: 0; border-top: 1px solid var(--bir-border); }
.bir-prose blockquote { margin: 32px 0; padding: 20px 24px; background: var(--bir-sky); border-left: 5px solid var(--bir-cyan); border-radius: 0 12px 12px 0; }
.bir-prose img.alignright { float: right; margin: 0 0 24px 34px; }
.bir-prose img.alignleft { float: left; margin: 0 34px 24px 0; }
.bir-prose::after { display: table; clear: both; content: ""; }

/* Existing Classic Editor homepage components. These selectors intentionally
   preserve the current HTML while presenting it in the new design system. */
.bir-home-content > h2:first-child { margin-top: 0; text-align: center; }
.bir-home-content #service {
	width: 100%;
	margin: 0 0 28px;
	border-collapse: separate;
	background: #fff;
	border: 1px solid var(--bir-border);
	border-radius: var(--bir-radius);
	box-shadow: var(--bir-shadow);
}
.bir-home-content #service td { padding: 26px; border: 0; background: transparent; }
.bir-home-content #service img { max-width: 250px; }

.bir-home-content .dsl-vergleich-neu {
	position: relative;
	overflow: hidden;
	margin: 32px 0 42px;
	padding: 30px;
	background: linear-gradient(125deg, var(--bir-navy), #0c6098);
	border-radius: var(--bir-radius);
	box-shadow: var(--bir-shadow);
	color: #fff;
}
.bir-home-content .dsl-vergleich-neu .check-title { color: #fff; font-size: 28px; font-weight: 900; }
.bir-home-content .dsl-vergleich-neu ul { max-width: 62%; margin: 16px 0 22px; padding: 0; list-style: none; }
.bir-home-content .dsl-vergleich-neu li { position: relative; padding-left: 26px; }
.bir-home-content .dsl-vergleich-neu li::before { position: absolute; left: 0; content: "✓"; color: #6ee7a6; font-weight: 900; }
.bir-home-content .dsl-vergleich-neu .desktop { position: absolute; right: 20px; bottom: -25px; width: 34%; opacity: .95; }
.bir-home-content .dsl-vergleich-neu .button1 { position: relative; z-index: 1; max-width: 330px; margin: 0; }

.bir-home-content .wrap {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	margin-top: 18px;
}
.bir-home-content .wrap > div {
	padding: 22px;
	background: var(--bir-sky);
	border: 1px solid var(--bir-border);
	border-radius: 13px;
	text-align: center;
}
.bir-home-content .wrap img { width: 78px; margin: 0 auto 10px; }
.bir-home-content .wrap .num { margin: 0; color: var(--bir-navy); font-size: 18px; font-weight: 850; }

.bir-home-content .service-neu {
	display: inline-flex;
	flex-direction: column;
	vertical-align: top;
	width: calc(33.333% - 16px);
	min-height: 430px;
	margin: 18px 10px 0 0;
	padding: 25px 22px;
	color: #fff;
	background: linear-gradient(145deg, var(--bir-blue), #0b5f96) !important;
	border-radius: var(--bir-radius);
	box-shadow: 0 10px 28px rgba(8,46,87,.12);
}
.bir-home-content .service-neu:nth-of-type(3n) { margin-right: 0; }
.bir-home-content .service-neu img { max-height: 100px; width: auto; margin: 0 auto; object-fit: contain; }
.bir-home-content .service-neu p { color: #fff !important; }
.bir-home-content .service-neu a:not(.button1 a) { color: #fff; }
.bir-home-content .service-neu .button1 { margin-top: auto !important; }

.button1 a,
.button4 a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 17px;
	color: #fff !important;
	background: var(--bir-orange);
	border-radius: 7px;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
}
.button1 a:hover,
.button4 a:hover { background: var(--bir-orange-hover); }

.bir-home-content .card {
	margin: 42px 0;
	padding: 34px;
	background: #fff;
	border: 1px solid var(--bir-border);
	border-radius: var(--bir-radius);
	box-shadow: 0 12px 34px rgba(8,46,87,.08);
}
.bir-home-content .card h2:first-child { margin-top: 0; }
.bir-home-content .card > img { width: 100%; margin: 20px 0 26px; border-radius: 12px; }
.bir-home-content .card ul li::marker { color: var(--bir-green); }

.bir-home-content .testimonial {
	display: inline-flex;
	flex-direction: column;
	vertical-align: top;
	width: calc(25% - 14px);
	min-height: 280px;
	margin: 12px 10px 22px 0;
	padding: 22px;
	background: #fff;
	border: 1px solid var(--bir-border);
	border-radius: 13px;
	box-shadow: 0 8px 24px rgba(8,46,87,.07);
}
.bir-home-content .testimonial img { width: 110px; margin: 0 auto; }

.bir-home-content .ratgeber {
	display: inline-flex;
	flex-direction: column;
	vertical-align: top;
	width: calc(33.333% - 14px);
	min-height: 300px;
	margin: 14px 8px 20px 0;
	padding: 22px;
	background: #fff;
	border: 1px solid var(--bir-border);
	border-radius: 13px;
	box-shadow: 0 8px 24px rgba(8,46,87,.07);
}
.bir-home-content .ratgeber img { max-height: 55px; width: auto; margin: 0 auto; object-fit: contain; }
.bir-home-content .ratgeber .button4 { margin-top: auto; }

.bir-home-content .fragen-antwort-neu { margin-top: 50px; }
.bir-home-content .fragen-antwort-neu details {
	margin: 10px 0;
	background: #fff;
	border: 1px solid var(--bir-border);
	border-radius: 10px;
}
.bir-home-content .fragen-antwort-neu summary {
	position: relative;
	padding: 18px 54px 18px 20px;
	color: var(--bir-navy);
	font-weight: 800;
	cursor: pointer;
	list-style: none;
}
.bir-home-content .fragen-antwort-neu summary::-webkit-details-marker { display: none; }
.bir-home-content .fragen-antwort-neu summary::after { position: absolute; top: 15px; right: 20px; content: "+"; color: var(--bir-blue); font-size: 24px; }
.bir-home-content .fragen-antwort-neu details[open] summary::after { content: "−"; }
.bir-home-content .fragen-antwort-neu details > div { padding: 0 20px 18px; color: var(--bir-muted); }

.bir-article__header { margin-bottom: 34px; }
.bir-article__meta { color: var(--bir-muted); font-size: 14px; }
.bir-article__image { margin: 30px 0; overflow: hidden; border-radius: var(--bir-radius); }
.bir-article__image img { width: 100%; }

.bir-sidebar { position: sticky; top: 118px; display: grid; gap: 24px; }
.widget {
	padding: 24px;
	background: #fff;
	border: 1px solid var(--bir-border);
	border-radius: var(--bir-radius);
	box-shadow: 0 10px 30px rgba(8,46,87,.06);
}
.widget-title,
.sidebar-title { display: block; margin: 0 0 16px; color: var(--bir-navy); font-size: 20px; font-weight: 850; }
.widget ul { margin: 0; padding: 0; list-style: none; }
.widget li + li { margin-top: 11px; }
.widget img { border-radius: 8px; }

.bir-additional-content { margin-top: 64px; padding-top: 10px; }
.bir-home-widgets { padding: 64px 0; background: var(--bir-sky); }
.bir-home-widgets__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.bir-home-widgets .widget { position: static; }

.bir-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.bir-post-grid--large { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bir-card { overflow: hidden; background: #fff; border: 1px solid var(--bir-border); border-radius: var(--bir-radius); box-shadow: 0 10px 28px rgba(8,46,87,.07); }
.bir-card__media { display: block; overflow: hidden; aspect-ratio: 16 / 9; }
.bir-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.bir-card:hover .bir-card__media img { transform: scale(1.025); }
.bir-card__body { padding: 22px; }
.bir-card__title { margin: 0 0 10px; color: var(--bir-navy); font-size: 21px; line-height: 1.25; }
.bir-card__title a { color: inherit; text-decoration: none; }
.bir-card__title a:hover { color: var(--bir-blue); }
.bir-card__body p { margin: 0 0 12px; color: var(--bir-muted); font-size: 15px; }
.bir-text-link { color: var(--bir-blue); background: transparent; padding: 0; }

.bir-directory > h2 { margin-top: 48px; }
.bir-directory-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.bir-directory-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--bir-border);
	border-radius: var(--bir-radius);
	box-shadow: 0 10px 28px rgba(8,46,87,.07);
}
.bir-directory-card__media {
	display: grid;
	place-items: center;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	color: #fff;
	background: linear-gradient(145deg, var(--bir-blue), var(--bir-cyan));
	text-decoration: none;
}
.bir-directory-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.bir-directory-card__media span { font-size: 54px; font-weight: 900; }
.bir-directory-card:hover .bir-directory-card__media img { transform: scale(1.025); }
.bir-directory-card__body { display: flex; flex: 1; flex-direction: column; padding: 22px; }
.bir-directory-card__body time { color: var(--bir-muted); font-size: 12px; }
.bir-directory-card__body h3 { margin: 8px 0 10px; font-size: 21px; line-height: 1.28; }
.bir-directory-card__body h3 a { color: var(--bir-navy); text-decoration: none; }
.bir-directory-card__body h3 a:hover { color: var(--bir-blue); }
.bir-directory-card__body p { margin: 0 0 18px; color: var(--bir-muted); font-size: 15px; }
.bir-directory-card__link { margin-top: auto; font-weight: 800; text-decoration: none; }

.bir-infobox,
.infobox {
	margin: 30px 0;
	padding: 22px 24px;
	background: var(--bir-sky);
	border-left: 5px solid var(--bir-cyan);
	border-radius: 10px;
}
.bir-infobox--green { background: #edf9f2; border-color: var(--bir-green); }
.bir-infobox--orange { background: #fff5ed; border-color: var(--bir-orange); }
.bir-infobox--grey { background: #f5f7f9; border-color: #8b9baa; }
.bir-infobox h3 { margin-top: 0; }

.bir-table-wrap,
.vergleichstabelle {
	height: auto;
	max-width: 100%;
	max-height: none;
	margin: 30px 0;
	overflow-x: auto;
	overflow-y: hidden;
}
.bir-prose table,
.bir-table-wrap table { width: 100%; border-collapse: collapse; font-size: 15px; }
.bir-prose th,
.bir-prose td,
.bir-table-wrap th,
.bir-table-wrap td { padding: 13px 15px; text-align: left; border: 1px solid var(--bir-border); }
.bir-prose th,
.bir-table-wrap th { color: #fff; background: var(--bir-navy); }
.bir-prose tr:nth-child(even) td,
.bir-table-wrap tr:nth-child(even) td { background: var(--bir-sky); }

.bir-rating { display: flex; align-items: center; gap: 12px; }
.bir-rating p { margin: 0; }
.bir-rating__stars { position: relative; display: inline-block; width: 110px; height: 22px; background: linear-gradient(90deg, #d6dde4 0 100%); clip-path: polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 93%,50% 72%,21% 93%,32% 57%,2% 35%,39% 35%); }
.bir-rating__stars span { display: block; height: 100%; background: #ffb000; }

.bir-calculator-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 34px; align-items: start; }
.bir-calculator-embed,
.bir-calculator-aside { min-width: 0; padding: 24px; background: #fff; border: 1px solid var(--bir-border); border-radius: var(--bir-radius); box-shadow: var(--bir-shadow); }

.bir-not-found { text-align: center; }
.bir-not-found .bir-container { max-width: 760px; }
.bir-not-found__actions { display: flex; justify-content: center; gap: 12px; margin-top: 30px; }

.bir-final-cta { color: #fff; background: linear-gradient(115deg, var(--bir-blue), #009fe3); }
.bir-final-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding-block: 36px; }
.bir-final-cta h2 { margin: 0; color: #fff; font-size: clamp(27px, 3vw, 38px); }
.bir-final-cta p { margin: 4px 0 0; opacity: .9; }

.bir-footer { color: rgba(255,255,255,.78); background: var(--bir-navy-2); }
.bir-footer a { color: rgba(255,255,255,.9); }
.bir-footer__grid { display: grid; grid-template-columns: minmax(240px, .9fr) 1.5fr minmax(200px, .7fr); gap: 60px; padding-block: 60px; }
.bir-brand__fallback--footer { color: #fff; }
.bir-footer__brand p { max-width: 330px; font-size: 14px; }
.bir-footer__nav > ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 28px; margin: 0; padding: 0; list-style: none; }
.bir-footer__nav li { margin: 0; }
.bir-footer__nav a { font-size: 14px; text-decoration: none; }
.bir-footer__nav a:hover { color: #fff; text-decoration: underline; }
.bir-footer .widget { padding: 0; background: transparent; border: 0; box-shadow: none; }
.bir-footer .widget-title { color: #fff; }
.bir-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 20px; border-top: 1px solid rgba(255,255,255,.15); font-size: 12px; }
.bir-footer__credits { display: flex; flex-wrap: wrap; gap: 5px 8px; }
.bir-footer__creator::before { margin-right: 8px; content: "•"; opacity: .55; }
.bir-footer__creator a { text-underline-offset: 3px; }
.bir-footer__creator a:hover { color: #fff; }
.bir-footer__bottom ul { display: flex; flex-wrap: wrap; gap: 18px; margin: 0; padding: 0; list-style: none; }

.nav-links { display: flex; justify-content: center; gap: 8px; margin-top: 40px; }
.page-numbers { display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 10px; color: var(--bir-navy); border: 1px solid var(--bir-border); border-radius: 7px; text-decoration: none; }
.page-numbers.current { color: #fff; background: var(--bir-blue); border-color: var(--bir-blue); }

@media (max-width: 1060px) {
	.bir-header__inner { grid-template-columns: auto auto 1fr; gap: 20px; }
	.bir-menu-toggle {
		display: grid;
		place-content: center;
		gap: 5px;
		width: 46px;
		height: 46px;
		margin-left: auto;
		padding: 0;
		background: #fff;
		border: 1px solid var(--bir-border);
		border-radius: 8px;
	}
	.bir-menu-toggle span:not(.screen-reader-text) { display: block; width: 22px; height: 2px; background: var(--bir-navy); }
	.bir-navigation { position: absolute; top: 100%; left: 0; display: none; width: 100%; padding: 15px 20px 24px; background: #fff; border-bottom: 1px solid var(--bir-border); box-shadow: var(--bir-shadow); }
	.bir-navigation.is-open { display: block; }
	.bir-navigation__list { display: block; }
	.bir-navigation__list a { padding: 10px 4px; }
	.bir-navigation__list .sub-menu { position: static; display: block; padding: 0 0 0 18px; background: transparent; border: 0; box-shadow: none; }
	.bir-header__cta { justify-self: end; }
	.bir-hero__grid { grid-template-columns: 1fr minmax(300px, .75fr); }
	.bir-hero__content { padding-right: 36px; }
	.bir-provider-grid { grid-template-columns: repeat(4, 1fr); }
	.bir-layout--sidebar { grid-template-columns: minmax(0, 1fr) 270px; gap: 36px; }
	.bir-footer__grid { grid-template-columns: 1fr 1.5fr; }
	.bir-footer__widgets { grid-column: 1 / -1; }
	.bir-home-content .service-neu { width: calc(50% - 14px); }
	.bir-home-content .testimonial { width: calc(50% - 14px); }
}

@media (max-width: 780px) {
	body { font-size: 16px; }
	.admin-bar .bir-header { top: 46px; }
	.bir-container { width: min(calc(100% - 28px), var(--bir-container)); }
	.bir-trustbar__inner span:last-child { display: none; }
	.bir-trustbar__inner { justify-content: center; min-height: 29px; text-align: center; }
	.bir-header__inner { grid-template-columns: 1fr auto; min-height: 70px; }
	.bir-header__cta { display: none; }
	.bir-menu-toggle { grid-column: 2; grid-row: 1; }
	.custom-logo-link img,
	.bir-brand__image { max-width: 205px; max-height: 46px; }
	.bir-hero__grid { display: flex; flex-direction: column; }
	.bir-hero__content { padding: 46px 0 34px; }
	.bir-hero__visual { min-height: 360px; order: 2; }
	.bir-hero h1 { font-size: clamp(38px, 12vw, 56px); }
	.bir-hero__lead { font-size: 18px; }
	.bir-hero__benefits ul { grid-template-columns: 1fr; }
	.bir-checker .c24dsl-full { grid-template-columns: 1fr; }
	.bir-checker span.c24dsl-areacode,
	.bir-checker div.c24dsl-areacode,
	.bir-checker span.c24dsl-downstream,
	.bir-checker div.c24dsl-downstream { grid-column: 1; grid-row: auto; }
	.bir-provider-grid { grid-template-columns: repeat(2, 1fr); }
	.bir-provider-strip { padding-bottom: 22px; }
	.bir-main,
	.bir-home-main { padding: 42px 0 58px; }
	.bir-layout--sidebar,
	.bir-calculator-layout { grid-template-columns: 1fr; }
	.bir-sidebar { position: static; margin-top: 30px; }
	.bir-home-widgets__grid,
	.bir-post-grid,
	.bir-post-grid--large,
	.bir-directory-grid { grid-template-columns: 1fr; }
	.bir-prose img.alignright,
	.bir-prose img.alignleft { float: none; margin: 20px auto; }
	.bir-home-content .wrap { grid-template-columns: 1fr; }
	.bir-home-content .dsl-vergleich-neu ul { max-width: none; }
	.bir-home-content .dsl-vergleich-neu .desktop { display: none; }
	.bir-home-content .service-neu,
	.bir-home-content .testimonial,
	.bir-home-content .ratgeber { display: flex; width: 100%; min-height: auto; margin-right: 0; }
	.bir-final-cta__inner { flex-direction: column; align-items: stretch; text-align: center; }
	.bir-footer__grid { grid-template-columns: 1fr; gap: 34px; padding-block: 46px; }
	.bir-footer__nav > ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bir-footer__bottom { flex-direction: column; align-items: flex-start; }
	.bir-not-found__actions { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* --------------------------------------------------------------------------
   Homepage visual refresh – version 0.3
   The selectors below deliberately restyle the historic Classic Editor HTML
   without moving or duplicating its editable content.
   -------------------------------------------------------------------------- */

.home .bir-header {
	border-bottom-color: rgba(216,228,237,.72);
	box-shadow: 0 8px 28px rgba(8,46,87,.055);
}

.bir-header__inner { min-height: 74px; gap: 28px; }
.custom-logo-link img,
.bir-brand__image { max-width: 215px; max-height: 48px; }
.bir-navigation__list,
.bir-navigation__list ul { gap: 24px; }
.bir-navigation__list a { padding-block: 21px; font-size: 14px; letter-spacing: -.01em; }
.bir-header__cta { min-height: 46px; padding-inline: 22px; border-radius: 999px; }

.bir-hero {
	padding: 32px 0 54px;
	background:
		radial-gradient(circle at 8% 15%, rgba(39,174,228,.12), transparent 27%),
		radial-gradient(circle at 93% 82%, rgba(0,116,200,.09), transparent 30%),
		linear-gradient(180deg, #f6fcff 0%, #eaf7fd 100%);
}

.bir-hero::before {
	inset: -130px auto auto -170px;
	width: 430px;
	height: 430px;
	background: rgba(255,255,255,.68);
}

.bir-hero__shell {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.03fr) minmax(400px, .97fr);
	min-height: 640px;
	overflow: hidden;
	background: #fff;
	border: 1px solid rgba(190,215,231,.82);
	border-radius: 28px;
	box-shadow: 0 26px 70px rgba(8,46,87,.14);
}

.bir-hero__content {
	position: relative;
	z-index: 3;
	padding: 50px 44px 42px;
}

.bir-hero h1 { max-width: 690px; font-size: clamp(43px, 4.1vw, 60px); line-height: 1.02; }
.bir-hero__lead { margin: 17px 0 13px; font-size: 19px; }
.bir-hero__benefits { font-size: 15px; line-height: 1.55; }
.bir-hero__benefits > p:first-child { max-width: 680px; margin-bottom: 14px; }
.bir-hero__benefits ul { gap: 7px 18px; margin: 0; }
.bir-hero__benefits li { padding-left: 25px; }

.bir-hero__proof {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 17px;
}

.bir-hero__proof span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 10px;
	color: #31627f;
	background: #edf8fe;
	border: 1px solid #d5edf8;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
}

.bir-hero__proof span::before { content: "✓"; color: var(--bir-green); }

.bir-checker {
	z-index: 4;
	max-width: none;
	margin: 22px -76px 0 0;
	padding: 20px 22px 17px;
	border-color: #d7e7f1;
	border-radius: 17px;
	box-shadow: 0 18px 44px rgba(8,46,87,.16);
}

.bir-checker h2 { margin-bottom: 13px; font-size: 19px; }
.bir-checker__partner-widget { min-height: 137px; }
.bir-checker input.c24dsl-areacode,
.bir-checker select.c24dsl-downstream { height: 45px; background: #fbfdff; }
.bir-checker button.c24dsl-submit { min-height: 47px; border-radius: 9px; }
.bir-checker__note { margin-top: 7px; }

.bir-hero__visual {
	position: relative;
	min-height: 640px;
	overflow: hidden;
	background: #dcecf3;
}

.bir-hero__visual::after {
	inset: 0;
	background:
		linear-gradient(90deg, rgba(255,255,255,.34), transparent 24%),
		linear-gradient(0deg, rgba(6,31,59,.3), transparent 42%);
}

.bir-hero__visual img { width: 100%; height: 100%; object-fit: cover; object-position: 55% center; }

.bir-hero__savings {
	position: absolute;
	top: 24px;
	right: 24px;
	z-index: 2;
	width: min(235px, calc(100% - 48px));
	padding: 17px 19px;
	color: var(--bir-navy);
	background: rgba(255,255,255,.94);
	border: 1px solid rgba(255,255,255,.85);
	border-radius: 16px;
	box-shadow: 0 14px 38px rgba(8,46,87,.18);
	backdrop-filter: blur(12px);
}

.bir-hero__savings small {
	display: block;
	margin-bottom: 2px;
	color: var(--bir-blue);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.bir-hero__savings strong { display: block; font-size: 25px; line-height: 1.12; letter-spacing: -.025em; }
.bir-hero__savings span { display: block; margin-top: 5px; color: var(--bir-muted); font-size: 12px; line-height: 1.35; }

.bir-hero__image-note {
	position: absolute;
	right: 24px;
	bottom: 24px;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 9px;
	max-width: calc(100% - 48px);
	padding: 10px 14px;
	color: #fff;
	background: rgba(6,31,59,.83);
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
	backdrop-filter: blur(10px);
}

.bir-hero__image-note span { display: grid; place-items: center; width: 19px; height: 19px; color: #fff; background: var(--bir-green); border-radius: 50%; }

.bir-provider-strip { padding: 21px 0 24px; }
.bir-provider-grid { gap: 12px; }
.bir-provider { min-height: 54px; border: 1px solid transparent; }
.bir-provider:hover { border-color: #d8edf7; transform: translateY(-1px); }

.bir-home-main {
	padding-top: 66px;
	background: linear-gradient(180deg, #fff 0, #fbfdff 38%, #fff 100%);
}

.bir-home-content > h2:first-child { margin-bottom: 24px; font-size: clamp(30px, 3vw, 42px); }
.bir-home-content #service { overflow: hidden; margin-bottom: 54px; border: 0; box-shadow: 0 18px 50px rgba(8,46,87,.09); }
.bir-home-content #service tbody,
.bir-home-content #service tr { display: block; width: 100%; }
.bir-home-content #service td.mar {
	display: grid;
	grid-template-columns: minmax(210px, .8fr) repeat(3, minmax(0, 1fr));
	gap: 18px;
	align-items: stretch;
	padding: 26px !important;
}

.bir-home-content #service td.mar > p { margin: 0 !important; }
.bir-home-content #service td.mar > p:first-child { display: grid; place-items: center; padding: 20px; background: #f5fbfe; border-radius: 14px; }
.bir-home-content #service td.mar > p:not(:first-child) {
	position: relative;
	padding: 22px 18px 20px 48px;
	background: #fff;
	border: 1px solid #dfebf2;
	border-radius: 14px;
	font-size: 14px;
	line-height: 1.55;
}

.bir-home-content #service td.mar > p:not(:first-child)::before {
	position: absolute;
	top: 21px;
	left: 17px;
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	content: "✓";
	color: #fff;
	background: var(--bir-green);
	border-radius: 50%;
	font-size: 12px;
	font-weight: 900;
}

.bir-home-content #service td.mar > p:not(:first-child) span { display: block; margin-bottom: 3px; color: var(--bir-navy); font-size: 16px !important; }
.bir-home-content #service img { width: 100%; max-width: 235px; margin: 0 !important; }

.bir-home-content .dsl-vergleich-neu {
	position: relative;
	display: block;
	min-height: 340px;
	margin: 58px 0 76px;
	padding: 45px 355px 42px 44px;
	overflow: hidden;
	color: var(--bir-text);
	background:
		radial-gradient(circle at 18% 18%, rgba(255,255,255,.95), transparent 36%),
		linear-gradient(125deg, #edf9ff 0%, #dff3fc 100%) !important;
	border: 1px solid #cfe8f4;
	border-radius: 24px;
	box-shadow: 0 20px 55px rgba(8,46,87,.1);
}

.bir-home-content .dsl-vergleich-neu::before {
	position: absolute;
	top: 28px;
	right: 32px;
	bottom: 28px;
	width: 275px;
	content: "";
	background:
		radial-gradient(circle at 72% 24%, rgba(255,255,255,.22), transparent 28%),
		linear-gradient(145deg, #0a416d, #078dca);
	border-radius: 20px;
	box-shadow: 0 16px 38px rgba(8,46,87,.2);
}

.bir-home-content .dsl-vergleich-neu::after {
	position: absolute;
	top: 50%;
	right: 60px;
	width: 218px;
	content: "Bis zu\A 650 €\A sparen";
	color: #fff;
	font-size: 27px;
	font-weight: 900;
	line-height: 1.02;
	text-align: center;
	white-space: pre-line;
	transform: translateY(-50%);
}

.bir-home-content .dsl-vergleich-neu .check-title { color: var(--bir-navy); font-size: clamp(28px, 3vw, 38px); letter-spacing: -.025em; }
.bir-home-content .dsl-vergleich-neu ul { max-width: none; margin: 20px 0 25px; color: var(--bir-text); }
.bir-home-content .dsl-vergleich-neu li { padding-left: 28px; }
.bir-home-content .dsl-vergleich-neu li::before { color: var(--bir-green); }
.bir-home-content .dsl-vergleich-neu .desktop { display: none; }
.bir-home-content .dsl-vergleich-neu .button1 { max-width: 310px; }
.bir-home-content .dsl-vergleich-neu > div[style*="clear"] { display: none; }

.bir-home-content .dsl-vergleich-neu + div[style] {
	margin: 0 0 78px !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.bir-home-content .dsl-vergleich-neu + div[style] > h3 {
	margin: 0 0 30px;
	font-size: clamp(29px, 3vw, 40px);
	text-align: center;
}

.bir-home-content .wrap { position: relative; gap: 20px; margin-top: 0; counter-reset: bir-step; }
.bir-home-content .wrap::before {
	position: absolute;
	top: 66px;
	left: 16%;
	right: 16%;
	height: 2px;
	content: "";
	background: linear-gradient(90deg, #b8e1f3, var(--bir-cyan), #b8e1f3);
}

.bir-home-content .wrap > div {
	position: relative;
	z-index: 1;
	float: none !important;
	width: auto !important;
	counter-increment: bir-step;
	min-height: 335px;
	padding: 27px 25px 25px;
	background: #fff;
	border: 1px solid #dceaf2;
	border-radius: 18px;
	box-shadow: 0 13px 35px rgba(8,46,87,.075);
	text-align: left;
}

.bir-home-content .wrap > div::before {
	position: absolute;
	top: 18px;
	left: 18px;
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	content: counter(bir-step);
	color: #fff;
	background: var(--bir-blue);
	border: 3px solid #fff;
	border-radius: 50%;
	box-shadow: 0 4px 12px rgba(0,116,200,.25);
	font-size: 12px;
	font-weight: 900;
}

.bir-home-content .wrap img {
	width: 90px;
	height: 90px;
	margin: 0 auto 18px;
	padding: 12px;
	object-fit: contain;
	background: #edf9ff;
	border-radius: 24px;
}

.bir-home-content .wrap .num { margin: 0 0 11px; font-size: 19px; line-height: 1.3; text-align: center; }
.bir-home-content .wrap br { display: none; }

.bir-home-content .dsl-vergleich-neu + div[style] + h3 {
	margin: 0 0 10px !important;
	font-size: clamp(29px, 3vw, 40px);
	text-align: center;
}

.bir-home-content .service-neu {
	float: none !important;
	display: inline-flex;
	width: calc(33.333% - 17px) !important;
	height: auto !important;
	min-height: 370px;
	margin: 25px 20px 0 0 !important;
	padding: 28px 25px 24px !important;
	color: var(--bir-text) !important;
	background: #fff !important;
	border: 1px solid #dbe9f1 !important;
	border-top: 4px solid var(--bir-cyan) !important;
	border-radius: 18px !important;
	box-shadow: 0 13px 34px rgba(8,46,87,.075) !important;
}

.bir-home-content .service-neu:nth-of-type(even) { border-top-color: var(--bir-orange) !important; }
.bir-home-content .service-neu:nth-of-type(3n) { margin-right: 0 !important; }
.bir-home-content .service-neu > p:first-child {
	display: grid;
	place-items: center;
	width: 92px;
	height: 92px;
	margin: 0 auto 18px !important;
	background: #edf9ff;
	border-radius: 26px;
}

.bir-home-content .service-neu:nth-of-type(even) > p:first-child { background: #fff3eb; }
.bir-home-content .service-neu img { max-width: 68px; max-height: 68px; margin: 0 auto !important; }
.bir-home-content .service-neu p { color: var(--bir-text) !important; }
.bir-home-content .service-neu > p:nth-child(2) { color: var(--bir-navy) !important; font-size: 19px !important; line-height: 1.3; }
.bir-home-content .service-neu > p:nth-child(3) { color: var(--bir-muted) !important; font-size: 14px; line-height: 1.6; }
.bir-home-content .service-neu a:not(.button1 a) { color: var(--bir-blue); }
.bir-home-content .service-neu .button1 { width: 100%; margin: auto 0 0 !important; }
.bir-home-content .service-neu .button1 a { width: 100%; min-height: 45px; border-radius: 10px; font-size: 14px; }

.bir-home-content .card {
	margin-block: 58px;
	padding: 38px;
	border-color: #dce9f1;
	border-radius: 20px;
	box-shadow: 0 15px 42px rgba(8,46,87,.07);
}

.bir-home-content .card > img { max-height: 365px; object-fit: cover; border-radius: 15px; }

.bir-home-content > h3:not([style]) {
	clear: both;
	margin: 70px 0 27px;
	font-size: clamp(29px, 3vw, 40px);
	text-align: center;
}

.bir-home-content .testimonial {
	position: relative;
	width: calc(25% - 17px);
	min-height: 275px;
	margin: 0 18px 24px 0;
	padding: 54px 23px 23px;
	background: linear-gradient(180deg, #fff, #f9fcfe);
	border: 1px solid #dce9f1;
	border-radius: 18px;
	box-shadow: 0 12px 30px rgba(8,46,87,.065);
}

.bir-home-content .testimonial:nth-of-type(4n) { margin-right: 0; }
.bir-home-content .testimonial::before {
	position: absolute;
	top: 14px;
	left: 20px;
	content: "“";
	color: #b6e3f6;
	font-family: Georgia, serif;
	font-size: 62px;
	font-weight: 900;
	line-height: 1;
}

.bir-home-content .testimonial p:first-child { position: absolute; top: 19px; right: 20px; margin: 0; color: var(--bir-navy); font-weight: 850; }
.bir-home-content .testimonial p:nth-child(2) { margin: 3px 0 13px; }
.bir-home-content .testimonial img { width: 105px; margin: 0; }
.bir-home-content .testimonial p:last-child { margin: 0; color: var(--bir-muted); font-size: 14px !important; line-height: 1.58; }
.bir-home-content .testimonial p:last-child span { display: none; }

.bir-home-content img[alt*="Anbieter Test"] { display: none; }
.bir-home-content .ratgeber {
	float: none !important;
	display: inline-flex;
	width: calc(33.333% - 17px);
	min-height: 275px;
	margin: 0 20px 24px 0;
	padding: 28px 24px 24px;
	border: 1px solid #dce9f1 !important;
	border-top: 4px solid var(--bir-blue) !important;
	border-radius: 18px;
	box-shadow: 0 12px 30px rgba(8,46,87,.07);
}

.bir-home-content .ratgeber:nth-of-type(3n) { margin-right: 0; }
.bir-home-content .ratgeber p:first-child { display: grid; place-items: center; min-height: 72px; margin: 0 0 13px; }
.bir-home-content .ratgeber img { max-width: 155px; max-height: 50px; }
.bir-home-content .ratgeber > p:nth-child(2) {
	display: inline-block;
	align-self: center;
	margin: 0 0 11px !important;
	padding: 7px 13px;
	color: var(--bir-navy);
	background: #edf8fe;
	border-radius: 999px;
	font-size: 14px !important;
	line-height: 1.35;
}

.bir-home-content .ratgeber > img { width: 96px; height: auto; }
.bir-home-content .ratgeber .button4 { width: 100%; margin: auto 0 0; }
.bir-home-content .ratgeber .button4 a { width: 100%; color: var(--bir-blue) !important; background: #fff; border: 1px solid #bcdceb; border-radius: 10px; font-size: 14px; }
.bir-home-content .ratgeber .button4 a:hover { color: #fff !important; background: var(--bir-blue); }

.bir-home-content .fragen-antwort-neu { clear: both; margin-top: 68px; padding: 40px; background: #f3faff; border: 1px solid #d8edf7; border-radius: 22px; }
.bir-home-content .fragen-antwort-neu h3 { margin-top: 0; text-align: center; }
.bir-home-content .fragen-antwort-neu details { overflow: hidden; border-color: #d9e7ef; border-radius: 12px; }
.bir-home-content .fragen-antwort-neu details[open] { box-shadow: 0 10px 25px rgba(8,46,87,.06); }

@media (max-width: 1120px) {
	.bir-navigation__list,
	.bir-navigation__list ul { gap: 18px; }
	.bir-navigation__list a { font-size: 13px; }
	.bir-hero__shell { grid-template-columns: minmax(0, 1.12fr) minmax(330px, .88fr); }
	.bir-hero__content { padding-inline: 34px; }
	.bir-checker { margin-right: -44px; }
	.bir-home-content #service td.mar { grid-template-columns: repeat(3, 1fr); }
	.bir-home-content #service td.mar > p:first-child { grid-column: 1 / -1; }
	.bir-home-content #service img { max-width: 210px; }
}

@media (max-width: 920px) {
	.bir-hero { padding-top: 22px; }
	.bir-hero__shell { grid-template-columns: 1fr; }
	.bir-hero__content { padding: 42px 34px 34px; }
	.bir-checker { margin-right: 0; }
	.bir-hero__visual { min-height: 430px; }
	.bir-hero__visual img { object-position: center 40%; }
	.bir-home-content .dsl-vergleich-neu { padding-right: 315px; }
	.bir-home-content .dsl-vergleich-neu::before { right: 25px; width: 245px; }
	.bir-home-content .dsl-vergleich-neu::after { right: 40px; width: 215px; }
	.bir-home-content .service-neu,
	.bir-home-content .ratgeber { width: calc(50% - 13px) !important; margin-right: 20px !important; }
	.bir-home-content .service-neu:nth-of-type(2n),
	.bir-home-content .ratgeber:nth-of-type(2n) { margin-right: 0 !important; }
	.bir-home-content .testimonial { width: calc(50% - 13px); margin-right: 20px; }
	.bir-home-content .testimonial:nth-of-type(2n) { margin-right: 0; }
}

@media (max-width: 780px) {
	.bir-header__inner { min-height: 68px; }
	.custom-logo-link img,
	.bir-brand__image { max-width: 190px; }
	.bir-hero { padding-bottom: 38px; }
	.bir-hero__shell { border-radius: 20px; }
	.bir-hero__content { padding: 36px 22px 25px; }
	.bir-hero h1 { font-size: clamp(38px, 11vw, 51px); }
	.bir-hero__benefits ul { grid-template-columns: 1fr; }
	.bir-checker { padding: 18px; }
	.bir-hero__visual { min-height: 350px; order: initial; }
	.bir-hero__savings { top: 17px; right: 17px; }
	.bir-hero__image-note { right: 17px; bottom: 17px; }
	.bir-home-content #service td.mar { grid-template-columns: 1fr; padding: 18px !important; }
	.bir-home-content #service td.mar > p:first-child { grid-column: auto; }
	.bir-home-content .dsl-vergleich-neu {
		min-height: 0;
		padding: 32px 25px 190px;
		border-radius: 19px;
	}
	.bir-home-content .dsl-vergleich-neu::before { right: 24px; bottom: 24px; left: 24px; top: auto; width: auto; height: 138px; }
	.bir-home-content .dsl-vergleich-neu::after { right: 44px; bottom: 48px; top: auto; width: calc(100% - 88px); font-size: 24px; transform: none; }
	.bir-home-content .wrap::before { display: none; }
	.bir-home-content .wrap > div { min-height: 0; text-align: center; }
	.bir-home-content .service-neu,
	.bir-home-content .ratgeber,
	.bir-home-content .testimonial { width: 100% !important; margin-right: 0 !important; }
	.bir-home-content .service-neu { min-height: 340px; }
	.bir-home-content .card { padding: 25px 21px; }
	.bir-home-content .fragen-antwort-neu { padding: 27px 17px; }
}

/* --------------------------------------------------------------------------
   Homepage refinement – version 0.4
   -------------------------------------------------------------------------- */

.bir-navigation__mobile-cta,
.bir-navigation__mobile-note,
.bir-menu-backdrop { display: none; }

/* Hero: high-resolution photo with a soft transition instead of a hard cut. */
.bir-hero__shell {
	display: block;
	min-height: 690px;
	background: #fff;
}

.bir-hero__content {
	position: relative;
	z-index: 3;
	width: 61%;
	min-height: 690px;
	padding: 49px 30px 40px 46px;
}

.bir-hero__content::after {
	position: absolute;
	z-index: -1;
	top: 0;
	right: -155px;
	bottom: 0;
	width: 250px;
	content: "";
	background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.97) 34%, rgba(255,255,255,.72) 66%, transparent 100%);
	pointer-events: none;
}

.bir-hero__visual {
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	bottom: 0;
	width: 55%;
	min-height: 690px;
}

.bir-hero__visual::before {
	position: absolute;
	z-index: 1;
	inset: 0;
	content: "";
	background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.88) 10%, rgba(255,255,255,.3) 29%, transparent 52%);
	pointer-events: none;
}

.bir-hero__visual::after {
	z-index: 1;
	background: linear-gradient(0deg, rgba(5,31,59,.32), transparent 34%);
}

.bir-hero__visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 62% center;
}

.bir-checker {
	max-width: 650px;
	margin: 22px 0 0;
	box-shadow: 0 18px 46px rgba(8,46,87,.13);
}

.bir-hero__visual-meta {
	position: absolute;
	z-index: 2;
	right: 24px;
	bottom: 22px;
	left: 84px;
	display: grid;
	grid-template-columns: minmax(150px, .75fr) minmax(185px, 1.25fr);
	align-items: center;
	gap: 18px;
	padding: 13px 17px;
	color: #fff;
	background: rgba(6,31,59,.88);
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 16px;
	box-shadow: 0 14px 32px rgba(8,46,87,.22);
	backdrop-filter: blur(10px);
}

.bir-hero__visual-meta p { margin: 0; color: #fff; font-size: 12px; line-height: 1.35; }
.bir-hero__visual-meta p:first-child { padding-right: 15px; border-right: 1px solid rgba(255,255,255,.22); }
.bir-hero__visual-meta small { display: block; margin-bottom: 1px; color: #9ce2ff; font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.bir-hero__visual-meta strong { display: block; color: #fff; font-size: 18px; line-height: 1.15; }
.bir-hero__visual-meta p:last-child { display: flex; align-items: center; gap: 8px; font-weight: 800; }
.bir-hero__visual-meta p:last-child span { display: grid; flex: 0 0 20px; place-items: center; width: 20px; height: 20px; background: var(--bir-green); border-radius: 50%; }

/* Trust block: keep the original seal sharp and proportionate. */
.bir-home-content #service td.mar > p:first-child { min-height: 138px; }
.bir-home-content #service td.mar > p:first-child img {
	display: block;
	width: min(100%, 215px) !important;
	height: auto !important;
	max-width: 215px !important;
	max-height: none !important;
	object-fit: contain !important;
}

/* Comparison CTA: one integrated premium panel, without the detached blue box. */
.bir-home-content .dsl-vergleich-neu {
	min-height: 370px;
	padding: 48px 350px 46px 48px;
	color: #fff;
	background:
		radial-gradient(circle at 83% 18%, rgba(39,174,228,.26), transparent 28%),
		linear-gradient(125deg, #082e57 0%, #0a416d 58%, #086e9f 100%) !important;
	border: 0;
	box-shadow: 0 24px 60px rgba(8,46,87,.19);
}

.bir-home-content .dsl-vergleich-neu::before {
	top: 46px;
	right: 305px;
	bottom: 46px;
	width: 1px;
	background: rgba(255,255,255,.2);
	border-radius: 0;
	box-shadow: none;
}

.bir-home-content .dsl-vergleich-neu::after {
	top: 50%;
	right: 38px;
	bottom: auto;
	width: 230px;
	content: "BIS ZU\A 650 €\A SPAREN";
	color: #ffb47f;
	background: transparent;
	font-size: 30px;
	font-weight: 950;
	line-height: .98;
	letter-spacing: -.025em;
	text-align: left;
	white-space: pre-line;
	transform: translateY(-50%);
}

.bir-home-content .dsl-vergleich-neu .check-title { color: #fff; font-size: clamp(30px, 3vw, 42px); }
.bir-home-content .dsl-vergleich-neu ul { margin: 22px 0 28px; color: rgba(255,255,255,.9); }
.bir-home-content .dsl-vergleich-neu li { margin: 9px 0; }
.bir-home-content .dsl-vergleich-neu li::before { color: #6ee7a6; }
.bir-home-content .dsl-vergleich-neu .button1 { max-width: 330px; }

/* Three concise process steps with no oversized legacy illustrations. */
.bir-home-content .dsl-vergleich-neu + div[style] {
	padding: 42px !important;
	background: linear-gradient(180deg, #f7fbfe 0%, #fff 100%) !important;
	border: 1px solid #dcebf3 !important;
	border-radius: 24px !important;
	box-shadow: 0 18px 48px rgba(8,46,87,.075) !important;
}

.bir-home-content .dsl-vergleich-neu + div[style] > h3 { margin-bottom: 34px; }
.bir-home-content .wrap { gap: 22px; }
.bir-home-content .wrap::before { top: 48px; left: 12%; right: 12%; background: linear-gradient(90deg, #64caee, #ff9b5a); }
.bir-home-content .wrap > div {
	min-height: 255px;
	padding: 79px 27px 28px;
	background: #fff;
	border: 0;
	border-top: 4px solid #59c3ea;
	border-radius: 17px;
	box-shadow: 0 12px 32px rgba(8,46,87,.08);
	font-size: 14px;
	line-height: 1.65;
	text-align: left;
}

.bir-home-content .wrap > div:nth-child(2) { border-top-color: #17ae74; }
.bir-home-content .wrap > div:nth-child(3) { border-top-color: var(--bir-orange); }
.bir-home-content .wrap > div::before {
	top: 22px;
	left: 27px;
	width: 38px;
	height: 38px;
	content: "0" counter(bir-step);
	background: var(--bir-blue);
	border: 0;
	box-shadow: 0 7px 18px rgba(0,116,200,.22);
	font-size: 13px;
}

.bir-home-content .wrap > div:nth-child(2)::before { background: #17ae74; }
.bir-home-content .wrap > div:nth-child(3)::before { background: var(--bir-orange); }
.bir-home-content .wrap img { display: none !important; }
.bir-home-content .wrap .num { margin: 0 0 12px; font-size: 20px; line-height: 1.3; text-align: left; }

/* Real service and provider images remain visible even with cache lazy-loading. */
.bir-home-content .service-neu > p:first-child { overflow: hidden; }
.bir-home-content .service-neu img {
	display: block;
	width: auto !important;
	height: auto !important;
	max-width: 72px !important;
	max-height: 72px !important;
	object-fit: contain;
}

.bir-home-content .ratgeber { min-height: 255px; }
.bir-home-content .ratgeber p:first-child { min-height: 62px; }
.bir-home-content .ratgeber p:first-child img {
	display: block;
	width: auto !important;
	height: auto !important;
	max-width: 168px !important;
	max-height: 54px !important;
	object-fit: contain;
}
.bir-home-content .ratgeber > img {
	display: block;
	width: 118px !important;
	height: auto !important;
	max-height: 28px !important;
	margin: 0 auto 16px !important;
	object-fit: contain;
}

@media (max-width: 1060px) {
	.bir-header { z-index: 60; }
	.bir-menu-toggle { position: relative; z-index: 63; border-radius: 12px; transition: background-color .2s ease, border-color .2s ease; }
	.bir-menu-toggle span:not(.screen-reader-text) { transition: transform .2s ease, opacity .2s ease; }
	.bir-menu-toggle[aria-expanded="true"] { background: var(--bir-navy); border-color: var(--bir-navy); }
	.bir-menu-toggle[aria-expanded="true"] span[aria-hidden="true"] { position: absolute; top: 22px; left: 12px; background: #fff; }
	.bir-menu-toggle[aria-expanded="true"] span[aria-hidden="true"]:nth-child(2) { transform: rotate(45deg); }
	.bir-menu-toggle[aria-expanded="true"] span[aria-hidden="true"]:nth-child(3) { opacity: 0; }
	.bir-menu-toggle[aria-expanded="true"] span[aria-hidden="true"]:nth-child(4) { transform: rotate(-45deg); }

	.bir-navigation {
		top: calc(100% + 10px);
		right: 14px;
		left: auto;
		z-index: 62;
		width: min(380px, calc(100vw - 28px));
		max-height: calc(100vh - 100px);
		padding: 12px;
		overflow-y: auto;
		background: rgba(255,255,255,.98);
		border: 1px solid #d6e7f0;
		border-radius: 18px;
		box-shadow: 0 24px 70px rgba(8,46,87,.24);
	}

	.bir-navigation__list,
	.bir-navigation__list ul { display: grid; gap: 5px !important; }
	.bir-navigation__list li { margin: 0 !important; }
	.bir-navigation__list a {
		padding: 13px 14px !important;
		background: #f5faff;
		border-radius: 10px;
		font-size: 15px;
		line-height: 1.25;
	}
	.bir-navigation__list a:hover { background: #e8f6fd; }
	.bir-navigation__list .astm-search-menu { display: none; }
	.bir-navigation__mobile-cta {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-top: 8px;
		padding: 14px 16px;
		color: #fff;
		background: var(--bir-orange);
		border-radius: 11px;
		font-size: 15px;
		font-weight: 850;
		text-decoration: none;
	}
	.bir-navigation__mobile-note { display: block; margin: 9px 0 2px; color: var(--bir-muted); font-size: 11px; text-align: center; }
	.bir-menu-backdrop { position: fixed; z-index: 55; inset: 0; background: rgba(5,31,59,.42); backdrop-filter: blur(3px); }
	.bir-menu-open { overflow: hidden; }
	.bir-menu-open .bir-menu-backdrop { display: block; }

	.bir-hero__content { width: 63%; padding-left: 34px; }
	.bir-hero__visual { width: 53%; }
	.bir-hero__visual-meta { left: 48px; grid-template-columns: 1fr; gap: 8px; }
	.bir-hero__visual-meta p:first-child { padding: 0 0 8px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
}

@media (max-width: 920px) {
	.bir-hero__shell { display: flex; min-height: 0; flex-direction: column; }
	.bir-hero__content { width: 100%; min-height: 0; padding: 40px 34px 32px; }
	.bir-hero__content::after { display: none; }
	.bir-hero__visual {
		position: relative;
		display: flex;
		width: 100%;
		min-height: 0;
		flex-direction: column;
	}
	.bir-hero__visual::before { bottom: auto; height: 90px; background: linear-gradient(180deg, #fff 0%, rgba(255,255,255,.72) 28%, transparent 100%); }
	.bir-hero__visual::after { bottom: 83px; }
	.bir-hero__visual img { height: 430px; object-position: 58% center; }
	.bir-hero__visual-meta {
		position: static;
		display: grid;
		grid-template-columns: 1fr 1.25fr;
		gap: 15px;
		padding: 17px 22px;
		background: var(--bir-navy);
		border: 0;
		border-radius: 0;
		box-shadow: none;
		backdrop-filter: none;
	}
	.bir-hero__visual-meta p:first-child { padding: 0 15px 0 0; border-right: 1px solid rgba(255,255,255,.22); border-bottom: 0; }

	.bir-home-content .dsl-vergleich-neu { padding-right: 315px; }
	.bir-home-content .dsl-vergleich-neu::before { right: 275px; }
	.bir-home-content .dsl-vergleich-neu::after { right: 27px; width: 215px; }
}

@media (max-width: 780px) {
	.bir-header__inner { min-height: 72px; }
	.custom-logo-link img,
	.bir-brand__image { max-width: min(220px, calc(100vw - 105px)); max-height: 49px; }
	.bir-menu-toggle { width: 48px; height: 48px; }
	.bir-navigation { right: 10px; width: calc(100vw - 20px); }

	.bir-hero { padding: 18px 0 32px; }
	.bir-hero__content { padding: 32px 21px 25px; }
	.bir-hero h1 { font-size: clamp(36px, 10.5vw, 47px); }
	.bir-checker { padding: 18px; }
	.bir-hero__visual img { height: 310px; object-position: 60% center; }
	.bir-hero__visual::before { height: 58px; }
	.bir-hero__visual::after { bottom: 116px; }
	.bir-hero__visual-meta { grid-template-columns: 1fr; gap: 9px; padding: 15px 18px 16px; }
	.bir-hero__visual-meta p:first-child { padding: 0 0 9px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }

	.bir-home-main { padding-top: 44px; }
	.bir-home-content > h2:first-child { font-size: clamp(29px, 8vw, 37px); }
	.bir-home-content #service td.mar { gap: 12px; padding: 15px !important; }
	.bir-home-content #service td.mar > p:first-child { min-height: 112px; padding: 14px; }
	.bir-home-content #service td.mar > p:first-child img { width: min(100%, 190px) !important; max-width: 190px !important; }
	.bir-home-content #service td.mar > p:not(:first-child) { padding: 18px 16px 18px 46px; }
	.bir-home-content #service td.mar > p:not(:first-child)::before { top: 18px; left: 15px; }

	.bir-home-content .dsl-vergleich-neu {
		min-height: 0;
		padding: 146px 24px 30px;
		border-radius: 20px;
	}
	.bir-home-content .dsl-vergleich-neu::before {
		top: 121px;
		right: 24px;
		bottom: auto;
		left: 24px;
		width: auto;
		height: 1px;
		background: rgba(255,255,255,.2);
	}
	.bir-home-content .dsl-vergleich-neu::after {
		top: 27px;
		right: 24px;
		left: 24px;
		width: auto;
		font-size: 27px;
		line-height: .98;
		text-align: left;
		transform: none;
	}
	.bir-home-content .dsl-vergleich-neu .button1,
	.bir-home-content .dsl-vergleich-neu .button1 a { width: 100%; max-width: none; }

	.bir-home-content .dsl-vergleich-neu + div[style] { padding: 28px 17px !important; }
	.bir-home-content .dsl-vergleich-neu + div[style] > h3 { margin-bottom: 24px; font-size: 30px; }
	.bir-home-content .wrap { gap: 14px; }
	.bir-home-content .wrap > div {
		min-height: 0;
		padding: 22px 20px 22px 72px;
		border-top-width: 0;
		border-left: 4px solid #59c3ea;
		font-size: 14px;
		line-height: 1.58;
		text-align: left;
	}
	.bir-home-content .wrap > div:nth-child(2) { border-left-color: #17ae74; }
	.bir-home-content .wrap > div:nth-child(3) { border-left-color: var(--bir-orange); }
	.bir-home-content .wrap > div::before { top: 23px; left: 18px; width: 37px; height: 37px; }
	.bir-home-content .wrap .num { margin: 0 0 8px; font-size: 18px; text-align: left; }

	.bir-home-content .service-neu {
		display: grid !important;
		grid-template-columns: 72px 1fr;
		align-items: center;
		gap: 11px 15px;
		min-height: 0 !important;
		padding: 22px 19px 20px !important;
		text-align: left;
	}
	.bir-home-content .service-neu > p:first-child { width: 72px; height: 72px; margin: 0 !important; border-radius: 20px; }
	.bir-home-content .service-neu img { max-width: 56px !important; max-height: 56px !important; }
	.bir-home-content .service-neu > p:nth-child(2) { margin: 0 !important; text-align: left !important; }
	.bir-home-content .service-neu > p:nth-child(3),
	.bir-home-content .service-neu .button1 { grid-column: 1 / -1; text-align: left !important; }
	.bir-home-content .service-neu > p:nth-child(3) { margin: 4px 0 5px !important; }

	.bir-home-content .ratgeber {
		display: grid !important;
		grid-template-columns: minmax(120px, 1fr) minmax(130px, .85fr);
		align-items: center;
		gap: 13px 18px;
		min-height: 0;
		padding: 23px 20px 20px;
	}
	.bir-home-content .ratgeber p:first-child { min-height: 52px; margin: 0; }
	.bir-home-content .ratgeber p:first-child img { max-width: 145px !important; max-height: 48px !important; }
	.bir-home-content .ratgeber > p:nth-child(2) { margin: 0 !important; }
	.bir-home-content .ratgeber > img { grid-column: 1 / -1; margin-bottom: 0 !important; }
	.bir-home-content .ratgeber .button4 { grid-column: 1 / -1; margin: 0; }
}

/* --------------------------------------------------------------------------
   Full-site refinement – version 0.5
   -------------------------------------------------------------------------- */

/* The desktop hero is wider and uses one controlled white-to-photo blend. */
.bir-hero > .bir-container { width: min(calc(100% - 32px), 1320px); }
.bir-hero__shell { min-height: 660px; }
.bir-hero__content {
	z-index: 3;
	width: 64%;
	min-height: 660px;
	padding: 48px 76px 38px 48px;
	background: linear-gradient(90deg, #fff 0%, #fff 72%, rgba(255,255,255,.96) 82%, rgba(255,255,255,.72) 91%, transparent 100%);
}
.bir-hero__content::after { display: none; }
.bir-hero__visual { z-index: 1; width: 59%; min-height: 660px; }
.bir-hero__visual::before {
	display: block;
	z-index: 2;
	background: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.7) 10%, rgba(255,255,255,.18) 24%, transparent 39%);
}
.bir-hero__visual::after { z-index: 2; background: linear-gradient(0deg, rgba(5,31,59,.28), transparent 24%); }
.bir-hero__visual img { object-position: 58% center; }
.bir-checker { width: min(100%, 690px); max-width: 690px; margin-top: 20px; }
.bir-hero__visual-meta {
	z-index: 5;
	right: 24px;
	left: auto;
	width: min(530px, calc(100% - 48px));
}

/* Provider carousel: full row on desktop, horizontal slider on phones. */
.bir-provider-carousel { position: relative; }
.bir-provider-carousel__button { display: none; }
.bir-provider-grid { scrollbar-width: none; }
.bir-provider-grid::-webkit-scrollbar { display: none; }

/* A consistent visual header for every internal page. */
.bir-page-header,
.bir-page-header--article {
	position: relative;
	max-width: none;
	margin: 0 0 46px;
	padding: 42px 46px;
	overflow: hidden;
	color: #fff;
	background:
		radial-gradient(circle at 88% 18%, rgba(39,174,228,.3), transparent 24%),
		linear-gradient(118deg, #082e57 0%, #0a4775 62%, #087aac 100%);
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 24px;
	box-shadow: 0 22px 56px rgba(8,46,87,.15);
}
.bir-page-header::after {
	position: absolute;
	right: -76px;
	bottom: -126px;
	width: 300px;
	height: 300px;
	content: "";
	background: rgba(255,255,255,.08);
	border: 42px solid rgba(255,255,255,.055);
	border-radius: 50%;
}
.bir-page-header h1,
.bir-page-header--article h1 { position: relative; z-index: 1; max-width: 980px; color: #fff; }
.bir-page-header .bir-eyebrow { position: relative; z-index: 1; color: #8ce0ff; }
.bir-page-header > p:not(.bir-eyebrow),
.bir-page-header .bir-article__meta { position: relative; z-index: 1; max-width: 760px; margin-bottom: 0; color: rgba(255,255,255,.82); }
.bir-main { padding-top: 34px; }
.bir-breadcrumbs { margin-bottom: 18px; }

/* Overview pages use the available width; legacy sidebars stay stored but hidden. */
.bir-layout--directory,
.bir-layout--page,
.bir-layout--article { display: block; }
.bir-layout--article { width: min(100%, 920px); margin-inline: auto; }
.bir-directory > h2 { margin: 0 0 25px; font-size: clamp(28px, 3vw, 39px); }
.bir-directory-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.bir-directory-card { border-radius: 18px; box-shadow: 0 12px 32px rgba(8,46,87,.075); }
.bir-directory-card__media { aspect-ratio: 16 / 9; }
.bir-directory-card__body { padding: 19px 20px 20px; }
.bir-directory-card__body h3 { margin: 0 0 9px; font-size: 19px; line-height: 1.3; }
.bir-directory-card__body time + h3 { margin-top: 7px; }
.bir-directory-card__body p { margin-bottom: 15px; font-size: 14px; line-height: 1.55; }
.bir-directory-card__link { font-size: 14px; }

/* Provider logos must remain fully visible inside their cards. */
.bir-directory-card.type-anbieter .bir-directory-card__media {
	aspect-ratio: 16 / 8;
	padding: 26px;
	background: linear-gradient(145deg, #f4fbff, #e6f5fc);
}
.bir-directory-card.type-anbieter .bir-directory-card__media img {
	width: 100%;
	height: 100%;
	max-width: 88%;
	max-height: 88%;
	object-fit: contain;
}

/* Legacy in-content tariff boxes become calm, consistent conversion panels. */
.bir-main .bir-prose .dsl-vergleich-neu,
.bir-main .bir-prose .dsl-vergleich-handy-neu,
.bir-main .bir-prose .dsl-vergleich {
	position: relative;
	min-height: 0;
	margin: 48px 0;
	padding: 36px 38px;
	overflow: hidden;
	color: #fff;
	background:
		radial-gradient(circle at 90% 10%, rgba(39,174,228,.3), transparent 28%),
		linear-gradient(125deg, #082e57, #0b517f 72%, #0781b5);
	border: 0;
	border-radius: 22px;
	box-shadow: 0 20px 50px rgba(8,46,87,.16);
}
.bir-main .bir-prose .dsl-vergleich-neu .check-title,
.bir-main .bir-prose .dsl-vergleich-handy-neu .check-title,
.bir-main .bir-prose .dsl-vergleich .check-title { color: #fff; font-size: clamp(27px, 3vw, 38px); font-weight: 900; line-height: 1.15; }
.bir-main .bir-prose .dsl-vergleich-neu ul,
.bir-main .bir-prose .dsl-vergleich-handy-neu ul,
.bir-main .bir-prose .dsl-vergleich ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 26px;
	max-width: none;
	margin: 22px 0 27px;
	padding: 0;
	color: rgba(255,255,255,.9);
	list-style: none;
}
.bir-main .bir-prose .dsl-vergleich-neu li,
.bir-main .bir-prose .dsl-vergleich-handy-neu li,
.bir-main .bir-prose .dsl-vergleich li { position: relative; margin: 0; padding-left: 25px; }
.bir-main .bir-prose .dsl-vergleich-neu li::before,
.bir-main .bir-prose .dsl-vergleich-handy-neu li::before,
.bir-main .bir-prose .dsl-vergleich li::before { position: absolute; left: 0; content: "✓"; color: #6ee7a6; font-weight: 900; }
.bir-main .bir-prose .dsl-vergleich-neu .desktop,
.bir-main .bir-prose .dsl-vergleich-handy-neu .desktop,
.bir-main .bir-prose .dsl-vergleich .desktop,
.bir-main .bir-prose .dsl-vergleich-neu > div[style*="clear"],
.bir-main .bir-prose .dsl-vergleich-handy-neu > div[style*="clear"],
.bir-main .bir-prose .dsl-vergleich > div[style*="clear"] { display: none; }
.bir-main .bir-prose .dsl-vergleich-neu .button1,
.bir-main .bir-prose .dsl-vergleich-handy-neu .button1,
.bir-main .bir-prose .dsl-vergleich .button1 { max-width: 330px; margin: 0; }
.bir-main .bir-prose .dsl-vergleich-neu .button1 a,
.bir-main .bir-prose .dsl-vergleich-handy-neu .button1 a,
.bir-main .bir-prose .dsl-vergleich .button1 a { width: 100%; min-height: 48px; color: #fff; background: var(--bir-orange); border: 0; border-radius: 10px; }

/* The recurring page CTA is now a contained premium panel instead of a flat bar. */
.bir-final-cta { padding: 48px 0; background: linear-gradient(180deg, #fff, #edf8fe); }
.bir-final-cta__inner {
	position: relative;
	padding: 39px 44px;
	overflow: hidden;
	color: #fff;
	background:
		radial-gradient(circle at 84% 10%, rgba(39,174,228,.32), transparent 29%),
		linear-gradient(118deg, #082e57, #0a4775 64%, #087eae);
	border: 1px solid rgba(255,255,255,.14);
	border-radius: 24px;
	box-shadow: 0 22px 58px rgba(8,46,87,.17);
}
.bir-final-cta__inner::after { position: absolute; right: 28%; bottom: -110px; width: 260px; height: 260px; content: ""; border: 48px solid rgba(255,255,255,.055); border-radius: 50%; }
.bir-final-cta__inner > * { position: relative; z-index: 1; }
.bir-final-cta .bir-button { min-width: 245px; border-radius: 999px; }

@media (max-width: 1120px) {
	.bir-hero__content { width: 65%; padding-inline: 36px 70px; }
	.bir-hero__visual { width: 57%; }
	.bir-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 920px) {
	.bir-hero > .bir-container { width: min(calc(100% - 24px), 760px); }
	.bir-hero__shell { min-height: 0; }
	.bir-hero__content {
		width: 100%;
		min-height: 0;
		padding: 38px 32px 31px;
		background: #fff;
	}
	.bir-hero__visual { width: 100%; min-height: 0; }
	.bir-hero__visual::before,
	.bir-hero__visual::after { display: none; }
	.bir-hero__visual img { height: 390px; object-position: 58% center; }
	.bir-hero__visual-meta { position: static; width: 100%; border-radius: 0; }
	.bir-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 780px) {
	.bir-hero { padding: 12px 0 28px; }
	.bir-hero > .bir-container { width: min(calc(100% - 20px), 620px); }
	.bir-hero__shell { border-radius: 18px; }
	.bir-hero__content { padding: 29px 20px 24px; }
	.bir-hero__visual img { height: 300px; object-position: 57% center; }
	.bir-hero__visual-meta { padding: 16px 18px 17px; }

	.bir-provider-strip { padding: 27px 0 31px; overflow: hidden; }
	.bir-provider-strip .bir-container { width: 100%; }
	.bir-section-kicker { padding-inline: 50px; font-size: 19px; line-height: 1.35; }
	.bir-provider-carousel { padding-inline: 39px; }
	.bir-provider-grid {
		display: flex;
		gap: 10px;
		overflow-x: auto;
		overscroll-behavior-inline: contain;
		scroll-behavior: smooth;
		scroll-snap-type: x mandatory;
	}
	.bir-provider { flex: 0 0 112px; min-height: 74px; padding: 10px; background: #f7fbfe; border: 1px solid #e0edf4; border-radius: 13px; scroll-snap-align: start; }
	.bir-provider img { max-width: 94px; max-height: 39px; object-fit: contain; }
	.bir-provider-carousel__button {
		position: absolute;
		top: 50%;
		z-index: 2;
		display: grid;
		place-items: center;
		width: 32px;
		height: 44px;
		padding: 0;
		color: #fff;
		background: var(--bir-navy);
		border: 0;
		border-radius: 10px;
		box-shadow: 0 8px 20px rgba(8,46,87,.18);
		font-size: 26px;
		line-height: 1;
		transform: translateY(-50%);
	}
	.bir-provider-carousel__button--prev { left: 3px; }
	.bir-provider-carousel__button--next { right: 3px; }

	.bir-main { padding-top: 22px; }
	.bir-breadcrumbs { margin-bottom: 13px; font-size: 12px; }
	.bir-page-header,
	.bir-page-header--article { margin-bottom: 31px; padding: 28px 23px 30px; border-radius: 19px; }
	.bir-page-header h1,
	.bir-page-header--article h1 { font-size: clamp(34px, 10vw, 45px); }
	.bir-page-header > p:not(.bir-eyebrow) { margin-top: 12px; font-size: 17px; }
	.bir-directory > h2 { margin-bottom: 20px; font-size: 29px; }
	.bir-directory-grid { grid-template-columns: 1fr; gap: 17px; }
	.bir-directory-card__body { padding: 18px; }
	.bir-directory-card__body h3 { font-size: 19px; }

	.bir-main .bir-prose .dsl-vergleich-neu,
	.bir-main .bir-prose .dsl-vergleich-handy-neu,
	.bir-main .bir-prose .dsl-vergleich { margin: 38px 0; padding: 28px 22px; border-radius: 18px; }
	.bir-main .bir-prose .dsl-vergleich-neu ul,
	.bir-main .bir-prose .dsl-vergleich-handy-neu ul,
	.bir-main .bir-prose .dsl-vergleich ul { grid-template-columns: 1fr; gap: 8px; }
	.bir-main .bir-prose .dsl-vergleich-neu .button1,
	.bir-main .bir-prose .dsl-vergleich-handy-neu .button1,
	.bir-main .bir-prose .dsl-vergleich .button1 { max-width: none; }

	.bir-final-cta { padding: 35px 0; }
	.bir-final-cta__inner { align-items: stretch; padding: 29px 23px; text-align: left; border-radius: 19px; }
	.bir-final-cta .bir-button { width: 100%; min-width: 0; }
}

/* --------------------------------------------------------------------------
   Internal pages and provider reviews – version 0.6
   -------------------------------------------------------------------------- */

/* Full-width internal header; breadcrumbs deliberately sit below it. */
.bir-main { padding-top: 0; }
.bir-page-header,
.bir-page-header--article {
	width: 100%;
	margin: 0;
	padding: 0;
	border-right: 0;
	border-left: 0;
	border-radius: 0;
	background:
		radial-gradient(circle at 84% 15%, rgba(83,203,242,.28), transparent 25%),
		linear-gradient(112deg, #061f3b 0%, #083f6d 58%, #087ead 100%);
	box-shadow: inset 0 -1px rgba(255,255,255,.1), 0 18px 46px rgba(8,46,87,.13);
}
.bir-page-header__inner {
	position: relative;
	z-index: 1;
	padding-block: clamp(42px, 5vw, 68px);
}
.bir-page-header::before {
	position: absolute;
	inset: 0;
	content: "";
	background-image:
		linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
		linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
	background-size: 48px 48px;
	mask-image: linear-gradient(90deg, transparent, #000 55%);
}
.bir-page-header::after { right: 5%; bottom: -190px; width: 390px; height: 390px; }
.bir-page-header h1,
.bir-page-header--article h1 { max-width: 1050px; font-size: clamp(40px, 4.5vw, 64px); }
.bir-main > .bir-container > .bir-breadcrumbs {
	margin: 0 0 38px;
	padding-top: 21px;
	color: var(--bir-muted);
}

/* Provider overview: logos remain large, centred and untouched by cropping. */
.bir-directory-card.type-anbieter .bir-directory-card__media {
	display: grid;
	place-items: center;
	min-height: 190px;
	aspect-ratio: auto;
	padding: 24px;
	background:
		radial-gradient(circle at 50% 40%, #fff 0%, rgba(255,255,255,.88) 34%, transparent 70%),
		linear-gradient(145deg, #f5fbff, #e4f4fb);
}
.bir-directory-card.type-anbieter .bir-directory-card__media img {
	width: 76% !important;
	height: 118px !important;
	max-width: min(86%, 270px) !important;
	max-height: 118px !important;
	margin: auto !important;
	object-fit: contain !important;
	object-position: center !important;
	transform: scale(1.25);
}
.bir-directory-card.type-anbieter:hover .bir-directory-card__media img { transform: scale(1.3); }

/* Provider single: compact logo plate and a controlled editorial hero image. */
.single-anbieter .bir-layout--article { width: min(100%, 960px); }
.single-anbieter .bir-provider-review__logo {
	display: grid;
	place-items: center;
	width: min(100%, 390px);
	min-height: 164px;
	margin: 0 auto 34px;
	padding: 30px 38px;
	background: linear-gradient(145deg, #fff, #eff9fe);
	border: 1px solid #d5e9f3;
	border-radius: 22px;
	box-shadow: 0 16px 38px rgba(8,46,87,.09);
}
.single-anbieter .bir-provider-review__logo img {
	width: min(100%, 260px) !important;
	height: 102px !important;
	max-width: 100% !important;
	max-height: 102px !important;
	margin: auto !important;
	object-fit: contain !important;
	transform: scale(1.28);
}
.single-anbieter .bir-article > img:first-of-type {
	width: 100%;
	max-height: 470px;
	margin: 0 0 32px;
	object-fit: cover;
	object-position: center;
	border: 1px solid #d7e6ee;
	border-radius: 24px;
	box-shadow: 0 20px 48px rgba(8,46,87,.12);
}
.single-anbieter .bir-article > p:has(> img.alignnone.size-full) { margin: 0 0 32px; }
.single-anbieter .bir-article > p:has(> img.alignnone.size-full) > img {
	width: 100%;
	max-height: 470px;
	margin: 0;
	object-fit: cover;
	object-position: center;
	border: 1px solid #d7e6ee;
	border-radius: 24px;
	box-shadow: 0 20px 48px rgba(8,46,87,.12);
}

/* Historic provider score markup rendered as an accessible visual scorecard. */
.single-anbieter .rating-2 {
	display: grid;
	gap: 0;
	margin: 34px 0;
	padding: 14px 30px;
	background: linear-gradient(145deg, #f8fcff, #edf8fe);
	border: 1px solid #cfe5f0;
	border-radius: 22px;
	box-shadow: 0 15px 38px rgba(8,46,87,.08);
}
.single-anbieter .rating-2 > .row,
.single-anbieter .rating-2 > .row-2 {
	display: grid;
	grid-template-columns: minmax(230px, .46fr) 1fr;
	align-items: center;
	gap: 24px;
	min-height: 73px;
	padding: 12px 0;
	border-bottom: 1px solid #dbeaf2;
}
.single-anbieter .rating-2 > :last-child { border-bottom: 0; }
.single-anbieter .rating-2 .col-1 {
	display: grid;
	grid-template-columns: 31px minmax(0, 1fr) auto;
	align-items: center;
	gap: 11px;
	color: var(--bir-navy);
	font-weight: 850;
}
.single-anbieter .rating-2 .col-1 > img {
	width: 27px !important;
	height: 27px !important;
	margin: 0 !important;
	object-fit: contain;
}
.single-anbieter .rating-2 .col-1 > p { display: none; }
.single-anbieter .rating-2 .col-2 {
	justify-self: end;
	padding: 4px 10px;
	color: #0b6d48;
	background: #e9f8f1;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 900;
}
.single-anbieter .rating-2 .col-3 { min-width: 0; }
.single-anbieter .rating-2 .progress {
	width: 100%;
	height: 13px;
	overflow: hidden;
	background: #d9e8f0;
	border-radius: 999px;
	box-shadow: inset 0 1px 2px rgba(8,46,87,.08);
}
.single-anbieter .rating-2 .progress-2 {
	height: 100%;
	background: linear-gradient(90deg, var(--bir-cyan), #12a66a);
	border-radius: inherit;
	box-shadow: 0 0 0 1px rgba(255,255,255,.22) inset;
}

/* Key-takeaway box used throughout the provider tests. */
.bir-prose .wichtigste-punkte {
	position: relative;
	margin: 34px 0 42px;
	padding: 28px 31px;
	overflow: hidden;
	background:
		radial-gradient(circle at 96% 0%, rgba(39,174,228,.18), transparent 31%),
		linear-gradient(145deg, #f5fbff, #fff);
	border: 1px solid #cfe5f0;
	border-top: 5px solid var(--bir-cyan);
	border-radius: 20px;
	box-shadow: 0 16px 38px rgba(8,46,87,.08);
}
.bir-prose .wichtigste-punkte .title {
	margin: 0 0 17px;
	color: var(--bir-navy);
	font-size: clamp(22px, 2.5vw, 29px);
	font-weight: 900;
	line-height: 1.25;
}
.bir-prose .wichtigste-punkte ul { margin: 0; padding: 0; list-style: none; }
.bir-prose .wichtigste-punkte li { position: relative; margin: 0; padding: 9px 0 9px 31px; }
.bir-prose .wichtigste-punkte li + li { border-top: 1px solid #e1edf3; }
.bir-prose .wichtigste-punkte li::before {
	position: absolute;
	top: 11px;
	left: 0;
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	content: "✓";
	color: #fff;
	background: var(--bir-green);
	border-radius: 50%;
	font-size: 12px;
	font-weight: 900;
}

/* Strong conversion treatment for every historic in-content CTA. */
.bir-main .bir-prose .dsl-vergleich-neu,
.bir-main .bir-prose .dsl-vergleich-handy-neu,
.bir-main .bir-prose .dsl-vergleich {
	min-height: 310px;
	padding: 42px 300px 42px 42px;
	background:
		linear-gradient(135deg, rgba(39,174,228,.12), transparent 40%),
		linear-gradient(118deg, #061f3b, #083f6d 68%, #087ead);
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 26px;
	box-shadow: 0 24px 58px rgba(8,46,87,.2);
}
.bir-main .bir-prose .dsl-vergleich-neu::before,
.bir-main .bir-prose .dsl-vergleich-handy-neu::before,
.bir-main .bir-prose .dsl-vergleich::before {
	position: absolute;
	top: 50%;
	right: 45px;
	width: 205px;
	height: 205px;
	content: "";
	background: linear-gradient(145deg, #ff812f, var(--bir-orange));
	border: 10px solid rgba(255,255,255,.13);
	border-radius: 50%;
	box-shadow: 0 18px 40px rgba(0,0,0,.22);
	transform: translateY(-50%);
}
.bir-main .bir-prose .dsl-vergleich-neu::after,
.bir-main .bir-prose .dsl-vergleich-handy-neu::after,
.bir-main .bir-prose .dsl-vergleich::after {
	position: absolute;
	top: 50%;
	right: 65px;
	width: 165px;
	content: "BIS ZU\A 650 €\A SPAREN";
	color: #fff;
	font-size: 27px;
	font-weight: 950;
	line-height: 1.08;
	text-align: center;
	white-space: pre;
	text-shadow: 0 2px 10px rgba(116,38,0,.18);
	transform: translateY(-50%);
}
.bir-main .bir-prose .dsl-vergleich-neu > *,
.bir-main .bir-prose .dsl-vergleich-handy-neu > *,
.bir-main .bir-prose .dsl-vergleich > * { position: relative; z-index: 1; }
.bir-main .bir-prose .dsl-vergleich-neu .button1 a,
.bir-main .bir-prose .dsl-vergleich-handy-neu .button1 a,
.bir-main .bir-prose .dsl-vergleich .button1 a {
	min-height: 56px;
	padding-inline: 24px;
	border-radius: 999px;
	box-shadow: 0 12px 28px rgba(255,106,19,.3);
}

/* Footer CTA: a second, visually distinct conversion moment. */
.bir-final-cta { padding: 56px 0; }
.bir-final-cta__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 275px;
	align-items: center;
	gap: 46px;
	padding: 48px 54px;
}
.bir-final-cta__copy { max-width: 710px; }
.bir-final-cta__eyebrow { margin: 0 0 9px !important; color: #8ce0ff; font-size: 13px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.bir-final-cta__benefits { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 22px 0 0; padding: 0; list-style: none; }
.bir-final-cta__benefits li { position: relative; padding-left: 23px; font-size: 14px; }
.bir-final-cta__benefits li::before { position: absolute; left: 0; content: "✓"; color: #78efad; font-weight: 900; }
.bir-final-cta__action { position: relative; z-index: 2; display: grid; gap: 18px; justify-items: stretch; }
.bir-final-cta__saving {
	display: grid;
	place-items: center;
	min-height: 126px;
	padding: 18px;
	color: #fff;
	background: linear-gradient(145deg, #ff812f, var(--bir-orange));
	border: 8px solid rgba(255,255,255,.12);
	border-radius: 28px 28px 28px 8px;
	box-shadow: 0 18px 36px rgba(0,0,0,.2);
	text-align: center;
}
.bir-final-cta__saving small { display: block; font-size: 11px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.bir-final-cta__saving strong { display: block; font-size: 29px; line-height: 1.08; }
.bir-final-cta__action .bir-button { width: 100%; min-width: 0; min-height: 55px; background: #fff; color: var(--bir-navy); box-shadow: 0 12px 30px rgba(0,0,0,.2); }
.bir-final-cta__action .bir-button:hover { color: var(--bir-navy); background: #f6fbfe; }

/* wpDiscuz compatibility: constrain legacy inline SVGs and restore compact cards. */
.bir-comments { margin-top: 70px; padding-top: 36px; border-top: 1px solid var(--bir-border); }
.bir-comments > h2 { margin-top: 0; }
#wpd-post-rating {
	margin: 24px 0 32px !important;
	padding: 22px 24px !important;
	background: linear-gradient(145deg, #f7fbfe, #edf8fe);
	border: 1px solid #d4e7f0;
	border-radius: 16px;
}
#wpd-post-rating .wpd-rating-wrap,
#wpd-post-rating .wpd-rating-data { width: 100% !important; height: auto !important; }
#wpd-post-rating .wpd-rating-data {
	display: grid !important;
	grid-template-columns: auto minmax(150px, 1fr) auto;
	align-items: center;
	gap: 8px 16px;
}
#wpd-post-rating .wpd-rating-value { display: flex !important; align-items: baseline; gap: 5px; width: auto !important; height: auto !important; color: var(--bir-navy); }
#wpd-post-rating .wpd-rating-title { width: auto !important; height: auto !important; color: var(--bir-navy); font-weight: 800; }
#wpd-post-rating .wpd-rating-stars {
	display: flex !important;
	align-items: center;
	justify-content: flex-end;
	gap: 3px;
	width: auto !important;
	height: auto !important;
}
#wpd-post-rating .wpd-rate-starts { display: none !important; }
#wpd-post-rating svg {
	display: inline-block !important;
	width: 31px !important;
	height: 31px !important;
	max-width: 31px !important;
	max-height: 31px !important;
}
#wpd-post-rating .wpd-star { fill: #c8d5dd; }
#wpd-post-rating .wpd-star.wpd-active { fill: #ffae00; }
#wpdcom { max-width: 100% !important; margin: 26px 0 0 !important; color: var(--bir-text); font-family: inherit !important; }
#wpdcom svg,
#wpdcom svg.svg-inline--fa {
	display: inline-block !important;
	width: 1em !important;
	height: 1em !important;
	max-width: 1em !important;
	max-height: 1em !important;
	overflow: visible !important;
	vertical-align: -.125em;
}
#wpdcom .wpd-form-wrap {
	height: auto !important;
	margin: 0 0 34px !important;
	padding: 24px !important;
	background: #f7fbfe;
	border: 1px solid #d6e8f1;
	border-radius: 18px;
}
#wpdcom .wpd-form,
#wpdcom .wpd_comm_form,
#wpdcom .wpd-field-comment,
#wpdcom .wpdiscuz-item,
#wpdcom .wpdiscuz-textarea-wrap { width: 100% !important; height: auto !important; }
#wpdcom .ql-container,
#wpdcom .ql-toolbar { width: 100% !important; border-color: #c9dce7 !important; background: #fff; }
#wpdcom .ql-editor { min-height: 90px !important; }
#wpdcom .wpd-thread-wrapper,
#wpdcom .wpd-thread-list { width: 100% !important; height: auto !important; }
#wpdcom .wpd-thread-head { display: flex !important; align-items: center; justify-content: space-between; width: 100% !important; height: auto !important; margin: 0 0 16px; }
#wpdcom .wpd-comment {
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 0 16px !important;
}
#wpdcom .wpd-comment-wrap,
#wpdcom .wpd-comment-right {
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
}
#wpdcom .wpd-comment-right {
	padding: 20px 22px !important;
	background: #fff;
	border: 1px solid #d8e7ef;
	border-radius: 16px;
	box-shadow: 0 10px 28px rgba(8,46,87,.06);
}
#wpdcom .wpd-comment-header {
	display: grid !important;
	grid-template-columns: 48px minmax(0, 1fr) auto;
	align-items: center;
	gap: 13px;
	width: 100% !important;
	height: auto !important;
	min-height: 48px;
}
#wpdcom .wpd-comment-header:not(:has(.wpd-avatar)) { grid-template-columns: minmax(0, 1fr) auto; }
#wpdcom .wpd-comment-header:not(:has(.wpd-avatar)) .wpd-user-info { width: auto !important; }
#wpdcom .wpd-avatar { width: 48px !important; height: 48px !important; }
#wpdcom .wpd-avatar img { width: 48px !important; height: 48px !important; border-radius: 50%; object-fit: cover; }
#wpdcom .wpd-user-info,
#wpdcom .wpd-uinfo-top,
#wpdcom .wpd-uinfo-bottom,
#wpdcom .wpd-comment-author,
#wpdcom .wpd-comment-date { width: auto !important; height: auto !important; }
#wpdcom .wpd-comment-text { width: 100% !important; height: auto !important; margin: 14px 0 10px; }
#wpdcom .wpd-comment-text p { width: auto !important; height: auto !important; margin: 0; }
#wpdcom .wpd-comment-footer {
	display: flex !important;
	align-items: center;
	gap: 16px;
	width: 100% !important;
	height: auto !important;
	min-height: 28px;
}
#wpdcom .wpd-vote,
#wpdcom .wpd-vote-up,
#wpdcom .wpd-vote-down,
#wpdcom .wpd-vote-result,
#wpdcom .wpd-reply-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	height: auto !important;
	min-height: 24px !important;
}
#wpdcom .wpd-vote { gap: 7px; }
#wpdcom .wpd-vote svg,
#wpdcom .wpd-reply-button svg {
	width: 14px !important;
	height: 14px !important;
	max-width: 14px !important;
	max-height: 14px !important;
	flex: 0 0 14px;
	overflow: hidden !important;
}

@media (max-width: 780px) {
	.bir-page-header__inner { padding-block: 35px 38px; }
	.bir-page-header,
	.bir-page-header--article { border-radius: 0; }
	.bir-page-header h1,
	.bir-page-header--article h1 { font-size: clamp(32px, 9.5vw, 44px); line-height: 1.07; }
	.bir-main > .bir-container > .bir-breadcrumbs { margin-bottom: 28px; padding-top: 16px; }
	.bir-directory-card.type-anbieter .bir-directory-card__media { min-height: 170px; }
	.single-anbieter .bir-provider-review__logo { min-height: 138px; margin-bottom: 24px; padding: 25px 30px; border-radius: 18px; }
	.single-anbieter .bir-provider-review__logo img { max-height: 82px !important; }
	.single-anbieter .bir-article > img:first-of-type { max-height: 300px; margin-bottom: 25px; border-radius: 18px; }
	.single-anbieter .bir-article > p:has(> img.alignnone.size-full) { margin-bottom: 25px; }
	.single-anbieter .bir-article > p:has(> img.alignnone.size-full) > img { max-height: 300px; border-radius: 18px; }
	.single-anbieter .rating-2 { padding: 8px 18px; border-radius: 18px; }
	.single-anbieter .rating-2 > .row,
	.single-anbieter .rating-2 > .row-2 { grid-template-columns: 1fr; gap: 10px; padding: 16px 0; }
	.single-anbieter .rating-2 .col-1 { grid-template-columns: 29px minmax(0, 1fr) auto; }
	.bir-prose .wichtigste-punkte { padding: 23px 20px; border-radius: 17px; }
	.bir-main .bir-prose .dsl-vergleich-neu,
	.bir-main .bir-prose .dsl-vergleich-handy-neu,
	.bir-main .bir-prose .dsl-vergleich { min-height: 0; padding: 188px 22px 27px; border-radius: 20px; }
	.bir-main .bir-prose .dsl-vergleich-neu::before,
	.bir-main .bir-prose .dsl-vergleich-handy-neu::before,
	.bir-main .bir-prose .dsl-vergleich::before { top: 24px; right: 22px; left: 22px; width: auto; height: 132px; border-width: 7px; border-radius: 18px 18px 18px 6px; transform: none; }
	.bir-main .bir-prose .dsl-vergleich-neu::after,
	.bir-main .bir-prose .dsl-vergleich-handy-neu::after,
	.bir-main .bir-prose .dsl-vergleich::after { top: 53px; right: 42px; width: calc(100% - 84px); font-size: 25px; transform: none; }
	.bir-final-cta { padding: 38px 0; }
	.bir-final-cta__inner { grid-template-columns: 1fr; gap: 27px; padding: 31px 23px; }
	.bir-final-cta__benefits { display: grid; gap: 8px; }
	.bir-final-cta__action { width: 100%; }
	.bir-final-cta__saving { min-height: 110px; border-radius: 22px 22px 22px 7px; }
	#wpd-post-rating { padding: 18px !important; }
	#wpd-post-rating .wpd-rating-data { grid-template-columns: 1fr; }
	#wpd-post-rating .wpd-rating-stars { justify-content: flex-start; }
	#wpdcom .wpd-form-wrap { padding: 17px !important; }
	#wpdcom .wpd-comment-right { padding: 16px !important; }
	#wpdcom .wpd-comment-header { grid-template-columns: 42px minmax(0, 1fr); }
	#wpdcom .wpd-avatar,
	#wpdcom .wpd-avatar img { width: 42px !important; height: 42px !important; }
	#wpdcom .wpd-comment-link { display: none !important; }
}

/* ========================================================================== */
/* 0.7.0 — editorial images, directories, FAQs and homepage news              */
/* ========================================================================== */

/* The featured image is only a listing thumbnail. Single pages display only
   images deliberately placed in the editor content. */
.single .bir-article__image,
.single .bir-provider-review__logo { display: none; }

/* Preserve the real ratio of editorial provider screenshots instead of
   cropping them into an artificial banner. */
.single-anbieter .bir-article > img:first-of-type,
.single-anbieter .bir-article > p:has(> img.alignnone.size-full) > img {
	display: block;
	width: 100% !important;
	height: auto !important;
	max-height: none !important;
	object-fit: contain !important;
	object-position: center !important;
	background: #f5f9fc;
}

/* Clearly distinguish provider advantages and disadvantages. */
.bir-prose ul:has(> li.plus),
.bir-prose ul:has(> li.minus) {
	display: grid;
	gap: 10px;
	margin: 24px 0 31px;
	padding: 18px;
	list-style: none;
	background: #fff;
	border: 1px solid #dce9ef;
	border-radius: 18px;
	box-shadow: 0 12px 30px rgba(8,46,87,.07);
}
.bir-prose ul:has(> li.plus) { border-top: 5px solid #16a66a; }
.bir-prose ul:has(> li.minus) { border-top: 5px solid #df4c52; }
.bir-prose li.plus,
.bir-prose li.minus {
	position: relative;
	margin: 0;
	padding: 14px 16px 14px 58px;
	border: 1px solid transparent;
	border-radius: 13px;
	font-size: 17px;
	line-height: 1.5;
}
.bir-prose li.plus { color: #075f3e; background: #eefaf4; border-color: #ccecdf; }
.bir-prose li.minus { color: #8a252a; background: #fff3f3; border-color: #f2d0d2; }
.bir-prose li.plus::before,
.bir-prose li.minus::before {
	position: absolute;
	top: 12px;
	left: 14px;
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	color: #fff;
	border-radius: 50%;
	font-size: 24px;
	font-weight: 900;
	line-height: 1;
}
.bir-prose li.plus::before { content: "+"; background: #16a66a; }
.bir-prose li.minus::before { content: "−"; background: #df4c52; }

/* Listing media follows the actual type of content instead of one crop for
   every directory. */
.bir-directory-card--anbieter-kuendigen .bir-directory-card__media,
.bir-directory-card--anbieter-speedtest .bir-directory-card__media {
	min-height: 190px;
	aspect-ratio: 16 / 8;
	padding: 18px 24px;
	background: linear-gradient(145deg, #f5fbff, #e9f6fc);
}
.bir-directory-card--anbieter-kuendigen .bir-directory-card__media img,
.bir-directory-card--anbieter-speedtest .bir-directory-card__media img {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 154px !important;
	margin: auto !important;
	object-fit: contain !important;
	object-position: center !important;
	transform: none;
}
.bir-directory-card--anbieter-kuendigen:hover .bir-directory-card__media img,
.bir-directory-card--anbieter-speedtest:hover .bir-directory-card__media img { transform: scale(1.025); }

.bir-directory-card--staedte .bir-directory-card__media,
.bir-directory-card--news .bir-directory-card__media { aspect-ratio: 3 / 2; }
.bir-directory-card--ratgeber .bir-directory-card__media,
.bir-directory-card--aktuelles .bir-directory-card__media { aspect-ratio: 4 / 3; }
.bir-directory-card--staedte .bir-directory-card__media img,
.bir-directory-card--news .bir-directory-card__media img,
.bir-directory-card--ratgeber .bir-directory-card__media img,
.bir-directory-card--aktuelles .bir-directory-card__media img { object-position: center; }

/* Provider/logo directories: generous, truly centred logo areas. */
.bir-directory-card.type-anbieter.bir-directory-card--anbieter .bir-directory-card__media {
	display: grid;
	place-items: center;
	min-height: 205px;
	padding: 20px;
}
.bir-directory-card.type-anbieter.bir-directory-card--anbieter .bir-directory-card__media img {
	width: 82% !important;
	height: 132px !important;
	max-width: 310px !important;
	max-height: 132px !important;
	margin: auto !important;
	object-fit: contain !important;
	object-position: center !important;
	transform: scale(1.25);
}
.bir-directory-card.type-anbieter.bir-directory-card--anbieter:hover .bir-directory-card__media img { transform: scale(1.29); }

/* Historic two-column advantages table. Keep this deliberately limited to
   actual plus/minus tables; ordinary tariff and data tables use the neutral
   table design above. */
.bir-prose .table-out:has(table.tab li.plus, table.tab li.minus) {
	width: 100%;
	max-width: 100%;
	margin: 31px 0 39px;
	overflow: visible;
}
.bir-prose .table-out table.tab:has(li.plus, li.minus) {
	width: 100%;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 14px 0;
	background: transparent;
}
.bir-prose .table-out table.tab:has(li.plus, li.minus) th {
	padding: 17px 20px;
	color: #fff;
	border: 0;
	font-size: 19px;
	font-weight: 900;
}
.bir-prose .table-out table.tab:has(li.plus, li.minus) th:first-child { background: #10865a; border-radius: 15px 15px 0 0; }
.bir-prose .table-out table.tab:has(li.plus, li.minus) th:last-child { background: #bd3940; border-radius: 15px 15px 0 0; }
.bir-prose .table-out table.tab:has(li.plus, li.minus) td {
	vertical-align: top;
	padding: 15px;
	border: 1px solid #dce9ef;
	border-top: 0;
	border-radius: 0 0 15px 15px;
}
.bir-prose .table-out table.tab:has(li.plus, li.minus) td:first-child { background: #f1faf6; border-color: #c7e8da; }
.bir-prose .table-out table.tab:has(li.plus, li.minus) td:last-child { background: #fff5f5; border-color: #efd0d2; }
.bir-prose .table-out table.tab:has(li.plus, li.minus) ul:has(> li.plus),
.bir-prose .table-out table.tab:has(li.plus, li.minus) ul:has(> li.minus) {
	gap: 9px;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

/* Wide comparison tables remain ordinary tables. On small screens only their
   own wrapper scrolls, so they cannot widen the complete page. */
.bir-prose .table-out:not(:has(table.tab li.plus, table.tab li.minus)) {
	height: auto;
	max-width: 100%;
	max-height: none;
	margin: 30px 0;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
}

/* Homepage latest content: remove the inherited legacy shell and use three
   equal cards. News shows the publication date; guides intentionally do not. */
.bir-home-content > div:has(> h3 + .big-latest-posts) {
	margin: 72px 0 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
.bir-home-content > div:has(> h3 + .big-latest-posts) > h3 {
	margin: 0 0 25px;
	color: var(--bir-navy);
	font-size: clamp(29px, 3vw, 40px);
	line-height: 1.15;
}
.bir-home-content .big-latest-posts {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}
.bir-home-content .big-latest-posts + div[style*="clear"] { display: none; }
.bir-card__date {
	display: inline-flex;
	align-self: flex-start;
	margin: 0 0 10px;
	padding: 5px 10px;
	color: #0b5e91;
	background: #eaf7fd;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
}
.bir-card__date + .bir-card__title { margin-top: 0; }

/* Table of Contents Plus: full-width, readable and consistent with the page. */
#toc_container,
.toc_container,
#ez-toc-container,
.lwptoc .lwptoc_i {
	display: block !important;
	width: 100% !important;
	margin: 28px 0 40px !important;
	padding: 22px 24px !important;
	background: linear-gradient(145deg, #f7fcff, #edf8fe) !important;
	border: 1px solid #cfe5f0 !important;
	border-left: 5px solid var(--bir-cyan) !important;
	border-radius: 17px !important;
	box-shadow: 0 12px 30px rgba(8,46,87,.07) !important;
}
#toc_container .toc_title,
.toc_container .toc_title,
#ez-toc-container .ez-toc-title-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin: 0 !important;
	color: var(--bir-navy);
	font-size: 18px;
	font-weight: 900;
	text-align: left !important;
}
#toc_container .toc_toggle a,
.toc_container .toc_toggle a,
#ez-toc-container .ez-toc-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 6px 12px;
	color: var(--bir-blue) !important;
	background: #fff;
	border: 1px solid #badce9;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
	text-decoration: none;
}
#toc_container .toc_brackets,
.toc_container .toc_brackets { display: none; }
#toc_container .toc_list,
.toc_container .toc_list,
#ez-toc-container nav > ul,
.lwptoc .lwptoc_i > ul {
	margin: 18px 0 0 !important;
	padding: 17px 0 0 !important;
	border-top: 1px solid #d8eaf2;
	list-style: none !important;
}
#toc_container .toc_list li,
.toc_container .toc_list li,
#ez-toc-container li,
.lwptoc li { margin: 0 0 8px !important; padding: 0 !important; }
#toc_container .toc_list a,
.toc_container .toc_list a,
#ez-toc-container a,
.lwptoc a { color: #174568; font-weight: 650; text-decoration: none; }
#toc_container .toc_list a:hover,
.toc_container .toc_list a:hover,
#ez-toc-container a:hover,
.lwptoc a:hover { color: var(--bir-blue); text-decoration: underline; }

/* Native and upgraded legacy FAQs share one reliable accordion design. */
.bir-prose .fragen-antwort-neu {
	clear: both;
	margin: 36px 0;
	padding: 26px;
	background: #f4faff;
	border: 1px solid #d5e9f3;
	border-radius: 20px;
}
.bir-prose .fragen-antwort-neu > h2,
.bir-prose .fragen-antwort-neu > h3 { margin: 0 0 18px; color: var(--bir-navy); }
.bir-prose .fragen-antwort-neu details,
.bir-prose .bir-generated-faq {
	overflow: hidden;
	margin: 11px 0;
	background: #fff;
	border: 1px solid #d6e6ee;
	border-radius: 13px;
	box-shadow: 0 5px 16px rgba(8,46,87,.04);
}
.bir-prose .fragen-antwort-neu summary,
.bir-prose .bir-generated-faq summary {
	position: relative;
	padding: 18px 58px 18px 20px;
	color: var(--bir-navy);
	font-size: 17px;
	font-weight: 850;
	line-height: 1.4;
	cursor: pointer;
	list-style: none;
}
.bir-prose .fragen-antwort-neu summary::-webkit-details-marker,
.bir-prose .bir-generated-faq summary::-webkit-details-marker { display: none; }
.bir-prose .fragen-antwort-neu summary::after,
.bir-prose .bir-generated-faq summary::after {
	position: absolute;
	top: 50%;
	right: 17px;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	content: "";
	background:
		linear-gradient(#fff, #fff) center / 14px 3px no-repeat,
		linear-gradient(#fff, #fff) center / 3px 14px no-repeat,
		var(--bir-blue);
	border-radius: 50%;
	transform: translateY(-50%);
}
.bir-prose .fragen-antwort-neu details[open],
.bir-prose .bir-generated-faq[open] { border-color: #9dcfe3; box-shadow: 0 12px 26px rgba(8,46,87,.08); }
.bir-prose .fragen-antwort-neu details[open] summary::after,
.bir-prose .bir-generated-faq[open] summary::after {
	content: "";
	background:
		linear-gradient(#fff, #fff) center / 14px 3px no-repeat,
		var(--bir-green);
}
.bir-prose .fragen-antwort-neu details > div,
.bir-prose .bir-generated-faq__answer {
	padding: 0 20px 20px;
	color: var(--bir-text);
}
.bir-prose .fragen-antwort-neu details > div > :last-child,
.bir-prose .bir-generated-faq__answer > :last-child { margin-bottom: 0; }

@media (max-width: 980px) {
	.bir-home-content .big-latest-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
	.bir-prose .table-out table.tab:has(li.plus, li.minus),
	.bir-prose .table-out table.tab:has(li.plus, li.minus) thead,
	.bir-prose .table-out table.tab:has(li.plus, li.minus) tbody,
	.bir-prose .table-out table.tab:has(li.plus, li.minus) tr,
	.bir-prose .table-out table.tab:has(li.plus, li.minus) td { display: block; width: 100%; }
	.bir-prose .table-out table.tab:has(li.plus, li.minus) { border-spacing: 0; }
	.bir-prose .table-out table.tab:has(li.plus, li.minus) thead { display: none; }
	.bir-prose .table-out table.tab:has(li.plus, li.minus) td { margin: 0 0 18px; padding: 14px; border-top: 1px solid; border-radius: 15px; }
	.bir-prose .table-out table.tab:has(li.plus, li.minus) td::before {
		display: block;
		margin: -14px -14px 14px;
		padding: 14px 16px;
		color: #fff;
		border-radius: 15px 15px 0 0;
		font-size: 18px;
		font-weight: 900;
	}
	.bir-prose .table-out table.tab:has(li.plus, li.minus) td:first-child::before { content: "Vorteile"; background: #10865a; }
	.bir-prose .table-out table.tab:has(li.plus, li.minus) td:last-child::before { content: "Mögliche Nachteile"; background: #bd3940; }
	.bir-prose ul:has(> li.plus),
	.bir-prose ul:has(> li.minus) { padding: 12px; }
	.bir-prose .table-out table.tab:has(li.plus, li.minus) ul:has(> li.plus),
	.bir-prose .table-out table.tab:has(li.plus, li.minus) ul:has(> li.minus) { padding: 0; }
	.bir-prose li.plus,
	.bir-prose li.minus { padding: 13px 12px 13px 52px; font-size: 16px; }
	.bir-prose li.plus::before,
	.bir-prose li.minus::before { top: 11px; left: 11px; width: 31px; height: 31px; font-size: 21px; }
	.bir-directory-card--anbieter-kuendigen .bir-directory-card__media,
	.bir-directory-card--anbieter-speedtest .bir-directory-card__media { min-height: 165px; padding: 14px 18px; }
	.bir-directory-card--anbieter .bir-directory-card__media { min-height: 180px; }
	.bir-home-content > div:has(> h3 + .big-latest-posts) { margin-top: 50px !important; }
	.bir-home-content .big-latest-posts { grid-template-columns: 1fr; gap: 18px; }
	#toc_container,
	.toc_container,
	#ez-toc-container,
	.lwptoc .lwptoc_i { padding: 18px !important; }
	#toc_container .toc_title,
	.toc_container .toc_title,
	#ez-toc-container .ez-toc-title-container { align-items: flex-start; font-size: 16px; }
	.bir-prose .fragen-antwort-neu { padding: 18px 14px; border-radius: 16px; }
	.bir-prose .fragen-antwort-neu summary,
	.bir-prose .bir-generated-faq summary { padding: 16px 52px 16px 16px; font-size: 16px; }
	.bir-comments,
	.comments-area,
	#wpdcom { max-width: 100%; overflow-x: clip; }
	#wpdcom .wpd-tools { right: 0 !important; left: auto !important; max-width: calc(100vw - 48px) !important; }
}

/* 0.8.0 — narrowly scoped legacy modules and clean calculator pages. */

/* wpDiscuz appends its source-code dialog directly to the body. Without the
   Colorbox state it must never become part of the visible page flow. */
#wpd-editor-source-code-wrapper { display: none !important; }

/* City availability modules. The old content contains no semantic table, so
   these selectors recreate a readable scorecard from its row/column markup. */
.single-staedte .bir-prose .rating-2 {
	--bir-city-accent: var(--bir-cyan);
	margin: 28px 0 32px;
	padding: 16px 26px 9px;
	overflow: hidden;
	background:
		radial-gradient(circle at 100% 0%, rgba(39,174,228,.12), transparent 34%),
		linear-gradient(145deg, #fff, #f4faff);
	border: 1px solid #d3e6ef !important;
	border-top: 5px solid var(--bir-city-accent) !important;
	border-radius: 20px;
	box-shadow: 0 14px 34px rgba(8,46,87,.08);
}
.single-staedte .bir-prose .rating-2[style*="#60cf36"] { --bir-city-accent: #16a05d; }
.single-staedte .bir-prose .rating-2[style*="#5583ec"] { --bir-city-accent: #4778df; }
.single-staedte .bir-prose .rating-2[style*="#ef4343"] { --bir-city-accent: #db454b; }
.single-staedte .bir-prose .rating-2 > span:first-child {
	display: flex !important;
	align-items: center;
	gap: 12px;
	margin: 0 0 5px !important;
	color: var(--bir-navy);
	font-size: 24px !important;
	font-weight: 900 !important;
	line-height: 1.25;
}
.single-staedte .bir-prose .rating-2 > span:first-child::before {
	width: 12px;
	height: 12px;
	content: "";
	background: var(--bir-city-accent);
	border-radius: 50%;
	box-shadow: 0 0 0 6px color-mix(in srgb, var(--bir-city-accent) 15%, transparent);
}
.single-staedte .bir-prose .rating-2 > span:first-child + p,
.single-staedte .bir-prose .rating-2 > div[style*="clear"] { display: none; }
.single-staedte .bir-prose .rating-2 > .row-2,
.single-staedte .bir-prose .rating-2 > .row-21 {
	display: grid;
	grid-template-columns: minmax(175px, .36fr) minmax(0, 1fr);
	align-items: center;
	gap: 25px;
	width: 100% !important;
	min-height: 68px;
	margin: 0 !important;
	padding: 14px 0;
	float: none !important;
	border-bottom: 1px solid #dceaf1;
}
.single-staedte .bir-prose .rating-2 > .row-21 { border-bottom: 0; }
.single-staedte .bir-prose .rating-2 .col-1 {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	color: var(--bir-navy);
	font-weight: 800;
}
.single-staedte .bir-prose .rating-2 .col-1 > p { display: none; }
.single-staedte .bir-prose .rating-2 .col-2 {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 62px;
	padding: 5px 10px;
	color: var(--bir-navy);
	background: #fff;
	border: 1px solid #cfe2eb;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 900;
}
.single-staedte .bir-prose .rating-2 .col-3 {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
}
.single-staedte .bir-prose .rating-2 .progress {
	width: 100%;
	height: 13px;
	overflow: hidden;
	background: #dfeaf0;
	border-radius: 999px;
	box-shadow: inset 0 1px 2px rgba(8,46,87,.09);
}
.single-staedte .bir-prose .rating-2 .progress-2 {
	height: 100%;
	border-radius: inherit;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.25);
}

/* Reusable legacy tip boxes (the original editor content identifies them by
   the "Unser Tipp" image rather than a class). */
.bir-prose p:has(> img[alt="Unser Tipp"]),
.bir-prose p:has(> img[src*="unser-tipp"]) {
	position: relative;
	min-height: 116px;
	margin: 32px 0 40px !important;
	padding: 25px 29px 25px 118px !important;
	color: #17314a;
	background:
		radial-gradient(circle at 0 50%, rgba(39,174,228,.17), transparent 28%),
		linear-gradient(135deg, #f2fbff, #fff 72%) !important;
	border: 1px solid #bfe1ed !important;
	border-left: 6px solid var(--bir-cyan) !important;
	border-radius: 18px;
	box-shadow: 0 14px 34px rgba(8,46,87,.08);
}
.bir-prose p:has(> img[alt="Unser Tipp"]) > img,
.bir-prose p:has(> img[src*="unser-tipp"]) > img {
	position: absolute;
	top: 50%;
	left: 24px;
	width: 70px !important;
	height: 70px !important;
	margin: 0 !important;
	float: none !important;
	object-fit: contain;
	transform: translateY(-50%);
}
.bir-prose p:has(> img[alt="Unser Tipp"]) > span:first-of-type,
.bir-prose p:has(> img[src*="unser-tipp"]) > span:first-of-type {
	display: block;
	margin: 0 0 4px;
	color: var(--bir-navy);
	font-size: 19px !important;
	font-weight: 900 !important;
	line-height: 1.35;
}
.bir-prose p:has(> img[alt="Unser Tipp"]) > span:first-of-type + br,
.bir-prose p:has(> img[src*="unser-tipp"]) > span:first-of-type + br { display: none; }

@media (max-width: 680px) {
	.single-staedte .bir-prose .rating-2 { padding: 13px 17px 6px; border-radius: 17px; }
	.single-staedte .bir-prose .rating-2 > span:first-child { font-size: 21px !important; }
	.single-staedte .bir-prose .rating-2 > .row-2,
	.single-staedte .bir-prose .rating-2 > .row-21 {
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 15px 0;
	}
	.single-staedte .bir-prose .rating-2 .col-2 { min-width: 58px; }
	.bir-prose p:has(> img[alt="Unser Tipp"]),
	.bir-prose p:has(> img[src*="unser-tipp"]) {
		min-height: 0;
		padding: 90px 19px 21px !important;
		border-left-width: 1px !important;
		border-top: 5px solid var(--bir-cyan) !important;
		border-radius: 16px;
	}
	.bir-prose p:has(> img[alt="Unser Tipp"]) > img,
	.bir-prose p:has(> img[src*="unser-tipp"]) > img {
		top: 20px;
		left: 19px;
		width: 56px !important;
		height: 56px !important;
		transform: none;
	}
}

/* ========================================================================== */
/* 0.9.9 — download card on provider cancellation articles                   */
/* ========================================================================== */

.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) {
	position: relative;
	display: flow-root;
	margin: 34px 0 46px;
	padding: 28px 30px 25px;
	overflow: hidden;
	color: var(--bir-navy);
	background:
		radial-gradient(circle at 100% 0%, rgba(39,174,228,.17), transparent 34%),
		linear-gradient(145deg, #f5fbfe 0%, #fff 52%, #f8fcfe 100%);
	border: 1px solid #c9e2ed;
	border-radius: 22px;
	box-shadow: 0 16px 38px rgba(8,46,87,.09);
	font-size: 17px;
	line-height: 1.65;
}

.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i])::before {
	position: absolute;
	top: -78px;
	right: -52px;
	width: 220px;
	height: 220px;
	background: rgba(39,174,228,.08);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) > * {
	position: relative;
	z-index: 1;
}

.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) > h3:first-child {
	display: flex;
	align-items: center;
	clear: both;
	margin: 0 0 22px !important;
	color: var(--bir-navy);
	font-size: clamp(24px, 2.7vw, 32px);
	line-height: 1.15;
}

.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) > h3:first-child::before {
	display: inline-grid;
	place-items: center;
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	margin-right: 14px;
	color: #fff;
	background: linear-gradient(145deg, var(--bir-blue), var(--bir-cyan));
	border-radius: 14px;
	box-shadow: 0 9px 20px rgba(0,116,200,.2);
	content: "DOC";
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .05em;
}

.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) > p:empty,
.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) > br,
.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) > div[style*="clear"] {
	display: none !important;
}

.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) > figure.wp-caption {
	float: left !important;
	width: min(285px, 34%) !important;
	max-width: none !important;
	margin: 0 32px 14px 0 !important;
	overflow: hidden;
	background: #fff;
	border: 1px solid #d6e5ec;
	border-radius: 17px;
	box-shadow: 0 10px 26px rgba(8,46,87,.09);
}

.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) > figure.wp-caption > a:first-child {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 300px;
	padding: 14px;
	background: linear-gradient(155deg, #fff, #f3f7f9);
}

.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) > figure.wp-caption img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: contain;
}

.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) > figure.wp-caption figcaption {
	margin: 0;
	padding: 12px;
	background: #fff;
	font-size: 14px;
	line-height: 1.35;
	text-align: center;
}

.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) > figure.wp-caption figcaption a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 14px;
	color: #fff;
	background: var(--bir-orange);
	border-radius: 11px;
	box-shadow: 0 9px 20px rgba(255,106,19,.22);
	font-weight: 800;
	text-decoration: none;
}

.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) > ul {
	display: grid;
	gap: 8px;
	margin: 14px 0 19px;
	padding: 0;
	list-style: none;
}

.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) > ul > li {
	position: relative;
	margin: 0;
	padding: 9px 12px 9px 39px;
	background: rgba(255,255,255,.85);
	border: 1px solid #dbeaf0;
	border-radius: 10px;
}

.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) > ul > li::before {
	position: absolute;
	top: 9px;
	left: 11px;
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	color: #fff;
	background: var(--bir-green);
	border-radius: 50%;
	content: "✓";
	font-size: 12px;
	font-weight: 900;
}

.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) > p[style*="font-weight:bold"] {
	overflow: hidden;
	margin: 16px 0 0 !important;
	padding: 13px 16px 5px;
	color: var(--bir-navy);
	background: #eaf7fd;
	border: 1px solid #cce7f2;
	border-bottom: 0;
	border-radius: 12px 12px 0 0;
	font-size: 15px !important;
	font-weight: 900 !important;
}

.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) > p[style*="font-weight:bold"] + p {
	overflow: hidden;
	margin: 0 0 13px;
	padding: 3px 16px 13px;
	background: #eaf7fd;
	border: 1px solid #cce7f2;
	border-top: 0;
	border-radius: 0 0 12px 12px;
}

.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) > p > strong:first-child {
	color: var(--bir-navy);
}

.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) > p:last-child {
	clear: both;
	margin: 19px 0 0 !important;
	padding-top: 15px;
	color: var(--bir-muted);
	border-top: 1px solid #dceaf0;
	font-size: 12px !important;
	line-height: 1.5;
}

@media (hover: hover) {
	.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) > figure.wp-caption figcaption a:hover {
		color: #fff;
		background: var(--bir-orange-hover);
		transform: translateY(-1px);
	}
}

@media (max-width: 720px) {
	.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) {
		margin: 26px 0 36px;
		padding: 22px 19px 20px;
		border-radius: 18px;
		font-size: 16px;
	}
	.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) > h3:first-child {
		margin-bottom: 18px !important;
		font-size: 24px;
	}
	.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) > h3:first-child::before {
		flex-basis: 42px;
		width: 42px;
		height: 42px;
		margin-right: 11px;
		border-radius: 12px;
	}
	.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) > figure.wp-caption {
		float: none !important;
		width: 100% !important;
		margin: 0 0 20px !important;
	}
	.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) > figure.wp-caption > a:first-child { height: 285px; }
	.single-anbieter-kuendigen .bir-prose > div:has(> h3:first-child span[id*="Kuendigungsvorlage" i]) > figure.wp-caption figcaption { padding: 10px; }
}

/* --------------------------------------------------------------------------
   Homepage carousel, conversion areas and legacy comparison modules — v0.9.1
   -------------------------------------------------------------------------- */

/* A real provider carousel on every viewport, with equal logo canvases. */
.bir-provider-strip {
	padding: 29px 0 32px;
	background: linear-gradient(180deg, #fff, #f8fcff);
}
.bir-provider-carousel {
	position: relative;
	padding-inline: 50px;
}
.bir-provider-grid {
	display: flex;
	align-items: stretch;
	gap: 12px;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
.bir-provider-grid::-webkit-scrollbar { display: none; }
.bir-provider {
	flex: 0 0 calc((100% - 84px) / 8);
	min-width: 0;
	min-height: 78px;
	padding: 10px;
	overflow: hidden;
	background: #fff;
	border: 1px solid #dceaf2;
	border-radius: 15px;
	box-shadow: 0 8px 22px rgba(8,46,87,.055);
	scroll-snap-align: start;
}
.bir-provider:hover {
	background: #f2faff;
	border-color: #bcddec;
	box-shadow: 0 12px 26px rgba(8,46,87,.09);
}
.bir-provider img {
	display: block;
	width: 52px !important;
	height: 52px !important;
	max-width: none !important;
	max-height: none !important;
	margin: auto !important;
	object-fit: contain;
	filter: saturate(1);
	transform: scale(1.35);
}
.bir-provider--telekom-test-erfahrungen img { transform: scale(1.5); }
.bir-provider--1und1-test-erfahrungen img { transform: scale(1.12); }
.bir-provider--o2-online-test-erfahrungen img { transform: scale(.96); }
.bir-provider--vodafone-test-erfahrungen img { transform: scale(1.14); }
.bir-provider--congstar-test-erfahrungen img { transform: scale(1.55); }
.bir-provider--pyur-test-erfahrungen img { transform: scale(1.62); }
.bir-provider--deutsche-glasfaser-test-erfahrungen img { transform: scale(1.82); }
.bir-provider--maingau-dsl-test-erfahrungen img { transform: scale(1.95); }
.bir-provider-carousel__button {
	position: absolute;
	top: 50%;
	z-index: 3;
	display: grid;
	place-items: center;
	width: 38px;
	height: 52px;
	padding: 0;
	color: #fff;
	background: var(--bir-navy);
	border: 0;
	border-radius: 13px;
	box-shadow: 0 10px 24px rgba(8,46,87,.2);
	cursor: pointer;
	font-size: 30px;
	line-height: 1;
	transform: translateY(-50%);
}
.bir-provider-carousel__button:hover { background: var(--bir-blue); }
.bir-provider-carousel__button--prev { left: 0; }
.bir-provider-carousel__button--next { right: 0; }
.bir-provider-carousel.is-static { padding-inline: 0; }
.bir-provider-carousel.is-static .bir-provider-carousel__button { display: none; }

/* The compact checker is the primary conversion element in the hero. */
.bir-checker {
	padding: 25px 25px 21px;
	background:
		radial-gradient(circle at 100% 0%, rgba(39,174,228,.13), transparent 38%),
		linear-gradient(145deg, #fff, #f8fcff);
	border: 2px solid #bfe3f1;
	border-radius: 20px;
	box-shadow: 0 22px 54px rgba(8,46,87,.17), 0 0 0 7px rgba(39,174,228,.055);
}
.bir-checker::before {
	position: absolute;
	top: -2px;
	right: 20px;
	left: 20px;
	height: 5px;
	content: "";
	background: linear-gradient(90deg, var(--bir-cyan), var(--bir-blue), var(--bir-orange));
	border-radius: 0 0 6px 6px;
}
.bir-checker h2 { margin-bottom: 17px; font-size: 23px; }
.bir-checker input.c24dsl-areacode,
.bir-checker select.c24dsl-downstream { background: #fff; border-color: #afc9d8; }
.bir-checker button.c24dsl-submit {
	min-height: 54px;
	border-radius: 10px;
	box-shadow: 0 12px 27px rgba(255,106,19,.28);
}

/* Keep the saving promise entirely on the photo so the white blend can no
   longer wash out its text. */
.bir-hero__visual-meta {
	right: 24px;
	left: auto;
	display: grid;
	grid-template-columns: 1fr;
	width: 315px;
	gap: 9px;
	padding: 18px 20px;
	background: linear-gradient(135deg, rgba(6,31,59,.98), rgba(8,46,87,.96));
	border: 1px solid rgba(140,224,255,.35);
	box-shadow: 0 18px 42px rgba(3,22,43,.3);
	backdrop-filter: none;
}
.bir-hero__visual-meta p:first-child { padding: 0 0 9px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
.bir-hero__visual-meta small { color: #8ce0ff; font-size: 10px; }
.bir-hero__visual-meta strong { color: #fff; font-size: 23px; text-shadow: 0 2px 12px rgba(0,0,0,.2); }

/* Homepage CTA now uses the same high-conversion design as historic CTAs on
   all internal pages. */
.bir-home-content .dsl-vergleich-neu {
	min-height: 310px;
	margin: 48px 0;
	padding: 42px 300px 42px 42px;
	color: #fff;
	background:
		linear-gradient(135deg, rgba(39,174,228,.12), transparent 40%),
		linear-gradient(118deg, #061f3b, #083f6d 68%, #087ead) !important;
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 26px;
	box-shadow: 0 24px 58px rgba(8,46,87,.2);
}
.bir-home-content .dsl-vergleich-neu::before {
	display: block;
	top: 50%;
	right: 45px;
	bottom: auto;
	left: auto;
	width: 205px;
	height: 205px;
	background: linear-gradient(145deg, #ff812f, var(--bir-orange));
	border: 10px solid rgba(255,255,255,.13);
	border-radius: 50%;
	box-shadow: 0 18px 40px rgba(0,0,0,.22);
	transform: translateY(-50%);
}
.bir-home-content .dsl-vergleich-neu::after {
	display: block;
	top: 50%;
	right: 65px;
	bottom: auto;
	left: auto;
	width: 165px;
	content: "BIS ZU\A 650 €\A SPAREN";
	color: #fff;
	font-size: 27px;
	font-weight: 950;
	line-height: 1.08;
	text-align: center;
	white-space: pre;
	text-shadow: 0 2px 10px rgba(116,38,0,.18);
	transform: translateY(-50%);
}
.bir-home-content .dsl-vergleich-neu > * { position: relative; z-index: 1; }
.bir-home-content .dsl-vergleich-neu .check-title { color: #fff; font-size: clamp(27px, 3vw, 38px); }
.bir-home-content .dsl-vergleich-neu ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 26px;
	margin: 22px 0 27px;
	color: rgba(255,255,255,.9);
}
.bir-home-content .dsl-vergleich-neu .button1 a {
	min-height: 56px;
	padding-inline: 24px;
	border-radius: 999px;
	box-shadow: 0 12px 28px rgba(255,106,19,.3);
}

/* Generated latest-post cards must not inherit the legacy `.ratgeber` block
   used elsewhere in the editable homepage. */
.bir-home-content .big-latest-posts {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	width: 100%;
}
.bir-home-content .big-latest-posts > .big-latest-post.ratgeber {
	display: flex !important;
	flex-direction: column;
	width: auto !important;
	min-width: 0;
	min-height: 0;
	margin: 0 !important;
	padding: 0 !important;
	background: #fff;
	border: 1px solid var(--bir-border) !important;
	border-top: 1px solid var(--bir-border) !important;
	border-radius: 18px;
	box-shadow: 0 12px 32px rgba(8,46,87,.075);
}
.bir-home-content .big-latest-posts > .big-latest-post.ratgeber .bir-card__media { aspect-ratio: 4 / 3; }
.bir-home-content .big-latest-posts > .big-latest-post.ratgeber .bir-card__media img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	object-fit: cover;
}
.bir-home-content .big-latest-posts > .big-latest-post.ratgeber .bir-card__body { display: flex; flex: 1; flex-direction: column; padding: 22px; }
.bir-home-content .big-latest-posts > .big-latest-post.ratgeber .bir-text-link { margin-top: auto; }

/* The two choice cards on "Internetanschluss ohne Festnetz". */
.postid-1335 .bir-prose > .ratgeber {
	display: inline-flex !important;
	flex-direction: column;
	vertical-align: top;
	width: calc(50% - 14px) !important;
	min-height: 455px;
	margin: 0 23px 30px 0 !important;
	padding: 27px 27px 25px;
	color: var(--bir-text);
	background:
		radial-gradient(circle at 100% 0%, rgba(39,174,228,.13), transparent 35%),
		linear-gradient(145deg, #fff, #f4fbff);
	border: 1px solid #cfe3ed;
	border-top: 5px solid var(--bir-blue);
	border-radius: 21px;
	box-shadow: 0 15px 38px rgba(8,46,87,.09);
}
.postid-1335 .bir-prose > .ratgeber + .ratgeber { margin-right: 0 !important; border-top-color: var(--bir-orange); }
.postid-1335 .bir-prose > .ratgeber > p:empty { display: none; }
.postid-1335 .bir-prose > .ratgeber > div:first-child {
	display: grid !important;
	place-items: center;
	height: 130px;
	margin: -5px 0 20px;
	background: rgba(255,255,255,.72);
	border: 1px solid #dceaf1;
	border-radius: 16px;
}
.postid-1335 .bir-prose > .ratgeber > div:first-child img {
	width: auto !important;
	height: auto !important;
	max-width: 190px !important;
	max-height: 108px !important;
	margin: 0 !important;
	object-fit: contain;
}
.postid-1335 .bir-prose > .ratgeber > p[style*="font-weight:bold"] {
	margin: 0 0 12px !important;
	color: var(--bir-navy);
	font-size: 23px !important;
	font-weight: 900 !important;
	line-height: 1.25;
}
.postid-1335 .bir-prose > .ratgeber > p:not(.button3):not(:empty) { margin: 0 0 20px; }
.postid-1335 .bir-prose > .ratgeber .button3 { width: 100%; margin: auto 0 0 !important; }
.postid-1335 .bir-prose > .ratgeber .button3 a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	padding: 11px 18px;
	color: #fff;
	background: var(--bir-orange);
	border-radius: 999px;
	box-shadow: 0 11px 25px rgba(255,106,19,.25);
	font-weight: 850;
	text-decoration: none;
}
.postid-1335 .bir-prose > .ratgeber .button3 a:hover { background: var(--bir-orange-hover); transform: translateY(-1px); }

/* Homespot provider comparison on the same article. */
:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap {
	display: grid !important;
	grid-template-columns: minmax(190px, .68fr) minmax(0, 1.25fr) minmax(190px, .65fr);
	align-items: stretch;
	gap: 0;
	width: 100% !important;
	margin: 26px 0 !important;
	padding: 0 !important;
	overflow: hidden;
	background: #fff;
	border: 1px solid #d3e3eb;
	border-top: 5px solid var(--bir-blue);
	border-radius: 22px;
	box-shadow: 0 18px 42px rgba(8,46,87,.1);
}
:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap:nth-of-type(even) { border-top-color: var(--bir-orange); }
:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap > div {
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	padding: 28px 25px;
	float: none !important;
}
:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap .column1 {
	display: flex;
	align-items: center;
	flex-direction: column;
	background: linear-gradient(145deg, #f4fbff, #e9f6fc);
}
:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap .column1 .num {
	margin: 0 0 17px;
	color: var(--bir-navy);
	font-size: 25px;
	font-weight: 900;
	line-height: 1.2;
	text-align: center;
}
:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap .column1 p:last-child { margin: auto 0 0; }
:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap .column1 img {
	width: 100% !important;
	height: 300px !important;
	max-width: 210px !important;
	margin: 0 auto !important;
	object-fit: contain;
}
:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap .column2 { border-inline: 1px solid #dce7ed; }
:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap .column2 > p:first-child {
	margin-top: 0 !important;
	color: var(--bir-blue);
	font-size: 14px !important;
	font-weight: 900 !important;
	letter-spacing: .1em;
	text-transform: uppercase;
}
:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap .column2 ul { margin: 8px 0 20px; padding-left: 21px; }
:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap .column2 li { margin: 7px 0; }
:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap .column2 li::marker { color: var(--bir-green); }
:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap .column2 hr { margin: 24px 0; border: 0; border-top: 1px solid #dce7ed; }
:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap .column3 {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	background: linear-gradient(180deg, #fff, #f8fcff);
	text-align: center;
}
:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap .column3 > p:first-child { margin: 0 0 18px !important; font-size: 16px; }
:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap .column3 strong { color: var(--bir-navy); font-size: 22px; }
:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap .column3 p:last-child { width: 100%; margin: 0; }
:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap .btn2 {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	padding: 11px 18px;
	color: #fff;
	background: var(--bir-orange);
	border-radius: 999px;
	box-shadow: 0 11px 25px rgba(255,106,19,.25);
	font-weight: 850;
	text-decoration: none;
}
:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap .btn2:hover { background: var(--bir-orange-hover); transform: translateY(-1px); }

@media (max-width: 1120px) {
	.bir-provider { flex-basis: calc((100% - 60px) / 6); }
}

@media (max-width: 980px) {
	.bir-home-content .big-latest-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.postid-1335 .bir-prose > .ratgeber { min-height: 485px; }
	:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap { grid-template-columns: minmax(175px, .62fr) minmax(0, 1fr); }
	:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap .column3 { grid-column: 1 / -1; padding: 22px 25px; border-top: 1px solid #dce7ed; }
	:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap .column3 > p:first-child { margin-bottom: 13px !important; }
}

@media (max-width: 920px) {
	.bir-hero__visual-meta { position: static; width: 100%; border-radius: 0; }
	.bir-home-content .dsl-vergleich-neu { padding-right: 280px; }
	.bir-home-content .dsl-vergleich-neu::before { right: 35px; }
	.bir-home-content .dsl-vergleich-neu::after { right: 55px; }
}

@media (max-width: 680px) {
	.bir-provider-carousel { padding-inline: 41px; }
	.bir-provider-grid { gap: 8px; }
	.bir-provider { flex: 0 0 92px; min-height: 68px; padding: 7px; border-radius: 12px; }
	.bir-provider img { width: 42px !important; height: 42px !important; }
	.bir-provider-carousel__button { width: 32px; height: 46px; font-size: 26px; }
	.bir-checker { padding: 21px 17px 18px; border-radius: 17px; box-shadow: 0 18px 40px rgba(8,46,87,.15), 0 0 0 5px rgba(39,174,228,.05); }
	.bir-checker h2 { font-size: 21px; }
	.bir-home-content .dsl-vergleich-neu {
		min-height: 0;
		padding: 188px 22px 27px;
		border-radius: 20px;
	}
	.bir-home-content .dsl-vergleich-neu::before {
		top: 24px;
		right: 22px;
		bottom: auto;
		left: 22px;
		width: auto;
		height: 132px;
		border-width: 7px;
		border-radius: 18px 18px 18px 6px;
		transform: none;
	}
	.bir-home-content .dsl-vergleich-neu::after {
		top: 53px;
		right: 42px;
		bottom: auto;
		left: auto;
		width: calc(100% - 84px);
		font-size: 25px;
		transform: none;
	}
	.bir-home-content .dsl-vergleich-neu ul { grid-template-columns: 1fr; gap: 8px; }
	.bir-home-content .big-latest-posts { grid-template-columns: 1fr; gap: 18px; }
	.postid-1335 .bir-prose > .ratgeber {
		display: flex !important;
		width: 100% !important;
		min-height: 0;
		margin: 0 0 22px !important;
		padding: 22px 19px 20px;
	}
	.postid-1335 .bir-prose > .ratgeber > div:first-child { height: 112px; margin-bottom: 17px; }
	.postid-1335 .bir-prose > .ratgeber > div:first-child img { max-height: 92px !important; }
	:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap { grid-template-columns: 1fr; border-radius: 18px; }
	:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap .column1,
	:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap .column2,
	:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap .column3 { grid-column: auto; padding: 23px 20px; border: 0; }
	:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap .column1 { border-bottom: 1px solid #dce7ed; }
	:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap .column1 img { height: 230px !important; max-width: 180px !important; }
	:is(.postid-1335, .postid-2596, .postid-1329) .bir-prose > .wrap .column2 { border-bottom: 1px solid #dce7ed; }
}

/* Header branding: compact wordmark aligned with the main content edge. */
.bir-header .bir-header__inner {
	width: min(calc(100% - 40px), var(--bir-container));
	margin-inline: auto;
	padding-inline: 0;
}

.bir-header .custom-logo-link img,
.bir-header .bir-brand__image {
	max-width: 180px;
	max-height: 39px;
}

@media (max-width: 780px) {
	.bir-header .bir-header__inner {
		width: min(calc(100% - 28px), var(--bir-container));
		padding-inline: 0;
	}
	.bir-header .custom-logo-link img,
	.bir-header .bir-brand__image {
		max-width: min(165px, calc(100vw - 92px));
		max-height: 36px;
	}
}

.bir-footer__logo-link,
.bir-footer__logo { display: block; }
.bir-footer__logo {
	width: 180px;
	max-width: 100%;
	height: auto;
	filter: brightness(0) invert(1);
}

/* ========================================================================== */
/* 0.9.5 — provider speedtest result cards                                    */
/* ========================================================================== */

/* The three provider pages still contain the original .rating-2 markup.
   Keeping that markup means editors do not have to rebuild the articles; the
   theme turns every available tariff/result pair into this responsive grid. */
.single-anbieter-speedtest .bir-prose .rating-2 {
	position: relative;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 205px), 1fr));
	gap: 16px;
	margin: 30px 0 42px;
	padding: 22px;
	background:
		radial-gradient(circle at 96% 4%, rgba(39,174,228,.15), transparent 25%),
		linear-gradient(145deg, #edf8fe, #f9fcfe 58%, #fff);
	border: 1px solid #cfe4ee;
	border-radius: 24px;
	box-shadow: 0 18px 44px rgba(8,46,87,.10);
	counter-reset: bir-speed-result;
}

@media (min-width: 1100px) {
	.single-anbieter-speedtest .bir-prose .rating-2 {
		left: 50%;
		width: min(1180px, calc(100vw - 40px));
		max-width: none;
		transform: translateX(-50%);
	}
}

.single-anbieter-speedtest .bir-prose .rating-2 > .row,
.single-anbieter-speedtest .bir-prose .rating-2 > .row-2 {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 236px;
	padding: 24px 21px 21px;
	overflow: hidden;
	background: rgba(255,255,255,.96);
	border: 1px solid #d7e7ef;
	border-top: 4px solid var(--bir-cyan);
	border-radius: 18px;
	box-shadow: 0 10px 26px rgba(8,46,87,.07);
	counter-increment: bir-speed-result;
	isolation: isolate;
}

.single-anbieter-speedtest .bir-prose .rating-2 > .row::before,
.single-anbieter-speedtest .bir-prose .rating-2 > .row-2::before {
	content: counter(bir-speed-result, decimal-leading-zero);
	position: absolute;
	top: 14px;
	right: 16px;
	z-index: -1;
	color: #e5f5fb;
	font-size: 44px;
	font-weight: 950;
	line-height: 1;
	letter-spacing: -.06em;
}

.single-anbieter-speedtest .bir-prose .rating-2 .col-1 {
	display: block;
	flex: 1;
	min-width: 0;
	padding-right: 38px;
	color: var(--bir-navy);
	font-size: 17px;
	font-weight: 850;
	line-height: 1.35;
}

.single-anbieter-speedtest .bir-prose .rating-2 .col-1 sub {
	font-size: .68em;
	line-height: 0;
	vertical-align: -.23em;
}

.single-anbieter-speedtest .bir-prose .rating-2 .col-2 {
	display: block;
	margin-top: 27px;
	color: var(--bir-navy);
	font-size: clamp(29px, 2.7vw, 37px);
	font-weight: 950;
	line-height: 1.05;
	letter-spacing: -.045em;
	white-space: nowrap;
}

.single-anbieter-speedtest .bir-prose .rating-2 .col-2::before {
	content: "Ø Download";
	display: block;
	margin-bottom: 8px;
	color: var(--bir-blue);
	font-size: 11px;
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.single-anbieter-speedtest .bir-prose .bir-speed-result__ratio {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	min-height: 27px;
	margin-top: 13px;
	padding: 4px 9px;
	color: #0b6d48;
	background: #e8f8f0;
	border: 1px solid #c7ecd9;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 850;
	line-height: 1.25;
	white-space: nowrap;
}

.single-anbieter-speedtest .bir-prose .rating-2 .col-3 {
	width: 100%;
	min-width: 0;
	margin-top: 20px;
}

.single-anbieter-speedtest .bir-prose .rating-2 .progress {
	position: relative;
	width: 100%;
	height: 10px;
	overflow: hidden;
	background: #dceaf1;
	border-radius: 999px;
	box-shadow: inset 0 1px 2px rgba(8,46,87,.10);
}

.single-anbieter-speedtest .bir-prose .rating-2 .progress-2 {
	min-width: 9px;
	height: 100%;
	background: linear-gradient(90deg, var(--bir-cyan), var(--bir-blue));
	border-radius: inherit;
	box-shadow: 0 0 14px rgba(39,174,228,.28);
	transition: width .45s ease-out;
}

@media (hover: hover) {
	.single-anbieter-speedtest .bir-prose .rating-2 > .row,
	.single-anbieter-speedtest .bir-prose .rating-2 > .row-2 {
		transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
	}
	.single-anbieter-speedtest .bir-prose .rating-2 > .row:hover,
	.single-anbieter-speedtest .bir-prose .rating-2 > .row-2:hover {
		transform: translateY(-3px);
		border-color: #addbea;
		box-shadow: 0 16px 32px rgba(8,46,87,.11);
	}
}

@media (max-width: 780px) {
	.single-anbieter-speedtest .bir-prose .rating-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
		margin: 24px 0 34px;
		padding: 15px;
		border-radius: 19px;
	}
	.single-anbieter-speedtest .bir-prose .rating-2 > .row,
	.single-anbieter-speedtest .bir-prose .rating-2 > .row-2 {
		min-height: 220px;
		padding: 21px 17px 18px;
		border-radius: 15px;
	}
	.single-anbieter-speedtest .bir-prose .rating-2 .col-1 {
		padding-right: 31px;
		font-size: 15px;
	}
	.single-anbieter-speedtest .bir-prose .rating-2 .col-2 {
		font-size: clamp(25px, 7.5vw, 33px);
	}
	.single-anbieter-speedtest .bir-prose .bir-speed-result__ratio {
		font-size: 11px;
		white-space: normal;
	}
}

@media (max-width: 520px) {
	.single-anbieter-speedtest .bir-prose .rating-2 { grid-template-columns: 1fr; }
	.single-anbieter-speedtest .bir-prose .rating-2 > .row,
	.single-anbieter-speedtest .bir-prose .rating-2 > .row-2 { min-height: 205px; }
}

@media (prefers-reduced-motion: reduce) {
	.single-anbieter-speedtest .bir-prose .rating-2 .progress-2 { transition: none; }
}

/* ========================================================================== */
/* 0.9.7 — compact provider recommendation at article end                     */
/* ========================================================================== */

.single-anbieter-kuendigen .bir-prose > h3:has(+ .big-latest-posts),
.single-anbieter-speedtest .bir-prose > h3:has(+ .big-latest-posts) {
	margin: 54px 0 18px !important;
	color: var(--bir-navy);
	font-size: clamp(25px, 2.8vw, 34px);
	line-height: 1.15;
}

.single-anbieter-kuendigen .bir-prose > .big-latest-posts,
.single-anbieter-speedtest .bir-prose > .big-latest-posts {
	display: block;
	width: 100%;
	margin: 0 0 38px;
}

.single-anbieter-kuendigen .bir-prose > .big-latest-posts > .big-latest-post,
.single-anbieter-speedtest .bir-prose > .big-latest-posts > .big-latest-post {
	display: grid;
	grid-template-columns: minmax(245px, .42fr) minmax(0, 1fr);
	min-height: 250px;
	overflow: hidden;
	background:
		radial-gradient(circle at 100% 0%, rgba(39,174,228,.14), transparent 35%),
		#fff;
	border: 1px solid #cfe2ec;
	border-radius: 22px;
	box-shadow: 0 16px 38px rgba(8,46,87,.09);
}

.single-anbieter-kuendigen .bir-prose > .big-latest-posts > .big-latest-post > a:first-child,
.single-anbieter-speedtest .bir-prose > .big-latest-posts > .big-latest-post > a:first-child {
	display: block;
	grid-column: 1;
	grid-row: 1;
	min-width: 0;
	min-height: 250px;
	overflow: hidden;
	background: linear-gradient(145deg, #eaf7fd, #f8fcff);
}

/* wpautop inserts an empty paragraph and line break into the historic card
   markup. Without these resets that invisible paragraph occupies column two. */
.single-anbieter-kuendigen .bir-prose > .big-latest-posts > .big-latest-post > p:empty,
.single-anbieter-speedtest .bir-prose > .big-latest-posts > .big-latest-post > p:empty,
.single-anbieter-kuendigen .bir-prose > .big-latest-posts > .big-latest-post > a:first-child > br,
.single-anbieter-speedtest .bir-prose > .big-latest-posts > .big-latest-post > a:first-child > br { display: none !important; }

.single-anbieter-kuendigen .bir-prose > .big-latest-posts > .big-latest-post > a:first-child > img,
.single-anbieter-speedtest .bir-prose > .big-latest-posts > .big-latest-post > a:first-child > img {
	width: 100% !important;
	height: 100% !important;
	min-height: 250px;
	max-height: 290px;
	margin: 0 !important;
	object-fit: cover;
	object-position: center;
	transition: transform .28s ease;
}

.single-anbieter-kuendigen .bir-prose > .big-latest-posts > .big-latest-post .big-latest-post-content,
.single-anbieter-speedtest .bir-prose > .big-latest-posts > .big-latest-post .big-latest-post-content {
	display: flex;
	flex-direction: column;
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
	padding: 29px 31px 27px;
}

.single-anbieter-kuendigen .bir-prose > .big-latest-posts > .big-latest-post .big-latest-post-content::before,
.single-anbieter-speedtest .bir-prose > .big-latest-posts > .big-latest-post .big-latest-post-content::before {
	content: "Ausführlicher Anbieter-Test";
	display: inline-flex;
	align-self: flex-start;
	margin-bottom: 11px;
	padding: 5px 10px;
	color: #096495;
	background: #e7f6fd;
	border: 1px solid #c6e8f6;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.single-anbieter-kuendigen .bir-prose > .big-latest-posts > .big-latest-post .big-latest-post-content h3,
.single-anbieter-kuendigen .bir-prose > .big-latest-posts > .big-latest-post .big-latest-post-content h4,
.single-anbieter-speedtest .bir-prose > .big-latest-posts > .big-latest-post .big-latest-post-content h3,
.single-anbieter-speedtest .bir-prose > .big-latest-posts > .big-latest-post .big-latest-post-content h4 {
	margin: 0 0 10px;
	font-size: clamp(20px, 2.2vw, 25px);
	line-height: 1.25;
}

.single-anbieter-kuendigen .bir-prose > .big-latest-posts > .big-latest-post .big-latest-post-content h3 a,
.single-anbieter-kuendigen .bir-prose > .big-latest-posts > .big-latest-post .big-latest-post-content h4 a,
.single-anbieter-speedtest .bir-prose > .big-latest-posts > .big-latest-post .big-latest-post-content h3 a,
.single-anbieter-speedtest .bir-prose > .big-latest-posts > .big-latest-post .big-latest-post-content h4 a {
	color: var(--bir-navy);
	text-decoration: none;
}

.single-anbieter-kuendigen .bir-prose > .big-latest-posts > .big-latest-post .big-latest-post-content p,
.single-anbieter-speedtest .bir-prose > .big-latest-posts > .big-latest-post .big-latest-post-content p {
	display: -webkit-box;
	margin: 0 0 18px;
	overflow: hidden;
	color: var(--bir-muted);
	font-size: 15px;
	line-height: 1.6;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.single-anbieter-kuendigen .bir-prose > .big-latest-posts > .big-latest-post .button-small,
.single-anbieter-speedtest .bir-prose > .big-latest-posts > .big-latest-post .button-small {
	align-self: flex-start;
	min-height: 43px;
	margin-top: auto;
	padding: 9px 17px;
	color: #fff;
	background: var(--bir-orange);
	border-radius: 999px;
	box-shadow: 0 9px 22px rgba(255,106,19,.23);
}

.single-anbieter-kuendigen .bir-prose > .big-latest-posts > .big-latest-post .button-small::after,
.single-anbieter-speedtest .bir-prose > .big-latest-posts > .big-latest-post .button-small::after { content: "→"; }

@media (hover: hover) {
	.single-anbieter-kuendigen .bir-prose > .big-latest-posts > .big-latest-post:hover > a:first-child > img,
	.single-anbieter-speedtest .bir-prose > .big-latest-posts > .big-latest-post:hover > a:first-child > img { transform: scale(1.025); }
	.single-anbieter-kuendigen .bir-prose > .big-latest-posts > .big-latest-post .button-small:hover,
	.single-anbieter-speedtest .bir-prose > .big-latest-posts > .big-latest-post .button-small:hover {
		color: #fff;
		background: var(--bir-orange-hover);
		transform: translateY(-1px);
	}
}

@media (max-width: 680px) {
	.single-anbieter-kuendigen .bir-prose > h3:has(+ .big-latest-posts),
	.single-anbieter-speedtest .bir-prose > h3:has(+ .big-latest-posts) { margin-top: 42px !important; }
	.single-anbieter-kuendigen .bir-prose > .big-latest-posts > .big-latest-post,
	.single-anbieter-speedtest .bir-prose > .big-latest-posts > .big-latest-post {
		grid-template-columns: 1fr;
		min-height: 0;
		border-radius: 18px;
	}
	.single-anbieter-kuendigen .bir-prose > .big-latest-posts > .big-latest-post > a:first-child,
	.single-anbieter-speedtest .bir-prose > .big-latest-posts > .big-latest-post > a:first-child {
		grid-column: 1;
		grid-row: 1;
		min-height: 0;
		aspect-ratio: 16 / 9;
	}
	.single-anbieter-kuendigen .bir-prose > .big-latest-posts > .big-latest-post > a:first-child > img,
	.single-anbieter-speedtest .bir-prose > .big-latest-posts > .big-latest-post > a:first-child > img {
		min-height: 0;
		max-height: none;
	}
	.single-anbieter-kuendigen .bir-prose > .big-latest-posts > .big-latest-post .big-latest-post-content,
	.single-anbieter-speedtest .bir-prose > .big-latest-posts > .big-latest-post .big-latest-post-content {
		grid-column: 1;
		grid-row: 2;
		padding: 22px 20px 21px;
	}
}

/* ========================================================================== */
/* 0.9.13 — compact mobile saving accent for historic CTA panels              */
/* ========================================================================== */

@media (max-width: 680px) {
	.bir-main .bir-prose .dsl-vergleich-neu,
	.bir-main .bir-prose .dsl-vergleich-handy-neu,
	.bir-main .bir-prose .dsl-vergleich,
	.bir-home-content .dsl-vergleich-neu {
		min-height: 0;
		padding: 96px 22px 27px;
	}

	.bir-main .bir-prose .dsl-vergleich-neu::before,
	.bir-main .bir-prose .dsl-vergleich-handy-neu::before,
	.bir-main .bir-prose .dsl-vergleich::before,
	.bir-home-content .dsl-vergleich-neu::before {
		top: 24px;
		right: 22px;
		bottom: auto;
		left: 22px;
		width: auto;
		height: 52px;
		background: rgba(255,255,255,.065);
		border: 1px solid rgba(255,180,127,.48);
		border-left: 4px solid var(--bir-orange);
		border-radius: 12px;
		box-shadow: none;
		transform: none;
	}

	.bir-main .bir-prose .dsl-vergleich-neu::after,
	.bir-main .bir-prose .dsl-vergleich-handy-neu::after,
	.bir-main .bir-prose .dsl-vergleich::after,
	.bir-home-content .dsl-vergleich-neu::after {
		top: 43px;
		right: auto;
		bottom: auto;
		left: 40px;
		width: calc(100% - 80px);
		content: "SPARPOTENZIAL  \00B7  BIS ZU 650 \20AC";
		color: #ffb47f;
		font-size: clamp(11px, 3.7vw, 14px);
		font-weight: 900;
		line-height: 1;
		letter-spacing: .055em;
		text-align: left;
		white-space: nowrap;
		text-shadow: none;
		transform: none;
	}
}

/* ========================================================================== */
/* 0.9.15 — editable, conversion-focused headers for internal pages           */
/* ========================================================================== */

.bir-page-header__inner { padding-block: clamp(38px, 4vw, 54px); }
.bir-page-header__copy { position: relative; z-index: 2; max-width: 1120px; }
.bir-page-header h1,
.bir-page-header--article h1 {
	max-width: 980px;
	font-size: clamp(40px, 3.8vw, 58px);
	line-height: 1.04;
}
.bir-page-header .bir-page-header__lead {
	max-width: 850px;
	margin: 17px 0 0;
	color: rgba(255,255,255,.84);
	font-size: clamp(17px, 1.45vw, 20px);
	line-height: 1.48;
}
.bir-page-header__actions {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: stretch;
	gap: 17px;
	max-width: 1080px;
	margin-top: 27px;
}
.bir-page-header__cta {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-rows: auto auto;
	align-items: center;
	min-width: 245px;
	min-height: 58px;
	padding: 10px 17px 10px 19px;
	color: #fff;
	background: linear-gradient(135deg, #ff7d2e, var(--bir-orange));
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 14px;
	box-shadow: 0 13px 29px rgba(0,0,0,.2);
	text-decoration: none;
	transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.bir-page-header__cta span {
	display: block;
	font-size: 10px;
	font-weight: 850;
	letter-spacing: .09em;
	line-height: 1.2;
	text-transform: uppercase;
	opacity: .86;
}
.bir-page-header__cta strong { display: block; font-size: 17px; line-height: 1.2; }
.bir-page-header__cta i {
	grid-column: 2;
	grid-row: 1 / 3;
	margin-left: 15px;
	font-size: 23px;
	font-style: normal;
	line-height: 1;
	transition: transform .2s ease;
}
.bir-page-header__cta:hover,
.bir-page-header__cta:focus-visible {
	color: #fff;
	background: linear-gradient(135deg, #ff8a43, var(--bir-orange-hover));
	box-shadow: 0 16px 34px rgba(0,0,0,.24);
	transform: translateY(-1px);
}
.bir-page-header__cta:hover i,
.bir-page-header__cta:focus-visible i { transform: translateX(3px); }
.bir-page-header__cta:focus-visible { outline: 3px solid rgba(140,224,255,.55); outline-offset: 3px; }

.bir-page-header__trust {
	display: grid;
	flex: 1 1 620px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 9px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.bir-page-header__trust li {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 58px;
	margin: 0;
	padding: 10px 12px 10px 42px;
	color: rgba(255,255,255,.92);
	background: rgba(255,255,255,.075);
	border: 1px solid rgba(255,255,255,.15);
	border-radius: 13px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
}
.bir-page-header__trust li::before {
	position: absolute;
	left: 13px;
	display: grid;
	place-items: center;
	width: 21px;
	height: 21px;
	content: "✓";
	color: #fff;
	background: var(--bir-green);
	border-radius: 50%;
	font-size: 12px;
	font-weight: 950;
}
.bir-page-header__actions--points-only .bir-page-header__trust { max-width: 820px; }

@media (max-width: 780px) {
	.bir-page-header__inner { padding-block: 31px 34px; }
	.bir-page-header h1,
	.bir-page-header--article h1 { font-size: clamp(32px, 8.7vw, 42px); line-height: 1.07; }
	.bir-page-header .bir-page-header__lead { margin-top: 14px; font-size: 17px; }
	.bir-page-header__actions { flex-direction: column; gap: 11px; margin-top: 23px; }
	.bir-page-header__cta { width: 100%; min-width: 0; }
	.bir-page-header__trust { flex: none; grid-template-columns: 1fr; gap: 7px; width: 100%; }
	.bir-page-header__trust li { min-height: 48px; padding-block: 8px; }
}

/* ========================================================================== */
/* 0.9.18 — responsive Top-3 provider ranking                                */
/* ========================================================================== */

.postid-564 .bir-prose {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: 20px;
}
.postid-564 .bir-prose > * { grid-column: 1 / -1; }
.postid-564 .bir-prose > p:has(+ .ratgeber) {
	margin: 18px 0 4px !important;
	color: var(--bir-navy);
	font-size: clamp(25px, 3vw, 34px) !important;
	font-weight: 900 !important;
	line-height: 1.15;
	text-align: center !important;
}
.postid-564 .bir-prose > .ratgeber {
	position: relative;
	grid-column: auto;
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0 !important;
	padding: 25px 20px 20px;
	overflow: hidden;
	background:
		radial-gradient(circle at 100% 0%, rgba(39,174,228,.1), transparent 32%),
		linear-gradient(150deg, #fff, #f7fbfd);
	border: 1px solid #d6e5ec;
	border-top: 5px solid #e20074;
	border-radius: 20px;
	box-shadow: 0 15px 38px rgba(8,46,87,.085);
}
.postid-564 .bir-prose > .ratgeber:nth-of-type(2) { border-top-color: #e60000; }
.postid-564 .bir-prose > .ratgeber:nth-of-type(3) { border-top-color: #164194; }
.postid-564 .bir-prose > .ratgeber > img:first-child {
	display: block;
	width: auto !important;
	height: 66px !important;
	max-width: min(100%, 225px) !important;
	margin: 0 auto 17px !important;
	object-fit: contain;
}
.postid-564 .bir-prose > .ratgeber > p:empty,
.postid-564 .bir-prose > .ratgeber > hr { display: none; }
.postid-564 .bir-prose > .ratgeber > p[style*="font-weight:bold"] {
	min-height: 44px;
	margin: 0 0 8px !important;
	color: var(--bir-navy);
	font-size: 17px !important;
	font-weight: 900 !important;
	line-height: 1.28;
}
.postid-564 .bir-prose > .ratgeber > p:has(> img[alt*="Bewertungs"]),
.postid-564 .bir-prose > .ratgeber > p:has(> img[alt*="Bewertungs"]) + p {
	margin: 0 0 7px !important;
	text-align: center;
}
.postid-564 .bir-prose > .ratgeber > p:has(> img[alt*="Bewertungs"]) img {
	display: block;
	width: 118px !important;
	height: auto !important;
	margin: 0 auto !important;
}
.postid-564 .bir-prose > .ratgeber > p:has(> img[alt*="Bewertungs"]) + p {
	color: var(--bir-muted);
	font-size: 13px;
}
.postid-564 .bir-prose > .ratgeber > ul.mar {
	display: grid;
	flex: 1;
	gap: 7px;
	margin: 13px 0 20px;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	list-style: none;
}
.postid-564 .bir-prose > .ratgeber > ul.mar > li.plus,
.postid-564 .bir-prose > .ratgeber > ul.mar > li.minus {
	min-height: 0;
	padding: 10px 9px 10px 36px;
	border-radius: 10px;
	font-size: 13px;
	line-height: 1.38;
}
.postid-564 .bir-prose > .ratgeber > ul.mar > li.plus::before,
.postid-564 .bir-prose > .ratgeber > ul.mar > li.minus::before {
	top: 10px;
	left: 9px;
	width: 20px;
	height: 20px;
	font-size: 15px;
}
.postid-564 .bir-prose > .ratgeber > p.button4,
.postid-564 .bir-prose > .ratgeber > p:last-child { width: 100%; margin: 0 !important; }
.postid-564 .bir-prose > .ratgeber > p.button4 { margin-top: auto !important; margin-bottom: 8px !important; }
.postid-564 .bir-prose > .ratgeber > p.button4 a {
	width: 100%;
	min-height: 45px;
	color: var(--bir-blue) !important;
	background: #fff;
	border: 1px solid #bcdceb;
	border-radius: 11px;
	font-size: 14px !important;
}
.postid-564 .bir-prose > .ratgeber > p.button4 a:hover {
	color: #fff !important;
	background: var(--bir-blue);
}
.postid-564 .bir-prose > .ratgeber .btn3 {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 47px;
	padding: 10px 16px;
	color: #fff;
	background: var(--bir-orange);
	border-radius: 11px;
	box-shadow: 0 10px 24px rgba(255,106,19,.22);
	font-weight: 850;
	line-height: 1.2;
	cursor: pointer;
	transition: background .2s ease, transform .2s ease;
}
.postid-564 .bir-prose > .ratgeber .btn3::after { margin-left: 8px; content: "→"; font-size: 18px; }
.postid-564 .bir-prose > .ratgeber .btn3:hover { background: var(--bir-orange-hover); transform: translateY(-1px); }
.postid-564 .bir-prose > .ratgeber + .ratgeber + .ratgeber + div[style*="clear"] { display: none; }

@media (max-width: 900px) {
	.postid-564 .bir-prose { grid-template-columns: 1fr; gap: 16px; }
	.postid-564 .bir-prose > .ratgeber { grid-column: 1; width: 100%; padding: 23px 18px 19px; }
	.postid-564 .bir-prose > .ratgeber > p[style*="font-weight:bold"] { min-height: 0; }
	.postid-564 .bir-prose > .ratgeber > ul.mar > li.plus,
	.postid-564 .bir-prose > .ratgeber > ul.mar > li.minus { font-size: 14px; }
}

/* 0.9.19 — clear actions in the provider tariff tables. */
.postid-564 .bir-prose .table-out table.tab td:has(> p > .btn3) {
	padding: 18px !important;
	background: linear-gradient(135deg, #f5fbfe, #edf8fc) !important;
	border-top: 1px solid #d4e6ee;
	text-align: center;
}
.postid-564 .bir-prose .table-out table.tab td:has(> p > .btn3) > p { margin: 0 !important; }
.postid-564 .bir-prose .table-out table.tab td .btn3 {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: min(100%, 300px);
	min-height: 48px;
	padding: 11px 20px;
	color: #fff;
	background: linear-gradient(135deg, #ff7d2e, var(--bir-orange));
	border: 1px solid rgba(255,255,255,.25);
	border-radius: 999px;
	box-shadow: 0 10px 23px rgba(255,106,19,.23);
	font-size: 15px;
	font-weight: 850;
	line-height: 1.2;
	cursor: pointer;
	transition: background .2s ease, box-shadow .2s ease, transform .2s ease;
}
.postid-564 .bir-prose .table-out table.tab td .btn3::after {
	margin-left: 9px;
	content: "→";
	font-size: 19px;
	line-height: 1;
}
.postid-564 .bir-prose .table-out table.tab td .btn3:hover {
	background: linear-gradient(135deg, #ff8a43, var(--bir-orange-hover));
	box-shadow: 0 13px 28px rgba(255,106,19,.28);
	transform: translateY(-1px);
}

@media (max-width: 680px) {
	.postid-564 .bir-prose .table-out table.tab td:has(> p > .btn3) { padding: 14px !important; }
	.postid-564 .bir-prose .table-out table.tab td .btn3 { width: 100%; min-height: 46px; padding-inline: 16px; }
}

/* 0.9.21 — streaming comparison winner and provider cards. */
.postid-3448 .bir-prose > div:has(> img.wp-image-3481) {
	position: relative;
	display: grid !important;
	grid-template-columns: minmax(150px, 190px) minmax(0, 1fr);
	align-items: start;
	gap: 13px 32px;
	margin: 34px 0 42px !important;
	padding: 30px !important;
	overflow: hidden;
	background: linear-gradient(135deg, #fff 0%, #fff 60%, #fff2f8 100%) !important;
	border: 1px solid #edc5d8 !important;
	border-top: 5px solid #e20074 !important;
	border-radius: 22px;
	box-shadow: 0 18px 44px rgba(8,46,87,.1);
}
.postid-3448 .bir-prose > div:has(> img.wp-image-3481)::after {
	position: absolute;
	top: -74px;
	right: -64px;
	width: 210px;
	height: 210px;
	background: rgba(226,0,116,.055);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}
.postid-3448 .bir-prose > div:has(> img.wp-image-3481) > img {
	grid-column: 1;
	grid-row: 1 / span 4;
	align-self: stretch;
	width: 100% !important;
	height: 100% !important;
	min-height: 218px;
	max-height: 270px;
	margin: 0 !important;
	padding: 22px;
	float: none !important;
	background: #fff;
	border: 1px solid #f0d4e1;
	border-radius: 18px;
	object-fit: contain;
}
.postid-3448 .bir-prose > div:has(> img.wp-image-3481) > p,
.postid-3448 .bir-prose > div:has(> img.wp-image-3481) > ul { grid-column: 2; }
.postid-3448 .bir-prose > div:has(> img.wp-image-3481) > p:empty { display: none; }
.postid-3448 .bir-prose > div:has(> img.wp-image-3481) > p:nth-of-type(2) {
	position: relative;
	z-index: 1;
	margin: 0 !important;
	font-size: 17px;
	line-height: 1.68;
}
.postid-3448 .bir-prose > div:has(> img.wp-image-3481) > p:nth-of-type(2) > span {
	display: block;
	margin-bottom: 6px;
	color: var(--bir-navy);
	font-size: 27px !important;
	font-weight: 900 !important;
	line-height: 1.2;
}
.postid-3448 .bir-prose > div:has(> img.wp-image-3481) > p:nth-of-type(3) {
	margin: 2px 0 0 !important;
	color: #9b0054;
	font-size: 14px !important;
	font-weight: 900 !important;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.postid-3448 .bir-prose > div:has(> img.wp-image-3481) > ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.postid-3448 .bir-prose > div:has(> img.wp-image-3481) > ul > li {
	position: relative;
	margin: 0;
	padding-left: 27px;
	font-size: 15px;
	line-height: 1.48;
}
.postid-3448 .bir-prose > div:has(> img.wp-image-3481) > ul > li::before {
	position: absolute;
	top: .08em;
	left: 0;
	display: grid;
	place-items: center;
	width: 19px;
	height: 19px;
	color: #fff;
	background: #13a96e;
	border-radius: 50%;
	content: "✓";
	font-size: 12px;
	font-weight: 900;
}
.postid-3448 .bir-prose > div:has(> img.wp-image-3481) > .button1 {
	width: fit-content;
	margin: 4px 0 0 !important;
	text-align: left !important;
}
.postid-3448 .bir-prose > div:has(> img.wp-image-3481) > .button1 a {
	min-height: 48px;
	padding: 11px 21px;
	border-radius: 999px;
	box-shadow: 0 11px 25px rgba(255,106,19,.24);
}

.postid-3448 .bir-prose > .wrap {
	display: grid !important;
	grid-template-columns: minmax(185px, .68fr) minmax(0, 1.18fr) minmax(220px, .82fr);
	align-items: stretch;
	gap: 0;
	width: 100% !important;
	margin: 22px 0 !important;
	padding: 0 !important;
	overflow: hidden;
	background: #fff;
	border: 1px solid #d3e3eb;
	border-top: 4px solid var(--bir-blue);
	border-radius: 20px;
	box-shadow: 0 15px 36px rgba(8,46,87,.09);
}
.postid-3448 .bir-prose > .wrap > div {
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	padding: 25px 22px;
	float: none !important;
}
.postid-3448 .bir-prose > .wrap .column1 {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;
	background: linear-gradient(145deg, #f5fbfe, #ebf7fc);
	text-align: center;
}
.postid-3448 .bir-prose > .wrap .column1 .num {
	margin: 0 0 20px;
	color: var(--bir-navy);
	font-size: 24px;
	font-weight: 900;
	line-height: 1.2;
}
.postid-3448 .bir-prose > .wrap .column1 p:last-child {
	display: grid;
	place-items: center;
	width: 100%;
	min-height: 112px;
	margin: auto 0 0;
	padding: 16px;
	background: rgba(255,255,255,.82);
	border: 1px solid #dceaf1;
	border-radius: 15px;
}
.postid-3448 .bir-prose > .wrap .column1 img {
	display: block;
	width: 100% !important;
	height: 82px !important;
	max-width: 190px !important;
	margin: 0 auto !important;
	object-fit: contain;
}
.postid-3448 .bir-prose > .wrap .column2 {
	display: flex;
	align-items: center;
	border-inline: 1px solid #dce7ed;
}
.postid-3448 .bir-prose > .wrap .column2 ul {
	display: grid;
	gap: 9px;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}
.postid-3448 .bir-prose > .wrap .column2 li.plus {
	position: relative;
	min-height: 46px;
	margin: 0;
	padding: 11px 12px 11px 49px;
	color: #075f43;
	background: #eefaf5;
	border: 1px solid #ccebdd;
	border-radius: 12px;
	font-size: 15px;
	line-height: 1.45;
}
.postid-3448 .bir-prose > .wrap .column2 li.plus::before {
	position: absolute;
	top: 50%;
	left: 13px;
	display: grid;
	place-items: center;
	width: 25px;
	height: 25px;
	color: #fff;
	background: #14aa73;
	border-radius: 50%;
	content: "✓" !important;
	font-size: 14px;
	font-weight: 900;
	transform: translateY(-50%);
}
.postid-3448 .bir-prose > .wrap .column3 {
	display: flex;
	justify-content: center;
	flex-direction: column;
	background: linear-gradient(180deg, #fff, #f7fbfe);
}
.postid-3448 .bir-prose > .wrap .column3 > ul {
	display: grid;
	gap: 10px;
	margin: 0 0 20px !important;
	padding: 0 !important;
	list-style: none;
}
.postid-3448 .bir-prose > .wrap .column3 > ul > li {
	position: relative;
	margin: 0;
	padding: 0 0 10px 19px;
	border-bottom: 1px solid #e3edf2;
	font-size: 15px;
	line-height: 1.5;
}
.postid-3448 .bir-prose > .wrap .column3 > ul > li::before {
	position: absolute;
	top: .58em;
	left: 2px;
	width: 7px;
	height: 7px;
	background: var(--bir-blue);
	border-radius: 50%;
	content: "";
}
.postid-3448 .bir-prose > .wrap .column3 > ul > li:last-child { padding-bottom: 0; border-bottom: 0; }
.postid-3448 .bir-prose > .wrap .column3 span[style*="font-weight:bold"] {
	color: var(--bir-navy);
	font-size: 18px !important;
	font-weight: 900 !important;
}
.postid-3448 .bir-prose > .wrap .column3 > p:last-child { width: 100%; margin: 0; }
.postid-3448 .bir-prose > .wrap .btn2 {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	padding: 11px 17px;
	color: #fff;
	background: var(--bir-orange);
	border-radius: 999px;
	box-shadow: 0 10px 23px rgba(255,106,19,.22);
	font-size: 14px;
	font-weight: 850;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: background .2s ease, transform .2s ease;
}
.postid-3448 .bir-prose > .wrap .btn2::after { margin-left: 8px; content: "→"; font-size: 18px; }
.postid-3448 .bir-prose > .wrap .btn2:hover { background: var(--bir-orange-hover); transform: translateY(-1px); }

@media (max-width: 980px) {
	.postid-3448 .bir-prose > .wrap { grid-template-columns: minmax(175px, .65fr) minmax(0, 1.35fr); }
	.postid-3448 .bir-prose > .wrap .column3 { grid-column: 1 / -1; padding: 20px 24px; border-top: 1px solid #dce7ed; }
	.postid-3448 .bir-prose > .wrap .column3 > ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
	.postid-3448 .bir-prose > div:has(> img.wp-image-3481) { grid-template-columns: 1fr; gap: 16px; padding: 22px !important; border-radius: 18px; }
	.postid-3448 .bir-prose > div:has(> img.wp-image-3481) > img,
	.postid-3448 .bir-prose > div:has(> img.wp-image-3481) > p,
	.postid-3448 .bir-prose > div:has(> img.wp-image-3481) > ul { grid-column: 1; }
	.postid-3448 .bir-prose > div:has(> img.wp-image-3481) > img { grid-row: auto; justify-self: center; width: min(100%, 210px) !important; height: 190px !important; min-height: 0; padding: 18px; }
	.postid-3448 .bir-prose > div:has(> img.wp-image-3481) > p:nth-of-type(2) > span { font-size: 24px !important; }
	.postid-3448 .bir-prose > div:has(> img.wp-image-3481) > ul { grid-template-columns: 1fr; }
	.postid-3448 .bir-prose > div:has(> img.wp-image-3481) > .button1,
	.postid-3448 .bir-prose > div:has(> img.wp-image-3481) > .button1 a { width: 100%; }

	.postid-3448 .bir-prose > .wrap { grid-template-columns: 1fr; border-radius: 18px; }
	.postid-3448 .bir-prose > .wrap .column1,
	.postid-3448 .bir-prose > .wrap .column2,
	.postid-3448 .bir-prose > .wrap .column3 { grid-column: auto; padding: 22px 19px; border: 0; }
	.postid-3448 .bir-prose > .wrap .column1 { border-bottom: 1px solid #dce7ed; }
	.postid-3448 .bir-prose > .wrap .column1 .num { margin-bottom: 14px; font-size: 22px; }
	.postid-3448 .bir-prose > .wrap .column1 p:last-child { min-height: 96px; margin: 0; }
	.postid-3448 .bir-prose > .wrap .column1 img { height: 70px !important; }
	.postid-3448 .bir-prose > .wrap .column2 { border-bottom: 1px solid #dce7ed; }
	.postid-3448 .bir-prose > .wrap .column3 > ul { grid-template-columns: 1fr; }
}

/* 0.9.22 — router ranking cards. */
.page-id-2686 .bir-calculator-embed {
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}
.page-id-2686 .bir-calculator-embed > .wrap {
	position: relative;
	display: grid !important;
	grid-template-columns: minmax(235px, .78fr) minmax(0, 1.28fr) minmax(220px, .72fr);
	align-items: stretch;
	gap: 0;
	width: 100% !important;
	margin: 0 0 24px !important;
	padding: 0 !important;
	overflow: hidden;
	background: #fff;
	border: 1px solid #d1e2eb;
	border-top: 5px solid var(--bir-blue);
	border-radius: 22px;
	box-shadow: 0 17px 40px rgba(8,46,87,.1);
}
.page-id-2686 .bir-calculator-embed > .wrap:first-child { border-top-color: #f5ad21; }
.page-id-2686 .bir-calculator-embed > .wrap:first-child::after {
	position: absolute;
	top: 16px;
	right: 18px;
	z-index: 2;
	padding: 6px 11px;
	color: #7a4b00;
	background: #fff2ce;
	border: 1px solid #f2d485;
	border-radius: 999px;
	content: "TESTSIEGER";
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .1em;
}
.page-id-2686 .bir-calculator-embed > .wrap:nth-child(2) { border-top-color: #8ea5b5; }
.page-id-2686 .bir-calculator-embed > .wrap:nth-child(3) { border-top-color: #b77945; }
.page-id-2686 .bir-calculator-embed > .wrap > div {
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	padding: 27px 24px;
	float: none !important;
}
.page-id-2686 .bir-calculator-embed > .wrap .column1 {
	display: flex;
	align-items: center;
	flex-direction: column;
	background: linear-gradient(145deg, #f5fbfe, #eaf6fb);
	text-align: center;
}
.page-id-2686 .bir-calculator-embed > .wrap .column1 .num {
	width: 100%;
	margin: 0 0 18px;
	color: var(--bir-navy);
	font-size: 23px;
	font-weight: 900;
	line-height: 1.25;
	text-align: left;
}
.page-id-2686 .bir-calculator-embed > .wrap:first-child .column1 .num { padding-right: 86px; }
.page-id-2686 .bir-calculator-embed > .wrap .column1 p:last-child {
	display: grid;
	place-items: center;
	width: 100%;
	min-height: 205px;
	margin: auto 0 0;
	padding: 18px;
	background: rgba(255,255,255,.86);
	border: 1px solid #dceaf1;
	border-radius: 17px;
}
.page-id-2686 .bir-calculator-embed > .wrap .column1 img {
	display: block;
	width: 100% !important;
	height: 175px !important;
	max-width: 250px !important;
	margin: 0 auto !important;
	object-fit: contain;
}
.page-id-2686 .bir-calculator-embed > .wrap .column2 {
	display: flex;
	align-items: center;
	border-inline: 1px solid #dce7ed;
}
.page-id-2686 .bir-calculator-embed > .wrap .column2 ul {
	display: grid;
	gap: 9px;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}
.page-id-2686 .bir-calculator-embed > .wrap .column2 li.plus,
.page-id-2686 .bir-calculator-embed > .wrap .column2 li.minus {
	position: relative;
	min-height: 47px;
	margin: 0;
	padding: 11px 13px 11px 49px;
	border-radius: 12px;
	font-size: 15px;
	line-height: 1.48;
}
.page-id-2686 .bir-calculator-embed > .wrap .column2 li.plus {
	color: #075f43;
	background: #eefaf5;
	border: 1px solid #ccebdd;
}
.page-id-2686 .bir-calculator-embed > .wrap .column2 li.minus {
	color: #8c3035;
	background: #fff4f4;
	border: 1px solid #f1d3d5;
}
.page-id-2686 .bir-calculator-embed > .wrap .column2 li.plus::before,
.page-id-2686 .bir-calculator-embed > .wrap .column2 li.minus::before {
	position: absolute;
	top: 50%;
	left: 13px;
	display: grid;
	place-items: center;
	width: 25px;
	height: 25px;
	color: #fff;
	border-radius: 50%;
	font-size: 14px;
	font-weight: 900;
	transform: translateY(-50%);
}
.page-id-2686 .bir-calculator-embed > .wrap .column2 li.plus::before { background: #14aa73; content: "✓" !important; }
.page-id-2686 .bir-calculator-embed > .wrap .column2 li.minus::before { background: #df5660; content: "−" !important; }
.page-id-2686 .bir-calculator-embed > .wrap .column3 {
	display: flex;
	align-items: stretch;
	justify-content: center;
	flex-direction: column;
	background: linear-gradient(180deg, #fff, #f7fbfe);
	text-align: center;
}
.page-id-2686 .bir-calculator-embed > .wrap .column3 > p {
	width: 100%;
	margin: 0 !important;
}
.page-id-2686 .bir-calculator-embed > .wrap .column3 > p:first-child { margin-bottom: 11px !important; }
.page-id-2686 .bir-calculator-embed > .wrap .column3 > p:last-child {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 15px;
	color: #526b7c;
	font-size: 14px;
	line-height: 1.35;
}
.page-id-2686 .bir-calculator-embed > .wrap .column3 br { display: none; }
.page-id-2686 .bir-calculator-embed > .wrap .column3 .btn1,
.page-id-2686 .bir-calculator-embed > .wrap .column3 .btn2 {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	padding: 10px 16px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 850;
	line-height: 1.2;
	text-decoration: none;
	transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
.page-id-2686 .bir-calculator-embed > .wrap .column3 .btn1 {
	color: var(--bir-blue);
	background: #fff;
	border: 1px solid #bcdcea;
}
.page-id-2686 .bir-calculator-embed > .wrap .column3 .btn1::after,
.page-id-2686 .bir-calculator-embed > .wrap .column3 .btn2::after { margin-left: 8px; content: "→"; font-size: 17px; }
.page-id-2686 .bir-calculator-embed > .wrap .column3 .btn1:hover { color: #fff; background: var(--bir-blue); border-color: var(--bir-blue); transform: translateY(-1px); }
.page-id-2686 .bir-calculator-embed > .wrap .column3 .btn2 {
	color: #fff;
	background: var(--bir-orange);
	border: 1px solid var(--bir-orange);
	box-shadow: 0 10px 23px rgba(255,106,19,.22);
}
.page-id-2686 .bir-calculator-embed > .wrap .column3 .btn2:hover { background: var(--bir-orange-hover); border-color: var(--bir-orange-hover); transform: translateY(-1px); }
.page-id-2686 .bir-calculator-embed > .wrap .column3 span[style*="font-weight:bold"] {
	display: block;
	color: var(--bir-navy);
	font-size: 25px !important;
	font-weight: 900 !important;
	line-height: 1.1;
}

@media (max-width: 1040px) {
	.page-id-2686 .bir-calculator-embed > .wrap { grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr); }
	.page-id-2686 .bir-calculator-embed > .wrap .column3 {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
		padding: 20px 24px;
		border-top: 1px solid #dce7ed;
	}
	.page-id-2686 .bir-calculator-embed > .wrap .column3 > p:first-child { margin: 0 !important; }
}

@media (max-width: 720px) {
	.page-id-2686 .bir-calculator-embed > .wrap { grid-template-columns: 1fr; border-radius: 18px; }
	.page-id-2686 .bir-calculator-embed > .wrap > div { padding: 22px 19px; }
	.page-id-2686 .bir-calculator-embed > .wrap .column1,
	.page-id-2686 .bir-calculator-embed > .wrap .column2,
	.page-id-2686 .bir-calculator-embed > .wrap .column3 { grid-column: auto; border: 0; }
	.page-id-2686 .bir-calculator-embed > .wrap .column1 { border-bottom: 1px solid #dce7ed; }
	.page-id-2686 .bir-calculator-embed > .wrap .column1 .num { margin-bottom: 14px; font-size: 21px; text-align: center; }
	.page-id-2686 .bir-calculator-embed > .wrap:first-child .column1 .num { padding: 28px 0 0; }
	.page-id-2686 .bir-calculator-embed > .wrap:first-child::after { top: 14px; right: 14px; }
	.page-id-2686 .bir-calculator-embed > .wrap .column1 p:last-child { min-height: 170px; margin: 0; padding: 14px; }
	.page-id-2686 .bir-calculator-embed > .wrap .column1 img { height: 145px !important; max-width: 225px !important; }
	.page-id-2686 .bir-calculator-embed > .wrap .column2 { border-bottom: 1px solid #dce7ed; }
	.page-id-2686 .bir-calculator-embed > .wrap .column3 { display: grid; grid-template-columns: 1fr; gap: 11px; }
	.page-id-2686 .bir-calculator-embed > .wrap .column3 > p:last-child { gap: 13px; }
}
