/* ==========================================================================
   Ameisenherz Theme: Gestaltungselemente aus dem Flyer 2026
   Wird im Frontend UND im Editor geladen (siehe functions.php).
   ========================================================================== */

:root {
	/* Punktepfad aus dem Flyer: geschwungene Linie aus runden Punkten.
	   Als Maske genutzt, damit die Farbe über currentColor steuerbar bleibt. */
	--ah-pfad: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 140' fill='none'%3E%3Cpath d='M4 96 C 140 132, 300 136, 430 104 S 610 18, 540 30 S 452 118, 560 122 S 720 92, 796 70' stroke='%23000' stroke-width='5' stroke-linecap='round' stroke-dasharray='0 13'/%3E%3C/svg%3E");
	/* Offene Schlaufe (für Ecken und Hero) */
	--ah-schlaufe: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 300' fill='none'%3E%3Cpath d='M20 290 C 40 220, 150 230, 190 170 S 250 40, 170 20 S 60 70, 120 130 S 240 150, 250 90' stroke='%23000' stroke-width='4.5' stroke-linecap='round' stroke-dasharray='0 12'/%3E%3C/svg%3E");
	/* Herz-Icon */
	--ah-herz: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7.5-4.6-9.6-9.3C.9 8.3 3 4.5 6.6 4.5c2.1 0 3.6 1.2 5.4 3.2 1.8-2 3.3-3.2 5.4-3.2 3.6 0 5.7 3.8 4.2 7.2C19.5 16.4 12 21 12 21z' fill='%23000'/%3E%3C/svg%3E");
	--ah-radius: 6px;
}

/* --------------------------------------------------------------------------
   Grundlegendes
   -------------------------------------------------------------------------- */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(h1, h2, h3, h4) { text-wrap: balance; hyphens: auto; -webkit-hyphens: auto; hyphenate-limit-chars: 10 4 4; overflow-wrap: normal; }
:where(p) { text-wrap: pretty; }
[id] { scroll-margin-top: 110px; }

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--wp--preset--color--terrakotta);
	outline-offset: 3px;
	border-radius: 3px;
}

::selection { background: var(--wp--preset--color--lindgruen); color: var(--wp--preset--color--oliv-tief); }

/* Barrierefreiheit: Screenreader-Texte (Block-Themes bringen das nicht mit) */
.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute !important; width: 1px; word-wrap: normal !important;
}
.screen-reader-text:focus {
	background: var(--wp--preset--color--papier); clip: auto !important; clip-path: none;
	color: var(--wp--preset--color--oliv); display: block; font-weight: 700;
	height: auto; left: 8px; padding: 12px 20px; top: 8px; width: auto; z-index: 100000;
}

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */
.wp-site-blocks > * + * { margin-block-start: 0; }
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
}
.ah-header {
	background: color-mix(in srgb, var(--wp--preset--color--papier) 92%, transparent);
	backdrop-filter: saturate(140%) blur(10px);
	-webkit-backdrop-filter: saturate(140%) blur(10px);
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--salbei) 70%, transparent);
}
body.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { body.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 0; } }

.ah-marke { gap: 0.7rem !important; }
.ah-marke .wp-block-site-title a { color: var(--wp--preset--color--oliv); }
.ah-marke .wp-block-site-tagline { color: var(--wp--preset--color--moos); margin-top: 0.3rem; }
/* Ameisen-Logo (fest im Theme, kein Customizer nötig) */
.ah-marke__logo { margin: 0 !important; flex: 0 0 auto; }
.ah-marke__logo img { width: 56px !important; height: auto; display: block; }
@media (max-width: 480px) { .ah-marke__logo img { width: 44px !important; } }
.ah-marke__herz {
	width: 34px; height: 34px; flex: 0 0 34px;
	background: var(--wp--preset--color--terrakotta);
	-webkit-mask: var(--ah-herz) center / contain no-repeat;
	mask: var(--ah-herz) center / contain no-repeat;
	margin: 0 !important;
}

