/**
 * Forminator forms — match Mr Clean Solar original static form design.
 * Scoped to .mcs-form-shortcode wrappers only.
 *
 * @package Mr_Clean_Solar
 */

/* ---- Reset Forminator shell ---- */
.mcs-form-shortcode .forminator-ui.forminator-custom-form,
.mcs-form-shortcode .forminator-ui.forminator-custom-form.forminator-design--default,
.mcs-form-shortcode .forminator-ui.forminator-custom-form.forminator-design--flat,
.mcs-form-shortcode .forminator-ui.forminator-custom-form.forminator-design--material {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	max-width: 100% !important;
	font-family: 'Inter', sans-serif !important;
	color: hsl(var(--foreground)) !important;
}

.mcs-form-shortcode .forminator-ui .forminator-row {
	margin: 0 0 0.75rem !important;
}

.mcs-form-shortcode--home-contact .forminator-ui .forminator-row {
	margin-bottom: 0.75rem !important;
}

@media (min-width: 640px) {
	.mcs-form-shortcode--home-contact .forminator-ui .forminator-row {
		margin-bottom: 1rem !important;
	}
}

.mcs-form-shortcode--contact-page .forminator-ui .forminator-row {
	margin-bottom: 1.25rem !important;
}

.mcs-form-shortcode--booking-modal .forminator-ui .forminator-row {
	margin-bottom: 1rem !important;
}

.mcs-form-shortcode .forminator-ui .forminator-col {
	padding: 0 !important;
}

.mcs-form-shortcode .forminator-ui .forminator-field {
	margin: 0 !important;
}

/* ---- Labels (contact / booking style) ---- */
.mcs-form-shortcode .forminator-ui.forminator-custom-form .forminator-label,
.mcs-form-shortcode .forminator-ui.forminator-custom-form .forminator-field--label,
.mcs-form-shortcode .forminator-ui .forminator-label,
.mcs-form-shortcode .forminator-ui .forminator-field--label {
	display: block !important;
	margin-bottom: 0.375rem !important;
	font-family: 'Oswald', sans-serif !important;
	font-size: 0.75rem !important;
	font-weight: 400 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: hsl(var(--muted-foreground)) !important;
	line-height: 1.4 !important;
}

.mcs-form-shortcode--booking-modal .forminator-ui .forminator-label,
.mcs-form-shortcode--booking-modal .forminator-ui .forminator-field--label {
	font-size: 0.6875rem !important;
	margin-bottom: 0.375rem !important;
}

@media (min-width: 640px) {
	.mcs-form-shortcode--booking-modal .forminator-ui .forminator-label,
	.mcs-form-shortcode--booking-modal .forminator-ui .forminator-field--label {
		font-size: 0.75rem !important;
	}
}

.mcs-form-shortcode .forminator-ui .forminator-label .forminator-required,
.mcs-form-shortcode .forminator-ui .forminator-required {
	color: hsl(var(--primary)) !important;
}

.mcs-form-shortcode .forminator-ui .forminator-description,
.mcs-form-shortcode .forminator-ui .forminator-field-description {
	font-size: 0.75rem !important;
	color: hsl(var(--muted-foreground)) !important;
	margin-top: 0.375rem !important;
}

