/* ==========================================================================
   Schmid Agro Technik – Gestaltung
   Farben: Ochsenblut (Logo), Graphit, Stahl, Kalk
   ========================================================================== */

:root {
	--rot: #89252b;
	--rot-dunkel: #6e1b20;
	--graphit: #23272a;
	--graphit-2: #2e3337;
	--stahl: #5e676d;
	--stahl-hell: #a9b1b6;
	--kalk: #eef0ed;
	--weiss: #fff;
	--text: #1d2124;
	--linie: #d3d7d4;
	--kopf-hoehe: 76px;
	--rand: clamp(1rem, 4vw, 2.5rem);
	--breit: 78rem;
	--schrift-titel: 'Barlow Condensed', 'Arial Narrow', sans-serif;
	--fokus: 0 0 0 3px var(--weiss), 0 0 0 5px var(--rot);
}

/* ---------- Grundlagen ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: calc(var(--kopf-hoehe) + 1rem); -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--kalk); color: var(--text); font-family: Barlow, 'Segoe UI', Arial, sans-serif; line-height: 1.6; }
img { max-width: 100%; height: auto; }
a { color: var(--rot); text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
a:hover { color: var(--rot-dunkel); text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--rot); outline-offset: 2px; }
h1, h2, h3, h4, h5, h6 { font-family: var(--schrift-titel); font-weight: 600; line-height: 1.1; letter-spacing: 0.005em; text-wrap: balance; }
h1 { font-size: clamp(2.25rem, 1.6rem + 2.6vw, 3.75rem); }
h2 { font-size: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem); }
h3 { font-size: clamp(1.3rem, 1.2rem + 0.4vw, 1.5rem); }
p, li { max-width: 72ch; }

.sprunglink { position: absolute; left: 1rem; top: -4rem; z-index: 200; background: var(--graphit); color: var(--weiss); padding: 0.75rem 1rem; }
.sprunglink:focus { top: 1rem; color: var(--weiss); }

/* ---------- Kopfbereich ---------- */
.kopf { position: sticky; top: 0; z-index: 100; background: var(--weiss); border-bottom: 1px solid var(--linie); }
.admin-bar .kopf { top: 32px; }
@media (max-width: 782px) { .admin-bar .kopf { top: 0; position: relative; } }
.kopf__innen { max-width: calc(var(--breit) + 2 * var(--rand)); margin: 0 auto; padding: 0 var(--rand); min-height: var(--kopf-hoehe); display: flex; align-items: center; gap: 1.5rem; }

.marke { display: inline-flex; align-items: center; gap: 0.7rem; text-decoration: none; color: var(--graphit); flex: none; }
.marke:hover { color: var(--graphit); }
.marke__zeichen { width: 44px; height: auto; display: block; }
.marke__name { display: flex; flex-direction: column; font-family: var(--schrift-titel); line-height: 1; }
.marke__zeile1 { font-weight: 700; font-size: 1.45rem; color: var(--rot); }
.marke__zeile2 { font-weight: 500; font-size: 1.05rem; color: var(--graphit); }

.hauptnavigation { margin-left: auto; display: flex; align-items: center; gap: 1.25rem; }
.menue { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; }
.menue > li { position: relative; display: flex; align-items: center; }
.menue a { display: block; text-decoration: none; color: var(--graphit); font-family: var(--schrift-titel); font-weight: 500; font-size: 1.125rem; padding: 0.6rem 0.6rem; white-space: nowrap; }
.menue > li > a { position: relative; }
.menue > li > a::after { content: ''; position: absolute; left: 0.6rem; right: 0.6rem; bottom: 0.25rem; height: 2px; background: var(--rot); transform: scaleX(0); transform-origin: left; transition: transform 0.18s ease; }
.menue > li > a:hover::after,
.menue > .current-menu-item > a::after,
.menue > .current-menu-ancestor > a::after,
.menue > .current-menu-parent > a::after { transform: scaleX(1); }
.menue a:hover { color: var(--rot); }
.menue .current-menu-item > a { color: var(--rot); }

