/*
Theme Name: Kelpie Bay
Theme URI: https://kelpie-bay.com/
Author: Mika Vauclaire
Description: Child-Theme von Twenty Twenty-Five für die Buchwelt Kelpie Bay. Tag und Nacht, Grifs Karte, Buchsatz. Alle Design-Werte stehen in theme.json.
Template: twentytwentyfive
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 7.4
Version: 0.2.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kelpie-bay
*/

/*
 * Nur Regeln für die eigenen Bausteine. Farben, Schriften, Größen, Abstände,
 * Ecken, Schatten und Bewegungswerte kommen aus theme.json
 * (--wp--preset--* und --wp--custom--*).
 */

/* ---------- Grundlagen ---------- */

body { font-optical-sizing: auto; text-rendering: optimizeLegibility; }
:where(h1, h2, h3) { text-wrap: balance; }
:where(.wp-site-blocks) p { hyphens: auto; -webkit-hyphens: auto; }
a { text-decoration-thickness: 1px; text-underline-offset: .2em; transition: color var(--wp--custom--motion--fast) var(--wp--custom--motion--ease); }
:focus-visible { outline: 2px solid var(--wp--preset--color--sea); outline-offset: 3px; border-radius: 2px; }
.is-style-section-night :focus-visible { outline-color: var(--wp--preset--color--lantern); }

/* Abschnitte stoßen ohne Lücke aneinander (harte Kanten) */
.kb-sections > *,
.wp-site-blocks > * { margin-block: 0; }
.wp-site-blocks > footer { margin-block-start: 0; }

.kb-wrap { width: min(100% - 2 * var(--wp--custom--gutter), var(--wp--style--global--wide-size)); margin-inline: auto; }
.kb-section { padding-block: var(--wp--preset--spacing--60); }

/* Beschriftung: kursiv, normale Schreibweise */
.kb-label { font-style: italic; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--ink-soft); margin-block: 0 var(--wp--preset--spacing--20); }
.is-style-section-night .kb-label { color: var(--wp--preset--color--fog-soft); }
.kb-label + :where(h1, h2, h3) { margin-block-start: 0; }
.kb-lead { font-size: var(--wp--preset--font-size--large); line-height: var(--wp--custom--line-height--lead); }
.kb-small, .kb-fact { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--ink-soft); }
.kb-measure { max-width: 38rem; }
.kb-textlink a { font-weight: 500; }

/* Knöpfe: Druck-Feedback */
.wp-element-button, .wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; transition: background-color var(--wp--custom--motion--fast) var(--wp--custom--motion--ease), transform 120ms var(--wp--custom--motion--ease); }
.wp-element-button:active, .wp-block-button__link:active { transform: scale(.97); }

/* Buchtitel wie auf dem Cover: kleines, kursives „und“ */
.kb-booktitle span { display: block; }
.kb-booktitle .kb-und { font-style: italic; font-weight: 600; font-size: .42em; line-height: 1.5; padding-left: 1.2em; }

/* ---------- Kopfzeile ---------- */

.kb-header { background: var(--wp--preset--color--paper); position: relative; z-index: 10; }
.kb-header__row { min-height: 76px; gap: var(--wp--preset--spacing--40); }
.kb-header__nav { gap: clamp(1rem, 2vw, 2rem); }
.kb-nav .wp-block-navigation-item__content { padding-block: .5rem; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size 200ms var(--wp--custom--motion--ease); }
.kb-nav .wp-block-navigation-item__content:hover { background-size: 100% 1px; }
.kb-nav .kb-nav__nl .wp-block-navigation-item__content { color: var(--wp--preset--color--caramel); text-decoration: underline; background: none; }
.kb-lang { display: flex; gap: .6rem; font-size: var(--wp--custom--type--ui); }
.kb-lang a { color: var(--wp--preset--color--ink); text-decoration: none; padding-block: .5rem; }
.kb-lang a[aria-current] { font-weight: 600; }
.kb-lang a:not([aria-current]):hover { text-decoration: underline; }

/* ---------- Begrüßung ---------- */