.ah-header .wp-block-navigation a:not(.wp-block-button__link):hover { color: var(--wp--preset--color--terrakotta); }
.ah-header .wp-block-navigation .current-menu-item > a,
.ah-header .wp-block-navigation a[aria-current="page"] {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--wiese);
	text-decoration-thickness: 3px;
	text-underline-offset: 7px;
}
/* Mobiles Menü */
.ah-nur-mobil { display: none !important; }
.is-menu-open .ah-nur-mobil { display: flex !important; }
.is-menu-open .ah-nur-mobil a { color: var(--wp--preset--color--terrakotta) !important; }
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--nebel) !important;
	padding: 2rem !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	gap: 1.1rem;
	font-family: var(--wp--preset--font-family--biorhyme);
	font-size: 1.5rem;
}
.ah-header .wp-block-buttons .wp-block-button__link { padding: 0.65rem 1.2rem; font-size: 0.975rem; }
@media (max-width: 480px) {
	.ah-header .ah-header__cta { display: none !important; }
	.ah-marke .wp-block-site-tagline { display: none; }
}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */
.wp-block-button__link { transition: background-color var(--wp--custom--transition), color var(--wp--custom--transition), transform var(--wp--custom--transition); }
.wp-block-button__link:hover { transform: translateY(-1px); }

.wp-block-button.is-style-hell .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--oliv);
	box-shadow: inset 0 0 0 2px currentColor;
}
.wp-block-button.is-style-hell .wp-block-button__link:hover {
	background: var(--wp--preset--color--oliv);
	color: var(--wp--preset--color--weiss);
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--oliv);
}
/* Heller Button auf dunklem Grund */
.has-oliv-background-color .wp-block-button.is-style-hell .wp-block-button__link,
.has-oliv-tief-background-color .wp-block-button.is-style-hell .wp-block-button__link,
.has-terrakotta-background-color .wp-block-button.is-style-hell .wp-block-button__link { color: var(--wp--preset--color--weiss); }
.has-oliv-background-color .wp-block-button.is-style-hell .wp-block-button__link:hover,
.has-oliv-tief-background-color .wp-block-button.is-style-hell .wp-block-button__link:hover,
.has-terrakotta-background-color .wp-block-button.is-style-hell .wp-block-button__link:hover {
	background: var(--wp--preset--color--weiss); color: var(--wp--preset--color--oliv-tief); box-shadow: inset 0 0 0 2px var(--wp--preset--color--weiss);
}
.has-terrakotta-background-color .wp-block-button:not(.is-style-hell) .wp-block-button__link { background: var(--wp--preset--color--weiss); color: var(--wp--preset--color--terrakotta); }

/* Herz vor dem Buttontext */
.wp-block-button.is-style-herz .wp-block-button__link { display: inline-flex; align-items: center; gap: 0.55rem; }
.wp-block-button.is-style-herz .wp-block-button__link::before {
	content: "";
	width: 1.05em; height: 1.05em; flex: 0 0 auto;
	background: currentColor;
	-webkit-mask: var(--ah-herz) center / contain no-repeat;
	mask: var(--ah-herz) center / contain no-repeat;
}

/* --------------------------------------------------------------------------
   Polygon-Bildformen aus dem Flyer
   -------------------------------------------------------------------------- */
.wp-block-image[class*="is-style-polygon"] img { border-radius: 0 !important; width: 100%; object-fit: cover; }
.wp-block-image.is-style-polygon-kippe img  { clip-path: polygon(0 0, 100% 5%, 100% 100%, 3% 91%); }
.wp-block-image.is-style-polygon-hang img   { clip-path: polygon(0 9%, 71% 0, 100% 4%, 88% 84%, 11% 100%); }
.wp-block-image.is-style-polygon-fuenfeck img { clip-path: polygon(22% 0, 100% 10%, 91% 100%, 6% 94%, 0 34%); }
.wp-block-image.is-style-polygon-haus img   { clip-path: polygon(50% 0, 100% 30%, 90% 100%, 9% 97%, 0 28%); }
.wp-block-image.is-style-polygon-schraeg img { clip-path: polygon(7% 0, 100% 0, 93% 100%, 0 100%); }

