/*
Theme Name: PBC+
Theme URI: https://pbcplus.de
Author: Jan Schulz
Description: Theme für pbcplus.de – den PicoBoy Color Plus. Passend zu picoboy.de.
Version: 2.0.0
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: pbcplus
License: GPL-2.0-or-later
*/

:root {
	--pbc-radius: 14px;
	--pbc-schatten: 0 1px 2px rgba(25, 42, 61, .06), 0 6px 20px rgba(25, 42, 61, .07);
	--pbc-schatten-hoch: 0 2px 4px rgba(25, 42, 61, .08), 0 14px 34px rgba(25, 42, 61, .14);
	--pbc-kopfhoehe: 76px;
}

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--pbc-kopfhoehe) + 16px); }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
code, kbd, pre { font-family: var(--wp--preset--font-family--code); font-variant-ligatures: none; }
:not(pre) > code { background: var(--wp--preset--color--flaeche); border: 1px solid var(--wp--preset--color--linie); padding: .05em .35em; border-radius: 5px; font-size: .9em; }
::selection { background: var(--wp--preset--color--blau); color: #fff; }
:focus-visible { outline: 3px solid var(--wp--preset--color--led-gelb); outline-offset: 3px; }
img { height: auto; }

/* Fußzeile immer unten */
.wp-site-blocks { min-height: 100vh; display: flex; flex-direction: column; }
.wp-site-blocks > main, .pbc-haupt { flex: 1 0 auto; }
.wp-site-blocks > * { margin-block-start: 0 !important; }
.pbc-haupt { margin: 0 !important; }

/* ================= Kopfzeile ================= */
.pbc-kopf {
	position: sticky; top: 0; z-index: 100;
	background: rgba(255, 255, 255, .94); backdrop-filter: saturate(1.4) blur(10px);
	border-bottom: 1px solid var(--wp--preset--color--linie);
}
.pbc-kopf:has(.is-menu-open) { backdrop-filter: none; }   /* sonst bleibt das Handy-Menü in der Kopfzeile gefangen */
.admin-bar .pbc-kopf { top: 32px; }
@media (max-width: 782px) { .admin-bar .pbc-kopf { top: 46px; } }
.pbc-kopf__innen { min-height: var(--pbc-kopfhoehe); gap: 1.5rem; }

.pbc-logo { display: inline-flex; flex-direction: column; gap: .3rem; text-decoration: none !important; line-height: 1; }
.pbc-logo__svg { height: 30px; width: auto; display: block; }
.pbc-logo__pbc { fill: var(--wp--preset--color--nacht); }
.pbc-logo__plus { fill: var(--wp--preset--color--blau); }
.pbc-logo:hover .pbc-logo__plus { fill: var(--wp--preset--color--led-rot); }
.pbc-logo__claim { font-family: var(--wp--preset--font-family--titel); font-weight: 600; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--grau); }
.pbc-logo--hell .pbc-logo__pbc { fill: #fff; }
.pbc-logo--hell .pbc-logo__plus { fill: #6fb3f2; }
.pbc-logo--hell .pbc-logo__claim { color: #8fa3b8; }

.pbc-nav .wp-block-navigation__container { gap: 1.4rem; }
.pbc-nav .wp-block-navigation-item__content { color: var(--wp--preset--color--nacht); padding: .4rem 0; }
.pbc-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--blau); }
.pbc-nav .wp-block-navigation__submenu-container {
	border: 1px solid var(--wp--preset--color--linie) !important; border-radius: 12px; padding: .45rem !important;
	box-shadow: var(--pbc-schatten-hoch); min-width: 220px !important; background: #fff !important;
}
.pbc-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: .5rem .8rem !important; border-radius: 8px; text-transform: none; letter-spacing: 0;
	font-family: var(--wp--preset--font-family--text); font-weight: 500; font-size: .98rem;
}
.pbc-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--blau-hell); }
.pbc-nav .pbc-nav-kaufen > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--blau); color: #fff; padding: .45rem 1.05rem; border-radius: 8px;
}
.pbc-nav .pbc-nav-kaufen > .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--blau-dunkel); color: #fff; }
.pbc-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
.pbc-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { box-shadow: none; border: 0 !important; padding: 0 0 0 1rem !important; }
@media (max-width: 1100px) { .pbc-nav .wp-block-navigation__container { gap: 1rem; } }
.pbc-logo__claim { white-space: nowrap; }
@media (min-width: 600px) { .pbc-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item__content { white-space: nowrap; } }
@media (min-width: 600px) and (max-width: 860px) { .pbc-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; } .pbc-nav .wp-block-navigation__responsive-container-open { display: flex !important; } }
@media (max-width: 900px) { .pbc-nav .wp-block-navigation__container { gap: .55rem; flex-wrap: nowrap; font-size: .8rem; } .pbc-nav .pbc-nav-kaufen > .wp-block-navigation-item__content { padding: .4rem .7rem; } }