.kb-hero { position: relative; overflow: hidden; padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60); }
.kb-hero .kb-hero__map { position: absolute; right: -6%; top: -10%; width: min(62%, 980px); margin: 0; transform: rotate(4deg); }
.kb-hero__map img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--wp--custom--radius--md); box-shadow: var(--wp--preset--shadow--book); }
.kb-hero__grid { position: relative; display: grid; grid-template-columns: 5fr 7fr; gap: var(--wp--preset--spacing--50); align-items: center; }
.kb-hero__grid > * { margin-block: 0; }
.kb-hero .kb-hero__cover { justify-self: center; width: 100%; max-width: 360px; margin: 0; transform: rotate(-3deg); animation: kb-lay var(--wp--custom--motion--enter) var(--wp--custom--motion--ease) both; }
.kb-hero__cover img { width: 100%; aspect-ratio: 2 / 3; box-shadow: var(--wp--preset--shadow--book-lifted); }
@keyframes kb-lay { from { opacity: 0; transform: rotate(-7deg) translateY(12px); } }
.kb-hero__text { background: var(--wp--preset--color--paper); padding: var(--wp--preset--spacing--50); border-radius: var(--wp--custom--radius--md); max-width: 36rem; }
.kb-hero__text h1 { margin-block-end: var(--wp--preset--spacing--40); }
.kb-actions { gap: 1rem 1.5rem; align-items: center; margin-block-start: var(--wp--preset--spacing--40); }
.kb-actions > * { margin: 0; }
.kb-fact { margin-block-start: var(--wp--preset--spacing--40); }

/* ---------- Zwei Reihen: Tag | Nacht ---------- */

.kb-series { display: grid; grid-template-columns: 7fr 5fr; }
.kb-series > * { margin: 0; padding: var(--wp--preset--spacing--60) var(--wp--custom--gutter); }
.kb-series__inner { max-width: 44rem; margin-inline-start: auto; }
.kb-series__night .kb-series__inner { margin-inline-start: 0; max-width: 30rem; }
.kb-series p:not(.kb-label, .kb-small, .kb-textlink) { max-width: 34rem; }

.kb-spines { display: flex; gap: 8px; align-items: flex-end; list-style: none; padding: 0; margin-block: var(--wp--preset--spacing--50) 0; }
.kb-spines li { margin: 0; }
.kb-spines a {
	display: flex; align-items: flex-start; justify-content: center; writing-mode: vertical-rl; transform: rotate(180deg);
	width: 58px; height: 230px; padding: 16px 10px; border-radius: 2px; text-decoration: none;
	font: 600 var(--wp--custom--type--ui)/1.15 var(--wp--preset--font-family--display); color: var(--wp--preset--color--ink-soft);
	border: 1px dashed var(--wp--preset--color--ink-soft); transition: transform var(--wp--custom--motion--base) var(--wp--custom--motion--ease);
}
.kb-spines a:hover { transform: rotate(180deg) translateY(6px); color: var(--wp--preset--color--ink); }
.kb-spines .kb-spine--out a { background: var(--wp--preset--color--caramel); color: var(--wp--preset--color--white); border: 0; height: 252px; box-shadow: var(--wp--preset--shadow--book); }
.kb-spines .kb-spine--done a { border: 1.5px solid var(--wp--preset--color--sea); color: var(--wp--preset--color--sea); }
.kb-spines + .kb-small { margin-block-start: var(--wp--preset--spacing--40); }

.kb-case { margin-block-start: var(--wp--preset--spacing--50); border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--fog) 16%, transparent); padding-block-start: var(--wp--preset--spacing--40); }
.kb-case h3 { margin-block: 0 .5rem; }

/* ---------- Karte als Bühne ---------- */