.untermenue-schalter { background: none; border: 0; padding: 0.4rem 0.3rem; margin-left: -0.45rem; color: var(--stahl); cursor: pointer; display: inline-flex; }
.untermenue-schalter svg { transition: transform 0.15s; }
.untermenue-schalter[aria-expanded="true"] svg { transform: rotate(180deg); }

.menue .sub-menu { list-style: none; margin: 0; padding: 0.4rem 0; position: absolute; top: 100%; left: 0; min-width: 15rem; background: var(--graphit); border-top: 3px solid var(--rot); box-shadow: 0 10px 24px rgba(0, 0, 0, 0.3); display: none; z-index: 10; }
.menue .sub-menu a { color: var(--weiss); font-family: Barlow, sans-serif; font-weight: 500; font-size: 1rem; padding: 0.55rem 1.1rem; }
.menue .sub-menu a:hover,
.menue .sub-menu .current-menu-item > a { color: var(--weiss); background: var(--rot); }
.menue li.ist-offen > .sub-menu { display: block; }
@media (hover: hover) and (min-width: 1181px) {
	.menue li:hover > .sub-menu, .menue li:focus-within > .sub-menu { display: block; }
}

.kopf__telefon { display: inline-flex; align-items: center; gap: 0.45rem; background: var(--rot); color: var(--weiss); text-decoration: none; font-family: var(--schrift-titel); font-weight: 600; font-size: 1.125rem; padding: 0.55rem 1rem; border-radius: 2px; white-space: nowrap; }
.kopf__telefon:hover { background: var(--rot-dunkel); color: var(--weiss); }

.menue-schalter { display: none; margin-left: auto; align-items: center; gap: 0.6rem; background: none; border: 1px solid var(--linie); border-radius: 2px; padding: 0.55rem 0.85rem; font: 600 1.05rem var(--schrift-titel); color: var(--graphit); cursor: pointer; }
.menue-schalter__balken, .menue-schalter__balken::before, .menue-schalter__balken::after { display: block; width: 20px; height: 2px; background: currentColor; position: relative; transition: transform 0.2s, background 0.2s; }
.menue-schalter__balken::before, .menue-schalter__balken::after { content: ''; position: absolute; left: 0; }
.menue-schalter__balken::before { top: -6px; }
.menue-schalter__balken::after { top: 6px; }
.menue-schalter[aria-expanded="true"] .menue-schalter__balken { background: transparent; }
.menue-schalter[aria-expanded="true"] .menue-schalter__balken::before { transform: translateY(6px) rotate(45deg); }
.menue-schalter[aria-expanded="true"] .menue-schalter__balken::after { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 1180px) {
	.menue-schalter { display: inline-flex; }
	.hauptnavigation { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--weiss); border-bottom: 1px solid var(--linie); flex-direction: column; align-items: stretch; gap: 0; padding: 0.5rem var(--rand) 1.25rem; max-height: calc(100vh - var(--kopf-hoehe)); overflow-y: auto; }
	.kopf.menue-offen .hauptnavigation { display: flex; }
	.kopf__innen { position: relative; }
	.menue { flex-direction: column; align-items: stretch; }
	.menue > li { flex-wrap: wrap; border-bottom: 1px solid var(--linie); }
	.menue > li > a { flex: 1; padding: 0.8rem 0; font-size: 1.25rem; }
	.menue > li > a::after { display: none; }
	.untermenue-schalter { margin: 0; padding: 0.8rem; }
	.menue .sub-menu { position: static; width: 100%; background: transparent; padding: 0 0 0.6rem 1rem; border-top: 0; box-shadow: none; border-left: 2px solid var(--rot); margin-bottom: 0.6rem; }
	.menue .sub-menu a { color: var(--graphit); padding: 0.45rem 0.5rem; }
	.menue .sub-menu a:hover, .menue .sub-menu .current-menu-item > a { color: var(--rot); background: transparent; }
	.kopf__telefon { margin-top: 1rem; justify-content: center; padding: 0.8rem 1rem; }
}
@media (max-width: 420px) {
	.marke__zeile1 { font-size: 1.25rem; }
	.marke__zeile2 { font-size: 0.95rem; }
	.marke__zeichen { width: 38px; }
	.menue-schalter__text { display: none; }
}