/* ================= Bausteine ================= */
.pbc-marke {
	font-family: var(--wp--preset--font-family--titel); font-weight: 600; font-size: .85rem !important;
	text-transform: uppercase; letter-spacing: .14em; color: var(--wp--preset--color--blau); margin-bottom: .4rem !important;
}
.pbc-dunkel .pbc-marke { color: #7db7ec; }
.pbc-einleitung { font-size: var(--wp--preset--font-size--mittel); color: var(--wp--preset--color--grau); max-width: 46rem; }
.pbc-dunkel .pbc-einleitung { color: #c4d2e1; }
.has-text-align-center.pbc-einleitung { margin-inline: auto; }

.pbc-abschnitt { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); }
.pbc-abschnitt--eng { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50); }
.pbc-hell { background: var(--wp--preset--color--flaeche); }
.pbc-dunkel { background: var(--wp--preset--color--nacht); color: #e6edf5; }
.pbc-dunkel h1, .pbc-dunkel h2, .pbc-dunkel h3 { color: #fff; }
.pbc-dunkel a:not(.wp-block-button__link) { color: #9ccbf5; }
.pbc-abschnittskopf { margin-bottom: var(--wp--preset--spacing--50) !important; }
.pbc-abschnittskopf h2 { margin-top: 0; }

/* Knöpfe */
.wp-block-button.is-style-outline > .wp-block-button__link { border: 2px solid currentColor; background: transparent; color: var(--wp--preset--color--blau); padding: calc(.7em - 2px) calc(1.4em - 2px); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--blau); color: #fff; border-color: var(--wp--preset--color--blau); }
.pbc-dunkel .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; }
.pbc-dunkel .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--nacht); border-color: #fff; }
.wp-block-button__link::after { content: ""; }
.pbc-pfeil .wp-block-button__link::after { content: " →"; }

/* ================= Startseite: Bühne ================= */
.pbc-held {
	position: relative; overflow: hidden; color: #e6edf5;
	background:
		radial-gradient(900px 500px at 78% 40%, rgba(30, 115, 190, .45), transparent 65%),
		radial-gradient(600px 400px at 10% 110%, rgba(34, 164, 93, .18), transparent 70%),
		var(--wp--preset--color--nacht);
	padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60);
}
.pbc-held::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
	background-size: 32px 32px; mask-image: linear-gradient(to bottom, #000 30%, transparent);
}
.pbc-held > * { position: relative; }
.pbc-held h1 { color: #fff; font-size: var(--wp--preset--font-size--plakat); line-height: .98; letter-spacing: -.015em; margin-top: .2rem; }
.pbc-held h1 .pbc-plus { color: #6fb3f2; }
.pbc-held .pbc-einleitung { color: #c4d2e1; }
.pbc-held .pbc-marke { color: #7db7ec; }
.pbc-held .wp-block-image img { filter: drop-shadow(0 30px 40px rgba(0, 0, 0, .5)); }
.pbc-chips { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: var(--wp--preset--spacing--40) 0 0; list-style: none; }
.pbc-chips li {
	font-family: var(--wp--preset--font-family--titel); font-weight: 600; font-size: .95rem;
	padding: .3rem .75rem; border-radius: 999px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.06); color: #fff; margin: 0;
}
.pbc-leds-deko { display: inline-flex; gap: 6px; vertical-align: middle; margin-right: .5rem; }
.pbc-leds-deko i { width: 9px; height: 9px; border-radius: 50%; display: block; }
.pbc-leds-deko i:nth-child(1) { background: var(--wp--preset--color--led-rot); box-shadow: 0 0 10px var(--wp--preset--color--led-rot); }
.pbc-leds-deko i:nth-child(2) { background: var(--wp--preset--color--led-gelb); box-shadow: 0 0 10px var(--wp--preset--color--led-gelb); }
.pbc-leds-deko i:nth-child(3) { background: var(--wp--preset--color--led-gruen); box-shadow: 0 0 10px var(--wp--preset--color--led-gruen); }

/* ================= Kacheln ================= */
.pbc-raster { display: grid !important; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.pbc-raster--2 { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
.pbc-raster--3 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.pbc-raster--4 { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.pbc-raster > * { margin: 0 !important; }

.pbc-kachel {
	position: relative; display: flex; flex-direction: column; gap: .45rem;
	background: #fff; border: 1px solid var(--wp--preset--color--linie); border-radius: var(--pbc-radius);
	box-shadow: var(--pbc-schatten); padding: 1.35rem 1.4rem 1.4rem; overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.pbc-kachel > * { margin: 0 !important; }
.pbc-kachel h3 { font-size: 1.35rem; line-height: 1.15; }
.pbc-kachel h3 a { color: var(--wp--preset--color--nacht); text-decoration: none; }
.pbc-kachel p { color: var(--wp--preset--color--grau); font-size: .98rem; }
.pbc-kachel { min-width: 0; hyphens: auto; }
.pbc-kachel p.pbc-symbol { color: #fff; font-size: 1.4rem; }
.pbc-kachel p.pbc-symbol--gelb { color: var(--wp--preset--color--nacht); }
.pbc-kachel .pbc-kachel__mehr { margin-top: auto !important; padding-top: .5rem; color: var(--wp--preset--color--blau); font-weight: 700; font-size: .95rem; }
.pbc-kachel .pbc-kachel__datei { margin-top: auto !important; padding-top: .55rem; font-family: var(--wp--preset--font-family--code); font-size: .78rem; color: var(--wp--preset--color--grau); }
/* ganze Kachel klickbar, wenn die Überschrift verlinkt ist */
.pbc-kachel h3 a::before { content: ""; position: absolute; inset: 0; z-index: 1; }
.pbc-kachel p a, .pbc-kachel li a { position: relative; z-index: 2; }
.pbc-kachel:has(h3 a):hover { transform: translateY(-3px); box-shadow: var(--pbc-schatten-hoch); border-color: #b9d3ec; }
.pbc-kachel:has(h3 a):hover h3 a { color: var(--wp--preset--color--blau); }
.pbc-kachel:has(h3 a:focus-visible) { outline: 3px solid var(--wp--preset--color--led-gelb); outline-offset: 3px; }
.pbc-kachel h3 a:focus-visible { outline: none; }

/* Kachel mit Bild oben (Bild randlos) */
.pbc-kachel .pbc-kachel__bild { margin: -1.35rem -1.4rem .6rem !important; background: var(--wp--preset--color--flaeche); border-bottom: 1px solid var(--wp--preset--color--linie); }
.pbc-kachel .pbc-kachel__bild img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.pbc-kachel .pbc-kachel__bild--schirm { background: #0d141c; }
.pbc-kachel .pbc-kachel__bild--schirm img { object-fit: contain; image-rendering: pixelated; padding: .8rem 0; }
.pbc-kachel .pbc-kachel__bild--konsole { background: linear-gradient(180deg, #fff, var(--wp--preset--color--flaeche)); }
.pbc-kachel .pbc-kachel__bild--konsole img { object-fit: contain; padding: 1rem 1.5rem; }

/* farbiges Symbol */
.pbc-symbol {
	display: grid !important; place-items: center; width: 48px; height: 48px; padding: 0 !important; border-radius: 12px;
	font-family: var(--wp--preset--font-family--titel); font-weight: 800; font-style: italic; font-size: 1.4rem; color: #fff;
}
.pbc-symbol--rot { background: var(--wp--preset--color--led-rot); }
.pbc-symbol--gelb { background: var(--wp--preset--color--led-gelb); color: var(--wp--preset--color--nacht); }
.pbc-symbol--gruen { background: var(--wp--preset--color--led-gruen); }
.pbc-symbol--blau { background: var(--wp--preset--color--blau); }

/* Etiketten */
.pbc-etikett {
	display: inline-block; align-self: flex-start; width: auto;
	font-family: var(--wp--preset--font-family--titel); font-weight: 600; font-size: .78rem !important; letter-spacing: .06em; text-transform: uppercase;
	padding: .18rem .55rem; border-radius: 6px; background: var(--wp--preset--color--flaeche); color: var(--wp--preset--color--grau) !important;
}
.pbc-etikett--blau { background: var(--wp--preset--color--blau-hell); color: var(--wp--preset--color--blau-dunkel) !important; }
.pbc-etikett--gelb { background: #fff3cc; color: #8a6400 !important; }
.pbc-etikett--gruen { background: #dff4e8; color: #17703f !important; }
.pbc-etikett--ki { background: #fff3cc; color: #8a6400 !important; border: 1px solid #f5d77a; }

/* ================= Seitenkopf (Unterseiten) ================= */
.pbc-seitenkopf {
	background:
		radial-gradient(700px 300px at 85% 0%, rgba(30, 115, 190, .14), transparent 70%),
		var(--wp--preset--color--flaeche);
	border-bottom: 1px solid var(--wp--preset--color--linie);
	padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50);
}
.pbc-seitenkopf h1 { margin: 0; }
.pbc-seitenkopf__text { font-size: var(--wp--preset--font-size--mittel); color: var(--wp--preset--color--grau); max-width: 46rem; margin-top: .8rem !important; }
.pbc-seitenkopf__text p { margin: 0; }
.pbc-inhalt { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--60); }
.pbc-inhalt > h2 { margin-top: var(--wp--preset--spacing--50); }
.pbc-datum { font-family: var(--wp--preset--font-family--titel); font-weight: 600; font-size: .85rem; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--blau); }
.pbc-beitragstitel { font-size: var(--wp--preset--font-size--riesig) !important; }
.pbc-zurueck { padding-bottom: var(--wp--preset--spacing--60); }

/* ================= Tabellen ================= */
.pbc-tabelle table { border-collapse: separate; border-spacing: 0; width: 100%; background: #fff; border: 1px solid var(--wp--preset--color--linie); border-radius: var(--pbc-radius); overflow: hidden; }
.pbc-tabelle th, .pbc-tabelle td { border: 0; border-bottom: 1px solid var(--wp--preset--color--linie); padding: .7rem .9rem; text-align: left; vertical-align: top; }
.pbc-tabelle tr:last-child td { border-bottom: 0; }
.pbc-tabelle thead th { background: var(--wp--preset--color--flaeche); font-family: var(--wp--preset--font-family--titel); font-weight: 700; font-style: italic; font-size: 1.05rem; color: var(--wp--preset--color--nacht); }
.pbc-tabelle td:first-child { font-weight: 700; color: var(--wp--preset--color--nacht); }
.pbc-tabelle td code { white-space: nowrap; }
.pbc-tabelle--vergleich th:last-child, .pbc-tabelle--vergleich td:last-child { background: var(--wp--preset--color--blau-hell); }
.pbc-tabelle--vergleich thead th:last-child { background: var(--wp--preset--color--blau); color: #fff; }
.pbc-tabelle { overflow-x: auto; }
.pbc-tabelle table { word-break: normal; overflow-wrap: normal; hyphens: auto; }   /* WP erbt aus der Spalte word-break: break-word */
.pbc-tabelle--vergleich table { min-width: 520px; font-size: .95rem; }
.pbc-tabelle--vergleich td:first-child { white-space: nowrap; }
.pbc-tabelle--vergleich th, .pbc-tabelle--vergleich td { padding: .6rem .75rem; }
.pbc-tabelle figcaption { font-size: .85rem; color: var(--wp--preset--color--grau); }

/* ================= Listen ================= */
.pbc-haken { list-style: none; padding-left: 0; }
.pbc-haken li { position: relative; padding-left: 1.75rem; margin: .4rem 0; }
.pbc-haken li::before {
	content: ""; position: absolute; left: 0; top: .42em; width: 1.05rem; height: 1.05rem; border-radius: 50%;
	background: var(--wp--preset--color--blau-hell) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%231e73be' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 80% no-repeat;
}
.pbc-schritte { counter-reset: schritt; list-style: none; padding-left: 0; }
.pbc-schritte li { counter-increment: schritt; position: relative; padding: .2rem 0 1.1rem 3.3rem; }
.pbc-schritte li::before {
	content: counter(schritt); position: absolute; left: 0; top: 0; width: 2.3rem; height: 2.3rem; border-radius: 50%;
	display: grid; place-items: center; background: var(--wp--preset--color--blau); color: #fff;
	font-family: var(--wp--preset--font-family--titel); font-weight: 800; font-style: italic; font-size: 1.15rem;
}
.pbc-linkliste { list-style: none; padding: 0; border: 1px solid var(--wp--preset--color--linie); border-radius: var(--pbc-radius); background: #fff; overflow: hidden; }
.pbc-linkliste li { padding: .85rem 1.1rem; border-bottom: 1px solid var(--wp--preset--color--linie); margin: 0; }
.pbc-linkliste li:last-child { border-bottom: 0; }
.pbc-linkliste a { font-weight: 700; text-decoration: none; }
.pbc-linkliste a:hover { text-decoration: underline; }

/* ================= Hinweis ================= */
.pbc-hinweis { border: 1px solid #f5d77a; background: #fffaeb; border-radius: var(--pbc-radius); padding: 1.1rem 1.3rem !important; }
.pbc-hinweis > * { margin-block: .3rem !important; }
.pbc-hinweis--blau { border-color: #b9d3ec; background: var(--wp--preset--color--blau-hell); }

/* ================= Programmieren: Wege ================= */
.pbc-weg { padding-top: var(--wp--preset--spacing--60); border-top: 1px solid var(--wp--preset--color--linie); margin-top: var(--wp--preset--spacing--60) !important; }
.pbc-weg h3 { margin-top: var(--wp--preset--spacing--40); font-size: 1.3rem; }
.pbc-buch { position: sticky; top: calc(var(--pbc-kopfhoehe) + 24px); text-align: left; }
.pbc-buch .pbc-cover { margin: -1.35rem -1.4rem .8rem !important; padding: 1.6rem 0 1.2rem; background: linear-gradient(160deg, var(--wp--preset--color--blau-hell), var(--wp--preset--color--flaeche)); border-bottom: 1px solid var(--wp--preset--color--linie); }
.pbc-buch .pbc-cover img { width: 170px !important; margin: 0 auto; display: block; border-radius: 3px; box-shadow: 0 12px 28px rgba(25,42,61,.22); transform: rotate(-2.5deg); transition: transform .2s ease; }
.pbc-buch:hover .pbc-cover img { transform: rotate(0deg) scale(1.03); }
.pbc-buch .wp-block-buttons { margin-top: .6rem !important; }
.pbc-buch .wp-block-button { width: 100%; }
.pbc-buch .wp-block-button__link { width: 100%; text-align: center; }
.wp-block-code { overflow-x: auto; box-shadow: var(--pbc-schatten); }
.wp-block-code code { white-space: pre; }
.pbc-bloecke img { background: #fff; border: 1px solid var(--wp--preset--color--linie); border-radius: var(--pbc-radius); padding: 1rem; box-shadow: var(--pbc-schatten); }

/* ================= Neuigkeiten ================= */
.pbc-news .wp-block-post-template { gap: 1.25rem; }
.pbc-kachel--news { height: 100%; }
.pbc-kachel--news .wp-block-post-excerpt__excerpt { margin: 0; color: var(--wp--preset--color--grau); }
.pbc-kachel--news .wp-block-post-title { font-size: 1.35rem; }
.pbc-kachel--news .wp-block-post-title a { color: var(--wp--preset--color--nacht); text-decoration: none; }
.pbc-kachel--news .wp-block-post-title a::before { content: ""; position: absolute; inset: 0; z-index: 1; }
.pbc-kachel--news:hover { transform: translateY(-3px); box-shadow: var(--pbc-schatten-hoch); border-color: #b9d3ec; }
.pbc-kachel--news:hover .wp-block-post-title a { color: var(--wp--preset--color--blau); }
.wp-block-query-pagination { margin-top: var(--wp--preset--spacing--50); }

/* ================= Bilder ================= */
.pbc-rund img { border-radius: var(--pbc-radius); box-shadow: var(--pbc-schatten); }
.pbc-geraetbild img { filter: drop-shadow(0 20px 30px rgba(25,42,61,.25)); }

/* ================= Fußzeile ================= */
.pbc-fuss { background: var(--wp--preset--color--nacht); color: #aebdcc; padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--40); margin-top: 0 !important; }
.pbc-fuss .pbc-logo { margin-bottom: .6rem; }
.pbc-fuss p { font-size: .95rem; }
.pbc-fuss__titel { color: #fff !important; font-size: 1.05rem !important; font-style: italic; text-transform: uppercase; letter-spacing: .06em; margin-bottom: .6rem; }
.pbc-fuss ul { list-style: none; padding: 0; margin: 0; }
.pbc-fuss li { margin: .35rem 0; }
.pbc-fuss a { color: #dce6f0; text-decoration: none; }
.pbc-fuss a:hover { color: #fff; text-decoration: underline; }
.pbc-fuss__unten { border-top: 1px solid rgba(255,255,255,.1); padding-top: 1.2rem; margin-top: var(--wp--preset--spacing--50) !important; font-size: .85rem !important; color: #7f91a4; }

/* ================= Mobil ================= */
@media (max-width: 781px) {
	:root { --pbc-kopfhoehe: 64px; }
	.pbc-logo__svg { height: 24px; }
	.pbc-logo__claim { font-size: .62rem; }
	.pbc-held .wp-block-image img { width: 200px !important; }
	.pbc-held .wp-block-columns { gap: 2rem; }
	.pbc-buch { position: static; }
	.pbc-raster--4 { grid-template-columns: 1fr 1fr; gap: .8rem; }
	.pbc-raster--4 .pbc-kachel { padding: 1rem; }
	.pbc-raster--4 .pbc-kachel h3 { font-size: 1.15rem; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }

/* Seitenkopf: Kurztext bündig unter dem Titel */
.pbc-seitenkopf > .pbc-seitenkopf__text { max-width: 1200px !important; }
.pbc-seitenkopf__text p { max-width: 46rem; }
/* Buchcover mittig */
.pbc-buch .pbc-cover { display: block; text-align: center; }
.pbc-buch .pbc-cover a { display: inline-block; }
@media (max-width: 781px) { .pbc-held .wp-block-image img { width: 170px !important; } }
.pbc-tabelle td:first-child { min-width: 9rem; }
@media (max-width: 600px) { .pbc-tabelle td:first-child { min-width: 0; } }
.pbc-bildnachweise { margin-top: var(--wp--preset--spacing--60) !important; padding-top: var(--wp--preset--spacing--40); border-top: 1px solid var(--wp--preset--color--linie); font-size: .9rem; color: var(--wp--preset--color--grau); }
.pbc-bildnachweise h3 { font-size: 1.1rem; }
/* Bildergalerie (Bildschirmfotos) */
.pbc-galerie { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.25rem; }
.pbc-galerie > * { margin: 0 !important; }
.pbc-galerie__bild { background: #0d141c; border-radius: var(--pbc-radius); padding: 1rem 1rem .6rem; text-align: center; }
.pbc-galerie__bild img { image-rendering: pixelated; width: 100%; max-width: 240px; height: auto; }
.pbc-galerie__text { color: #c4d2e1; font-family: var(--wp--preset--font-family--titel); font-weight: 700; font-style: italic; margin: .4rem 0 0 !important; }
.pbc-galerie--2 { grid-template-columns: 1fr 1fr; }
.pbc-emu-titel { margin-top: var(--wp--preset--spacing--50) !important; }
.pbc-kachel--teil { box-shadow: none; background: var(--wp--preset--color--flaeche); }
.pbc-kachel--teil .pbc-kachel__bild--konsole { background: linear-gradient(180deg, #fff, var(--wp--preset--color--blau-hell)); }
/* Beispielpaare auf den Programmier-Unterseiten (Programm + Ergebnis) */
.pbc-beispiel { display: flex !important; flex-wrap: wrap; align-items: flex-start; gap: 1rem 1.5rem; }
.pbc-beispiel > * { margin: 0 !important; max-width: 100%; }
.pbc-beispiel img { max-width: 100%; height: auto; }
.pbc-weg-seite h2 { margin-top: var(--wp--preset--spacing--50) !important; }
.pbc-weg-seite h2:first-child { margin-top: 0 !important; }
/* Arbeitsblätter auf der Schulseite */
.pbc-ab-liste { list-style: none; padding: 0; columns: 2; column-gap: 1.5rem; font-size: .9rem; color: var(--wp--preset--color--grau); margin: .4rem 0 .8rem !important; }
.pbc-ab-liste li { break-inside: avoid; margin: .15rem 0; }
.pbc-knoepfe-klein .wp-block-button__link { font-size: .95rem; padding: .5em 1em; }
@media (max-width: 600px) { .pbc-ab-liste { columns: 1; } }
.pbc-bildhinweis { font-size: .78rem !important; color: var(--wp--preset--color--grau); margin-top: .4rem !important; text-align: right; font-style: italic; }
/* Prompt-Kästen auf der KI-Seite */
pre.pbc-prompt { position: relative; white-space: pre-wrap; padding-top: 2.6rem !important; font-size: .82rem; line-height: 1.55; }
pre.pbc-prompt code { white-space: pre-wrap; }
.pbc-kopieren {
	position: absolute; top: .6rem; right: .6rem; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.08); color: #fff;
	font: 600 .8rem/1 var(--wp--preset--font-family--titel); padding: .45rem .8rem; border-radius: 6px; cursor: pointer;
}
.pbc-kopieren:hover { background: var(--wp--preset--color--blau); border-color: var(--wp--preset--color--blau); }
