/**
 * CLAUDE: WPForms CSS-Override | Gold/Navy Branding | Überschreibt WPForms Lite Defaults
 *
 * @package Wolfarth_Immobilien
 */

/* CLAUDE: CSS-Variablen Override | WPForms nutzt eigene Custom Properties */
.wpforms-container {
	--wpforms-button-background-color: var(--wp--preset--color--secondary);
	--wpforms-button-border-color: var(--wp--preset--color--secondary);
	--wpforms-button-text-color: #ffffff;
	--wpforms-field-border-color: var(--wp--preset--color--neutral-200);
	--wpforms-field-border-radius: var(--wp--custom--border-radius--medium);
	--wpforms-label-color: var(--wp--preset--color--neutral-800);
	--wpforms-field-background-color: var(--wp--preset--color--white);
	--wpforms-button-border-radius: var(--wp--custom--border-radius--medium);
}

/* CLAUDE: Form Container | Konsistentes Padding + Schrift */
.wpforms-container .wpforms-form {
	font-family: var(--wp--preset--font-family--body);
}

/* CLAUDE: Labels | Brand-Fonts, Gewicht, Farbe */
.wpforms-container .wpforms-form .wpforms-field-label {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 500;
	color: var(--wp--preset--color--neutral-800);
}

/* CLAUDE: Sublabels ausblenden | "First"/"Last" englische Defaults */
.wpforms-container .wpforms-form .wpforms-field-sublabel {
	display: none;
}

/* CLAUDE: Inputs + Textareas | Design-System konforme Felder */
.wpforms-container .wpforms-form input[type="text"],
.wpforms-container .wpforms-form input[type="email"],
.wpforms-container .wpforms-form input[type="tel"],
.wpforms-container .wpforms-form input[type="number"],
.wpforms-container .wpforms-form input[type="url"],
.wpforms-container .wpforms-form textarea,
.wpforms-container .wpforms-form select {
	height: 48px;
	padding: 12px 16px;
	border: 1.5px solid var(--wp--preset--color--neutral-200);
	border-radius: var(--wp--custom--border-radius--medium);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--neutral-900);
	background: var(--wp--preset--color--white);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
}

.wpforms-container .wpforms-form textarea {
	height: auto;
	min-height: 140px;
	resize: vertical;
}

/* CLAUDE: Focus State | Gold-Rand + subtiler Schatten */
.wpforms-container .wpforms-form input:focus,
.wpforms-container .wpforms-form textarea:focus,
.wpforms-container .wpforms-form select:focus {
	outline: none;
	border-color: var(--wp--preset--color--secondary);
	box-shadow: 0 0 0 3px rgba(197, 165, 114, 0.15);
}

/* CLAUDE: Placeholder */
.wpforms-container .wpforms-form input::placeholder,
.wpforms-container .wpforms-form textarea::placeholder {
	color: var(--wp--preset--color--neutral-600);
	opacity: 0.7;
}

/* CLAUDE: Select-Dropdown | Custom Arrow */
.wpforms-container .wpforms-form select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%238F8071' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	padding-right: 44px;
}

/* CLAUDE: Error State | Rote Border für ungültige Felder */
.wpforms-container .wpforms-form .wpforms-has-error input,
.wpforms-container .wpforms-form .wpforms-has-error textarea,
.wpforms-container .wpforms-form .wpforms-has-error select {
	border-color: #c0392b;
}

.wpforms-container .wpforms-form .wpforms-has-error input:focus,
.wpforms-container .wpforms-form .wpforms-has-error textarea:focus {
	box-shadow: 0 0 0 3px rgba(192, 57, 43, 0.15);
}

/* CLAUDE: Error-Meldungen | Konsistentes Styling */
.wpforms-container .wpforms-form label.wpforms-error {
	color: #c0392b;
	font-size: var(--wp--preset--font-size--small);
	font-family: var(--wp--preset--font-family--body);
	margin-top: var(--wp--preset--spacing--20);
}

