/*
Theme Name: Brennesseltee
Theme URI: https://www.brennesseltee.eu/
Author: Roland Strodthoff
Description: Ruhiges, mobil-zuerst gestaltetes Ratgeber-Theme für brennesseltee.eu – warmes Papier, Nesselgrün, Teebraun. Basiert auf dem Designsystem „Brennesseltee“. Schriften lokal (Fraunces, Source Sans 3, SIL OFL).
Version: 1.0.0
Requires at least: 6.3
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: brennesseltee
*/

/* ---------- Schriften (lokal, DSGVO) ---------- */
@font-face { font-family: "Fraunces"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/fraunces-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/source-sans-3-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/source-sans-3-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-style: italic; font-weight: 400; font-display: swap; src: url("fonts/source-sans-3-latin-400-italic.woff2") format("woff2"); }

/* ---------- Tokens ---------- */
:root {
	--paper: #faf8f2; --surface: #ffffff; --surface-sunken: #f1eee4; --line: #ddd8c9;
	--ink: #1f2a1d; --ink-muted: #55604f;
	--nettle-700: #2f5d34; --nettle-800: #244a29; --nettle-500: #4f8a4a; --nettle-100: #e3eedc; --on-primary: #ffffff;
	--tea-700: #8a4f12; --tea-500: #c98a3a; --tea-200: #f3dfbf;
	--caution: #9a3412; --caution-bg: #fbe9df;
	--focus: var(--nettle-500);
	--shadow-card: 0 1px 2px rgba(31,42,29,.06), 0 4px 16px rgba(31,42,29,.06);
	--space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-6: 24px; --space-8: 32px; --space-12: 48px; --space-16: 64px;
	--radius-sm: 4px; --radius-md: 10px; --radius-lg: 18px; --radius-leaf: 999px;
	--content-width: 680px; --wide-width: 1160px; --sidebar-width: 300px;
	--font-serif: Fraunces, Georgia, "Times New Roman", serif;
	--font-sans: "Source Sans 3", "Segoe UI", system-ui, -apple-system, sans-serif;
	--gutter: var(--space-4);
	color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
	:root {
		--paper: #141a13; --surface: #1c241b; --surface-sunken: #10150f; --line: #2f3a2d;
		--ink: #ece9de; --ink-muted: #a9b3a2;
		--nettle-700: #8cc38a; --nettle-800: #a6d6a3; --nettle-500: #6fae6a; --nettle-100: #23331f; --on-primary: #10200f;
		--tea-700: #e8b06e; --tea-500: #d39550; --tea-200: #3a2a17;
		--caution: #f0a07a; --caution-bg: #3a1f14;
		--shadow-card: 0 1px 2px rgba(0,0,0,.4);
	}
}
@media (min-width: 768px) { :root { --gutter: var(--space-6); } }

/* ---------- Basis ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 80px; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 18px/1.67 var(--font-sans); -webkit-font-smoothing: antialiased; overflow-wrap: break-word; }
img, video, iframe, embed, object { max-width: 100%; height: auto; }
a { color: var(--nettle-700); text-underline-offset: .15em; text-decoration-thickness: 1px; }
a:hover { color: var(--nettle-800); text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-serif); font-weight: 600; color: var(--ink); line-height: 1.2; margin: 0 0 var(--space-3); }
p { margin: 0 0 var(--space-4); }
hr { border: 0; border-top: 1px solid var(--line); margin: var(--space-8) 0; }
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; word-wrap: normal !important; }
.skip-link:focus { clip: auto; clip-path: none; width: auto; height: auto; margin: 0; z-index: 1000; top: var(--space-2); left: var(--space-2); padding: var(--space-3) var(--space-4); background: var(--surface); color: var(--ink); border-radius: var(--radius-md); }

/* ---------- Bausteine ---------- */
.bt-leaf { display: inline-block; width: 18px; height: 18px; border-radius: 100% 0; background: var(--nettle-500); flex: none; }
.bt-leaf--lg { width: 48px; height: 48px; }
.bt-kicker { display: inline-block; font: 600 14px/20px var(--font-sans); letter-spacing: .04em; text-transform: uppercase; color: var(--tea-700); text-decoration: none; margin-bottom: var(--space-2); }
a.bt-kicker:hover { color: var(--tea-700); text-decoration: underline; }
.bt-lead { font-size: 20px; line-height: 1.55; color: var(--ink); margin: 0 0 var(--space-4); }
@media (min-width: 768px) { .bt-lead { font-size: 21px; } }
.bt-meta { display: flex; flex-wrap: wrap; gap: var(--space-2); font-size: 14px; line-height: 20px; color: var(--ink-muted); padding-top: var(--space-3); border-top: 1px solid var(--line); }

