/**
 * Frontend-Styles für WPBS Formulare.
 *
 * Ergänzt Bootstrap 5. Die wichtigsten Regeln greifen auch ohne Bootstrap,
 * das eigentliche Layout ist jedoch auf Bootstrap 5 abgestimmt.
 */

.wpbs-formular {
	margin-bottom: 2rem;
}

.wpbs-formular-title {
	margin-bottom: 1.5rem;
}

/* Honeypot: visuell und für Screenreader ausgeblendet, aber im DOM vorhanden. */
.wpbs-hp {
	position: absolute !important;
	left: -9999px !important;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Fehlermeldung je Feld – auch ohne Bootstrap sichtbar machen. */
.wpbs-error.d-block {
	display: block;
}

.wpbs-error {
	color: #b32d2e;
	font-size: 0.875em;
	margin-top: 0.25rem;
}


.wpbs-form-alert ul {
	display: none;
}

/* Sichtbarer Fokus (WCAG 2.4.7). */
.wpbs-formular :focus-visible {
	outline: 3px solid #2563eb;
	outline-offset: 2px;
}

/* Fehler-/Erfolgsbereiche erhalten beim Fokussieren keinen störenden Umriss,
   bleiben aber per Tastatur ansteuerbar. */
.wpbs-form-alert:focus,
.wpbs-form-success:focus {
	outline: none;
}

.wpbs-legend {
	font-size: 1rem;
	font-weight: 600;
	margin-bottom: 0.5rem;
	padding: 0;
}

/* Fallback für „visually-hidden", falls Bootstrap nicht geladen ist. */
.wpbs-formular .visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Fallback für d-none, falls Bootstrap nicht geladen ist. */
.wpbs-formular .d-none {
	display: none !important;
}

/* Zusammenfassung der Staffelpreise über dem Absenden-Button. */
.wpbs-price-summary {
	border: 1px solid #dee2e6;
	border-radius: 0.375rem;
	padding: 1rem 1.25rem;
}

.wpbs-price-summary-title {
	margin-top: 0;
	margin-bottom: 0.75rem;
}

.wpbs-price-table {
	width: 100%;
	margin-bottom: 0.5rem;
	border-collapse: collapse;
}

.wpbs-price-table th,
.wpbs-price-table td {
	padding: 0.4rem 0.5rem;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid #dee2e6;
}

.wpbs-price-table .text-end {
	text-align: right;
}

.wpbs-price-table tfoot th,
.wpbs-price-table tfoot td {
	border-bottom: 0;
	border-top: 2px solid #adb5bd;
	font-weight: 700;
}

.wpbs-price-note {
	margin-bottom: 0;
	font-size: 0.875em;
}