/* CLAUDE: Submit-Button | Gold-Hintergrund, Navy-Hover */
.wpforms-container .wpforms-form .wpforms-submit-container {
	margin-top: var(--wp--preset--spacing--50);
}

.wpforms-container .wpforms-form button[type="submit"].wpforms-submit {
	width: 100%;
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--70);
	background: var(--wp--preset--color--secondary);
	color: #ffffff;
	border: 2px solid var(--wp--preset--color--secondary);
	border-radius: var(--wp--custom--border-radius--medium);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.1s ease;
}

.wpforms-container .wpforms-form button[type="submit"].wpforms-submit:hover {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
}

.wpforms-container .wpforms-form button[type="submit"].wpforms-submit:focus-visible {
	outline: 2px solid var(--wp--preset--color--secondary);
	outline-offset: 2px;
}

.wpforms-container .wpforms-form button[type="submit"].wpforms-submit:active {
	transform: scale(0.98);
}

/* CLAUDE: DSGVO Checkbox | Brand-Konsistentes Styling */
.wpforms-container .wpforms-form .wpforms-field-checkbox input[type="checkbox"] {
	width: 18px;
	height: 18px;
	accent-color: var(--wp--preset--color--secondary);
}

.wpforms-container .wpforms-form .wpforms-field-checkbox .wpforms-field-label-inline {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--neutral-800);
	line-height: 1.5;
}

/* CLAUDE: Required Indicator | Gold statt Default-Rot */
.wpforms-container .wpforms-form .wpforms-required-label {
	color: #c0392b;
}

/* CLAUDE: Bestätigungsmeldung | Gold-Akzent statt grün */
.wpforms-container .wpforms-confirmation-container-full {
	border: 2px solid var(--wp--preset--color--secondary);
	border-radius: var(--wp--custom--border-radius--large);
	padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50);
	text-align: center;
	background: var(--wp--preset--color--warm-50);
}

.wpforms-container .wpforms-confirmation-container-full p {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--neutral-800);
	margin: 0;
}

/* CLAUDE: Spinner/Loading State */
.wpforms-container .wpforms-form .wpforms-submit-spinner {
	color: var(--wp--preset--color--secondary);
}

/* ===================================================================
   CLAUDE: Trust-Badges + Formular-Layout | Zentriertes Layout ohne Sidebar
   =================================================================== */

/* CLAUDE: Form Container | Max-width + zentriert nach Sidebar-Entfernung */
.wpforms-container {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}

/* CLAUDE: Trust-Badges | Flex-Row mit Gold-Akzent über dem Formular */
.wfi-mf-trust-badges {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--30);
	justify-content: center;
	margin-bottom: var(--wp--preset--spacing--50);
}

.wfi-mf-trust-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: var(--wp--preset--font-size--small);
	font-family: var(--wp--preset--font-family--body);
	color: var(--wp--preset--color--secondary);
	font-weight: 500;
}

.wfi-mf-trust-badge svg {
	flex-shrink: 0;
	stroke: var(--wp--preset--color--secondary);
}

/* CLAUDE: Responsive | Mobile-Optimierung */
@media (max-width: 782px) {
	.wpforms-container .wpforms-form input[type="text"],
	.wpforms-container .wpforms-form input[type="email"],
	.wpforms-container .wpforms-form input[type="tel"],
	.wpforms-container .wpforms-form input[type="number"],
	.wpforms-container .wpforms-form textarea,
	.wpforms-container .wpforms-form select {
		font-size: 16px; /* Verhindert iOS Zoom */
	}

	.wpforms-container .wpforms-form button[type="submit"].wpforms-submit {
		padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
	}

	/* CLAUDE: Trust-Badges | Kleinere Gaps + links-ausgerichtet auf Mobile */
	.wfi-mf-trust-badges {
		gap: var(--wp--preset--spacing--20);
		justify-content: flex-start;
	}

	/* CLAUDE: Form Container | Volle Breite auf Mobile */
	.wpforms-container {
		max-width: 100%;
	}
}