.bt-btn, .wp-block-button__link, input[type="submit"], button.submit {
	display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
	font: 600 16px/20px var(--font-sans); padding: var(--space-3) var(--space-6); min-height: 48px;
	border-radius: var(--radius-md); border: 2px solid var(--nettle-700); background: var(--nettle-700); color: var(--on-primary);
	text-decoration: none; cursor: pointer;
}
.bt-btn:hover, .wp-block-button__link:hover, input[type="submit"]:hover { background: var(--nettle-800); border-color: var(--nettle-800); color: var(--on-primary); text-decoration: none; }
.bt-btn--outline, .is-style-outline .wp-block-button__link { background: transparent; color: var(--nettle-700); }
.bt-btn--outline:hover, .is-style-outline .wp-block-button__link:hover { background: var(--nettle-100); color: var(--nettle-800); }

.bt-input, input[type="text"], input[type="email"], input[type="url"], input[type="search"], textarea {
	font: 400 17px/24px var(--font-sans); color: var(--ink); background: var(--surface);
	border: 1px solid var(--line); border-radius: var(--radius-sm); padding: var(--space-3); width: 100%; min-height: 48px;
}
.bt-searchform { display: flex; gap: var(--space-2); }
.bt-searchform .bt-btn { flex: none; }

/* ---------- Header ---------- */
.bt-header { position: sticky; top: 0; z-index: 50; background: var(--surface); border-bottom: 1px solid var(--line); }
.admin-bar .bt-header { top: 46px; }
@media (min-width: 783px) { .admin-bar .bt-header { top: 32px; } }
.bt-header__inner { max-width: var(--wide-width); margin: 0 auto; padding: var(--space-2) var(--gutter); display: flex; align-items: center; gap: var(--space-4); min-height: 64px; }
.bt-brand-wrap { margin: 0; flex: 1 1 auto; min-width: 0; }
.bt-brand { display: inline-flex; align-items: center; gap: var(--space-2); font: 600 24px/1 var(--font-serif); color: var(--nettle-700); text-decoration: none; }
.bt-brand:hover { color: var(--nettle-800); text-decoration: none; }
.custom-logo { max-height: 48px; width: auto; }
.bt-actions { display: flex; gap: var(--space-2); flex: none; }
.bt-icon-btn { width: 44px; height: 44px; display: inline-grid; place-items: center; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); color: var(--ink); cursor: pointer; padding: 0; }
.bt-icon-btn:hover { background: var(--nettle-100); color: var(--nettle-800); }
.bt-search-panel { border-top: 1px solid var(--line); background: var(--surface); }
.bt-search-panel__inner { max-width: var(--content-width); margin: 0 auto; padding: var(--space-4) var(--gutter); }

