/*
Theme Name: BeBuFina
Description: Individuelles Block-Theme für die BeBuFina GmbH (Treuhand, Rotkreuz) — vollständig über den Website-Editor bearbeitbar, ohne Page-Builder-Plugin.
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 8.1
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bebufina
Tags: full-site-editing, block-patterns, block-styles, wide-blocks, accessibility-ready
*/

/* WordPress inserts margin-block-start: var(--wp--style--block-gap) between the
   template's top-level sections (header part, main, footer part) — a gap that
   exists even when no markup asks for it. Zero it so sections butt edge-to-edge
   and own their vertical rhythm via padding; this does not affect block gaps
   inside nested layouts. */
.wp-site-blocks > * + * {
	margin-block-start: 0;
}

/* Same reasoning, one level down: on the front page, each section (Hero,
   Dienstleistungen, Team, Mitgliedschaften, Kontakt) is its own top-level
   block inside the page content. Without this, WordPress inserts the same
   block-gap margin between them, which shows as a grey seam wherever two
   white-background sections sit next to each other. Sections already carry
   their own vertical padding, so this gap is pure surplus. */
.entry-content > * + * {
	margin-block-start: 0;
}

/* Contact Form 7 renders its own markup (not editable Core blocks), so its
   look is styled here instead — using the theme's own colour tokens, not
   hardcoded hex, so it stays in sync with the palette in the Editor. */
.wpcf7-form p {
	margin: 0 0 var(--wp--preset--spacing--20) 0;
}
.wpcf7-form label {
	display: block;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--text-muted);
	margin-bottom: 6px;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
	display: block;
	width: 100%;
	box-sizing: border-box;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 4px;
	background: var(--wp--preset--color--surface-alt);
	padding: 12px 14px;
	font-family: var(--wp--preset--font-family--system-sans);
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--text);
}
.wpcf7-form textarea {
	resize: vertical;
	min-height: 120px;
}
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--accent);
}
.wpcf7-form input[type="submit"] {
	margin-top: 4px;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--white);
	border: none;
	border-radius: 4px;
	padding: 13px 22px;
	font-family: var(--wp--preset--font-family--system-sans);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
}
.wpcf7-form input[type="submit"]:hover {
	background: var(--wp--preset--color--heading);
}
.wpcf7-form input[type="submit"]:disabled {
	opacity: 0.6;
	cursor: default;
}
/* Validation/spam-check feedback should read as an error, not blend into
   the muted body copy. */
.wpcf7-not-valid-tip {
	color: #b3261e;
	font-size: var(--wp--preset--font-size--small);
	margin-top: 4px;
}
.wpcf7-not-valid {
	border-color: #b3261e !important;
}
