/**
 * Frontend-Styles fuer AutoContent.
 * Block "Aehnliche Beitraege" (Shortcode [w24mf_ac_related]).
 */

.w24mf-ac-related {
	margin: 40px 0;
}

.w24mf-ac-related__title {
	font-size: 1.6em;
	line-height: 1.25;
	margin: 0 0 24px;
	font-weight: 600;
}

.w24mf-ac-related__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.w24mf-ac-related__card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #e6e8eb;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
	transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}

.w24mf-ac-related__card:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, .10);
	transform: translateY(-2px);
	border-color: #d0d5da;
}

.w24mf-ac-related__media {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #f2f4f6;
}

.w24mf-ac-related__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .3s ease;
}

.w24mf-ac-related__card:hover .w24mf-ac-related__img {
	transform: scale(1.04);
}

.w24mf-ac-related__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 20px;
}

.w24mf-ac-related__name {
	font-size: 1.15em;
	line-height: 1.3;
	margin: 0 0 12px;
	font-weight: 600;
}

.w24mf-ac-related__name a {
	color: inherit;
	text-decoration: none;
}

.w24mf-ac-related__name a:hover {
	text-decoration: underline;
}

.w24mf-ac-related__excerpt {
	font-size: .95em;
	line-height: 1.55;
	color: #4a5568;
	margin: 0 0 20px;
}

.w24mf-ac-related__more {
	display: inline-block;
	align-self: flex-start;
	margin-top: auto;
	padding: 10px 20px;
	border: 1px solid #2496ef;
	border-radius: 6px;
	color: #2496ef;
	background: transparent;
	font-size: .95em;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	transition: background .2s ease, color .2s ease;
}

.w24mf-ac-related__more:hover,
.w24mf-ac-related__more:focus {
	background: #2496ef;
	color: #fff;
}

@media (max-width: 900px) {
	.w24mf-ac-related__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.w24mf-ac-related__grid {
		grid-template-columns: 1fr;
	}
}

/* -------------------------------------------------------------------------
 * Abstand ueber dem FAQ-Block.
 *
 * Divi gibt Ueberschriften weder Aussenabstand noch Rand (der Reset setzt
 * margin:0 fuer h1-h6). Der FAQ-Block wurde zudem erst NACH add_hr_before_h2()
 * an den Artikel gehaengt und bekam deshalb als einziger Abschnitt weder die
 * blaue Trennlinie noch sonst einen Abstand: "Haeufig gestellte Fragen" begann
 * unmittelbar unter dem letzten Absatz. Die einzelnen Fragen tragen ihren
 * Abstand seit jeher inline (32 px), nur der Block selbst hatte keinen.
 *
 * Die Regel wirkt ueber die eigene Klasse und damit auf jedem Theme - und auf
 * allen bereits erzeugten Artikeln, ohne deren gespeicherten Text anzufassen.
 * ---------------------------------------------------------------------- */

.w24mf-ac-faq,
section.w24mf-ac-faq {
	margin-top: 40px;
}

.w24mf-ac-faq > h2,
section.w24mf-ac-faq > h2 {
	margin-top: 0;
}

/*
 * WARUM DIE ZWEITE, LAENGERE FASSUNG JEDES SELEKTORS?
 *
 * Die Fliesstext-Themes der Portale (wertaugtwas.de `.sl-prose`,
 * dienstleister-portal.com `.dp-prose`) setzen den Abstand zwischen zwei
 * Bloecken mit `.sl-prose > :where(*) + :where(*) { margin-top: 1.25em }`.
 * `:where()` zaehlt null, die Regel liegt damit bei 0-1-0 -- gleichauf mit
 * einer einzelnen Plugin-Klasse. Bei Gleichstand gewinnt das spaeter geladene
 * Stylesheet, und das ist immer das Theme: gemessen 21,25 px statt 40 px, der
 * FAQ-Block war dort so weit vom Text entfernt wie zwei Absaetze voneinander.
 * `section.w24mf-ac-faq` (0-1-1) entscheidet es ohne !important.
 */

/* -------------------------------------------------------------------------
 * Abstand ueber den Zwischenueberschriften (Klasse aus HeadingSpacing).
 *
 * ABSICHTLICH NUR EINE KLASSE, ohne `h2` davor. Die Regel soll dort greifen,
 * wo das Theme zu Ueberschriftenabstaenden schweigt -- Divi setzt `margin:0`
 * fuer h1-h6, dort klebt die Ueberschrift ohne diese 40 px am Absatz. Wo das
 * Theme etwas sagt, soll sie zurueckstehen: `.sl-prose :where(h2)` auf
 * wertaugtwas.de gibt 2,5 em (gemessen 65 px), liegt mit 0-1-0 gleichauf und
 * gewinnt als spaeter geladenes Stylesheet. Mit `h2.w24mf-ac-h2` (0-1-1)
 * waeren die Ueberschriften dort von 65 auf 40 px zusammengerueckt.
 *
 * Der FAQ-Block oben macht es umgekehrt (`section.w24mf-ac-faq`, 0-1-1) --
 * dort setzt das Theme nur seinen allgemeinen Blockabstand von 1,25 em, und
 * der ist fuer den Wechsel in einen neuen Abschnitt zu wenig.
 * ---------------------------------------------------------------------- */

.w24mf-ac-h2 {
	margin-top: 40px;
}