.kb-map-head { display: grid; grid-template-columns: 7fr 5fr; gap: var(--wp--preset--spacing--50); align-items: end; margin-block-end: var(--wp--preset--spacing--50); }
.kb-map-head > * { margin: 0; }
.kb-switch { display: inline-flex; justify-self: end; gap: 3px; padding: 3px; border: 1px solid var(--wp--preset--color--ink-soft); border-radius: var(--wp--custom--radius--sm); }
.kb-switch button { font: 500 var(--wp--preset--font-size--small)/1 var(--wp--preset--font-family--body); min-height: 44px; padding: .75rem 1rem; border: 0; border-radius: 2px; background: none; color: var(--wp--preset--color--ink); cursor: pointer; transition: background-color var(--wp--custom--motion--fast) var(--wp--custom--motion--ease); }
.kb-switch button[aria-pressed="true"] { background: var(--wp--preset--color--sea); color: var(--wp--preset--color--paper); }
.kb-map-stage { display: grid; grid-template-columns: 8fr 4fr; gap: var(--wp--preset--spacing--50); align-items: start; }
.kb-map-stage > * { margin: 0; }
.kb-map { position: relative; margin: 0; overflow: hidden; aspect-ratio: 3 / 2; border-radius: var(--wp--custom--radius--md); box-shadow: var(--wp--preset--shadow--book); background: var(--wp--preset--color--paper-deep); }
.kb-map[data-map="sw"] { aspect-ratio: 4 / 3; }
.kb-map img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity var(--wp--custom--motion--base) var(--wp--custom--motion--ease); }
.kb-map[data-map="bunt"] .kb-map__sw, .kb-map[data-map="sw"] .kb-map__bunt { opacity: 0; }
.kb-pin {
	position: absolute; left: var(--x1); top: var(--y1); width: 34px; height: 34px; margin: -17px 0 0 -17px;
	display: grid; place-items: center; border-radius: 50%; text-decoration: none;
	background: var(--wp--preset--color--sea); color: var(--wp--preset--color--paper); border: 2px solid var(--wp--preset--color--paper);
	font: 600 var(--wp--preset--font-size--small)/1 var(--wp--preset--font-family--body); box-shadow: var(--wp--preset--shadow--note);
	transition: transform var(--wp--custom--motion--fast) var(--wp--custom--motion--ease), background-color var(--wp--custom--motion--fast) var(--wp--custom--motion--ease);
}
.kb-map[data-map="sw"] .kb-pin { left: var(--x2); top: var(--y2); }
.kb-pin:hover, .kb-pin.is-active { transform: scale(1.15); background: var(--wp--preset--color--caramel); color: var(--wp--preset--color--white); }

.kb-places { list-style: none; padding: 0; counter-reset: kb-place; }
.kb-places li { counter-increment: kb-place; position: relative; padding: .875rem 0 .875rem 46px; margin: 0; border-bottom: 1px solid var(--wp--preset--color--line); font-size: var(--wp--custom--type--ui); line-height: 1.5; }
.kb-places li:first-child { padding-top: 0; }
.kb-places li::before { content: counter(kb-place); position: absolute; left: 0; top: 1.05rem; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--wp--preset--color--sea); color: var(--wp--preset--color--paper); font-size: var(--wp--custom--type--fine); font-weight: 600; }
.kb-places li:first-child::before { top: .2rem; }
.kb-places li.is-active::before { background: var(--wp--preset--color--caramel); }
.kb-places strong { display: block; font: 700 var(--wp--custom--type--entry)/1.15 var(--wp--preset--font-family--display); margin-block-end: .2rem; }
.kb-places em { color: var(--wp--preset--color--ink-soft); }

/* ---------- Figuren ---------- */

.kb-people { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--wp--preset--spacing--60); margin-block-start: var(--wp--preset--spacing--50); }
.kb-people > * { margin: 0; }
.kb-person { display: grid; grid-template-columns: minmax(7rem, 9rem) 1fr; gap: 1.25rem; padding-block: var(--wp--preset--spacing--40); border-top: 1px solid var(--wp--preset--color--line); }
.kb-person > * { margin: 0; }
.kb-person h3 { line-height: 1; }
.kb-role { font-style: italic; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--ink-soft); margin-block: 0 .35rem; }
.kb-role + p { margin-block-start: 0; }

/* ---------- Zwei Spalten ---------- */

.kb-split { display: grid; grid-template-columns: 7fr 5fr; gap: var(--wp--preset--spacing--60); align-items: start; }
.kb-split > * { margin: 0; }

/* ---------- Fall 1 bei Nacht ---------- */

