:root {
	--color-roedl-text: #1c3828;
	--color-roedl-green: #3abe7c;
	--color-roedl-label: #77887e;
	--color-roedl-error: #e31e24;
	--color-roedl-bg: #ecf4e9;
	--spacing-base: 1rem;
	--fs-primary-font: 18px;
	--fs-button: 16px;
	--ff-primary-font: "GT America", Helvetica, Arial, sans-serif;
	--default-transition-profile: 400ms ease-in-out;
}

/* Base Styles */
.wpform-base,
.ms-WPBody .wpforms-newsletters-list table td {
	margin: 0 auto;
	font-size: var(--fs-primary-font);
	font-family: var(--ff-primary-font);
}

	.wpform-base * {
		box-sizing: border-box;
	}

	.wpform-base input[type="password"],
	.wpform-base input[type="text"],
	.wpform-base input[type="file"],
	.wpform-base select,
	.wpform-base div {
		color: var(--color-roedl-text);
	}

.ms-WPBody .wpform-base a, .ms-WPBody .wpform-base a:link {
	--link-text-color: var(--color-roedl-text);
	--link-text-decoration-color: var(--color-roedl-text);
	font-size: inherit;
	font-weight: bold;
	color: var(--link-text-color);
	text-decoration-color: var(--link-text-decoration-color);
	text-decoration: underline;
	transition: all var(--default-transition-profile);
	border-bottom: unset;
	background-color: unset;
}

	.ms-WPBody .wpform-base a:visited {
		--link-text-color: var(--color-roedl-text);
		--link-text-decoration-color: var(--color-roedl-green);
		color: var(--link-text-color);
		text-decoration-color: var(--link-text-decoration-color);
	}

	.ms-WPBody .wpform-base a:hover {
		--link-text-color: var(--color-roedl-green);
		--link-text-decoration-color: var(--color-roedl-green);
		color: var(--link-text-color);
		text-decoration-color: var(--link-text-decoration-color);
	}

.wpforms-note {
	font-size: 0.8em;
}

.wpform-base .wpforms-required-label,
.wpform-base .wpforms-error-noscript,
.wpforms-validation div {
	color: var(--color-roedl-error);
}

.wpforms-required-label {
	margin-left: 0.25rem;
}

/* Layout */
.wpforms-section {
	margin-bottom: var(--spacing-base);
}

.wpforms-layout-row {
	display: flex;
	gap: var(--spacing-base);
	margin-bottom: var(--spacing-base);
}

.wpforms-layout-column {
	flex: 1;
	padding: 0 var(--spacing-base);
}

/* Form Fields */
.wpforms-field {
	margin-bottom: var(--spacing-base);
}

.wpforms-field-label {
	display: block;
	margin-bottom: calc(var(--spacing-base) / 2);
	color: var(--color-roedl-label);
}

/* Input Elements */
.wpforms-field input[type="text"],
.wpforms-field input[type="email"],
.wpforms-field input[type="tel"],
.wpforms-field select,
.wpforms-field textarea {
	width: 100%;
	height: auto;
	padding: 10px 20px !important;
	border: 1px solid transparent;
	border-bottom-color: var(--color-roedl-label);
	border-radius: 3px;
	background-color: var(--color-roedl-bg);
	line-height: 1.5;
	transition: all var(--default-transition-profile);
}

	.wpforms-field input:focus,
	.wpforms-field select:focus,
	.wpforms-field textarea:focus {
		border-color: var(--color-roedl-label);
		background-color: #fff;
		outline: none;
	}

/* Submit Button */
input[type=submit].wpforms-submit {
	background-color: var(--color-roedl-green);
	color: #1c3828;
	padding: 0.75rem 1.5rem;
	border: 1px solid var(--color-roedl-green);
	border-radius: 3px;
	font-size: var(--fs-button);
	font-weight: 500;
	cursor: pointer;
	transition: all var(--default-transition-profile);
}

	input[type=submit].wpforms-submit:hover {
		background-color: transparent;
		color: var(--color-roedl-green);
	}

/* Newsletter Sections */
.wpforms-newsletters-list {
	padding: var(--spacing-base);
	border-radius: 4px;
}

.wpforms-newsletters-highlight {
	background-color: #f8f9fa;
}

/* Responsive */
@media screen and (max-width: 768px) {
	.wpforms-layout-row {
		flex-direction: column;
	}

	.wpforms-layout-column {
		padding: calc(var(--spacing-base) / 2);
	}
}