/* ---- Text inputs, textarea, select ---- */
.mcs-form-shortcode .forminator-ui.forminator-custom-form .forminator-input,
.mcs-form-shortcode .forminator-ui.forminator-custom-form .forminator-textarea,
.mcs-form-shortcode .forminator-ui.forminator-custom-form input.forminator-input,
.mcs-form-shortcode .forminator-ui.forminator-custom-form textarea.forminator-textarea,
.mcs-form-shortcode .forminator-ui.forminator-custom-form select.forminator-select-internal--field,
.mcs-form-shortcode .forminator-ui.forminator-custom-form .forminator-select .forminator-select-selection,
.mcs-form-shortcode .forminator-ui.forminator-custom-form .forminator-datepicker-input,
.mcs-form-shortcode .forminator-ui .forminator-input,
.mcs-form-shortcode .forminator-ui .forminator-textarea,
.mcs-form-shortcode .forminator-ui input.forminator-input,
.mcs-form-shortcode .forminator-ui textarea.forminator-textarea,
.mcs-form-shortcode .forminator-ui select.forminator-select-internal--field,
.mcs-form-shortcode .forminator-ui .forminator-select .forminator-select-selection,
.mcs-form-shortcode .forminator-ui .forminator-datepicker-input {
	width: 100% !important;
	max-width: 100% !important;
	min-height: 3rem !important;
	padding: 0.875rem 1rem !important;
	font-family: 'Inter', sans-serif !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
	color: hsl(var(--foreground)) !important;
	background-color: hsl(var(--secondary) / 0.5) !important;
	border: 1px solid hsl(var(--border)) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.mcs-form-shortcode--home-contact .forminator-ui .forminator-input,
.mcs-form-shortcode--home-contact .forminator-ui .forminator-textarea,
.mcs-form-shortcode--home-contact .forminator-ui input.forminator-input,
.mcs-form-shortcode--home-contact .forminator-ui textarea.forminator-textarea,
.mcs-form-shortcode--home-contact .forminator-ui select.forminator-select-internal--field,
.mcs-form-shortcode--home-contact .forminator-ui .forminator-select .forminator-select-selection {
	background-color: hsl(var(--secondary) / 0.5) !important;
	padding: 0.875rem 1.25rem !important;
}

@media (min-width: 640px) {
	.mcs-form-shortcode--home-contact .forminator-ui .forminator-input,
	.mcs-form-shortcode--home-contact .forminator-ui .forminator-textarea,
	.mcs-form-shortcode--home-contact .forminator-ui input.forminator-input,
	.mcs-form-shortcode--home-contact .forminator-ui textarea.forminator-textarea {
		padding-top: 1rem !important;
		padding-bottom: 1rem !important;
	}
}

.mcs-form-shortcode--contact-page .forminator-ui .forminator-input,
.mcs-form-shortcode--contact-page .forminator-ui .forminator-textarea,
.mcs-form-shortcode--contact-page .forminator-ui input.forminator-input,
.mcs-form-shortcode--contact-page .forminator-ui textarea.forminator-textarea,
.mcs-form-shortcode--contact-page .forminator-ui select.forminator-select-internal--field,
.mcs-form-shortcode--contact-page .forminator-ui .forminator-select .forminator-select-selection {
	background-color: hsl(var(--background)) !important;
}

.mcs-form-shortcode--booking-modal .forminator-ui .forminator-input,
.mcs-form-shortcode--booking-modal .forminator-ui .forminator-textarea,
.mcs-form-shortcode--booking-modal .forminator-ui input.forminator-input,
.mcs-form-shortcode--booking-modal .forminator-ui textarea.forminator-textarea,
.mcs-form-shortcode--booking-modal .forminator-ui select.forminator-select-internal--field,
.mcs-form-shortcode--booking-modal .forminator-ui .forminator-select .forminator-select-selection,
.mcs-form-shortcode--booking-modal .forminator-ui .forminator-datepicker-input {
	background-color: hsl(var(--secondary) / 0.4) !important;
	border-radius: 0.125rem !important;
	min-height: 3rem !important;
}

.mcs-form-shortcode .forminator-ui .forminator-textarea,
.mcs-form-shortcode .forminator-ui textarea.forminator-textarea {
	min-height: 6rem !important;
	resize: vertical !important;
}

.mcs-form-shortcode--booking-modal .forminator-ui .forminator-textarea,
.mcs-form-shortcode--booking-modal .forminator-ui textarea.forminator-textarea {
	min-height: 6rem !important;
}

.mcs-form-shortcode .forminator-ui .forminator-input::placeholder,
.mcs-form-shortcode .forminator-ui .forminator-textarea::placeholder,
.mcs-form-shortcode .forminator-ui input.forminator-input::placeholder,
.mcs-form-shortcode .forminator-ui textarea.forminator-textarea::placeholder {
	color: hsl(var(--muted-foreground)) !important;
	opacity: 1 !important;
}

.mcs-form-shortcode .forminator-ui .forminator-input:focus,
.mcs-form-shortcode .forminator-ui .forminator-textarea:focus,
.mcs-form-shortcode .forminator-ui input.forminator-input:focus,
.mcs-form-shortcode .forminator-ui textarea.forminator-textarea:focus,
.mcs-form-shortcode .forminator-ui select.forminator-select-internal--field:focus,
.mcs-form-shortcode .forminator-ui .forminator-select.forminator-select-open .forminator-select-selection,
.mcs-form-shortcode .forminator-ui .forminator-datepicker-input:focus {
	border-color: hsl(var(--primary)) !important;
	outline: none !important;
	box-shadow: 0 0 0 2px hsl(var(--primary) / 0.25) !important;
}

.mcs-form-shortcode .forminator-ui .forminator-has_error .forminator-input,
.mcs-form-shortcode .forminator-ui .forminator-has_error .forminator-textarea,
.mcs-form-shortcode .forminator-ui .forminator-has_error input.forminator-input,
.mcs-form-shortcode .forminator-ui .forminator-has_error textarea.forminator-textarea {
	border-color: hsl(var(--destructive)) !important;
}

.mcs-form-shortcode .forminator-ui .forminator-error-message {
	font-size: 0.75rem !important;
	color: hsl(var(--destructive)) !important;
	margin-top: 0.375rem !important;
}

/* ---- Select dropdown arrow area ---- */
.mcs-form-shortcode .forminator-ui .forminator-select {
	width: 100% !important;
}

.mcs-form-shortcode .forminator-ui .forminator-select .forminator-select-selection {
	display: flex !important;
	align-items: center !important;
}

.mcs-form-shortcode .forminator-ui .forminator-select .forminator-select-dropdown-handle {
	color: hsl(var(--muted-foreground)) !important;
}

/* ---- Submit button — theme .mcs-btn-solar / bg-gradient-solar CTA ---- */
.mcs-form-shortcode .forminator-ui.forminator-custom-form .forminator-button.forminator-button-submit,
.mcs-form-shortcode .forminator-ui.forminator-custom-form button.forminator-button-submit,
.mcs-form-shortcode .forminator-ui .forminator-button.forminator-button-submit,
.mcs-form-shortcode .forminator-ui button.forminator-button-submit {
	-webkit-appearance: none !important;
	appearance: none !important;
	width: 100% !important;
	max-width: 100% !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.75rem !important;
	margin: 0 !important;
	padding: 1rem 1.5rem !important;
	min-height: 3.25rem !important;
	font-family: 'Oswald', sans-serif !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	font-style: normal !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	line-height: 1.2 !important;
	color: hsl(var(--primary-foreground)) !important;
	background-color: transparent !important;
	background-image: linear-gradient(135deg, hsl(var(--primary)) 0%, hsl(var(--solar-warm)) 100%) !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: 0 0 20px hsl(var(--primary) / 0.2) !important;
	cursor: pointer !important;
	transition: opacity 0.2s ease, box-shadow 0.2s ease !important;
}

.mcs-form-shortcode .forminator-ui .forminator-button.forminator-button-submit .forminator-button-label,
.mcs-form-shortcode .forminator-ui button.forminator-button-submit .forminator-button-label,
.mcs-form-shortcode .forminator-ui .forminator-button.forminator-button-submit span,
.mcs-form-shortcode .forminator-ui button.forminator-button-submit span {
	color: inherit !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	letter-spacing: inherit !important;
	text-transform: inherit !important;
	line-height: inherit !important;
}

@media (min-width: 640px) {
	.mcs-form-shortcode .forminator-ui.forminator-custom-form .forminator-button.forminator-button-submit,
	.mcs-form-shortcode .forminator-ui.forminator-custom-form button.forminator-button-submit,
	.mcs-form-shortcode .forminator-ui .forminator-button.forminator-button-submit,
	.mcs-form-shortcode .forminator-ui button.forminator-button-submit {
		padding: 1.25rem 2rem !important;
		font-size: 1.125rem !important;
	}
}

/* Home contact — same as front-page Send Request button */
.mcs-form-shortcode--home-contact .forminator-ui .forminator-button.forminator-button-submit:hover,
.mcs-form-shortcode--home-contact .forminator-ui button.forminator-button-submit:hover {
	opacity: 0.9 !important;
	background-image: linear-gradient(135deg, hsl(var(--primary)) 0%, hsl(var(--solar-warm)) 100%) !important;
	color: hsl(var(--primary-foreground)) !important;
}

/* Contact page — hover glow shadow */
.mcs-form-shortcode--contact-page .forminator-ui .forminator-button.forminator-button-submit,
.mcs-form-shortcode--contact-page .forminator-ui button.forminator-button-submit {
	padding: 1rem 1.5rem !important;
	min-height: 3.25rem !important;
}

@media (min-width: 640px) {
	.mcs-form-shortcode--contact-page .forminator-ui .forminator-button.forminator-button-submit,
	.mcs-form-shortcode--contact-page .forminator-ui button.forminator-button-submit {
		padding: 1rem 1.5rem !important;
		font-size: 1rem !important;
	}
}

.mcs-form-shortcode--contact-page .forminator-ui .forminator-button.forminator-button-submit:hover,
.mcs-form-shortcode--contact-page .forminator-ui button.forminator-button-submit:hover {
	opacity: 1 !important;
	box-shadow: 0 0 40px hsl(var(--primary) / 0.5) !important;
	background-image: linear-gradient(135deg, hsl(var(--primary)) 0%, hsl(var(--solar-warm)) 100%) !important;
}

/* Booking modal — Confirm Booking button */
.mcs-form-shortcode--booking-modal .forminator-ui .forminator-button.forminator-button-submit,
.mcs-form-shortcode--booking-modal .forminator-ui button.forminator-button-submit {
	padding: 1rem 1.5rem !important;
	min-height: 3.375rem !important;
}

.mcs-form-shortcode--booking-modal .forminator-ui .forminator-button.forminator-button-submit:hover,
.mcs-form-shortcode--booking-modal .forminator-ui button.forminator-button-submit:hover {
	opacity: 0.95 !important;
}

.mcs-form-shortcode--booking-modal .forminator-ui .forminator-button.forminator-button-submit:active,
.mcs-form-shortcode--booking-modal .forminator-ui button.forminator-button-submit:active {
	opacity: 0.9 !important;
}

.mcs-form-shortcode .forminator-ui .forminator-button.forminator-button-submit:focus,
.mcs-form-shortcode .forminator-ui .forminator-button.forminator-button-submit:focus-visible,
.mcs-form-shortcode .forminator-ui button.forminator-button-submit:focus,
.mcs-form-shortcode .forminator-ui button.forminator-button-submit:focus-visible {
	outline: none !important;
	box-shadow:
		0 0 0 2px hsl(var(--primary) / 0.5),
		0 0 20px hsl(var(--primary) / 0.2) !important;
}

.mcs-form-shortcode--booking-modal .forminator-ui .forminator-button.forminator-button-submit:focus,
.mcs-form-shortcode--booking-modal .forminator-ui .forminator-button.forminator-button-submit:focus-visible,
.mcs-form-shortcode--booking-modal .forminator-ui button.forminator-button-submit:focus,
.mcs-form-shortcode--booking-modal .forminator-ui button.forminator-button-submit:focus-visible {
	box-shadow:
		0 0 0 2px hsl(var(--primary) / 0.5),
		0 0 0 4px hsl(var(--background)),
		0 0 20px hsl(var(--primary) / 0.2) !important;
}

.mcs-form-shortcode .forminator-ui .forminator-button.forminator-button-submit:disabled,
.mcs-form-shortcode .forminator-ui button.forminator-button-submit:disabled {
	opacity: 0.6 !important;
	cursor: not-allowed !important;
}

.mcs-form-shortcode .forminator-ui .forminator-row-last {
	margin-bottom: 0 !important;
	margin-top: 0.25rem !important;
}

.mcs-form-shortcode--home-contact .forminator-ui .forminator-row-last {
	margin-top: 0.5rem !important;
}

/* ---- Success / error response ---- */
.mcs-form-shortcode .forminator-ui .forminator-response-message,
.mcs-form-shortcode .forminator-ui .forminator-success,
.mcs-form-shortcode .forminator-ui .forminator-error {
	font-size: 0.875rem !important;
	border-radius: 0 !important;
	padding: 1rem !important;
	margin-bottom: 1rem !important;
}

.mcs-form-shortcode .forminator-ui .forminator-success,
.mcs-form-shortcode .forminator-ui .forminator-response-message.forminator-success {
	background-color: hsl(var(--primary) / 0.1) !important;
	border: 1px solid hsl(var(--primary) / 0.3) !important;
	color: hsl(var(--foreground)) !important;
}

.mcs-form-shortcode .forminator-ui .forminator-error,
.mcs-form-shortcode .forminator-ui .forminator-response-message.forminator-error {
	background-color: hsl(var(--destructive) / 0.1) !important;
	border: 1px solid hsl(var(--destructive) / 0.3) !important;
	color: hsl(var(--foreground)) !important;
}

/* ---- Checkbox / radio (if used) ---- */
.mcs-form-shortcode .forminator-ui .forminator-checkbox-label,
.mcs-form-shortcode .forminator-ui .forminator-radio-label {
	font-family: 'Inter', sans-serif !important;
	font-size: 0.875rem !important;
	color: hsl(var(--foreground)) !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}

.mcs-form-shortcode .forminator-ui .forminator-checkbox-box,
.mcs-form-shortcode .forminator-ui .forminator-radio-box {
	border-color: hsl(var(--border)) !important;
}

.mcs-form-shortcode .forminator-ui .forminator-checkbox input:checked ~ .forminator-checkbox-box,
.mcs-form-shortcode .forminator-ui .forminator-radio input:checked ~ .forminator-radio-box {
	background-color: hsl(var(--primary)) !important;
	border-color: hsl(var(--primary)) !important;
}

/* ---- Loading state ---- */
.mcs-form-shortcode .forminator-ui .forminator-button-submit .forminator-loading {
	color: hsl(var(--primary-foreground)) !important;
}

/* ---- Hide Forminator default extra spacing on multi-column ---- */
.mcs-form-shortcode .forminator-ui .forminator-grid {
	gap: 0.75rem 1rem !important;
}

@media (min-width: 768px) {
	.mcs-form-shortcode--contact-page .forminator-ui .forminator-grid,
	.mcs-form-shortcode--contact-page .forminator-ui .forminator-row.forminator-row-columns-2 {
		gap: 1.25rem !important;
	}

	.mcs-form-shortcode--home-contact .forminator-ui .forminator-row.forminator-row-columns-2 {
		gap: 0.75rem 1rem !important;
	}

	.mcs-form-shortcode--booking-modal .forminator-ui .forminator-row.forminator-row-columns-2 {
		gap: 1rem 1.25rem !important;
	}
}