/* ---------- Seitenkopf ---------- */
.seitenkopf { background: var(--graphit); color: var(--weiss); border-bottom: 4px solid var(--rot); }
.seitenkopf__innen { max-width: calc(var(--breit) + 2 * var(--rand)); margin: 0 auto; padding: clamp(1.75rem, 4vw, 3rem) var(--rand) clamp(1.5rem, 3vw, 2.25rem); }
.seitenkopf__titel { margin: 0; color: var(--weiss); max-width: 24ch; }
.seitenkopf__datum { margin: 0.75rem 0 0; color: var(--stahl-hell); }

.brotkrumen ol { list-style: none; margin: 0 0 0.75rem; padding: 0; display: flex; flex-wrap: wrap; gap: 0.25rem 0; font-size: 0.95rem; }
.brotkrumen li { display: flex; align-items: center; }
.brotkrumen li + li::before { content: '/'; margin: 0 0.5rem; color: var(--stahl); }
.brotkrumen a { color: var(--stahl-hell); text-decoration: none; }
.brotkrumen a:hover { color: var(--weiss); text-decoration: underline; }

/* ---------- Inhaltsbereich ---------- */
.haupt { display: block; }
.inhalt { padding-top: clamp(2rem, 5vw, 3.5rem); padding-bottom: clamp(3rem, 7vw, 5rem); }
.home .inhalt { padding-top: 0; }
.inhalt > h2, .inhalt > .wp-block-heading { margin-top: clamp(2.5rem, 5vw, 3.75rem); }
.inhalt > h2:first-child { margin-top: 0; }
.inhalt > h3 { margin-top: 2rem; }
.inhalt > .alignfull:last-child { margin-bottom: calc(-1 * clamp(3rem, 7vw, 5rem)); }

.is-style-lead { font-size: clamp(1.15rem, 1.05rem + 0.4vw, 1.375rem); line-height: 1.5; color: var(--graphit); }

/* ---------- Schaltflächen ---------- */
.wp-element-button, .wp-block-button__link { font-family: var(--schrift-titel); font-weight: 600; font-size: 1.125rem; line-height: 1.2; border-radius: 2px; padding: 0.75rem 1.4rem; background: var(--rot); color: var(--weiss); border: 2px solid var(--rot); text-decoration: none; cursor: pointer; display: inline-block; }
.wp-element-button:hover, .wp-block-button__link:hover { background: var(--rot-dunkel); border-color: var(--rot-dunkel); color: var(--weiss); text-decoration: none; }
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--rot); border: 2px solid currentColor; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--rot); color: var(--weiss); border-color: var(--rot); }
.wp-block-buttons { gap: 0.75rem; }

/* ---------- Startseite: Kopf mit Diashow ---------- */
.is-style-hero.alignfull { margin-top: 0 !important; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); background: var(--graphit); color: var(--weiss); min-height: min(78vh, 640px); }
.is-style-hero .hero-text { padding: clamp(2rem, 5vw, 4.5rem) clamp(1.25rem, 4vw, 3.5rem); padding-left: max(var(--rand), calc((100vw - var(--breit)) / 2)); display: flex; flex-direction: column; justify-content: center; gap: 1.25rem; border-right: 6px solid var(--rot); }
.is-style-hero .hero-text > * { margin: 0; }
.is-style-hero h1 { color: var(--weiss); font-size: clamp(2.5rem, 1.6rem + 3.4vw, 4.5rem); line-height: 0.98; max-width: 11ch; }
.hero-vorzeile { font-family: var(--schrift-titel); font-weight: 500; font-size: 1.3rem; color: var(--stahl-hell); }
.is-style-hero .hero-text p:not(.hero-vorzeile) { color: #d9dddb; max-width: 40ch; }
.is-style-hero .wp-block-button.is-style-outline > .wp-block-button__link { color: var(--weiss); border-color: var(--weiss); }
.is-style-hero .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--weiss); color: var(--graphit); }

