/* Herzenslichtquelle – Kontaktformular: ruhig, gut lesbar, nutzt die Theme-Farben */
.hlq-kontakt {
	--hlq-k-ink: var(--wp--preset--color--forest, #2E3A2C);
	--hlq-k-quiet: var(--wp--preset--color--moss, #5B6756);
	--hlq-k-line: rgba(46, 58, 44, 0.22);
	--hlq-k-accent: var(--wp--preset--color--sunset, #D9A066);
	--hlq-k-err: #9A3B2E;
	background: var(--wp--preset--color--white, #fff);
	border: 1px solid rgba(46, 58, 44, 0.08);
	border-radius: 14px;
	padding: clamp(1.25rem, 4vw, 2.25rem);
	margin-top: 1.5rem;
	box-shadow: 0 10px 30px rgba(46, 58, 44, 0.05);
}
.hlq-kontakt * { box-sizing: border-box; }
.hlq-k-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.25rem; }
@media (max-width: 640px) { .hlq-k-row { grid-template-columns: 1fr; } }
.hlq-k-field { margin: 0 0 1.1rem; display: flex; flex-direction: column; gap: 0.35rem; }
.hlq-k-field label { font-size: 0.92rem; color: var(--hlq-k-ink); font-weight: 400; }
.hlq-k-opt { color: var(--hlq-k-quiet); font-size: 0.85em; }
.hlq-kontakt input[type="text"],
.hlq-kontakt input[type="email"],
.hlq-kontakt input[type="tel"],
.hlq-kontakt textarea {
	width: 100%;
	font: inherit;
	font-size: 1rem;
	color: var(--hlq-k-ink);
	background: var(--wp--preset--color--mint, #F6FAF3);
	border: 1px solid var(--hlq-k-line);
	border-radius: 10px;
	padding: 0.75rem 0.9rem;
	transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}
.hlq-kontakt textarea { resize: vertical; min-height: 9rem; line-height: 1.6; }
.hlq-kontakt input:focus, .hlq-kontakt textarea:focus {
	outline: none;
	background: #fff;
	border-color: var(--hlq-k-ink);
	box-shadow: 0 0 0 3px rgba(217, 160, 102, 0.28);
}
.hlq-kontakt [aria-invalid="true"] { border-color: var(--hlq-k-err) !important; }
.hlq-k-hint { font-size: 0.84rem; color: var(--hlq-k-quiet); line-height: 1.5; }

/* Honeypot: für Menschen unsichtbar, nicht per display:none (manche Bots prüfen das) */
.hlq-k-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.hlq-k-consent { display: flex; gap: 0.7rem; align-items: flex-start; margin: 0.4rem 0 1.4rem; font-size: 0.9rem; line-height: 1.55; }
.hlq-k-consent input { margin-top: 0.25rem; width: 1.1rem; height: 1.1rem; accent-color: var(--hlq-k-ink); flex: none; }

.hlq-k-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.8rem 1.25rem; }
.hlq-kontakt button[disabled] { opacity: 0.6; cursor: progress; }
.hlq-k-shield { font-size: 0.82rem; color: var(--hlq-k-quiet); }
.hlq-k-shield.is-ready { color: var(--hlq-k-ink); }

.hlq-k-status { margin: 1rem 0 0; font-size: 0.95rem; min-height: 1.2em; }
.hlq-k-status:empty { margin: 0; min-height: 0; }
.hlq-k-status.is-error { color: var(--hlq-k-err); }
.hlq-k-status.is-success {
	color: var(--hlq-k-ink);
}
.hlq-kontakt.is-sent .hlq-k-status {
	background: var(--wp--preset--color--sand, #F4EDE3);
	border-left: 2px solid var(--hlq-k-accent);
	border-radius: 0 10px 10px 0;
	padding: 0.9rem 1.1rem;
	font-family: var(--wp--preset--font-family--enriqueta, serif);
}
