/* AntiBooks, Unterseiten an das neue Design der Startseite angleichen (ohne eigene Entwürfe pro Seite).
   Greift nur mit body.abh-site (alle Seiten außer der Startseite), wird nach style.css geladen.
   Die bisherigen Farb-Variablen aus style.css werden auf die neuen Werte umgestellt,
   dazu Hintergrund, Rahmen, Überschriften, Buttons und die Kopfbereiche (vorher dunkle Navy-Banner).
   !important nur dort, wo style.css oder Inline-Styles der Templates selbst !important setzen. */

body.abh-site {
	--ab-navy:      #0B0B4A;
	--ab-cyan:      #00739A;
	--ab-cyan-dark: #005F80;
	--ab-light:     #F6F6F3;
	--ab-text:      #2E2E48;
	--ab-muted:     #5E5E74;
	--ab-border:    #E3E3DE;
	--ab-radius:    16px;
	--ab-shadow-sm: none;
	--ab-shadow-md: 0 6px 24px rgba(11, 11, 74, 0.05);
	--ab-shadow-lg: 0 12px 32px rgba(11, 11, 74, 0.10);
	background: var(--abh-bg);
	color: var(--abh-text);
}

/* Seitenrahmen wie auf der Startseite */
body.abh-site #page {
	max-width: 1248px;
	margin: 0 auto;
	background: var(--abh-bg);
	border-left: 1px solid var(--abh-line);
	border-right: 1px solid var(--abh-line);
}
body.abh-site #content.site-content,
body.abh-site.ast-separate-container #content.site-content,
body.abh-site.ast-separate-container { background: var(--abh-bg); }

/* Weiße Abschnitte (per Browser auf allen Templates erhoben) liegen jetzt auf dem hellen Grund,
   getrennt durch eine feine Linie wie auf der Startseite */
body.abh-site :is(.ab-legal-body, .ab-bs-intro, .ab-bs-process, .ab-da-intro, .ab-da-cta, .ab-wt-intro, .ab-wt-stack, .ab-wt-testi, .ab-tc-intro, .ab-tc-bafa, .ab-tc-testi, .ab-im-intro, .ab-im-process, .ab-blog-related) {
	background: transparent !important;
}
body.abh-site #content .ab-section + .ab-section { border-top: 1px solid var(--abh-line); }

/* Dunkle Bänder als eingerückte, abgerundete Karte wie der Abschluss-CTA der Startseite */
body.abh-site :is(.ab-wib-ansatz, .ab-ref-why, .ab-bs-forwhom, .ab-bs-cta, .ab-da-process, .ab-wt-bafa, .ab-tc-forwhom, .ab-im-forwhom, .ab-ts-cta, .ab-res-cta, .ab-lp-fund-bg, .ab-lp-final-bg, .ab-lp-pricebox-bg, .ab-zm-cta-bg, .ab-blog-cta) {
	margin: 24px;
	border-radius: 24px;
	border-top: none !important;
}
body.abh-site #content :is(.ab-wib-ansatz, .ab-ref-why, .ab-bs-forwhom, .ab-bs-cta, .ab-da-process, .ab-wt-bafa, .ab-tc-forwhom, .ab-im-forwhom, .ab-ts-cta) + .ab-section { border-top: none; }

/* Überschriften: Gewicht und Laufweite wie auf der Startseite */
body.abh-site :is(h1, h2, h3, .ab-title) {
	font-family: Poppins, sans-serif;
	font-weight: 600 !important;
	letter-spacing: -0.02em;
}
body.abh-site :is(.ab-label, .ab-lp-section__label, .ab-lp-fund__label) { color: var(--abh-accent) !important; letter-spacing: 0.08em; }

