/*
 * protectQ – Komponenten-Styles
 * Farben, Schrift und Grundabstände kommen aus theme.json.
 * Diese Datei wird im Frontend und im Editor geladen.
 */

:root {
	--pq-green: var(--wp--preset--color--green, #B5CE3C);
	--pq-green-ink: var(--wp--preset--color--green-ink, #5C7314);
	--pq-on-green: #23290C;
	--pq-text: var(--wp--preset--color--contrast, #2E2E2E);
	--pq-muted: var(--wp--preset--color--muted, #5F5F5F);
	--pq-grey: var(--wp--preset--color--grey, #666666);
	--pq-tint: var(--wp--preset--color--tint, #F4F7EA);
	--pq-line: var(--wp--preset--color--line, #E2E7D4);
	--pq-dark: var(--wp--preset--color--dark, #3A3D36);
	--pq-base: var(--wp--preset--color--base, #FFFFFF);
	--pq-radius-sm: 10px;
	--pq-radius: 16px;
	--pq-radius-lg: 28px;
	--pq-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12.5l5 5L20 6' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--pq-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}
body { -webkit-font-smoothing: antialiased; }
[id] { scroll-margin-top: 90px; }
a { text-underline-offset: 3px; text-decoration-thickness: 2px; }
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--pq-green);
	outline-offset: 3px;
	border-radius: 6px;
}
img { max-width: 100%; height: auto; }

.pq-visually-hidden {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(0 0 0 0); white-space: nowrap;
}

/* ---------- Buttons ---------- */
.wp-element-button, .wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--pq-text);
	border: 2px solid var(--pq-line);
	padding: 12px 22px;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	border-color: var(--pq-grey);
	background: transparent;
	color: var(--pq-text);
}

/* ---------- Header ---------- */
.pq-header {
	position: sticky;
	top: 0;
	z-index: 50;
	/* Kein backdrop-filter: würde das mobile Overlay-Menü auf die Kopfzeile begrenzen */
	background: var(--pq-base);
	border-bottom: 1px solid var(--pq-line);
}
.admin-bar .pq-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .pq-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .pq-header { top: 0; } }
.pq-header__bar { min-height: 76px; gap: 16px; }
.pq-brand { gap: 10px; }
.pq-brand .wp-block-site-logo { margin: 0; line-height: 0; }
.pq-brand .wp-block-site-logo img { height: 34px !important; width: auto !important; display: block; }
.pq-brand .wp-block-site-title { font-size: 1.45rem; font-weight: 700; margin: 0; letter-spacing: -0.01em; }
.pq-brand .wp-block-site-title a { color: var(--pq-text); text-decoration: none; }
.pq-header__nav { gap: 6px; flex: 1 1 auto; }
.pq-header__nav .wp-block-navigation { flex: 0 1 auto; }
.pq-header .wp-block-navigation .wp-block-navigation-item__content {
	padding: 10px 14px;
	border-radius: 999px;
	text-decoration: none;
	color: var(--pq-text);
}
.pq-header .wp-block-navigation .wp-block-navigation-item__content:hover { background: var(--pq-tint); }
.pq-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content { background: var(--pq-tint); color: var(--pq-green-ink); }
.pq-header .pq-header__cta .wp-block-button__link { padding: 10px 18px; min-height: 44px; }
.pq-header .pq-nav-kontakt { display: none; }
@media (max-width: 600px) {
	.pq-header .pq-header__cta { display: none; }
	.pq-header .pq-nav-kontakt { display: block; }
}
/* Mobiles Overlay-Menü */
.pq-header .wp-block-navigation__responsive-container.is-menu-open {
	padding: 24px;
	background: var(--pq-base);
}
.pq-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 56px;
	align-items: stretch;
}
.pq-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: stretch; gap: 4px; width: 100%; }
.pq-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.15rem; padding: 14px 16px; }
.pq-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
	width: 48px; height: 48px; border: 2px solid var(--pq-line); border-radius: 12px;
	justify-content: center; align-items: center;
}

/* ---------- Sections ---------- */
.pq-section { padding-top: clamp(3.5rem, 8vw, 5.5rem); padding-bottom: clamp(3.5rem, 8vw, 5.5rem); margin-top: 0 !important; margin-bottom: 0 !important; }
.pq-section > * + * { margin-block-start: 1.25rem; }
main > .wp-block-post-content > .alignfull:first-child,
.wp-block-post-content > .pq-section { margin-top: 0; }
.wp-block-post-content.is-layout-constrained > .pq-section { margin-block-start: 0; }
.pq-lead { font-size: 1.2rem; color: var(--pq-muted); max-width: 44rem; }
.wp-block-column p { max-width: 66ch; }
/* Absätze direkt in Sektionen: lesbare Breite, aber linksbündig am Inhaltsraster */
.is-layout-constrained.pq-section > p,
.is-layout-constrained.pq-page-head > p {
	max-width: 66ch;
	margin-left: max(0px, calc((100% - 1140px) / 2)) !important;
}
.is-layout-constrained.pq-page-head > .pq-lead { max-width: 44rem; }
.pq-page-head { padding-top: clamp(2.5rem, 6vw, 4rem); padding-bottom: clamp(2.5rem, 6vw, 3.5rem); }
.pq-page-head h1 { margin-bottom: 0.5em; }

/* Kein automatischer Abstand zwischen Kopfbereich, Inhalt und Fußbereich */
.wp-site-blocks > * {
	margin-block-start: 0;
	margin-block-end: 0;
}


/* ---------- Hero ---------- */
.pq-hero { padding-top: clamp(2.75rem, 6vw, 4.5rem); padding-bottom: clamp(3.5rem, 7vw, 5.5rem); overflow: hidden; }
.pq-hero .wp-block-columns { align-items: center; gap: 40px; }
.pq-hero h1 { max-width: 17ch; margin-top: 0; }
.pq-hero .pq-lead { max-width: 34rem; }
.pq-hero .wp-block-image { margin: 0; }
.pq-hero .wp-block-image img { width: 100%; }
.pq-hero .wp-block-buttons { margin-top: 28px; gap: 12px; }
@media (max-width: 600px) {
	.pq-hero .wp-block-buttons, .pq-hero .wp-block-button { width: 100%; }
	.pq-hero .wp-block-button__link { width: 100%; }
}

/* ---------- Häkchen-Liste (Blockstil) ---------- */
ul.is-style-pq-checks { list-style: none; padding-left: 0 !important; display: grid; gap: 14px; margin-top: 0; }
ul.is-style-pq-checks > li { position: relative; padding-left: 38px; margin: 0; }
ul.is-style-pq-checks > li::before {
	content: ""; position: absolute; left: 0; top: 3px; width: 22px; height: 22px;
	background: var(--pq-green-ink);
	-webkit-mask: var(--pq-check) center / contain no-repeat; mask: var(--pq-check) center / contain no-repeat;
}
.has-dark-background-color ul.is-style-pq-checks > li::before { background: var(--pq-green); }

/* ---------- Zweispaltige Blöcke ---------- */
.pq-cols.wp-block-columns { gap: clamp(24px, 5vw, 64px); }
.pq-cols--offer > .wp-block-column:first-child h2 { margin-top: 0; }

/* ---------- Gesetzeshinweis ---------- */
.pq-legal { border-left: 5px solid var(--pq-green); padding: 6px 0 6px 20px; margin: 28px 0 !important; font-weight: 600; }
.pq-legal-source { color: var(--pq-muted); font-size: 0.9rem; margin-top: -24px !important; padding-left: 25px; }

/* ---------- Prozess (Die Lösung) ---------- */
.pq-process {
	display: grid !important;
	grid-template-columns: repeat(5, 1fr);
	gap: 20px;
	position: relative;
	margin-top: 48px !important;
}
.pq-process::before {
	content: ""; position: absolute; top: 21px; left: 10%; right: 10%; height: 3px;
	background: var(--pq-line); z-index: 0;
}
.pq-process > * { margin: 0 !important; position: relative; z-index: 1; }
.pq-step > * { margin-top: 0; }
.pq-step::before {
	content: ""; display: block; width: 45px; height: 45px; border-radius: 50%;
	border: 3px solid var(--pq-green); box-sizing: border-box; margin-bottom: 16px;
	background: var(--pq-dot-bg);
}
/* Kreis (::before) mit Häkchen (::after) */
.pq-step { --pq-dot-bg: var(--pq-base); }
.has-tint-background-color .pq-step { --pq-dot-bg: var(--pq-tint); }
.pq-step::after {
	content: ""; position: absolute; left: 12.5px; top: 12.5px; width: 20px; height: 20px;
	background: var(--pq-green-ink);
	-webkit-mask: var(--pq-check) center / contain no-repeat; mask: var(--pq-check) center / contain no-repeat;
}
.pq-step h3 { font-size: 1.1rem; margin-bottom: 0.35em; }
.pq-step p { font-size: 0.97rem; color: var(--pq-muted); margin: 0 0 0.6em; }
.pq-step p.pq-tag, p.pq-tag {
	display: inline-block; font-size: 0.8rem; font-weight: 700; padding: 3px 10px; border-radius: 999px;
	background: color-mix(in srgb, var(--pq-green) 22%, transparent); color: var(--pq-green-ink); margin: 0;
}
.pq-step p.pq-tag.is-qual, p.pq-tag.is-qual { background: var(--pq-line); color: var(--pq-text); }
@media (max-width: 980px) {
	.pq-process { grid-template-columns: 1fr; gap: 0; }
	.pq-process::before { top: 10px; bottom: 10px; left: 21px; right: auto; width: 3px; height: auto; }
	.pq-step { padding-left: 63px; padding-bottom: 28px; min-height: 45px; }
	.pq-step::before { position: absolute; left: 0; top: 0; margin: 0; }
}

/* ---------- Video-Platzhalter ---------- */
.pq-media.wp-block-columns { gap: 28px; align-items: stretch !important; }
.pq-video-placeholder {
	aspect-ratio: 16 / 9; border-radius: var(--pq-radius-lg); display: grid; place-content: center;
	text-align: center; color: #F4F7EA; padding: 24px; height: 100%;
}
.pq-video-placeholder::before {
	content: ""; width: 84px; height: 84px; border-radius: 50%; margin: 0 auto 14px;
	background: var(--pq-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='%2323290C'/%3E%3C/svg%3E") 55% 50% / 30px no-repeat;
}
.pq-video-placeholder p { margin: 0; color: #F4F7EA; }
.pq-media .wp-block-video video, .pq-media .wp-block-embed iframe { border-radius: var(--pq-radius-lg); }

/* ---------- Software/Beratung-Teaser ---------- */
.pq-split.wp-block-columns { gap: 0 !important; border-radius: var(--pq-radius-lg); overflow: hidden; border: 1px solid var(--pq-line); }
.pq-split > .wp-block-column { padding: 44px 40px; display: flex; flex-direction: column; background: var(--pq-base); }
.pq-split > .wp-block-column:first-child { background: var(--pq-tint); }
.has-tint-background-color .pq-split > .wp-block-column:first-child { background: var(--pq-tint); }
.pq-split > .wp-block-column > * { margin-top: 0; }
.pq-split p { color: var(--pq-muted); }
.pq-split .wp-block-buttons { margin-top: auto !important; padding-top: 12px; }
@media (max-width: 781px) { .pq-split > .wp-block-column { padding: 32px 24px; } }

/* ---------- Situation → Lösung ---------- */
.pq-need-head {
	display: grid !important; grid-template-columns: 1fr 56px 1fr; color: var(--pq-muted);
	font-weight: 700; font-size: 0.95rem; margin-top: 40px !important; padding: 0 4px;
}
.pq-need-head > * { margin: 0 !important; }
.pq-need-head > :last-child { grid-column: 3; padding-left: 28px; }
.pq-needs { display: grid !important; gap: 18px; margin-top: 16px !important; }
.pq-needs > * { margin: 0 !important; }
.pq-need { display: grid !important; grid-template-columns: 1fr 56px 1fr; align-items: stretch; }
.pq-need > * { margin: 0 !important; }
.pq-need > h3 {
	grid-column: 1; grid-row: 1; padding: 26px 28px; background: var(--pq-tint);
	border-radius: var(--pq-radius); font-size: 1.22rem; line-height: 1.35; display: flex; align-items: center;
}
.pq-need::after {
	content: ""; grid-column: 2; grid-row: 1; align-self: center; justify-self: center; width: 26px; height: 26px;
	background: var(--pq-green-ink);
	-webkit-mask: var(--pq-arrow) center / contain no-repeat; mask: var(--pq-arrow) center / contain no-repeat;
}
.pq-need > p {
	grid-column: 3; grid-row: 1; padding: 22px 28px 22px 68px; border-radius: var(--pq-radius);
	border: 2px solid var(--pq-green); background: var(--pq-base); font-size: 1.05rem;
	display: flex; align-items: center; position: relative; max-width: none;
}
.pq-need > p::before {
	content: ""; position: absolute; left: 26px; top: 50%; transform: translateY(-50%);
	width: 28px; height: 28px; border-radius: 50%;
	background: var(--pq-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12.5l5 5L20 6' fill='none' stroke='%2323290C' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat;
}
@media (max-width: 760px) {
	.pq-need-head { display: none !important; }
	.pq-needs { gap: 28px; }
	.pq-need { grid-template-columns: 1fr; }
	.pq-need::after { display: none; }
	.pq-need > h3 { grid-column: 1; grid-row: 1; padding: 20px 22px; border-radius: var(--pq-radius) var(--pq-radius) 0 0; }
	.pq-need > p { grid-column: 1; grid-row: 2; border-radius: 0 0 var(--pq-radius) var(--pq-radius); padding: 18px 22px 18px 62px; }
	.pq-need > p::before { left: 20px; }
}

/* ---------- Funktionen mit Icons ---------- */
.pq-features.wp-block-columns { gap: clamp(32px, 5vw, 56px); margin-top: 40px !important; }
.pq-features h3 { display: flex; align-items: center; gap: 12px; }
.pq-features h3::before {
	content: ""; flex: none; width: 42px; height: 42px; border-radius: 12px;
	background: color-mix(in srgb, var(--pq-green) 25%, transparent) var(--pq-icon, none) center / 22px no-repeat;
}
.pq-ico-fragebogen { --pq-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h14v16H5zM9 9h6M9 13h6M9 17h3' fill='none' stroke='%235C7314' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.pq-ico-teilnehmen { --pq-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 3h8a1 1 0 011 1v16a1 1 0 01-1 1H8a1 1 0 01-1-1V4a1 1 0 011-1zM11 18h2' fill='none' stroke='%235C7314' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.pq-ico-analyse { --pq-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='6' fill='none' stroke='%235C7314' stroke-width='2'/%3E%3Cpath d='M16 16l4 4' stroke='%235C7314' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.pq-ico-gemeinsam { --pq-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='8' cy='9' r='3' fill='none' stroke='%235C7314' stroke-width='2'/%3E%3Ccircle cx='16' cy='9' r='3' fill='none' stroke='%235C7314' stroke-width='2'/%3E%3Cpath d='M3 19c.8-3 2.6-4.5 5-4.5s4.2 1.5 5 4.5M11 19c.8-3 2.6-4.5 5-4.5s4.2 1.5 5 4.5' fill='none' stroke='%235C7314' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }

/* ---------- Anonymitäts-Hinweis ---------- */
.pq-badge {
	border-radius: var(--pq-radius-lg); padding: 28px 32px 28px 108px !important; position: relative;
	margin-top: 48px !important; color: #F4F7EA;
}
.pq-badge::before {
	content: ""; position: absolute; left: 32px; top: 50%; transform: translateY(-50%);
	width: 58px; height: 58px; border-radius: 50%;
	background: var(--pq-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z' fill='none' stroke='%2323290C' stroke-width='2.2' stroke-linejoin='round'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5' fill='none' stroke='%2323290C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 28px no-repeat;
}
.pq-badge > * { margin: 0 !important; }
.pq-badge h3 { color: #F4F7EA; font-size: 1.2rem; }
.pq-badge p { color: color-mix(in srgb, #F4F7EA 80%, transparent); }
@media (max-width: 600px) {
	.pq-badge { padding: 96px 22px 24px !important; }
	.pq-badge::before { top: 24px; left: 22px; transform: none; }
}

/* ---------- Beratung: Schritte ---------- */
.pq-steps.wp-block-columns { gap: 24px; margin-top: 40px !important; }
.pq-steps > .wp-block-column { background: var(--pq-base); border: 1px solid var(--pq-line); border-radius: var(--pq-radius); padding: 28px; }
.pq-steps > .wp-block-column > * { margin-top: 0; }

.pq-pending { border: 2px dashed var(--pq-line); border-radius: var(--pq-radius); padding: 28px; color: var(--pq-muted); text-align: center; }

/* ---------- Block: Team ---------- */
.pq-team__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; }
.pq-team__head h2, .pq-team__head h3 { margin: 0; }
.pq-team__photo { border-radius: 50%; object-fit: cover; background: var(--pq-tint); border: 3px solid var(--pq-green); display: block; aspect-ratio: 1; }
.pq-team--kompakt .pq-team__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 36px; padding: 0; list-style: none; }
.pq-team--kompakt .pq-team__item { display: grid; grid-template-columns: 72px 1fr; gap: 16px; align-items: center; margin: 0; }
.pq-team--kompakt .pq-team__photo { width: 72px; height: 72px; }
.pq-team--kompakt .pq-team__name { margin: 0 0 0.1em; font-size: 1.15rem; }
.pq-team--kompakt .pq-team__role { margin: 0; color: var(--pq-muted); font-size: 0.95rem; line-height: 1.45; }
.pq-team--ausfuehrlich .pq-team__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 40px; padding: 0; list-style: none; }
.pq-team--ausfuehrlich .pq-team__item { margin: 0; }
.pq-team--ausfuehrlich .pq-team__photo { width: 180px; height: 180px; border-width: 4px; margin-bottom: 22px; }
.pq-team--ausfuehrlich .pq-team__name { margin: 0 0 0.15em; }
.pq-team--ausfuehrlich .pq-team__role { color: var(--pq-green-ink); font-weight: 700; margin: 0 0 0.7em; }
.pq-team--ausfuehrlich .pq-team__bio { color: var(--pq-muted); font-size: 0.98rem; }
.pq-team--ausfuehrlich .pq-team__bio > * { margin-top: 0; }
@media (max-width: 900px) {
	.pq-team--kompakt .pq-team__grid { grid-template-columns: 1fr; gap: 18px; }
	.pq-team--ausfuehrlich .pq-team__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
	.pq-team--ausfuehrlich .pq-team__grid { grid-template-columns: 1fr; gap: 40px; }
	.pq-team--ausfuehrlich .pq-team__photo { width: 150px; height: 150px; }
}
.pq-flag { display: inline-block; font-size: 0.78rem; font-weight: 700; color: var(--pq-muted); border: 1.5px dashed var(--pq-grey); border-radius: 6px; padding: 1px 8px; }

/* ---------- Block: Testimonial ---------- */
.pq-testimonial {
	margin: 0; padding: 32px; border-radius: var(--pq-radius-lg); background: var(--pq-tint);
	display: flex; flex-direction: column; justify-content: space-between; gap: 24px; height: 100%; box-sizing: border-box;
}
.has-tint-background-color .pq-testimonial { background: var(--pq-base); }
.pq-testimonial__quote { font-size: 1.2rem; font-weight: 600; line-height: 1.5; margin: 0; }
.pq-testimonial__quote::before { content: "„"; }
.pq-testimonial__quote::after { content: "“"; }
.pq-testimonial__source { color: var(--pq-muted); font-size: 0.95rem; margin: 0; font-style: normal; }
.pq-testimonial__name { display: block; color: var(--pq-text); font-weight: 700; }

/* ---------- Block: Kontakt ---------- */
.pq-contact { background: var(--pq-dark); color: #F4F7EA; padding: clamp(4rem, 9vw, 6rem) 24px; margin: 0 !important; }
.pq-contact__grid { max-width: 1140px; margin: 0 auto; display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 72px; align-items: center; }
.pq-contact__eyebrow { color: var(--pq-green); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; font-size: 0.9rem; margin: 0 0 12px; }
.pq-contact__heading { font-size: clamp(2rem, 4.4vw, 3.2rem); color: #F4F7EA !important; margin: 0 0 0.5em; }
.pq-contact__intro { color: color-mix(in srgb, #F4F7EA 80%, transparent); font-size: 1.12rem; margin: 0; }
.pq-contact__card { background: #FFFFFF; color: #2E2E2E; border-radius: var(--pq-radius-lg); padding: 44px; display: grid; gap: 20px; }
.pq-contact__card-title { font-size: 1.6rem; margin: 0; color: #2E2E2E; }
.pq-contact__card-intro { color: #5F5F5F; margin: -12px 0 4px; }
.pq-contact__row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.pq-contact label { display: block; font-weight: 700; margin-bottom: 6px; font-size: 0.95rem; color: #2E2E2E; }
.pq-contact .pq-req { color: #5C7314; }
.pq-contact input:not([type="checkbox"]), .pq-contact select, .pq-contact textarea {
	width: 100%; box-sizing: border-box; font: inherit; font-weight: 500; color: #2E2E2E; background: #FFFFFF;
	border: 1.5px solid #D9DDD0; border-radius: 10px; padding: 12px 14px; min-height: 52px;
}
.pq-contact input::placeholder, .pq-contact textarea::placeholder { color: #7A7A7A; }
.pq-contact input:focus, .pq-contact select:focus, .pq-contact textarea:focus { outline: none; border-color: #8FA829; box-shadow: 0 0 0 3px rgba(181, 206, 60, 0.35); }
.pq-contact select {
	appearance: none; padding-right: 44px;
	background: #FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%232E2E2E' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 16px center no-repeat;
}
.pq-contact textarea { min-height: 140px; resize: vertical; }
.pq-contact .pq-contact__consent { display: grid; grid-template-columns: 24px 1fr; gap: 10px; font-size: 0.93rem; color: #5F5F5F; font-weight: 500; margin: 0; }
.pq-contact .pq-contact__consent input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: #8FA829; }
.pq-contact .pq-contact__consent a { color: #2E2E2E; }
.pq-contact__submit.wp-element-button { width: 100%; border: 0; border-radius: 12px; font-size: 1.08rem; min-height: 56px; cursor: pointer; font-family: inherit; }
.pq-contact__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pq-contact__msg { padding: 14px 16px; border-radius: 12px; font-weight: 600; margin: 0; }
.pq-contact__msg.is-ok { background: #EEF4D6; color: #2E2E2E; }
.pq-contact__msg.is-error { background: #FBE7E6; color: #7A1F1B; }
.pq-contact__notice { font-size: 0.85rem; color: #5F5F5F; margin: 0; }
@media (max-width: 900px) { .pq-contact__grid { grid-template-columns: 1fr; gap: 36px; } }
@media (max-width: 600px) { .pq-contact__card { padding: 28px 20px; } .pq-contact__row { grid-template-columns: 1fr; } }

/* ---------- Footer ---------- */
.pq-footer { color: #F4F7EA; padding-top: 8px; padding-bottom: 32px; margin-top: 0 !important; }
.pq-footer a { color: #F4F7EA; text-decoration: none; }
.pq-footer a:hover { text-decoration: underline; }
.pq-footer__cols { border-top: 1px solid color-mix(in srgb, #F4F7EA 18%, transparent); padding-top: 48px; gap: 40px; }
.pq-footer p { color: color-mix(in srgb, #F4F7EA 72%, transparent); font-size: 0.95rem; }
.pq-footer h2 { font-size: 1rem; color: #F4F7EA; margin: 0 0 0.8em; }
.pq-footer ul { list-style: none; padding: 0 !important; margin: 0; display: grid; gap: 8px; }
.pq-footer .pq-brand .wp-block-site-logo { background: #F4F7EA; border-radius: 10px; padding: 3px 5px; }
.pq-footer .pq-brand .wp-block-site-title a { color: #F4F7EA; }
.pq-footer__bottom { border-top: 1px solid color-mix(in srgb, #F4F7EA 18%, transparent); margin-top: 40px !important; padding-top: 24px; }
.pq-footer__bottom p { font-size: 0.88rem; color: color-mix(in srgb, #F4F7EA 60%, transparent); margin: 0; }

/* Mobiles Menü: Einträge linksbündig und volle Breite */
.pq-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.pq-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: stretch !important;
}
.pq-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; }