/* Dezenter Schatten hinter Polygonen funktioniert nur via drop-shadow auf dem Wrapper */
.wp-block-image[class*="is-style-polygon"] { filter: drop-shadow(0 18px 24px rgba(62, 70, 41, 0.18)); }

/* --------------------------------------------------------------------------
   Punktepfad (Trenner + Dekor)
   -------------------------------------------------------------------------- */
.wp-block-separator.is-style-punktepfad {
	border: 0 !important;
	height: 56px;
	max-width: 520px !important;
	width: 100%;
	background: currentColor !important;
	opacity: 0.9;
	-webkit-mask: var(--ah-pfad) center / 100% 100% no-repeat;
	mask: var(--ah-pfad) center / 100% 100% no-repeat;
}
.wp-block-separator.is-style-punktepfad.alignwide,
.wp-block-separator.is-style-punktepfad.alignfull { max-width: none !important; }

.is-style-schlaufe { position: relative; isolation: isolate; }
.is-style-schlaufe::after {
	content: "";
	position: absolute;
	z-index: -1;
	right: clamp(-10px, 2vw, 40px);
	bottom: -30px;
	width: clamp(140px, 18vw, 240px);
	aspect-ratio: 260 / 300;
	background: var(--wp--preset--color--moos);
	opacity: 0.8;
	-webkit-mask: var(--ah-schlaufe) center / contain no-repeat;
	mask: var(--ah-schlaufe) center / contain no-repeat;
	pointer-events: none;
}