/* Navigation – mobil als Schublade */
.bt-nav-wrap { position: fixed; inset: 0 0 0 auto; width: min(88vw, 380px); background: var(--surface); z-index: 60; transform: translateX(100%); transition: transform .25s ease; overflow-y: auto; padding: var(--space-4); visibility: hidden; box-shadow: -8px 0 24px rgba(0,0,0,.12); }
.bt-nav-wrap[data-open="true"] { transform: none; visibility: visible; }
.admin-bar .bt-nav-wrap { top: 46px; }
.bt-drawer-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-4); }
.bt-drawer-title { font: 600 14px/20px var(--font-sans); letter-spacing: .04em; text-transform: uppercase; color: var(--ink-muted); }
.bt-drawer-search { margin-top: var(--space-6); }
.bt-backdrop { position: fixed; inset: 0; background: rgba(16,21,15,.45); z-index: 55; }
.bt-menu, .bt-menu ul { list-style: none; margin: 0; padding: 0; }
.bt-menu > li { position: relative; border-bottom: 1px solid var(--line); display: flex; flex-wrap: wrap; align-items: center; }
.bt-menu a { display: block; flex: 1; padding: var(--space-3) 0; font: 600 17px/24px var(--font-sans); color: var(--ink); text-decoration: none; }
.bt-menu a:hover, .bt-menu .current-menu-item > a, .bt-menu .current_page_item > a { color: var(--nettle-700); }
.bt-sub-toggle { width: 44px; height: 44px; border: 0; background: none; color: var(--ink-muted); cursor: pointer; display: grid; place-items: center; border-radius: var(--radius-md); }
.bt-sub-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.bt-menu .sub-menu { display: none; width: 100%; padding: 0 0 var(--space-3) var(--space-4); border-left: 2px solid var(--nettle-100); margin-left: var(--space-1); }
.bt-menu .sub-menu.is-open { display: block; }
.bt-menu .sub-menu a { font-weight: 400; font-size: 16px; padding: var(--space-2) 0; }
body.bt-nav-open { overflow: hidden; }

@media (min-width: 1024px) {
	.bt-burger, .bt-drawer-head, .bt-drawer-search, .bt-backdrop { display: none !important; }
	.bt-brand-wrap { flex: none; }
	.bt-nav-wrap { position: static; transform: none; visibility: visible; width: auto; padding: 0; overflow: visible; box-shadow: none; background: none; flex: 1; display: flex; justify-content: flex-end; }
	.bt-menu { display: flex; gap: var(--space-6); }
	.bt-menu > li { border: 0; flex-wrap: nowrap; }
	.bt-menu > li > a { padding: var(--space-4) 0; font-size: 16px; border-bottom: 2px solid transparent; }
	.bt-menu > li > a:hover, .bt-menu > .current-menu-item > a, .bt-menu > .current-menu-ancestor > a { border-bottom-color: var(--nettle-700); color: var(--nettle-700); }
	.bt-sub-toggle { width: 24px; height: 24px; margin-left: 2px; }
	.bt-menu .sub-menu { position: absolute; top: 100%; left: -16px; min-width: 280px; max-height: 70vh; overflow-y: auto; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-card); padding: var(--space-2); margin: 0; z-index: 70; }
	.bt-menu > li:hover > .sub-menu, .bt-menu > li:focus-within > .sub-menu, .bt-menu .sub-menu.is-open { display: block; }
	.bt-menu .sub-menu a { padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm); }
	.bt-menu .sub-menu a:hover { background: var(--nettle-100); }
}

/* ---------- Layout ---------- */
.bt-main { display: block; padding-bottom: var(--space-16); }
.bt-wrap { max-width: var(--wide-width); margin: 0 auto; padding: var(--space-8) var(--gutter) 0; }
.bt-layout { max-width: var(--wide-width); margin: 0 auto; padding: var(--space-8) var(--gutter) 0; display: grid; gap: var(--space-12); grid-template-columns: minmax(0, 1fr); }
.bt-article { width: 100%; max-width: var(--content-width); margin: 0 auto; }
@media (min-width: 1100px) {
	.bt-layout { grid-template-columns: minmax(0, var(--content-width)) var(--sidebar-width); justify-content: space-between; }
	.bt-layout .bt-article { margin: 0; }
	.bt-sidebar { position: sticky; top: 96px; align-self: start; }
}
.bt-page-head { max-width: var(--content-width); margin-bottom: var(--space-8); }
.bt-page-head h1 { font-size: 30px; }
@media (min-width: 768px) { .bt-page-head h1 { font-size: 36px; } }

