/* EU-United – Erscheinungsbild auf theme-base. Werte: docs/ci.md. Hell, sachlich; kein dunkles Theme. */
:root {
	--euu-primary: #17407A;
	--euu-secondary: #0E7468;
	--euu-accent: #E3B23C;
	--euu-text: #1B2330;
	--euu-muted: #4A5565;
	--euu-surface: #F3F5F8;
	--euu-line: #DCE1E8;
	--euu-cat: var(--euu-primary);           /* Kategorie-Akzent, je Kategorie unten überschrieben */
	--euu-radius: 6px;
	/* theme-base-Token */
	--tb-bg: #FFFFFF;
	--tb-fg: var(--euu-text);
	--tb-focus: var(--euu-secondary);
	--tb-content: 720px;
	--tb-header-height: 76px;
	/* Netz-Motiv („United“, Verbindungen): Knoten und Linien, sehr hell */
	--euu-net: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='120' viewBox='0 0 160 120'%3E%3Cg fill='none' stroke='%2317407A' stroke-opacity='.12' stroke-width='1'%3E%3Cpath d='M10 20 L70 50 L140 15 M70 50 L60 105 L150 90 L140 15 M10 20 L60 105'/%3E%3C/g%3E%3Cg fill='%230E7468' fill-opacity='.22'%3E%3Ccircle cx='10' cy='20' r='3'/%3E%3Ccircle cx='70' cy='50' r='4'/%3E%3Ccircle cx='140' cy='15' r='3'/%3E%3Ccircle cx='60' cy='105' r='3'/%3E%3Ccircle cx='150' cy='90' r='3'/%3E%3C/g%3E%3C/svg%3E");
}
.euu-cat-gesellschaft-beteiligung { --euu-cat: #B4532F; }
.euu-cat-nachhaltige-wirtschaft-produktion { --euu-cat: #2E7D4F; }
.euu-cat-politik-regulierung { --euu-cat: #3A4A9E; }
.euu-cat-sektoren-branchen { --euu-cat: #8E6410; }
.euu-cat-technologie-digitalisierung { --euu-cat: #1D6F8F; }

body { font-family: var(--wp--preset--font-family--sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
a { text-underline-offset: .18em; text-decoration-thickness: 1px; }

/* ---------- Kopf: weiß, feine Linie, Wortmarke */
.tb-header { background: #fff; border-bottom: 1px solid var(--euu-line); position: sticky; top: 0; z-index: 100; }
.tb-brand__name { font-weight: 800; font-size: 1.6rem; letter-spacing: -.02em; color: var(--euu-primary); text-decoration: none; white-space: nowrap; }
.tb-menu a { color: var(--euu-text); text-decoration: none; font-weight: 600; font-size: 1rem; }
.tb-menu a:hover, .tb-menu .current-menu-item > a, .tb-menu .current-menu-ancestor > a { color: var(--euu-primary); }
.tb-menu .current-menu-item > a { box-shadow: inset 0 -2px 0 var(--euu-accent); }
.tb-menu .sub-menu { background: #fff; border: 1px solid var(--euu-line); border-radius: var(--euu-radius); padding: .5rem 0; box-shadow: 0 8px 24px rgba(27, 35, 48, .08); }
.tb-menu .sub-menu a { display: block; padding: .45rem 1rem; font-weight: 400; }
.tb-langs a { font-size: .875rem; font-weight: 700; letter-spacing: .04em; color: var(--euu-muted); text-decoration: none; }
.tb-langs a[aria-current] { color: var(--euu-primary); box-shadow: inset 0 -2px 0 var(--euu-accent); }
.tb-langs { gap: .5rem; }
.tb-langs a { display: inline-flex; padding: 4px 2px 6px; }
.euu-flag { display: block; width: 24px; height: 16px; object-fit: cover; border-radius: 2px; box-shadow: 0 0 0 1px rgba(27, 35, 48, .15); opacity: .55; transition: opacity .15s; }
.tb-langs a:hover .euu-flag, .tb-langs a[aria-current] .euu-flag { opacity: 1; }
.tb-nav-toggle { background: none; border: 1px solid var(--euu-line); border-radius: var(--euu-radius); padding: .5rem .8rem; font: inherit; font-weight: 600; color: var(--euu-text); }

/* ---------- Seitenkopf: Titel mit kurzer Goldlinie, Kategorie als Label */
.tb-entry__header { padding-top: clamp(2rem, 6vw, 4rem); padding-bottom: 1.5rem; }
.tb-entry__title { margin: 0; }
.tb-entry__title::after { content: ""; display: block; width: 3.5rem; height: 4px; margin-top: 1rem; background: var(--euu-accent); border-radius: 2px; }
.tb-entry__meta, .tb-card__meta { color: var(--euu-muted); font-size: .9375rem; }

/* Startseite: helle Fläche mit Netz-Motiv als Einstieg */
.home .tb-entry__content > :first-child { margin-top: 0; }
.home .tb-main { background: var(--euu-net) right 3vw top 1.5rem / min(34vw, 460px) auto no-repeat, linear-gradient(var(--euu-surface), #fff 34rem) top / 100% 34rem no-repeat; }
.home .tb-entry__content { padding-top: clamp(2.5rem, 7vw, 5rem); }
.home .tb-entry__content > h1:first-child, .home .tb-entry__content > h2:first-child { font-size: var(--wp--preset--font-size--xx-large); font-weight: 800; }

/* ---------- Fließtext */
.tb-entry__content { padding-bottom: 4rem; }
.tb-entry__content h2 { margin-top: 2.75rem; }
.tb-entry__content h3 { margin-top: 2rem; }
/* Listen bündig zum Text: theme-base setzt padding-inline (Rand) auf jedes Kind – Einzug kommt dazu */
.tb-entry__content > :where(ul, ol) { padding-left: calc(var(--tb-gutter) + 1.25rem); }
.tb-entry__content :where(li) > :where(ul, ol) { padding-left: 1.25rem; }
.tb-entry__content :where(ul) > li::marker { color: var(--euu-secondary); }
.tb-entry__content li + li { margin-top: .35rem; }
.wp-block-separator { border: 0; border-top: 1px solid var(--euu-line); margin-block: 2.5rem; }
.wp-block-quote { font-size: 1.1875rem; color: var(--euu-text); }
.wp-block-table table { border-collapse: collapse; width: 100%; }
.wp-block-table :where(th, td) { border-bottom: 1px solid var(--euu-line); padding: .6rem .75rem; text-align: left; }
.wp-block-table th { background: var(--euu-surface); }
.wp-block-columns { gap: 2rem; }
.wp-block-column { background: var(--euu-surface); border-radius: var(--euu-radius); padding: 1.25rem 1.5rem; border-top: 3px solid var(--euu-cat); }
.wp-block-column > :first-child { margin-top: 0; }
/* Verschachtelte Spalten (aus dem alten Inhalt) sind kein eigener Kasten – sonst Linie über Linie. */
.wp-block-column .wp-block-columns { gap: 0; margin-block: 0; }
.wp-block-column .wp-block-column { background: none; border-top: 0; border-radius: 0; padding: 0; }
.wp-block-button__link { padding: .75rem 1.4rem; text-decoration: none; }

/* ---------- Lange Seiten gliedern (functions.php: euu_toc, euu_examples) */
.wp-block-separator + .wp-block-separator { display: none; }   /* doppelte Trennlinien aus dem alten Inhalt */
.tb-entry__content :where(h2, h3, h4)[id] { scroll-margin-top: 6rem; }   /* Kopf ist sticky */
.euu-toc { background: var(--euu-surface); border-left: 4px solid var(--euu-secondary); border-radius: var(--euu-radius); padding: 1.1rem 1.5rem; margin-block: 0 2.5rem; font-size: .9375rem; }
.euu-toc__title { margin: 0 0 .5rem; font-weight: 700; font-size: .8125rem; letter-spacing: .05em; text-transform: uppercase; color: var(--euu-muted); }
.euu-toc ol { margin: 0; padding-left: 1.4rem; }
.euu-toc li { margin: 0 0 .3rem; break-inside: avoid; }
.euu-toc li::marker { color: var(--euu-secondary); font-weight: 700; }
.euu-toc--plain ol { list-style: none; padding-left: 0; }
.euu-toc a { color: var(--euu-text); text-decoration: none; }
.euu-toc a:hover { color: var(--euu-primary); text-decoration: underline; }
/* Kasten bündig mit dem Text: theme-base gibt jedem Kind von .tb-entry__content den Rand als padding */
.tb-entry__content > :where(.euu-toc, .euu-example) { box-sizing: border-box; width: calc(100% - 2 * var(--tb-gutter));
	max-width: calc(var(--tb-content) - 2 * var(--tb-gutter)); padding-inline: 1.5rem; }
@media (min-width: 900px) { .euu-toc ol { columns: 2; column-gap: 3rem; } }
.euu-example { background: var(--euu-surface); border-left: 4px solid var(--euu-accent); border-radius: var(--euu-radius); padding: 1.25rem 1.5rem; margin-block: 2rem; }
.euu-example > :first-child { margin-top: 0; }
.euu-example > :last-child { margin-bottom: 0; }
.euu-example > ul { padding-left: 1.25rem; }
.euu-example .wp-block-separator { margin-block: 1.5rem; }

/* ---------- Karten (Beiträge/Seiten) mit Kategorie-Akzent */
.tb-cards { margin-block: 2rem; }
.euu-cards--1 { grid-template-columns: 1fr; }
.tb-card { position: relative; background: #fff; border: 1px solid var(--euu-line); border-top: 4px solid var(--euu-cat); border-radius: var(--euu-radius); padding: 1.25rem 1.4rem 1.4rem; transition: box-shadow .15s; }
.tb-card:hover { box-shadow: 0 10px 28px rgba(27, 35, 48, .09); }
.tb-card__title { font-size: 1.25rem; margin: .25rem 0 .5rem; line-height: 1.3; }
.tb-card__title a { color: var(--euu-text); text-decoration: none; }
.tb-card__title a::after { content: ""; position: absolute; inset: 0; }   /* ganze Karte klickbar */
.tb-card__title a:hover { color: var(--euu-primary); }
.tb-card__excerpt { color: var(--euu-muted); font-size: 1rem; }
.euu-card__cat { margin: 0; font-size: .8125rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--euu-cat); }

/* Archive */
.tb-archive { padding-block: clamp(2rem, 6vw, 4rem); }
.tb-archive__title::after { content: ""; display: block; width: 3.5rem; height: 4px; margin-top: 1rem; background: var(--euu-cat, var(--euu-accent)); border-radius: 2px; }

/* ---------- Fuß: hell, nicht dunkel */
.tb-footer { background: var(--euu-surface); border-top: 1px solid var(--euu-line); padding-block: 2.5rem; font-size: .9375rem; color: var(--euu-muted); }
.tb-footer a { color: var(--euu-text); text-decoration: none; }
.tb-footer a:hover { color: var(--euu-primary); text-decoration: underline; }
.tb-footer__copy { margin: 0; flex-basis: 100%; }

/* ---------- Formulare (Forminator) an die CI angleichen */
.forminator-ui.forminator-custom-form .forminator-button-submit { background: var(--euu-primary) !important; border-radius: 4px !important; font-family: inherit !important; font-weight: 600 !important; }
.forminator-ui.forminator-custom-form .forminator-button-submit:hover { background: var(--euu-secondary) !important; }

/* Text so breit wie Kopfzeile (Logo bis Menü), wie live – Inhaber 2026-10-04: mehr Information je Zeile.
   Große Bildschirme (Homeoffice): Kopf und Text breiter, Schrift wächst mit. */
:root { --tb-content: var(--tb-wide); }
@media (min-width: 1280px) {
	:root { --tb-content: 1280px; --tb-wide: 1280px; }
	html body { font-size: 1.1875rem; }
}
@media (min-width: 1680px) {
	:root { --tb-content: 1400px; --tb-wide: 1400px; }
	html body { font-size: 1.25rem; }
}

@media (max-width: 960px) {
	.tb-nav { border-bottom: 1px solid var(--euu-line); box-shadow: 0 12px 24px rgba(27, 35, 48, .08); }
	.tb-menu .sub-menu { border: 0; box-shadow: none; padding-left: 1rem; }
}
@media (prefers-reduced-motion: reduce) { .tb-card { transition: none; } }