/* Waldflüsterer-Faden: Signet-Linie als oberer Abschluss (z. B. Footer) */
.is-style-faden { position: relative; }
.is-style-faden::before {
	--h: clamp(40px, 6vw, 76px);
	content: "";
	position: absolute;
	left: 0; right: 0; top: 0;
	height: var(--h);
	transform: translateY(calc(-71.5% - 14px));
	background: var(--ah-faden-farbe, var(--wp--preset--color--oliv-tief));
	/* Signet rechts + gerade Linie links, damit der Faden über die ganze Breite läuft */
	-webkit-mask: var(--ah-faden-url) right 5vw bottom / auto 100% no-repeat, linear-gradient(#000 0 0) left 71.5% / calc(100% - 5vw - var(--h) * 4.36 + 3px) calc(var(--h) * 0.036) no-repeat;
	mask: var(--ah-faden-url) right 5vw bottom / auto 100% no-repeat, linear-gradient(#000 0 0) left 71.5% / calc(100% - 5vw - var(--h) * 4.36 + 3px) calc(var(--h) * 0.036) no-repeat;
	pointer-events: none;
	z-index: 2;
}

/* --------------------------------------------------------------------------
   Überschriften
   -------------------------------------------------------------------------- */
.is-style-kicker {
	font-family: var(--wp--preset--font-family--figtree) !important;
	font-size: 0.8125rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase;
	line-height: 1.4 !important;
	color: var(--wp--preset--color--terrakotta);
}
.has-oliv-background-color .is-style-kicker,
.has-oliv-tief-background-color .is-style-kicker { color: var(--wp--preset--color--lindgruen); }
.has-terrakotta-background-color .is-style-kicker { color: var(--wp--preset--color--weiss); opacity: 0.85; }

/* Vertikale Headline wie im Flyer ("Viele Hände. Ein gemeinsames Herz.") */
@media (min-width: 900px) {
	.is-style-vertikal {
		writing-mode: vertical-rl;
		transform: rotate(180deg);
		margin: 0 !important;
		max-height: 30rem;
		line-height: 1.12;
		justify-self: start;
	}
}

/* --------------------------------------------------------------------------
   Zitat im Flyer-Stil
   -------------------------------------------------------------------------- */
.wp-block-pullquote.is-style-flyer,
.wp-block-quote.is-style-flyer {
	border: 0 !important;
	padding: 0 !important;
	text-align: center;
	color: var(--wp--preset--color--moos);
	font-family: var(--wp--preset--font-family--biorhyme);
}
.wp-block-pullquote.is-style-flyer blockquote,
.wp-block-quote.is-style-flyer { position: relative; }
.wp-block-pullquote.is-style-flyer p,
.wp-block-quote.is-style-flyer p {
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.25;
	margin: 0;
}
.wp-block-pullquote.is-style-flyer blockquote::before,
.wp-block-quote.is-style-flyer::before,
.wp-block-pullquote.is-style-flyer blockquote::after,
.wp-block-quote.is-style-flyer::after {
	display: block;
	font-family: var(--wp--preset--font-family--biorhyme);
	font-weight: 800;
	font-size: 4.2rem;
	line-height: 0.6;
	color: var(--wp--preset--color--moos);
}
.wp-block-pullquote.is-style-flyer blockquote::before, .wp-block-quote.is-style-flyer::before { content: "\201D"; margin-bottom: 1.2rem; }
.wp-block-pullquote.is-style-flyer blockquote::after, .wp-block-quote.is-style-flyer::after { content: "\201C"; margin-top: 2.2rem; }
.wp-block-pullquote.is-style-flyer cite, .wp-block-quote.is-style-flyer cite {
	display: block; margin-top: 1rem;
	font-family: var(--wp--preset--font-family--figtree);
	font-size: var(--wp--preset--font-size--small);
	font-style: normal; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
}

/* --------------------------------------------------------------------------
   Badge "Vereinbare ein persönliches Kennenlernen!"
   -------------------------------------------------------------------------- */
.wp-block-group.is-style-badge {
	position: relative;
	width: clamp(150px, 16vw, 190px);
	aspect-ratio: 1;
	border-radius: 50%;
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 1.25rem !important;
	background: var(--wp--preset--color--wiese);
	color: var(--wp--preset--color--oliv-tief);
	font-family: var(--wp--preset--font-family--biorhyme);
	font-size: 0.98rem;
	line-height: 1.25;
	transform: rotate(-6deg);
	box-shadow: var(--wp--preset--shadow--sanft);
}
.wp-block-group.is-style-badge > * { margin: 0 !important; overflow-wrap: normal; word-break: normal; hyphens: manual; }
.wp-block-group.is-style-badge a { color: inherit; text-decoration: none; }
.wp-block-group.is-style-badge a::after { content: ""; position: absolute; inset: 0; border-radius: 50%; }
/* Strahlen über dem Badge */
.wp-block-group.is-style-badge::before {
	content: "";
	position: absolute;
	top: -26px; left: 50%;
	width: 54px; height: 22px;
	transform: translateX(-50%);
	background:
		linear-gradient(currentColor, currentColor) 50% 0 / 2.5px 18px no-repeat,
		linear-gradient(currentColor, currentColor) 20% 30% / 2.5px 14px no-repeat,
		linear-gradient(currentColor, currentColor) 80% 30% / 2.5px 14px no-repeat;
	-webkit-mask: none;
	opacity: 0.85;
}

/* --------------------------------------------------------------------------
   Karten
   -------------------------------------------------------------------------- */
.is-style-karte {
	border-radius: var(--ah-radius);
	transition: transform var(--wp--custom--transition), box-shadow var(--wp--custom--transition);
}
.is-style-karte:hover { transform: translateY(-3px); box-shadow: var(--wp--preset--shadow--sanft); }
.is-style-karte .wp-block-post-title a, .is-style-karte h3 a { text-decoration: none; }
.is-style-karte .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }
.is-style-karte { position: relative; }
.is-style-karte .wp-block-button, .is-style-karte .wp-block-buttons { position: relative; z-index: 2; }

/* Auswahlkarten mit Nummer auf der Begleiten-Seite */
.ah-wege { counter-reset: ah-weg; }
.ah-wege .is-style-karte { counter-increment: ah-weg; }
.ah-wege .is-style-karte::before {
	content: counter(ah-weg, decimal-leading-zero);
	font-family: var(--wp--preset--font-family--biorhyme);
	font-weight: 800;
	font-size: 1.1rem;
	color: var(--wp--preset--color--terrakotta);
	display: block;
	margin-bottom: 0.6rem;
}
.ah-wege a { text-decoration: none; }
.ah-wege .is-style-karte a::after { content: ""; position: absolute; inset: 0; }

/* --------------------------------------------------------------------------
   Listen: kleine Wiesen-Punkte statt Standard-Bullets
   -------------------------------------------------------------------------- */
ul.is-style-punkte { list-style: none; padding-left: 0 !important; }
ul.is-style-punkte li { position: relative; padding-left: 1.6rem; margin-bottom: 0.45rem; }
ul.is-style-punkte li::before {
	content: "";
	position: absolute; left: 0.2rem; top: 0.62em;
	width: 0.55rem; height: 0.55rem; border-radius: 50%;
	background: var(--wp--preset--color--wiese);
	box-shadow: 0.9rem 0 0 -0.15rem transparent;
}

/* --------------------------------------------------------------------------
   Hero der Startseite
   -------------------------------------------------------------------------- */
.ah-hero { overflow: hidden; }
.ah-hero__bilder { position: relative; min-height: 560px; }
.ah-hero__bilder .ah-hero__gross { width: min(78%, 360px); margin: 0 0 0 auto !important; }
.ah-hero__bilder .ah-hero__gross img { aspect-ratio: 386 / 640; }
.ah-hero__bilder .ah-hero__klein {
	position: absolute !important;
	left: 0; bottom: 7%;
	width: min(52%, 250px);
	margin: 0 !important;
}
.ah-hero__bilder .ah-hero__klein img { aspect-ratio: 1.12; }
.ah-hero__bilder .is-style-badge { position: absolute; left: 4%; top: 4%; z-index: 3; }
@media (max-width: 781px) {
	.ah-hero__bilder { min-height: 0; margin-top: 1rem; }
	.ah-hero__bilder .ah-hero__gross { width: 72%; }
	.ah-hero__bilder .ah-hero__gross img { aspect-ratio: 4 / 5; }
	.ah-hero__bilder .ah-hero__klein { width: 46%; bottom: -4%; }
	.ah-hero__bilder .is-style-badge { width: 136px; font-size: 0.8rem; padding: 0.9rem !important; top: 2%; left: 0; }
}

/* Überlappende Bildgruppe in Inhaltsabschnitten */
.ah-bildpaar { position: relative; }
.ah-bildpaar > .wp-block-image:last-child:not(:first-child) {
	width: 58%;
	margin: -22% 0 0 auto !important;
	position: relative;
}

/* --------------------------------------------------------------------------
   Farbflächen: Text auf Oliv
   -------------------------------------------------------------------------- */
.has-oliv-background-color, .has-oliv-tief-background-color, .has-terrakotta-background-color { color: var(--wp--preset--color--weiss); }
.has-oliv-background-color :where(h1,h2,h3,h4,a:not(.wp-block-button__link)),
.has-oliv-tief-background-color :where(h1,h2,h3,h4,a:not(.wp-block-button__link)),
.has-terrakotta-background-color :where(h1,h2,h3,h4,a:not(.wp-block-button__link)) { color: inherit; }

/* --------------------------------------------------------------------------
   Unterstützen-Band vor dem Footer
   -------------------------------------------------------------------------- */
.ah-band .wp-block-column { position: relative; }
.ah-band .ah-band__wege .wp-block-group { height: 100%; }

/* Unterstützen-Band: drei Wege untereinander statt drei schmaler Spalten.
   Verhindert Umbrüche mitten im Wort ("Spende-n", "Promill-e"). */
.ah-wege .wp-block-heading { hyphens: manual; -webkit-hyphens: manual; overflow-wrap: normal; word-break: normal; }
@media (min-width: 782px) {
	.ah-band .ah-band__wege.wp-block-columns { flex-direction: column; gap: 0.85rem !important; }
	.ah-band .ah-band__wege > .wp-block-column {
		flex-basis: auto !important;
		display: grid;
		grid-template-columns: 2.4rem 1fr;
		column-gap: 1rem;
		row-gap: 0.3rem;
		align-items: baseline;
	}
	.ah-band .ah-band__wege > .wp-block-column::before { margin: 0; grid-row: 1 / span 2; }
	.ah-band .ah-band__wege > .wp-block-column > * { margin: 0 !important; grid-column: 2; }
	.ah-band .ah-band__wege .wp-block-heading { font-size: 1.45rem !important; }
}
@media (min-width: 1100px) {
	.ah-band .ah-band__wege > .wp-block-column { grid-template-columns: 2.4rem 13rem 1fr; }
	.ah-band .ah-band__wege > .wp-block-column::before { grid-row: auto; }
	.ah-band .ah-band__wege > .wp-block-column > * { grid-column: auto; }
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
.ah-footer { margin-top: 0 !important; }
.ah-footer a { color: var(--wp--preset--color--weiss); text-decoration-color: color-mix(in srgb, currentColor 45%, transparent); text-underline-offset: 3px; }
.ah-footer a:hover { color: var(--wp--preset--color--lindgruen); }
.ah-footer .ah-footer__marke { font-family: var(--wp--preset--font-family--biorhyme); font-weight: 800; font-size: 1.6rem; line-height: 1; }
.ah-footer .ah-footer__claim { font-family: var(--wp--preset--font-family--biorhyme); color: var(--wp--preset--color--lindgruen); }
/* Ameisenpost-Streifen oben im Footer */
.ah-footer__post { border-bottom: 1px solid rgba(255,255,255,0.18); }
.ah-footer .ah-footer__post-titel { font-size: clamp(1.6rem, 2.4vw, 2.1rem); color: var(--wp--preset--color--lindgruen); margin: 0 0 0.4rem; }
.ah-footer__post p { margin-top: 0; }
.ah-footer__liste { list-style: none; }
.ah-footer__liste li { margin: 0; }
.ah-footer__rechtliches { font-size: var(--wp--preset--font-size--small); border-top: 1px solid rgba(255,255,255,0.18); }
.ah-footer__traeger img { width: 190px; height: auto; }
.ah-footer .wp-block-social-links .wp-social-link { background: transparent !important; color: var(--wp--preset--color--weiss) !important; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,0.5); }
.ah-footer .wp-block-social-links .wp-social-link:hover { background: var(--wp--preset--color--weiss) !important; color: var(--wp--preset--color--oliv-tief) !important; }
.ah-footer .wp-block-social-links .wp-social-link svg { fill: currentColor; }

/* --------------------------------------------------------------------------
   Blog
   -------------------------------------------------------------------------- */
.ah-postkarte .wp-block-post-featured-image { margin: 0 0 1rem !important; overflow: hidden; }
.ah-postkarte .wp-block-post-featured-image img { aspect-ratio: 4 / 3; object-fit: cover; transition: transform 400ms ease; }
.ah-postkarte:hover .wp-block-post-featured-image img { transform: scale(1.04); }
.ah-postkarte--polygon .wp-block-post-featured-image img { clip-path: polygon(0 0, 100% 4%, 97% 100%, 2% 95%); }
.ah-postkarte .wp-block-post-excerpt__more-link { font-weight: 650; }
.wp-block-post-excerpt__more-text { margin-top: 0.8rem; }

.ah-beitrag .wp-block-post-content > * + h2 { margin-top: 2.4rem; }
.ah-beitrag .wp-block-post-content img { border-radius: 4px; }
.ah-beitrag-bild img { max-height: 70vh; object-fit: cover; }

.wp-block-query-pagination { gap: 0.6rem; font-weight: 600; }
.wp-block-query-pagination-numbers .page-numbers {
	display: inline-grid; place-items: center; min-width: 2.4rem; height: 2.4rem; border-radius: 50%; text-decoration: none;
}
.wp-block-query-pagination-numbers .page-numbers.current { background: var(--wp--preset--color--oliv); color: var(--wp--preset--color--weiss); }

/* Kategorie-Pillen */
.wp-block-post-terms a {
	display: inline-block;
	padding: 0.2rem 0.7rem;
	border-radius: 999px;
	background: var(--wp--preset--color--lindgruen);
	color: var(--wp--preset--color--oliv-tief);
	text-decoration: none;
	margin: 0 0.25rem 0.25rem 0;
}
.wp-block-post-terms .wp-block-post-terms__separator { display: none; }

/* --------------------------------------------------------------------------
   Team-Karten (Initiale als Platzhalter, bis Fotos da sind)
   -------------------------------------------------------------------------- */
.ah-team .wp-block-image img { aspect-ratio: 1; object-fit: cover; }

/* --------------------------------------------------------------------------
   Einbettungen (Vimeo) im Seitenverhältnis
   -------------------------------------------------------------------------- */
.wp-block-embed { margin-block: 1.5rem; }

/* --------------------------------------------------------------------------
   Kleine Helfer
   -------------------------------------------------------------------------- */
.ah-hinweis { border-left: 4px solid var(--wp--preset--color--terrakotta); padding: 0.9rem 1.1rem; background: var(--wp--preset--color--nebel); border-radius: 0 6px 6px 0; }
.ah-schmal { max-width: 38rem; }
@media (max-width: 781px) {
	.ah-mobil-umkehren { flex-direction: column-reverse; }
}

/* Einleitungsabsatz */
p.is-style-gross { font-size: var(--wp--preset--font-size--large); line-height: 1.5; }

/* Kategorien als Pillen über dem Blog */
.ah-kategorien { list-style: none; padding: 0 !important; margin: 0 0 var(--wp--preset--spacing--50); display: flex; flex-wrap: wrap; gap: 0.5rem; }
.ah-kategorien li a { display: inline-block; padding: 0.35rem 0.95rem; border-radius: 999px; box-shadow: inset 0 0 0 1.5px var(--wp--preset--color--salbei); text-decoration: none; font-weight: 600; font-size: 0.95rem; }
.ah-kategorien li a:hover, .ah-kategorien li.current-cat a { background: var(--wp--preset--color--oliv); color: var(--wp--preset--color--weiss); box-shadow: none; }

/* Großes Hochformatbild in Heldenbereichen: nicht über die Originalgröße hinaus aufblasen */
.wp-block-image.ah-hero__gross { max-width: 400px; margin-left: auto !important; margin-right: 0 !important; }
.wp-block-image.ah-hero__gross img { aspect-ratio: 386 / 620; }
@media (max-width: 781px) { .wp-block-image.ah-hero__gross { max-width: 72%; } .wp-block-image.ah-hero__gross img { aspect-ratio: 4 / 5; } }

/* Rechtliche Links im Footer */
.ah-footer__rechtliches a + a { margin-left: 1.2rem; }

/* Schmale Textspalte linksbündig statt zentriert */
.ah-schmal { margin-left: 0 !important; }

/* Team-Fotos nicht zu groß */
.ah-team .wp-block-image { max-width: 280px; }

/* Auswahlkarten auf dem Handy als 2er-Raster statt vier langer Kacheln */
@media (max-width: 781px) {
	.ah-wege.wp-block-columns { flex-wrap: wrap !important; gap: 0.75rem !important; }
	.ah-wege.wp-block-columns > .wp-block-column { flex-basis: calc(50% - 0.375rem) !important; flex-grow: 1; padding: 1rem !important; }
	.ah-wege .wp-block-heading { font-size: 1.1rem !important; }
}