/* ---------- Kopfbereiche: hell statt Navy-Banner ---------- */
body.abh-site :is(.ab-page-hero, .ab-wib-hero, .ab-ref-hero, .ab-contact-hero, .ab-ts-hero, .ab-wt-hero, .ab-da-hero, .ab-bs-hero, .ab-im-hero, .ab-tc-hero, .ab-legal-hero, .ab-res-hero, .ab-eb-hero, .ab-lp-hero, .ab-zm-hero, .ab-blog-hero) {
	background: transparent !important;
	background-image: none !important;
	color: var(--abh-body) !important;
	box-shadow: none !important;
}
body.abh-site :is(.ab-page-hero, .ab-wib-hero, .ab-ref-hero, .ab-contact-hero, .ab-ts-hero, .ab-wt-hero, .ab-da-hero, .ab-bs-hero, .ab-im-hero, .ab-tc-hero, .ab-legal-hero, .ab-res-hero, .ab-eb-hero, .ab-lp-hero, .ab-zm-hero, .ab-blog-hero)::before,
body.abh-site :is(.ab-page-hero, .ab-wib-hero, .ab-ref-hero, .ab-contact-hero, .ab-ts-hero, .ab-wt-hero, .ab-da-hero, .ab-bs-hero, .ab-im-hero, .ab-tc-hero, .ab-legal-hero, .ab-res-hero, .ab-eb-hero, .ab-lp-hero, .ab-zm-hero, .ab-blog-hero)::after {
	display: none !important;
}
body.abh-site :is(.ab-page-hero, .ab-wib-hero, .ab-ref-hero, .ab-contact-hero, .ab-ts-hero, .ab-wt-hero, .ab-da-hero, .ab-bs-hero, .ab-im-hero, .ab-tc-hero, .ab-legal-hero, .ab-res-hero, .ab-eb-hero, .ab-lp-hero, .ab-zm-hero, .ab-blog-hero) :is(p, span, li, div, small, time) {
	color: var(--abh-body) !important;
}
body.abh-site :is(.ab-page-hero, .ab-wib-hero, .ab-ref-hero, .ab-contact-hero, .ab-ts-hero, .ab-wt-hero, .ab-da-hero, .ab-bs-hero, .ab-im-hero, .ab-tc-hero, .ab-legal-hero, .ab-res-hero, .ab-eb-hero, .ab-lp-hero, .ab-zm-hero, .ab-blog-hero) :is(h1, h2, strong, b) {
	color: var(--abh-navy) !important;
	font-weight: 600 !important;
	letter-spacing: -0.025em;
}
body.abh-site :is(.ab-page-hero, .ab-wib-hero, .ab-ref-hero, .ab-contact-hero, .ab-ts-hero, .ab-wt-hero, .ab-da-hero, .ab-bs-hero, .ab-im-hero, .ab-tc-hero, .ab-legal-hero, .ab-res-hero, .ab-eb-hero, .ab-lp-hero, .ab-zm-hero, .ab-blog-hero) :is(.ab-label, [class*="__tag"], [class*="__label"]) {
	color: var(--abh-accent) !important;
	background: transparent !important;
}
body.abh-site :is(.ab-page-hero, .ab-wib-hero, .ab-ref-hero, .ab-contact-hero, .ab-ts-hero, .ab-wt-hero, .ab-da-hero, .ab-bs-hero, .ab-im-hero, .ab-tc-hero, .ab-legal-hero, .ab-res-hero, .ab-eb-hero, .ab-lp-hero, .ab-zm-hero, .ab-blog-hero) a:not(.ab-btn):not([class*="btn"]):not([class*="cta"]) {
	color: var(--abh-navy) !important;
}

/* ---------- Buttons wie auf der Startseite ---------- */
body.abh-site :is(.ab-btn, .ab-btn-outline-navy, .ab-btn-outline, .ab-btn-outline-white, .ab-btn-ghost) {
	min-height: 52px;
	padding: 0 24px;
	border-radius: 12px;
	border-width: 1px;
	font-weight: 500;
	text-transform: none;
	letter-spacing: normal;
	line-height: 1.2;
	transform: none !important;
	box-shadow: none !important;
}
body.abh-site :is(.ab-btn-primary, .ab-btn-navy),
body.abh-site :is(.ab-btn-primary, .ab-btn-navy):hover {
	background: var(--abh-navy);
	border-color: var(--abh-navy);
	color: #FFFFFF !important;
}
body.abh-site :is(.ab-btn-primary, .ab-btn-navy):hover { opacity: .9; }
body.abh-site :is(.ab-btn-outline-navy, .ab-btn-outline),
body.abh-site :is(.ab-btn-outline-navy, .ab-btn-outline):hover {
	background: #FFFFFF;
	border-color: var(--abh-line-strong);
	color: var(--abh-navy) !important;
}
body.abh-site :is(.ab-btn-outline-navy, .ab-btn-outline):hover { border-color: var(--abh-navy); }
/* helle Outline-Buttons auf dunklen Flächen (Abschluss-CTA) */
body.abh-site :is(.ab-btn-outline-white, .ab-btn-ghost),
body.abh-site :is(.ab-btn-outline-white, .ab-btn-ghost):hover {
	background: transparent;
	border-color: #4A4A8A;
	color: #FFFFFF !important;
}
/* … im jetzt hellen Kopfbereich werden sie zum weißen Sekundär-Button */
body.abh-site :is(.ab-page-hero, .ab-wib-hero, .ab-ref-hero, .ab-contact-hero, .ab-ts-hero, .ab-wt-hero, .ab-da-hero, .ab-bs-hero, .ab-im-hero, .ab-tc-hero, .ab-legal-hero, .ab-res-hero, .ab-eb-hero, .ab-lp-hero, .ab-zm-hero, .ab-blog-hero) :is(.ab-btn-outline-white, .ab-btn-ghost),
body.abh-site :is(.ab-page-hero, .ab-wib-hero, .ab-ref-hero, .ab-contact-hero, .ab-ts-hero, .ab-wt-hero, .ab-da-hero, .ab-bs-hero, .ab-im-hero, .ab-tc-hero, .ab-legal-hero, .ab-res-hero, .ab-eb-hero, .ab-lp-hero, .ab-zm-hero, .ab-blog-hero) :is(.ab-btn-outline-white, .ab-btn-ghost):hover {
	background: #FFFFFF;
	border-color: var(--abh-line-strong);
	color: var(--abh-navy) !important;
}