/* ---------- Startseite ---------- */
.bt-hero { max-width: var(--wide-width); margin: 0 auto; padding: var(--space-8) var(--gutter) 0; display: grid; gap: var(--space-8); align-items: center; }
.bt-hero__title { font-size: 40px; line-height: 1.05; letter-spacing: -.01em; margin-bottom: var(--space-4); }
.bt-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-6); }
.bt-hero__art { position: relative; height: 160px; border-radius: var(--radius-lg); overflow: hidden; background: var(--nettle-100); }
.bt-hero__art span { position: absolute; border-radius: 100% 0; }
.bt-hero__art .b1 { width: 140px; height: 140px; background: var(--nettle-700); right: 18%; top: -20px; }
.bt-hero__art .b2 { width: 90px; height: 90px; background: var(--tea-500); right: 4%; bottom: -14px; }
.bt-hero__art .b3 { width: 56px; height: 56px; background: var(--nettle-500); left: 12%; bottom: 24px; }
@media (min-width: 768px) {
	.bt-hero { grid-template-columns: 1.4fr 1fr; padding-top: var(--space-12); }
	.bt-hero__title { font-size: 56px; }
	.bt-hero__art { height: 280px; }
	.bt-hero__art .b1 { width: 220px; height: 220px; }
	.bt-hero__art .b2 { width: 130px; height: 130px; }
	.bt-hero__art .b3 { width: 80px; height: 80px; }
}
.bt-section { padding-top: var(--space-12); }
.bt-section__head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-4); margin-bottom: var(--space-6); }
.bt-section__title { font-size: 26px; margin: 0 0 var(--space-6); }
.bt-section__head .bt-section__title { margin: 0; }

/* ---------- Karten ---------- */
.bt-grid { display: grid; gap: var(--space-6); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 768px) { .bt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .bt-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.bt-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .15s; }
.bt-card:hover { box-shadow: var(--shadow-card); }
.bt-card__img { display: grid; place-items: center; aspect-ratio: 3 / 2; background: var(--nettle-100); }
.bt-grid > .bt-card:nth-child(3n+2) .bt-card__img { background: var(--tea-200); }
.bt-grid > .bt-card:nth-child(3n+2) .bt-leaf { background: var(--tea-500); }
.bt-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bt-card__body { padding: var(--space-6); display: flex; flex-direction: column; gap: var(--space-2); flex: 1; }
.bt-card__body .bt-kicker { margin: 0; }
.bt-card__title { font-size: 22px; line-height: 28px; margin: 0; }
.bt-card__title a { color: var(--ink); text-decoration: none; }
.bt-card__title a:hover { color: var(--nettle-700); text-decoration: underline; }
.bt-card__excerpt { font-size: 16px; line-height: 24px; color: var(--ink-muted); margin: 0; }
.bt-card__more { font: 600 16px/20px var(--font-sans); color: var(--nettle-700); text-decoration: none; margin-top: auto; padding-top: var(--space-2); }
.bt-card__more:hover { text-decoration: underline; }