.kb-quote { margin-block-start: var(--wp--preset--spacing--50); }
.kb-quote p { margin: 0 0 .5rem; }
.kb-quote cite { font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--small); font-weight: 400; color: var(--wp--preset--color--fog-soft); }
.kb-progress { margin-block-start: var(--wp--preset--spacing--50); max-width: 26rem; }
.kb-progress .kb-label { margin: 0; }
.kb-progress__bar { height: 6px; margin-block-start: .5rem; border-radius: 3px; overflow: hidden; background: var(--wp--preset--color--night-raised); }
.kb-progress__bar span { display: block; height: 100%; width: calc(var(--done) / var(--total) * 100%); background: var(--wp--preset--color--lantern); }
.kb-notes { display: grid; gap: var(--wp--preset--spacing--40); padding-block-start: var(--wp--preset--spacing--20); }
.kb-notes > * { margin: 0; }
.kb-notes__title.wp-block-heading { font: italic 500 var(--wp--preset--font-size--large)/1.3 var(--wp--preset--font-family--body); color: var(--wp--preset--color--fog-soft); }
.kb-note { background: var(--wp--preset--color--night-raised); padding: 1.1rem 1.35rem; border-radius: var(--wp--custom--radius--md); box-shadow: var(--wp--preset--shadow--note); font-size: var(--wp--custom--type--note); line-height: 1.45; }
.kb-note:nth-of-type(1) { transform: rotate(-1.2deg); }
.kb-note:nth-of-type(2) { transform: rotate(.8deg); }
.kb-note:nth-of-type(3) { transform: rotate(-.5deg); }
.kb-note del { display: block; color: var(--wp--preset--color--fog-soft); text-decoration-thickness: 1.5px; }
.kb-note ins { display: block; margin-block-start: .25rem; text-decoration: none; font-style: italic; color: var(--wp--preset--color--lantern); }

/* ---------- Schreibstube ---------- */

.kb-desk { list-style: none; padding: 0; margin-block-start: var(--wp--preset--spacing--40); }
.kb-desk li { display: grid; grid-template-columns: 1fr auto; column-gap: 1rem; padding-block: .9rem; margin: 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.kb-desk strong { font: 600 var(--wp--custom--type--entry)/1.15 var(--wp--preset--font-family--display); grid-column: 1; }
.kb-desk em { grid-column: 1; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--ink-soft); }
.kb-desk mark { grid-column: 2; grid-row: 1; align-self: baseline; background: none; color: inherit; font-size: var(--wp--preset--font-size--small); white-space: nowrap; }
.kb-desk .is-done mark { color: var(--wp--preset--color--sea); font-weight: 600; }
.kb-post { padding: var(--wp--preset--spacing--50); border-radius: var(--wp--custom--radius--md); }
.kb-post .wp-block-post-template { margin: 0; padding: 0; list-style: none; }
.kb-post .wp-block-post-date { margin-block-end: .25rem; }
.kb-post .wp-block-post-title { font-size: var(--wp--preset--font-size--x-large); margin-block: 0 .75rem; }
.kb-post .wp-block-post-title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.kb-post .wp-block-post-title a:hover { text-decoration: underline; }
.kb-post .wp-block-post-excerpt__more-text { display: none; }

/* ---------- Post von Tilly und Fußzeile ---------- */

