/*
 * Visual tokens matched to the scheppach.bg theme (Elementor + WooCommerce):
 * primary brand color #035388, sharp corners (no border-radius on controls),
 * Lato as the body/button font, thin #d8d8d8 input borders.
 */
:root {
	--wce-primary: #035388;
	--wce-primary-hover: #023f68;
	--wce-text: #1d2327;
	--wce-border: #d8d8d8;
	--wce-font: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif;
}

.wce-form-wrapper {
	max-width: 640px;
	margin: 0 auto;
	font-size: 16px;
	font-family: var( --wce-font );
	color: var( --wce-text );
}

.wce-form-title {
	margin-top: 0;
	font-weight: 500;
}

.wce-info-box {
	background: #eef6fb;
	border: 1px solid #cfe3ef;
	padding: 12px 14px;
	margin-bottom: 16px;
	font-size: 14px;
	color: #1d3c4f;
}

.wce-info-box p {
	margin: 0 0 8px;
}

.wce-info-box p:last-child {
	margin-bottom: 0;
}

.wce-notice {
	padding: 12px 16px;
	margin-bottom: 16px;
	font-size: 14px;
}

.wce-notice.wce-success {
	background: #eafaf0;
	color: #14602a;
	border: 1px solid #b6e6c6;
}

.wce-notice.wce-error {
	background: #fdecea;
	color: #8a1f14;
	border: 1px solid #f5c2bb;
}

.wce-code-display {
	margin-top: 10px;
	padding: 10px 14px;
	background: #fff;
	border: 1px solid #b6e6c6;
	font-size: 15px;
}

.wce-code-display strong {
	color: var( --wce-primary, #035388 );
	font-size: 18px;
	letter-spacing: 0.05em;
	margin-left: 4px;
}

.wce-field-row {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}

.wce-field-row .wce-field {
	flex: 1 1 220px;
}

.wce-field {
	margin-bottom: 14px;
}

.wce-field label {
	display: block;
	font-weight: 600;
	margin-bottom: 4px;
}

.wce-field input[type="text"],
.wce-field input[type="email"],
.wce-field input[type="date"],
.wce-field input[type="file"],
.wce-field select {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var( --wce-border );
	border-radius: 0;
	box-sizing: border-box;
	font-family: inherit;
	font-size: 16px;
	background: #fff;
	color: var( --wce-text );
}

.wce-field input:focus,
.wce-field select:focus {
	outline: 2px solid var( --wce-primary );
	outline-offset: 1px;
}

.wce-terms label {
	font-weight: normal;
	display: flex;
	gap: 8px;
	align-items: flex-start;
}

.wce-marketing-optin {
	background: #fff8ec;
	border: 1px solid #f5deb3;
	padding: 12px 14px;
}

.wce-marketing-optin label {
	font-weight: normal;
	display: flex;
	gap: 10px;
	align-items: flex-start;
	cursor: pointer;
}

.wce-marketing-optin-text {
	font-weight: 600;
	color: #6b4a00;
}

.wce-marketing-optin .wce-help {
	margin: 6px 0 0 26px;
}

.wce-help-toggle {
	background: none;
	border: none;
	color: var( --wce-primary );
	font-weight: normal;
	font-size: 13px;
	text-decoration: underline;
	cursor: pointer;
	padding: 0;
	margin-left: 6px;
}

.wce-help-toggle:hover {
	color: var( --wce-primary-hover );
}

.wce-serial-help {
	margin-top: 8px;
	padding: 12px;
	background: #f6f7f7;
	border: 1px solid #dcdcde;
}

.wce-serial-help-image,
.wce-serial-help-illustration {
	display: block;
	max-width: 100%;
	height: auto;
	margin-bottom: 8px;
}

.wce-serial-help-illustration {
	max-width: 240px;
}

.wce-serial-help-text {
	margin: 0;
	font-size: 13px;
	color: #444;
}

.wce-help {
	font-size: 13px;
	color: #555;
	margin: 4px 0 12px;
}

.req {
	color: #c0392b;
}

.wce-btn {
	display: inline-block;
	padding: 14px 32px;
	border-radius: 0;
	border: none;
	cursor: pointer;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.02em;
}

/*
 * The theme applies its own global color to bare <button> elements, so it
 * can win over a single class selector. Scope to the wrapper and force the
 * color so the label stays readable regardless of the theme's own rules.
 */
.wce-form-wrapper .wce-btn-primary {
	background: var( --wce-primary );
	color: #fff !important;
}

.wce-form-wrapper .wce-btn-primary:hover {
	background: var( --wce-primary-hover );
	color: #fff !important;
}

.wce-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.wce-myaccount-status {
	display: inline-block;
	padding: 3px 10px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	font-family: var( --wce-font );
}

.wce-status-pending {
	background: #fff4e5;
	color: #8a5a00;
}

.wce-status-approved {
	background: #eafaf0;
	color: #14602a;
}

.wce-status-rejected {
	background: #fdecea;
	color: #8a1f14;
}