/* Eigene Buttons der Landingpages und des Blogs (vorher Türkis):
   Navy auf hellem Grund, weiß mit Navy-Schrift auf dunklen Flächen wie der CTA der Startseite */
body.abh-site :is(.ab-lp-hero__cta, .ab-lp-inline-cta, .ab-lp-pricebox__cta, .ab-blog-card__btn--cyan, .ab-zm-form button),
body.abh-site :is(.ab-lp-hero__cta, .ab-lp-inline-cta, .ab-lp-pricebox__cta, .ab-blog-card__btn--cyan, .ab-zm-form button):hover {
	background: var(--abh-navy) !important;
	border-color: var(--abh-navy) !important;
	color: #FFFFFF !important;
	border-radius: 12px;
	font-weight: 500;
	text-transform: none;
	letter-spacing: normal;
	box-shadow: none !important;
	transform: none !important;
}
body.abh-site :is(.ab-lp-final-bg, .ab-lp-fund-bg, .ab-zm-cta-bg, .ab-blog-card--navy, .ab-blog-cta) :is(.ab-lp-hero__cta, .ab-lp-inline-cta, .ab-blog-card__btn--cyan, .ab-zm-form button),
body.abh-site :is(.ab-lp-final-bg, .ab-lp-fund-bg, .ab-zm-cta-bg, .ab-blog-card--navy, .ab-blog-cta) :is(.ab-lp-hero__cta, .ab-lp-inline-cta, .ab-blog-card__btn--cyan, .ab-zm-form button):hover {
	background: #FFFFFF !important;
	border-color: #FFFFFF !important;
	color: var(--abh-navy) !important;
}
body.abh-site :is(.ab-lp-hero__cta, .ab-lp-inline-cta, .ab-lp-pricebox__cta, .ab-blog-card__btn--cyan, .ab-zm-form button) svg { color: inherit; }

/* ---------- Karten: weiß mit feiner Linie statt Schatten ---------- */
body.abh-site :is(.ab-testi-card, .ab-wib-card, .ab-ref-why__card, .ab-wt-scope__card, .ab-bs-scope__card, .ab-im-scope__card, .ab-contact-faq__card, .ab-res-card, .ab-eb-card, .ab-lp-card, .ab-blog-related__card, .ab-da-type, .ab-tc-topic, .ab-ts-tool, .ab-bs-stat, .ab-da-stat, .ab-ts-stat) {
	border-color: var(--abh-line);
	border-radius: 20px;
	box-shadow: none;
}

/* Astra-Standardseiten (Warenkorb, Kasse, Konto, Archiv, 404) */
body.abh-site.ast-separate-container .ast-article-single,
body.abh-site.ast-separate-container .ast-article-post,
body.abh-site.ast-separate-container .comments-area,
body.abh-site.ast-separate-container .ast-woocommerce-container {
	border: 1px solid var(--abh-line);
	border-radius: 20px;
}

/* Referenzen: style.css erzwingt 3 Spalten mit !important, die Breakpoints dort greifen deshalb nie
   (vorher horizontale Scrollleiste auf dem Handy) */
@media (max-width: 921px) {
	body.abh-site .ab-ref-cards { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
	body.abh-site .ab-ref-cards { grid-template-columns: minmax(0, 1fr) !important; }
	body.abh-site #page { border-left: none; border-right: none; }
	body.abh-site :is(.ab-wib-ansatz, .ab-ref-why, .ab-bs-forwhom, .ab-bs-cta, .ab-da-process, .ab-wt-bafa, .ab-tc-forwhom, .ab-im-forwhom, .ab-ts-cta, .ab-res-cta, .ab-lp-fund-bg, .ab-lp-final-bg, .ab-lp-pricebox-bg, .ab-zm-cta-bg, .ab-blog-cta) {
		margin: 16px 12px;
		border-radius: 20px;
	}
}

/* Astras „Nach oben“-Button in Navy statt Türkis */
body.abh-site #ast-scroll-top { background-color: var(--abh-navy); border-radius: 10px; }