.kb-closing { padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50); }
.kb-letter { display: grid; grid-template-columns: 1fr 1fr; gap: var(--wp--preset--spacing--60); align-items: start; }
.kb-letter > * { margin: 0; }
.kb-sign { font: italic 600 var(--wp--custom--type--sign)/1 var(--wp--preset--font-family--display); }
.kb-form { display: grid; gap: 1.1rem; padding: var(--wp--preset--spacing--50); border-radius: var(--wp--custom--radius--md); background: var(--wp--preset--color--night-raised); }
.kb-field label { display: block; font-size: var(--wp--preset--font-size--small); margin-block-end: .35rem; }
.kb-field input { width: 100%; min-height: 48px; padding: .6rem .85rem; border-radius: var(--wp--custom--radius--sm); border: 1px solid color-mix(in srgb, var(--wp--preset--color--fog) 35%, transparent); background: var(--wp--preset--color--night); color: var(--wp--preset--color--fog); font: 400 var(--wp--custom--type--ui)/1.3 var(--wp--preset--font-family--body); }
.kb-field input:focus-visible { outline-offset: 1px; }
.kb-consent { display: grid; grid-template-columns: 22px 1fr; gap: .65rem; font-size: var(--wp--custom--type--fine); line-height: 1.45; color: var(--wp--preset--color--fog-soft); }
.kb-consent input { width: 20px; height: 20px; margin: .15rem 0 0; accent-color: var(--wp--preset--color--lantern); }
.kb-form__submit { justify-self: start; cursor: pointer; }
.kb-footer-row { margin-block-start: var(--wp--preset--spacing--60); padding-block-start: var(--wp--preset--spacing--40); border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--fog) 16%, transparent); font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--fog-soft); }
.kb-footer-row > * { margin: 0; }
.kb-legal { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.kb-legal a { color: var(--wp--preset--color--fog); }

/* ---------- Tablet ---------- */

@media (max-width: 1023px) {
	.kb-hero__grid { grid-template-columns: 4fr 6fr; }
	.kb-hero .kb-hero__map { width: 80%; right: -20%; }
	.kb-series, .kb-split, .kb-letter, .kb-map-stage { grid-template-columns: minmax(0, 1fr); }
	.kb-series__inner, .kb-series__night .kb-series__inner { margin: 0; max-width: 40rem; }
	.kb-places { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--wp--preset--spacing--50); }
	.kb-places li:nth-child(2) { padding-top: 0; }
	.kb-places li:nth-child(2)::before { top: .2rem; }
	.kb-people { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Handy ---------- */

@media (max-width: 759px) {
	.kb-hero { padding-block-start: var(--wp--preset--spacing--40); }
	.kb-hero__grid { grid-template-columns: minmax(0, 1fr); }
	.kb-hero .kb-hero__map { width: 150%; right: -45%; top: -2%; opacity: .5; transform: rotate(3deg); }
	.kb-hero .kb-hero__cover { transform: none; max-width: 240px; justify-self: start; animation-name: kb-lay-straight; }
	.kb-hero__text { padding: 0; background: none; }
	.kb-actions .wp-block-buttons, .kb-actions .wp-block-button, .kb-actions .wp-block-button__link { width: 100%; }
	.kb-map-head { grid-template-columns: minmax(0, 1fr); }
	.kb-switch { justify-self: start; }
	.kb-map-scroll { overflow-x: auto; margin-inline: calc(-1 * var(--wp--custom--gutter)); padding-inline: var(--wp--custom--gutter); }
	.kb-map-scroll .kb-map { width: 620px; }
	.kb-places { grid-template-columns: minmax(0, 1fr); }
	.kb-places li:nth-child(2) { padding-top: .875rem; }
	.kb-places li:nth-child(2)::before { top: 1.05rem; }
	.kb-person { grid-template-columns: minmax(0, 1fr); gap: .25rem; }
	.kb-spines { overflow-x: auto; padding-bottom: .5rem; }
	.kb-spines a { width: 52px; height: 210px; }
	.kb-spines .kb-spine--out a { height: 228px; }
	.kb-note { transform: none !important; }
}
@keyframes kb-lay-straight { from { opacity: 0; transform: translateY(12px); } }

/* ---------- Weniger Bewegung ---------- */

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

/* ---------- Unterseiten (0.2.0) ---------- */

.kb-page-head { padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50); }
.kb-page-head h1 { margin-block: 0 var(--wp--preset--spacing--40); }
.kb-section--tight { padding-block-start: 0; }

.kb-books { display: grid; gap: var(--wp--preset--spacing--60); margin-block-start: var(--wp--preset--spacing--60); }
.kb-books > * { margin: 0; }
.kb-books--two { grid-template-columns: 1fr 1fr; gap: var(--wp--preset--spacing--50); }
.kb-book { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--wp--preset--spacing--50); align-items: start; scroll-margin-top: var(--wp--preset--spacing--40); }
.kb-book > * { margin: 0; }
.kb-books--two .kb-book { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.kb-book__cover { max-width: 260px; }
.kb-book__cover a { display: block; }
.kb-book__text > * { margin-block: 0; }
.kb-book__text > * + * { margin-block-start: var(--wp--preset--spacing--30); }
.kb-book__text p:not(.kb-label, .kb-pair, .kb-textlink) { max-width: 36rem; }
.kb-booktitle--entry { font-size: var(--wp--preset--font-size--x-large); }
.kb-pair { font-style: italic; }
.is-style-section-night .kb-pair { color: var(--wp--preset--color--fog); }

.kb-cover { display: block; width: 100%; height: auto; aspect-ratio: 2 / 3; box-shadow: var(--wp--preset--shadow--book); }
.kb-typecover {
	display: flex; flex-direction: column; justify-content: space-between; gap: var(--wp--preset--spacing--30);
	aspect-ratio: 2 / 3; padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
	background: var(--wp--preset--color--sea); color: var(--wp--preset--color--fog); text-align: center;
	box-shadow: var(--wp--preset--shadow--book);
}
.kb-typecover--night { background: var(--wp--preset--color--night-raised); box-shadow: var(--wp--preset--shadow--note); }
.kb-typecover { container-type: inline-size; }
.kb-typecover__title { font: 700 min(var(--wp--preset--font-size--x-large), 14cqi)/1.05 var(--wp--preset--font-family--display); margin-block-start: var(--wp--preset--spacing--40); overflow-wrap: anywhere; }
.kb-typecover__title span { display: block; }
.kb-typecover__title .kb-und { font-style: italic; font-weight: 600; font-size: .5em; line-height: 1.6; }
.kb-typecover__meta { font-style: italic; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--fog-soft); }
.kb-typecover__author { font: 600 var(--wp--preset--font-size--small)/1 var(--wp--preset--font-family--display); letter-spacing: .04em; }

