/*
Theme Name: PBS
Description: Child-Theme von Twenty Twenty-Five für prune-belly.de (Entwurf B+C: hell, Meeresblau, Welle).
Template: twentytwentyfive
Version: 1.0.0
Update URI: false
Requires at least: 6.7
Author: Marco Schmitz
License: GNU General Public License v2 or later
Text Domain: pbs
*/

/* Farben, Schrift, Größen: theme.json. Hier nur, was Blöcke nicht als Einstellung haben. */

:root {
	--pbs-radius: 12px;
	--pbs-schatten: 0 2px 10px rgba(22, 81, 111, .08), 0 1px 2px rgba(22, 81, 111, .06);
}

/* Kopfzeile */
.pbs-kopf {
	padding-top: .9rem;
	padding-bottom: .9rem;
	border-bottom: 1px solid #e3edf3;
	background: #fff;
}
.pbs-kopf__zeile { gap: 1rem; }
.pbs-kopf__menue { gap: 1.4rem; }
.pbs-logo {
	margin: 0;
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -.01em;
	white-space: nowrap;
}
.pbs-logo a { color: var(--wp--preset--color--primary); text-decoration: none; }
.pbs-logo__punkt { color: var(--wp--preset--color--accent); }
.pbs-forum-knopf .wp-block-button__link {
	padding: .35rem .95rem;
	white-space: nowrap;
}
.pbs-kopf .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.25rem;
	font-size: var(--wp--preset--font-size--large);
}
.pbs-kopf .is-menu-open .wp-block-navigation__responsive-container-content,
.pbs-kopf .is-menu-open .wp-block-navigation__container,
.pbs-kopf .is-menu-open .wp-block-navigation-item {
	align-items: flex-start !important;
	justify-content: flex-start !important;
	text-align: left !important;
}
.pbs-kopf .is-menu-open .wp-block-navigation__container { gap: 1.1rem; }
.pbs-kopf .is-menu-open .wp-block-navigation-item {
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
}
.pbs-kopf .is-menu-open .wp-block-navigation-item__content { color: var(--wp--preset--color--primary); }
.pbs-kopf .wp-block-navigation__responsive-container-open svg,
.pbs-kopf .wp-block-navigation__responsive-container-close svg { width: 28px; height: 28px; }
.pbs-kopf .wp-block-navigation__responsive-container-open { color: var(--wp--preset--color--primary); }

/* Dachzeile über Überschriften */
.pbs-dachzeile {
	margin: 0;
	font-size: .8125rem;
	font-weight: 600;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--wp--preset--color--petrol);
}

/* Begrüßung */
.pbs-hero { padding-top: clamp(2rem, 6vw, 3.5rem); padding-bottom: 0; }
.pbs-hero__titel {
	margin-top: .6rem;
	margin-bottom: 1rem;
	font-weight: 300;
	color: var(--wp--preset--color--text-dark);
	letter-spacing: -.01em;
}
.pbs-hero__titel strong { display: block; font-weight: 700; color: var(--wp--preset--color--primary); }
.pbs-hero__text {
	max-width: 34em;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.6;
	color: var(--wp--preset--color--muted);
}
.pbs-hero__knoepfe { margin-top: 1.5rem; }
.pbs-hero__knoepfe .has-accent-background-color:hover {
	background-color: #e99a74 !important; /* heller statt dunkler: dunkle Schrift bleibt über 4,5:1 */
}

/* Kasten „Auf einen Blick“ */
.pbs-blick {
	padding: 1.25rem 1.4rem 1.1rem;
	background: #fff;
	border-radius: var(--pbs-radius);
	box-shadow: var(--pbs-schatten);
	line-height: 1.55;
}
.pbs-blick__titel {
	margin: 0 0 .5rem;
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 700;
}
.pbs-blick__liste { margin: 0; padding: 0; list-style: none; }
.pbs-blick__liste li { position: relative; margin: .3rem 0 0; padding-left: 1.1em; }
.pbs-blick__liste li::before {
	content: "▸";
	position: absolute;
	left: 0;
	color: var(--wp--preset--color--petrol);
}
.pbs-mehr { margin-top: .8rem; font-size: var(--wp--preset--font-size--small); }
a.pbs-mehr, .pbs-mehr a {
	color: var(--wp--preset--color--petrol);
	font-weight: 600;
	text-decoration: none;
}
a.pbs-mehr:hover, .pbs-mehr a:hover { text-decoration: underline; }

/* Welle */
.pbs-welle { line-height: 0; }
.pbs-welle svg { display: block; width: 100%; height: clamp(32px, 5vw, 56px); }
.pbs-hero .pbs-welle { margin-top: clamp(1.75rem, 4vw, 2.5rem); }

