/* =====================================================================
   WIENINGER · Form-Skin  —  wgn-forms.css
   Trimmt Elementor-Pro-Formulare (.elementor-form …) auf unser Design.
   Gilt zusätzlich für eine generische .wgn-form (Vorschau / eigene Formulare).
   Tokens aus wgn-ui.css. iOS-sicher (Felder >=16px).
   ===================================================================== */

/* Felder */
.elementor-form .elementor-field-group .elementor-field-textual,
.elementor-form .elementor-field-group .elementor-select-wrapper select,
.wgn-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.wgn-form textarea,
.wgn-form select {
	font-family: var(--wgn-sans); font-size: 1rem; line-height: 1.3; color: var(--wgn-ink);
	background: var(--wgn-paper); border: 1px solid var(--wgn-line); border-radius: .25rem;
	padding: .85rem 1.1rem; width: 100%;
	-webkit-appearance: none; appearance: none;
	transition: border-color .2s, box-shadow .2s;
}
.elementor-form .elementor-field-textual::placeholder,
.wgn-form ::placeholder { color: var(--wgn-ink-soft); }

.elementor-form .elementor-field-textual:focus,
.elementor-form .elementor-select-wrapper select:focus,
.wgn-form input:focus, .wgn-form textarea:focus, .wgn-form select:focus {
	outline: none; border-color: var(--wgn-red); box-shadow: 0 0 0 2px rgba(196,28,15,.15);
}

/* Labels */
.elementor-form .elementor-field-label,
.wgn-form label {
	font-family: var(--wgn-sans); font-size: .8rem; font-weight: 600; letter-spacing: .04em;
	color: var(--wgn-ink-soft); margin-bottom: .4rem; display: inline-block;
}

/* Checkbox/Consent-Zeile */
.elementor-field-subgroup .elementor-field-option label,
.wgn-form .wgn-form__consent { font-size: .85rem; color: var(--wgn-ink-soft); font-weight: 400; letter-spacing: 0; line-height: 1.5; }
.wgn-form__consent a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

/* Submit-Button = unser Primär-Button */
.elementor-form .elementor-button,
.wgn-form button[type="submit"], .wgn-form input[type="submit"] {
	font-family: var(--wgn-sans); font-weight: 600; font-size: .82rem; line-height: 1.1;
	letter-spacing: .1em; text-transform: uppercase; text-align: center;
	padding: .95em 1.9em; border: 1.5px solid var(--wgn-red); border-radius: .2rem;
	background: var(--wgn-red); color: #fff; cursor: pointer;
	transition: background .25s var(--wgn-ease), border-color .25s var(--wgn-ease);
}
.elementor-form .elementor-button:hover,
.wgn-form button[type="submit"]:hover, .wgn-form input[type="submit"]:hover {
	background: var(--wgn-red-hover); border-color: var(--wgn-red-hover); color: #fff;
}

/* Layout-Feinschliff der generischen .wgn-form */
.wgn-form { display: grid; gap: 1rem; }
.wgn-form__row { display: grid; gap: 1rem; }
@media (min-width: 600px) { .wgn-form__row--2 { grid-template-columns: 1fr 1fr; } }
.wgn-form__field { display: flex; flex-direction: column; }

/* ===========================================================
   EU-Widerrufsbutton (embed everywhere) – global im CI
   =========================================================== */
.eu-owb-order-withdraw-from-contract-button { margin: 1.5rem 0; text-align: center; }
.eu-owb-order-withdraw-from-contract-button .button {
	display: inline-flex; align-items: center; justify-content: center;
	font-family: var(--wgn-sans); font-weight: 600; font-size: .82rem;
	letter-spacing: .05em; text-transform: uppercase;
	background: var(--wgn-red); color: #fff !important; border: 1px solid var(--wgn-red);
	border-radius: .4rem; padding: .7rem 1.5rem; text-decoration: none;
	transition: background .2s var(--wgn-ease), border-color .2s var(--wgn-ease);
}
.eu-owb-order-withdraw-from-contract-button .button:hover {
	background: var(--wgn-red-hover); border-color: var(--wgn-red-hover); color: #fff !important;
}