.kb-book-hero { padding-block: var(--wp--preset--spacing--60); }
.kb-book-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--wp--preset--spacing--60); align-items: start; }
.kb-book-hero__grid > * { margin: 0; }
.kb-book-hero__cover { max-width: 400px; justify-self: center; transform: rotate(-2deg); animation: kb-lay var(--wp--custom--motion--enter) var(--wp--custom--motion--ease) both; }
.kb-book-hero__cover .kb-cover { box-shadow: var(--wp--preset--shadow--book-lifted); }
.kb-book-hero__text { max-width: 38rem; }
.kb-book-hero__text > * { margin-block: 0; }
.kb-book-hero__text > * + * { margin-block-start: var(--wp--preset--spacing--30); }
.kb-book-hero__text h1 { margin-block-end: var(--wp--preset--spacing--20); }

.kb-chips { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--20); list-style: none; padding: 0; }
.kb-chips li { margin: 0; padding: .2rem .65rem; border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--sm); font-size: var(--wp--preset--font-size--small); }

.kb-news { display: grid; gap: var(--wp--preset--spacing--50); }
.kb-news .wp-block-post-template { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--wp--preset--spacing--50); }
.kb-news .wp-block-post { max-width: var(--wp--style--global--content-size); padding-block-end: var(--wp--preset--spacing--50); border-bottom: 1px solid var(--wp--preset--color--line); }
.kb-news .wp-block-post > * { margin-block: 0; }
.kb-news .wp-block-post > * + * { margin-block-start: var(--wp--preset--spacing--30); }
.kb-news .wp-block-post-title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.kb-news .wp-block-post-title a:hover { text-decoration: underline; }
.kb-news .wp-block-post-excerpt__more-text { display: none; }
.kb-news .wp-block-read-more { font-weight: 500; }

@media (max-width: 1023px) {
	.kb-books--two { grid-template-columns: minmax(0, 1fr); }
	.kb-book-hero__grid { grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); }
}
@media (max-width: 759px) {
	.kb-book, .kb-books--two .kb-book { grid-template-columns: minmax(0, 1fr); }
	.kb-book__cover { max-width: 200px; }
	.kb-book-hero__grid { grid-template-columns: minmax(0, 1fr); }
	.kb-book-hero__cover { max-width: 240px; justify-self: start; transform: none; animation-name: kb-lay-straight; }
}

/* Einzelner Beitrag */
.kb-article__inner { max-width: var(--wp--style--global--content-size); }
.kb-article__inner > * { margin-block: 0; }
.kb-article__inner .wp-block-post-title { margin-block: 0 var(--wp--preset--spacing--50); }
.kb-article__content > * + * { margin-block-start: var(--wp--preset--spacing--30); }
.kb-article__back { margin-block-start: var(--wp--preset--spacing--50); padding-block-start: var(--wp--preset--spacing--40); border-top: 1px solid var(--wp--preset--color--line); }

/* Ruhiger Fließtext für Textseiten und Beiträge (0.2.2) */
.kb-prose > :where(h2, h3, h4) { font-family: var(--wp--preset--font-family--display); }
.kb-prose > h2 { font-size: var(--wp--preset--font-size--x-large); line-height: 1.15; margin-block-start: var(--wp--preset--spacing--60); }
.kb-prose > h3 { font-size: var(--wp--preset--font-size--large); line-height: 1.25; margin-block-start: var(--wp--preset--spacing--50); }
.kb-prose > :where(h2, h3) + * { margin-block-start: var(--wp--preset--spacing--20); }
.kb-prose > :first-child { margin-block-start: 0; }
.kb-prose ul { padding-inline-start: 1.25em; }
.kb-prose li + li { margin-block-start: .4rem; }
.kb-prose a { overflow-wrap: anywhere; }