/* Kacheln auf der Welle */
.pbs-zielgruppen { padding-top: .25rem; padding-bottom: clamp(1.75rem, 4vw, 2.5rem); }
.pbs-kachel {
	position: relative;
	padding: 1.25rem 1.3rem;
	background: #fff;
	border-radius: var(--pbs-radius);
	transition: transform .15s ease, box-shadow .15s ease;
}
.pbs-kachel:hover, .pbs-kachel:focus-within {
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(15, 59, 82, .14);
}
.pbs-kachel > * { margin-top: 0; margin-bottom: 0; }
.pbs-kachel__symbol { font-size: 1.6rem; line-height: 1.2; }
.pbs-kachel__titel { margin: .4rem 0 .3rem; font-size: var(--wp--preset--font-size--large); }
.pbs-kachel__titel a { color: var(--wp--preset--color--text-dark); text-decoration: none; }
.pbs-kachel__titel a::after { content: ""; position: absolute; inset: 0; border-radius: var(--pbs-radius); }
.pbs-kachel__titel a:focus-visible { outline: none; }
.pbs-kachel__titel a:focus-visible::after { outline: 2px solid var(--wp--preset--color--primary); outline-offset: 3px; }
.pbs-kachel p:not(.pbs-kachel__symbol) {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
}
.pbs-kachel--dunkel { background: var(--wp--preset--color--primary); }
.pbs-kachel--dunkel .pbs-kachel__titel a { color: #fff; }
.pbs-kachel--dunkel p:not(.pbs-kachel__symbol) { color: var(--wp--preset--color--light); }

/* Zitat und Hinweis */
.pbs-persoenlich { padding-top: clamp(2rem, 5vw, 3rem); padding-bottom: clamp(2rem, 5vw, 3rem); }
.pbs-zitat p { margin: 0; }
.pbs-hinweis {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.6;
	color: var(--wp--preset--color--muted);
}

/* Notfallkasten (Muster pbs/notfall, gleicher Wortlaut wie unter Forenbeiträgen) */
.pbs-notfall {
	padding: .75rem 1rem;
	background: var(--wp--preset--color--light);
	border-left: 4px solid var(--wp--preset--color--primary);
	border-radius: 0 8px 8px 0;
	font-size: var(--wp--preset--font-size--small);
}
.pbs-notfall p { margin: .2rem 0; }

/* Fußzeile */
.pbs-fuss { padding-top: 1rem; padding-bottom: 1rem; }
.pbs-fuss p { margin: 0; }
.pbs-fuss a { color: inherit; text-decoration: none; }
.pbs-fuss a:hover { color: #fff; text-decoration: underline; }

/* 404 */
.pbs-404 { padding-top: clamp(2.5rem, 8vw, 5rem); padding-bottom: clamp(2.5rem, 8vw, 5rem); }

/* Mobil */
@media (max-width: 781px) {
	.pbs-kopf__menue { gap: .9rem; }
	.pbs-hero__text { font-size: var(--wp--preset--font-size--medium); }
	.pbs-hero__knoepfe { flex-direction: column; align-items: stretch; }
	.pbs-hero__knoepfe .wp-block-button { width: 100%; }
	.pbs-hero__knoepfe .wp-block-button__link { width: 100%; }
	.pbs-fuss .alignwide { flex-direction: column; align-items: flex-start; gap: .25rem; }
}

@media (prefers-reduced-motion: reduce) {
	.pbs-kachel { transition: none; }
	.pbs-kachel:hover, .pbs-kachel:focus-within { transform: none; }
}

/* Zwischen Handy und Desktop passt das Menü nicht in eine Zeile: Hamburger bis 1000 px */
@media (min-width: 600px) and (max-width: 999px) {
	.pbs-kopf .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.pbs-kopf .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.pbs-kopf .wp-block-navigation__responsive-container-close:not(.always-shown) { display: flex; }
}

/* Kontaktformular [pbs_kontakt] */
.pbs-kontakt input[type="text"],
.pbs-kontakt input[type="email"],
.pbs-kontakt textarea {
	box-sizing: border-box;
	width: 100%;
	max-width: 36rem;
	padding: .55rem .7rem;
	border: 1px solid var(--wp--preset--color--wave-2);
	border-radius: 8px;
	font: inherit;
}
.pbs-kontakt__danke,
.pbs-kontakt__fehler {
	padding: .8rem 1rem;
	border-radius: var(--pbs-radius);
	background: var(--wp--preset--color--light);
}
.pbs-kontakt__fehler { border-left: 4px solid var(--wp--preset--color--accent); }
.pbs-stand { color: var(--wp--preset--color--muted); font-size: .9em; }
