/* ==========================================================================
   Bürger W. — Components: Buttons, Formulare, Karten
   ========================================================================== */

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	padding: 0.9rem 1.6rem;
	min-height: 44px;
	border-radius: var(--radius);
	font-weight: 600;
	font-size: 0.98rem;
	border: 1.5px solid transparent;
	cursor: pointer;
	transition: transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), background var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out);
	white-space: nowrap;
}

.btn:active { transform: scale(0.98); }

.btn-primary {
	background: var(--primary);
	color: #fff;
	box-shadow: var(--shadow-sm);
}
.btn-primary:hover { box-shadow: var(--shadow-md); background: oklch(30% 0.07 250); color: #fff; }

.btn-accent {
	background: var(--accent);
	color: var(--ink);
}
.btn-accent:hover { box-shadow: var(--shadow-md); filter: brightness(1.05); }

.btn-outline {
	background: transparent;
	border-color: oklch(100% 0 0 / 0.4);
	color: inherit;
}
.btn-outline:hover { background: oklch(100% 0 0 / 0.08); }

.btn-ghost {
	background: transparent;
	color: var(--ink);
	border-color: var(--border);
}
.btn-ghost:hover { border-color: var(--primary); color: var(--primary); }

/* ---------- Kontaktformular (Contact Form 7) ---------- */
.wpcf7-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.1rem 1.25rem;
}
.wpcf7-form p { margin: 0; grid-column: span 2; max-width: none; }
.wpcf7-form p.form-half { grid-column: span 1; }

.wpcf7-form label {
	display: block;
	font-weight: 600;
	font-size: 0.9rem;
	margin-bottom: 0.4rem;
	color: var(--ink);
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
	width: 100%;
	padding: 0.85rem 1rem;
	border: 1.5px solid var(--border);
	border-radius: var(--radius);
	font-family: var(--font-body);
	font-size: 1rem;
	background: var(--surface);
	color: var(--ink);
	transition: border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}

.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
	outline: none;
	border-color: var(--primary);
	box-shadow: 0 0 0 3px oklch(35% 0.08 250 / 0.15);
}

.wpcf7-form textarea { min-height: 140px; resize: vertical; }

.wpcf7-form input[type="submit"] {
	justify-self: start;
	background: var(--primary);
	color: #fff;
	border: none;
	padding: 0.9rem 1.8rem;
	min-height: 44px;
	border-radius: var(--radius);
	font-weight: 600;
	font-size: 1rem;
	cursor: pointer;
	transition: box-shadow var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}
.wpcf7-form input[type="submit"]:hover { box-shadow: var(--shadow-md); }
.wpcf7-form input[type="submit"]:active { transform: scale(0.98); }

.wpcf7-spinner { margin-left: 0.75rem; }
.wpcf7-response-output {
	grid-column: span 2;
	border-radius: var(--radius);
	padding: 0.9rem 1.1rem;
	font-size: 0.92rem;
}

@media (max-width: 600px) {
	.wpcf7-form { grid-template-columns: 1fr; }
	.wpcf7-form p,
	.wpcf7-form p.form-half { grid-column: span 1; }
	.wpcf7-response-output { grid-column: span 1; }
}

/* ---------- Karte (Kontaktseite) ---------- */
.map-frame {
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow-md);
	border: 0;
	width: 100%;
	height: 360px;
}

/* ---------- Bewertungs-Hinweis ---------- */
.trust-note {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.9rem;
	color: var(--ink-soft);
	background: var(--surface);
	border: 1px solid var(--border);
	padding: 0.55rem 0.9rem;
	border-radius: var(--radius);
}
.trust-note .icon { color: var(--accent); width: 18px; height: 18px; }