@media (max-width: 900px) {
	.is-style-hero.alignfull { grid-template-columns: 1fr; min-height: 0; }
	.is-style-hero .hero-text { order: 2; border-right: 0; border-top: 6px solid var(--rot); padding-left: var(--rand); padding-right: var(--rand); }
	.is-style-hero .is-style-diashow { order: 1; aspect-ratio: 16 / 10; }
}

/* Diashow (Galerie-Blockstil) */
.wp-block-gallery.is-style-diashow { position: relative; display: grid !important; margin: 0 !important; gap: 0 !important; overflow: hidden; background: var(--graphit-2); }
.wp-block-gallery.is-style-diashow figure.wp-block-image:not(#x) { grid-area: 1 / 1; width: 100%; height: 100%; margin: 0; opacity: 0; transition: opacity 0.9s ease; }
.wp-block-gallery.is-style-diashow figure.wp-block-image:not(#x):first-child,
.wp-block-gallery.is-style-diashow.ist-bereit figure.wp-block-image:not(#x) { opacity: 0; }
.wp-block-gallery.is-style-diashow figure.wp-block-image:not(#x):first-child { opacity: 1; }
.wp-block-gallery.is-style-diashow.ist-bereit figure.wp-block-image:not(#x).ist-aktiv { opacity: 1; }
.wp-block-gallery.is-style-diashow figure.wp-block-image:not(#x) img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wp-block-gallery.is-style-diashow:not(.ist-bereit) figure.wp-block-image:not(#x):not(:first-child) { visibility: hidden; }

.diashow-steuerung { position: absolute; right: 1rem; bottom: 1rem; z-index: 3; display: flex; align-items: center; gap: 0.35rem; background: rgba(35, 39, 42, 0.82); padding: 0.35rem; border-radius: 2px; }
.diashow-steuerung button { background: none; border: 0; color: var(--weiss); width: 2.25rem; height: 2.25rem; display: inline-grid; place-items: center; cursor: pointer; border-radius: 2px; }
.diashow-steuerung button:hover { background: var(--rot); }
.diashow-punkte { display: flex; gap: 0.15rem; padding: 0 0.25rem; }
.diashow-punkte button { width: 1.5rem; height: 2.25rem; }
.diashow-punkte button::before { content: ''; width: 0.9rem; height: 3px; background: var(--stahl-hell); display: block; }
.diashow-punkte button[aria-current="true"]::before { background: var(--weiss); height: 5px; }
.diashow-punkte button:hover { background: transparent; }
.diashow-punkte button:hover::before { background: var(--weiss); }

/* ---------- Logoleiste ---------- */
.markenleiste-wrap { margin-top: 0 !important; padding: 1.75rem 0; border-bottom: 1px solid var(--linie); }
.wp-block-gallery.is-style-markenleiste { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem 2.5rem !important; }
.wp-block-gallery.is-style-markenleiste figure.wp-block-image:not(#x) { width: auto !important; flex: 0 1 auto; margin: 0; }
.wp-block-gallery.is-style-markenleiste figure.wp-block-image:not(#x) img { height: 44px !important; width: auto !important; max-width: 180px; object-fit: contain !important; mix-blend-mode: multiply; }
.page-partner .wp-block-gallery.is-style-markenleiste { justify-content: flex-start; gap: 2rem 3rem !important; padding: 2rem 0; }
.page-partner .wp-block-gallery.is-style-markenleiste figure.wp-block-image:not(#x) img { height: 64px !important; max-width: 220px; }
@media (max-width: 600px) {
	.wp-block-gallery.is-style-markenleiste { justify-content: center; gap: 1.25rem 1.75rem !important; }
	.wp-block-gallery.is-style-markenleiste figure.wp-block-image:not(#x) img { height: 34px !important; }
}

/* ---------- Sortiment-Kacheln ---------- */
.sortiment-raster { grid-template-columns: repeat(auto-fill, minmax(min(100%, 21rem), 1fr)) !important; gap: clamp(1rem, 2.5vw, 1.75rem) !important; margin-top: 1.75rem !important; }
.sortiment-kachel { position: relative; background: var(--weiss); display: flex; flex-direction: column; border-bottom: 3px solid transparent; transition: border-color 0.15s; }
.sortiment-kachel:hover, .sortiment-kachel:focus-within { border-bottom-color: var(--rot); }
.sortiment-kachel > * { margin: 0 !important; }
.sortiment-kachel figure { aspect-ratio: 4 / 3; overflow: hidden; background: var(--kalk); }
.sortiment-kachel figure img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sortiment-kachel h3 { padding: 1.1rem 1.25rem 0.35rem; font-size: 1.6rem; }
.sortiment-kachel h3 a { color: var(--graphit); text-decoration: none; }
.sortiment-kachel h3 a::after { content: ''; position: absolute; inset: 0; z-index: 1; }
.sortiment-kachel h3 a:hover, .sortiment-kachel:hover h3 a { color: var(--rot); }
.sortiment-kachel h3 a:focus-visible { outline: none; }
.sortiment-kachel:focus-within { outline: 3px solid var(--rot); outline-offset: 2px; }
.sortiment-kachel p { padding: 0 1.25rem 1.35rem; color: var(--stahl); }

/* ---------- Dunkle Bereiche ---------- */
.is-style-dunkel { background: var(--graphit); color: #dfe3e1; padding-top: clamp(2.5rem, 6vw, 4.5rem) !important; padding-bottom: clamp(2.5rem, 6vw, 4.5rem) !important; margin-top: clamp(3rem, 7vw, 5rem) !important; }
.is-style-dunkel h2, .is-style-dunkel h3 { color: var(--weiss); margin-top: 0; }
.is-style-dunkel a:not(.wp-element-button) { color: var(--weiss); }
.is-style-dunkel h3 { font-size: 1.25rem; color: var(--stahl-hell); font-weight: 500; margin-bottom: 0.25rem; }
.is-style-dunkel h3 + p { margin-top: 0; }

/* ---------- Typenschild (technische Daten) ---------- */
ul.is-style-typenschild {
	list-style: none; padding: 1.25rem; margin-left: 0; margin-right: 0;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr)); gap: 1px;
	position: relative; color: var(--weiss); border-radius: 3px;
	background: linear-gradient(160deg, #343a3e, #262a2d);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.07);
	max-width: 100%;
}
ul.is-style-typenschild::before, ul.is-style-typenschild::after {
	content: ''; position: absolute; width: 9px; height: 9px; border-radius: 50%;
	background: radial-gradient(circle at 35% 35%, #b7bec2, #5d666b); box-shadow: 0 0 0 1px #1b1f21;
	top: 0.55rem; left: 0.55rem;
}
ul.is-style-typenschild::after { left: auto; right: 0.55rem; }
ul.is-style-typenschild li { margin: 0; padding: 0.9rem 1rem; background: rgba(0, 0, 0, 0.18); display: flex; flex-direction: column; gap: 0.15rem; font-size: 0.95rem; color: var(--stahl-hell); line-height: 1.3; }
ul.is-style-typenschild li strong { font-family: var(--schrift-titel); font-weight: 600; font-size: clamp(1.75rem, 1.5rem + 1vw, 2.25rem); line-height: 1; color: var(--weiss); letter-spacing: 0.01em; }

/* ---------- Listen ---------- */
.inhalt ul.wp-block-list:not(.is-style-typenschild) { padding-left: 1.2rem; }
.inhalt ul.wp-block-list:not(.is-style-typenschild) li::marker { color: var(--rot); }
.inhalt ul.wp-block-list li + li { margin-top: 0.2rem; }
ul.is-style-zweispaltig { columns: 2 14rem; column-gap: 2.5rem; }

/* ---------- Medien + Text (Modelle, Zubehör) ---------- */
.wp-block-media-text { gap: 0; background: var(--weiss); grid-template-columns: 42% 1fr; margin-top: 1.5rem !important; }
.wp-block-media-text.has-media-on-the-right { grid-template-columns: 1fr 42%; }
.wp-block-media-text__media { align-self: stretch; background: var(--weiss); display: flex; align-items: center; justify-content: center; padding: 1rem; }
.wp-block-media-text__media img { max-height: 340px; width: auto; object-fit: contain; }
.wp-block-media-text .wp-block-media-text__content { padding: clamp(1.25rem, 3vw, 2.25rem); }
.wp-block-media-text__content > :first-child { margin-top: 0; }
.wp-block-media-text__content h3 { font-size: 1.6rem; margin-bottom: 0.5rem; }
.wp-block-media-text__content .wp-block-buttons { margin-top: 1.25rem; }
@media (max-width: 600px) {
	.wp-block-media-text.is-stacked-on-mobile, .wp-block-media-text.is-stacked-on-mobile.has-media-on-the-right { grid-template-columns: 100% !important; }
	.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media { grid-row: 1 !important; }
	.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content { grid-row: 2 !important; }
}

/* ---------- Bereifung ---------- */
.reifen-raster { gap: 1px !important; background: #3a4044; margin-top: 1.5rem !important; }
.reifen-kachel { background: var(--graphit); padding: 1.25rem; }
.reifen-kachel > * { margin: 0 !important; }
.reifen-kachel figure { margin-bottom: 1rem !important; aspect-ratio: 1; display: flex; align-items: center; justify-content: center; }
.reifen-kachel figure img { max-height: 100%; width: auto; object-fit: contain; }
.is-style-dunkel .reifen-kachel h3 { color: var(--weiss); font-weight: 600; font-size: 1.5rem; margin-bottom: 0.4rem !important; }
.is-style-dunkel .reifen-kachel ul { list-style: none; padding: 0 !important; font-variant-numeric: tabular-nums; }
.is-style-dunkel .reifen-kachel ul li { margin: 0; }
.is-style-dunkel .reifen-kachel ul li::marker { content: none; }
.reifen-breite { margin-top: 0.6rem !important; font-size: 0.9rem; color: var(--stahl-hell); }

/* ---------- Anfrage-Box ---------- */
.anfrage-box { background: var(--weiss); border-left: 6px solid var(--rot); padding: clamp(1.25rem, 3vw, 2rem) clamp(1.25rem, 3vw, 2.25rem) !important; margin-top: clamp(2.5rem, 5vw, 3.5rem) !important; }
.anfrage-box > * { margin-top: 0; }
.anfrage-box h3 { font-size: 1.75rem; margin-bottom: 0.4rem; }
.is-style-dunkel + .anfrage-box { margin-top: clamp(2.5rem, 5vw, 3.5rem) !important; }

/* ---------- Spalten ---------- */
.wp-block-columns { gap: clamp(1.5rem, 4vw, 3rem); }
.wp-block-column > :first-child { margin-top: 0; }
.wp-block-image.marken-logo { text-align: center; }
.wp-block-image.marken-logo img { max-width: 240px; mix-blend-mode: multiply; }

/* ---------- Galerien ---------- */
.wp-block-gallery.has-nested-images.is-cropped:not(.is-style-diashow):not(.is-style-markenleiste) { gap: 0.5rem; }
.wp-block-gallery.has-nested-images.is-cropped:not(.is-style-diashow):not(.is-style-markenleiste) figure.wp-block-image:not(#x) { aspect-ratio: 4 / 3; }
.wp-block-gallery.has-nested-images.is-cropped:not(.is-style-diashow):not(.is-style-markenleiste) figure.wp-block-image:not(#x) img { height: 100%; object-fit: cover; }
.inhalt > .wp-block-gallery { margin-top: 1.5rem; }

/* ---------- Beitragsliste (News) ---------- */
.beitragsliste { display: grid; grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); gap: 1.75rem; }
.beitragsliste__eintrag { background: var(--weiss); padding: 0 0 1.25rem; }
.beitragsliste__eintrag > :not(img) { padding: 0 1.25rem; }
.beitragsliste__bild { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; margin-bottom: 1rem; }
.beitragsliste__datum { color: var(--stahl); font-size: 0.9rem; margin: 1rem 0 0.25rem; }
.beitragsliste__titel { font-size: 1.6rem; margin: 0 0 0.5rem; }
.beitragsliste__titel a { color: var(--graphit); text-decoration: none; }
.beitragsliste__titel a:hover { color: var(--rot); }

/* ---------- Kontaktformular ---------- */
.kontaktformular { background: var(--weiss); padding: clamp(1.25rem, 3vw, 2rem); margin-top: 1rem; }
.kontaktformular form > * { margin: 0 0 1.1rem; }
.kf-zeile { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.25rem; }
@media (max-width: 560px) { .kf-zeile { grid-template-columns: 1fr; } }
.kf-feld label { display: block; font-weight: 600; margin-bottom: 0.3rem; }
.kf-pflicht { color: var(--rot); }
.kf-optional { font-weight: 400; color: var(--stahl); }
.kf-feld input[type="text"], .kf-feld input[type="email"], .kf-feld input[type="tel"], .kf-feld textarea {
	width: 100%; font: inherit; color: var(--text); background: var(--kalk); border: 1px solid #b9bfbb; border-bottom: 2px solid var(--stahl); border-radius: 2px; padding: 0.7rem 0.8rem;
}
.kf-feld input:focus, .kf-feld textarea:focus { outline: none; border-color: var(--rot); box-shadow: var(--fokus); background: var(--weiss); }
.kf-feld--check { display: grid; grid-template-columns: auto 1fr; gap: 0.25rem 0.7rem; align-items: start; }
.kf-feld--check input { width: 1.2rem; height: 1.2rem; margin: 0.2rem 0 0; accent-color: var(--rot); }
.kf-feld--check label { font-weight: 400; margin: 0; }
.kf-feld--check .kf-hinweis { grid-column: 2; }
.kf-feld--fehler input, .kf-feld--fehler textarea { border-color: var(--rot); border-bottom-color: var(--rot); background: #fbf1f1; }
.kf-hinweis { display: block; color: var(--rot); font-size: 0.95rem; margin-top: 0.3rem; }
.kf-falle { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.kf-meldung { padding: 1rem 1.25rem; margin-bottom: 1.25rem; border-left: 5px solid; }
.kf-meldung--ok { background: #ecf3ec; border-color: #3d6b45; }
.kf-meldung--ok strong { display: block; }
.kf-meldung--fehler { background: #fbf1f1; border-color: var(--rot); }

.entwurf-hinweis { background: #fff4d6; border-left: 5px solid #b07d00; padding: 1rem 1.25rem; }

/* ---------- Fußbereich ---------- */
.fuss { background: var(--graphit); color: #c9cecb; border-top: 4px solid var(--rot); }
.fuss__innen { max-width: calc(var(--breit) + 2 * var(--rand)); margin: 0 auto; padding: clamp(2.5rem, 5vw, 3.5rem) var(--rand) 2rem; display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 2rem 3rem; }
@media (max-width: 760px) { .fuss__innen { grid-template-columns: 1fr; } }
.fuss .marke { margin-bottom: 1rem; }
.fuss .marke__zeichen { filter: drop-shadow(0 0 0 transparent); }
.fuss .marke__zeile1 { color: var(--weiss); }
.fuss .marke__zeile2 { color: var(--stahl-hell); }
.fuss p { margin: 0 0 1.25rem; }
.fuss a { color: var(--weiss); text-decoration: none; }
.fuss a:hover { text-decoration: underline; color: var(--weiss); }
.fuss__titel { font-size: 1.15rem; color: var(--stahl-hell); font-weight: 500; margin: 0 0 0.4rem; }
.fuss__menue { list-style: none; margin: 0 0 1.25rem; padding: 0; }
.fuss__menue li { margin-bottom: 0.25rem; }
.fuss__social { display: inline-flex; align-items: center; gap: 0.45rem; }
.fuss .fuss__zeile { max-width: calc(var(--breit) + 2 * var(--rand)); margin: 0 auto; padding: 1.25rem var(--rand) 1.5rem; border-top: 1px solid #3a4044; font-size: 0.9rem; color: var(--stahl-hell); margin: 0 auto; }

/* ---------- Seitennummerierung ---------- */
.navigation.pagination .nav-links { display: flex; gap: 0.5rem; margin-top: 2rem; }
.navigation.pagination .page-numbers { padding: 0.4rem 0.8rem; background: var(--weiss); text-decoration: none; }
.navigation.pagination .current { background: var(--rot); color: var(--weiss); }

/* ---------- Bewegung reduzieren ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
	html { scroll-behavior: auto; }
}