/* ---------- Artikel ---------- */
.bt-article__head { margin-bottom: var(--space-8); }
.bt-article__head h1 { font-size: 30px; line-height: 36px; margin: 0 0 var(--space-4); }
@media (min-width: 768px) { .bt-article__head h1 { font-size: 36px; line-height: 42px; } }
.bt-hero-img { margin: 0 0 var(--space-8); }
.bt-hero-img img { width: 100%; border-radius: var(--radius-lg); display: block; }
.bt-content > * { margin-top: 0; }
.bt-content h2 { font-size: 24px; line-height: 30px; margin: var(--space-8) 0 var(--space-3); }
.bt-content h3 { font-size: 21px; line-height: 27px; margin: var(--space-6) 0 var(--space-2); }
.bt-content h4 { font: 600 18px/26px var(--font-sans); margin: var(--space-6) 0 var(--space-2); }
@media (min-width: 768px) { .bt-content h2 { font-size: 28px; line-height: 34px; } .bt-content h3 { font-size: 22px; line-height: 28px; } }
.bt-content ul, .bt-content ol { padding-left: 1.4em; margin: 0 0 var(--space-4); }
.bt-content li { margin-bottom: var(--space-1); }
.bt-content ul li::marker { color: var(--nettle-500); }
.bt-content blockquote, .wp-block-quote { margin: var(--space-8) 0; padding: var(--space-4) var(--space-6); background: var(--surface-sunken); border-radius: var(--radius-md); font-family: var(--font-serif); font-size: 20px; line-height: 1.5; }
.bt-content blockquote p:last-child { margin: 0; }
.bt-content blockquote cite { display: block; font: italic 400 14px/20px var(--font-sans); color: var(--ink-muted); margin-top: var(--space-2); }
.bt-content table { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 24px; margin: var(--space-6) 0; }
.bt-content th, .bt-content td { text-align: left; padding: var(--space-2) var(--space-3); border-bottom: 1px solid var(--line); vertical-align: top; }
.bt-content th { background: var(--surface-sunken); font-weight: 600; }
.wp-block-table { overflow-x: auto; }
.bt-content img { border-radius: var(--radius-md); }
.bt-content figure, .wp-caption { margin: var(--space-6) 0; max-width: 100%; }
.bt-content figcaption, .wp-caption-text, .wp-element-caption { font-style: italic; font-size: 14px; line-height: 20px; color: var(--ink-muted); margin-top: var(--space-2); }
.alignleft, .alignright { display: block; margin: var(--space-2) auto var(--space-4); }
@media (min-width: 600px) {
	.alignleft { float: left; margin: var(--space-1) var(--space-6) var(--space-4) 0; max-width: 50%; }
	.alignright { float: right; margin: var(--space-1) 0 var(--space-4) var(--space-6); max-width: 50%; }
}
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.bt-content::after { content: ""; display: table; clear: both; }
.bt-content code { background: var(--surface-sunken); padding: 2px 6px; border-radius: var(--radius-sm); font-size: .9em; }
.bt-content mark { background: var(--tea-200); color: var(--ink); }

/* Info-Boxen (Block-Stile für Gruppe) */
.is-style-bt-tip, .is-style-bt-brew, .is-style-bt-caution { border-radius: var(--radius-md); padding: var(--space-4) var(--space-6) !important; margin: var(--space-8) 0; }
.is-style-bt-tip > :last-child, .is-style-bt-brew > :last-child, .is-style-bt-caution > :last-child { margin-bottom: 0; }
.is-style-bt-tip { background: var(--nettle-100); }
.is-style-bt-brew { background: var(--tea-200); }
.is-style-bt-caution { background: var(--caution-bg); }
.is-style-bt-tip > :first-child:is(h2,h3,h4), .is-style-bt-brew > :first-child:is(h2,h3,h4), .is-style-bt-caution > :first-child:is(h2,h3,h4) { font: 600 14px/20px var(--font-sans); letter-spacing: .04em; text-transform: uppercase; margin: 0 0 var(--space-2); }
.is-style-bt-tip > :first-child:is(h2,h3,h4) { color: var(--nettle-700); }
.is-style-bt-brew > :first-child:is(h2,h3,h4) { color: var(--tea-700); }
.is-style-bt-caution > :first-child:is(h2,h3,h4) { color: var(--caution); }

/* Unterseiten, Beitragsnavigation */
.bt-subpages { margin-top: var(--space-12); padding: var(--space-6); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); }
.bt-subpages h2 { font-size: 22px; margin-bottom: var(--space-4); }
.bt-subpages ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
@media (min-width: 600px) { .bt-subpages ul { grid-template-columns: 1fr 1fr; } }
.bt-subpages a { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-2) 0; text-decoration: none; font-weight: 600; }
.bt-subpages .bt-leaf { width: 12px; height: 12px; }
.bt-postnav { display: grid; gap: var(--space-4); margin-top: var(--space-12); padding-top: var(--space-6); border-top: 1px solid var(--line); }
@media (min-width: 600px) { .bt-postnav { grid-template-columns: 1fr 1fr; } .bt-postnav__next { text-align: right; grid-column: 2; } }
.bt-postnav a { text-decoration: none; font: 600 18px/1.35 var(--font-serif); color: var(--ink); }
.bt-postnav a:hover { color: var(--nettle-700); }
.bt-postnav span { display: block; font: 600 14px/20px var(--font-sans); letter-spacing: .04em; text-transform: uppercase; color: var(--ink-muted); margin-bottom: var(--space-1); }

/* ---------- Seitenleiste ---------- */
.bt-sidebar { display: grid; gap: var(--space-6); align-content: start; }
.bt-sidebar .widget { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: var(--space-6); font-size: 16px; line-height: 24px; }
.bt-sidebar .widget:empty { display: none; }
.bt-sidebar .widget-title, .bt-sidebar .wp-block-heading { font: 600 14px/20px var(--font-sans); letter-spacing: .04em; text-transform: uppercase; color: var(--ink-muted); margin: 0 0 var(--space-3); }
.bt-sidebar ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
.bt-sidebar a { text-decoration: none; }
.bt-sidebar a:hover { text-decoration: underline; }

/* ---------- Pagination, Kommentare, 404 ---------- */
.pagination { margin-top: var(--space-12); }
.nav-links { display: flex; flex-wrap: wrap; gap: var(--space-2); justify-content: center; }
.page-numbers { display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 var(--space-3); border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); text-decoration: none; font-weight: 600; color: var(--ink); }
.page-numbers.current { background: var(--nettle-700); border-color: var(--nettle-700); color: var(--on-primary); }
.bt-comments { margin-top: var(--space-12); padding-top: var(--space-8); border-top: 1px solid var(--line); }
.bt-comment-list { list-style: none; padding: 0; }
.bt-comment-list .comment-body { padding: var(--space-4) 0; border-bottom: 1px solid var(--line); font-size: 16px; }
.comment-form label { display: block; font-weight: 600; font-size: 15px; margin-bottom: var(--space-1); }
.comment-form p { margin-bottom: var(--space-4); }
.bt-404 { max-width: var(--content-width); padding-top: var(--space-16); }
.bt-404 .bt-searchform { margin: var(--space-6) 0; }

/* ---------- Footer ---------- */
.bt-footer { background: var(--surface-sunken); border-top: 1px solid var(--line); padding: var(--space-12) var(--gutter) var(--space-8); font-size: 16px; line-height: 24px; }
.bt-footer__inner { max-width: calc(var(--wide-width) - 2 * var(--gutter)); margin: 0 auto; display: grid; gap: var(--space-8); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 768px) { .bt-footer__inner { grid-template-columns: 2fr 1fr 1fr; } }
.bt-footer__about p { color: var(--ink-muted); margin: var(--space-3) 0 0; max-width: 380px; }
.bt-footer .bt-brand { font-size: 22px; }
.footer-title { font: 600 14px/20px var(--font-sans); letter-spacing: .04em; text-transform: uppercase; color: var(--ink-muted); margin: 0 0 var(--space-3); }
.bt-footer__links { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
.bt-footer__links a, .bt-footer__widgets a { color: var(--ink); text-decoration: none; }
.bt-footer__links a:hover { color: var(--nettle-700); text-decoration: underline; }
.bt-footer__widgets { grid-column: 1 / -1; }
.bt-footer__note { max-width: calc(var(--wide-width) - 2 * var(--gutter)); margin: var(--space-8) auto 0; padding-top: var(--space-4); border-top: 1px solid var(--line); font-size: 14px; line-height: 20px; color: var(--ink-muted); }

/* Bisheriges Zusatz-CSS ("Weiterlesen"-Absatz ausblenden) bleibt kompatibel */
.more-link-p { display: none; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
