/**
 * GotWood theme — Forminator form overrides
 * Matches dark charcoal + gold design system from main.css
 *
 * Tip: Set Forminator form Appearance → Design Style → None for cleanest results.
 */

/* -------------------------------------------------------------------------- */
/* CSS variables (mirror theme tokens)                                        */
/* -------------------------------------------------------------------------- */

.gotwood-forminator-wrap {
	--gw-form-bg: transparent;
	--gw-form-border: hsl(35 12% 18%);
	--gw-form-border-focus: hsl(42 65% 50%);
	--gw-form-text: hsl(40 20% 92%);
	--gw-form-muted: hsl(35 10% 55%);
	--gw-form-primary: hsl(42 65% 50%);
	--gw-form-primary-hover: hsl(42 55% 65%);
	--gw-form-primary-text: hsl(30 6% 7%);
	--gw-form-error: hsl(0 84.2% 60.2%);
	--gw-form-success: hsl(42 55% 65%);
	--gw-form-radius: 0.25rem;
	--gw-form-font: 'Inter', sans-serif;
	--gw-form-heading-font: 'DM Serif Display', serif;
}

/* -------------------------------------------------------------------------- */
/* Form container                                                             */
/* -------------------------------------------------------------------------- */

.gotwood-forminator-wrap .forminator-ui {
	font-family: var(--gw-form-font) !important;
	color: var(--gw-form-text) !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.gotwood-forminator-wrap .forminator-custom-form {
	background: transparent !important;
}

.gotwood-forminator-wrap .forminator-row {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.gotwood-forminator-wrap .forminator-col {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.gotwood-forminator-wrap .forminator-field {
	margin-bottom: 1.5rem !important;
}

/* Contact / homepage forms — row gap (matches original space-y-5 / space-y-6) */
.gotwood-forminator-wrap--contact .forminator-row {
	margin-bottom: 1.5rem !important;
}

.gotwood-forminator-wrap--contact .forminator-row:last-of-type {
	margin-bottom: 0 !important;
}

.gotwood-forminator-wrap--contact .forminator-field {
	margin-bottom: 0 !important;
}

.gotwood-forminator-wrap--contact .forminator-label {
	margin-bottom: 0.5rem !important;
}

.forminator-row{
    gap: 0 1rem;
}

@media (min-width: 640px) {
	.gotwood-forminator-wrap--contact .forminator-row {
		margin-bottom: 1.75rem !important;
	}

	.gotwood-forminator-wrap--contact .forminator-row--inner .forminator-col {
		padding-right: 0.75rem !important;
	}

	.gotwood-forminator-wrap--contact .forminator-row--inner .forminator-col:last-child {
		padding-right: 0 !important;
	}
}

/* -------------------------------------------------------------------------- */
/* Labels                                                                     */
/* -------------------------------------------------------------------------- */

.gotwood-forminator-wrap .forminator-label {
	font-family: var(--gw-form-font) !important;
	font-size: 0.75rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	color: var(--gw-form-muted) !important;
	margin-bottom: 0.5rem !important;
	display: block !important;
}

.gotwood-forminator-wrap .forminator-label .forminator-required {
	color: var(--gw-form-primary) !important;
}

.gotwood-forminator-wrap .forminator-description,
.gotwood-forminator-wrap .forminator-field--description {
	font-family: var(--gw-form-font) !important;
	font-size: 0.75rem !important;
	color: var(--gw-form-muted) !important;
}

/* -------------------------------------------------------------------------- */
/* Text inputs, email, tel, number, url, password                             */
/* -------------------------------------------------------------------------- */

.gotwood-forminator-wrap .forminator-input,
.gotwood-forminator-wrap .forminator-input input,
.gotwood-forminator-wrap input.forminator-input,
.gotwood-forminator-wrap input.forminator-field--input,
.gotwood-forminator-wrap .forminator-field--input input {
	width: 100% !important;
	background: var(--gw-form-bg) !important;
	border: 1px solid var(--gw-form-border) !important;
	border-radius: var(--gw-form-radius) !important;
	color: var(--gw-form-text) !important;
	font-family: var(--gw-form-font) !important;
	font-size: 0.875rem !important;
	padding: 0.75rem 1rem !important;
	line-height: 1.5 !important;
	box-shadow: none !important;
	transition: border-color 0.3s ease !important;
}

.gotwood-forminator-wrap .forminator-input::placeholder,
.gotwood-forminator-wrap input.forminator-input::placeholder,
.gotwood-forminator-wrap .forminator-field--input input::placeholder {
	color: var(--gw-form-muted) !important;
	opacity: 1 !important;
}

.gotwood-forminator-wrap .forminator-input:hover,
.gotwood-forminator-wrap .forminator-field--input input:hover,
.gotwood-forminator-wrap .forminator-input:focus,
.gotwood-forminator-wrap .forminator-field--input input:focus,
.gotwood-forminator-wrap .forminator-input:focus-within {
	border-color: var(--gw-form-border-focus) !important;
	outline: none !important;
	box-shadow: none !important;
}

/* -------------------------------------------------------------------------- */
/* Textarea                                                                   */
/* -------------------------------------------------------------------------- */

.gotwood-forminator-wrap .forminator-textarea,
.gotwood-forminator-wrap textarea.forminator-textarea,
.gotwood-forminator-wrap .forminator-field--textarea textarea {
	width: 100% !important;
	min-height: 8rem !important;
	background: var(--gw-form-bg) !important;
	border: 1px solid var(--gw-form-border) !important;
	border-radius: var(--gw-form-radius) !important;
	color: var(--gw-form-text) !important;
	font-family: var(--gw-form-font) !important;
	font-size: 0.875rem !important;
	padding: 0.75rem 1rem !important;
	resize: none !important;
	box-shadow: none !important;
	transition: border-color 0.3s ease !important;
}

.gotwood-forminator-wrap .forminator-textarea:focus,
.gotwood-forminator-wrap textarea.forminator-textarea:focus {
	border-color: var(--gw-form-border-focus) !important;
	outline: none !important;
	box-shadow: none !important;
}

/* -------------------------------------------------------------------------- */
/* Select dropdown                                                            */
/* -------------------------------------------------------------------------- */

.gotwood-forminator-wrap .forminator-select,
.gotwood-forminator-wrap .forminator-field--select .forminator-select {
	background: var(--gw-form-bg) !important;
	border: 1px solid var(--gw-form-border) !important;
	border-radius: var(--gw-form-radius) !important;
}

.gotwood-forminator-wrap .forminator-select .forminator-select-label,
.gotwood-forminator-wrap .forminator-select .selection .select2-selection,
.gotwood-forminator-wrap .forminator-select select,
.gotwood-forminator-wrap select.forminator-select {
	background: var(--gw-form-bg) !important;
	border: 1px solid var(--gw-form-border) !important;
	border-radius: var(--gw-form-radius) !important;
	color: var(--gw-form-text) !important;
	font-family: var(--gw-form-font) !important;
	font-size: 0.875rem !important;
	padding: 0.75rem 1rem !important;
	min-height: auto !important;
	box-shadow: none !important;
}

.gotwood-forminator-wrap .forminator-select .select2-selection--single {
	height: auto !important;
	background: transparent !important;
	border: none !important;
}

.gotwood-forminator-wrap .forminator-select .select2-selection__rendered {
	color: var(--gw-form-text) !important;
	font-family: var(--gw-form-font) !important;
	font-size: 0.875rem !important;
	padding: 0 !important;
	line-height: 1.5 !important;
}

.gotwood-forminator-wrap .forminator-select .select2-selection__arrow {
	height: 100% !important;
}

.gotwood-forminator-wrap .select2-dropdown {
	background: #000000 !important;
	border: 1px solid var(--gw-form-border) !important;
	color: #ffffff !important;
}

.gotwood-forminator-wrap .select2-results__option {
	font-family: var(--gw-form-font) !important;
	font-size: 0.875rem !important;
	color: #ffffff !important;
	background: #000000 !important;
	padding: 0.625rem 1rem !important;
}

.gotwood-forminator-wrap .select2-results__option--highlighted,
.gotwood-forminator-wrap .select2-results__option--highlighted[aria-selected] {
	background: hsl(30 8% 12%) !important;
	color: #ffffff !important;
}

.gotwood-forminator-wrap .select2-results__option--selected {
	background: hsl(30 8% 15%) !important;
	color: var(--gw-form-primary) !important;
}

/* -------------------------------------------------------------------------- */
/* Select dropdown portal (Forminator appends list outside .gotwood-forminator-wrap) */
/* -------------------------------------------------------------------------- */

.forminator-select-dropdown,
.forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown,
.forminator-dropdown.forminator-dropdown--default {
	background-color: #000000 !important;
	background: #000000 !important;
	border: 1px solid hsl(35 12% 18%) !important;
	opacity: 1 !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6) !important;
	z-index: 9999 !important;
}

.forminator-select-dropdown .select2-results,
.forminator-select-dropdown .select2-results__options,
.forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown .select2-results .select2-results__options {
	background-color: #000000 !important;
	background: #000000 !important;
}

.forminator-select-dropdown .select2-results__option,
.forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown .select2-results__option {
	font-family: 'Inter', sans-serif !important;
	font-size: 0.875rem !important;
	color: #ffffff !important;
	background-color: #000000 !important;
	background: #000000 !important;
	padding: 0.625rem 1rem !important;
}

.forminator-select-dropdown .select2-results__option--highlighted,
.forminator-select-dropdown .select2-results__option--highlighted[aria-selected],
.forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown .select2-results__option--highlighted {
	background-color: hsl(30 8% 12%) !important;
	background: hsl(30 8% 12%) !important;
	color: #ffffff !important;
}

.forminator-select-dropdown .select2-results__option--selected,
.forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown .select2-results__option--selected {
	background-color: hsl(30 8% 15%) !important;
	background: hsl(30 8% 15%) !important;
	color: hsl(42 65% 50%) !important;
}

.forminator-select-dropdown .select2-results__option span:not(.forminator-checkbox-box) {
	color: inherit !important;
}

/* Show all dropdown options — no scroll / clipped list */
.forminator-select-dropdown,
.forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown,
.forminator-dropdown.forminator-dropdown--default {
	max-height: none !important;
	overflow: visible !important;
}

.forminator-select-dropdown .select2-results,
.forminator-select-dropdown .select2-results__options,
.forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown .select2-results,
.forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown .select2-results .select2-results__options,
.select2-container--open .select2-dropdown .select2-results,
.select2-container--open .select2-dropdown .select2-results__options {
	max-height: none !important;
	height: auto !important;
	overflow: visible !important;
	overflow-y: visible !important;
}

.forminator-select-dropdown .select2-results__option,
.forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown .select2-results__option {
	padding: 0.75rem 1rem !important;
	line-height: 1.4 !important;
}

.forminator-select-dropdown .select2-results__option--highlighted,
.forminator-select-dropdown .select2-results__option--highlighted[aria-selected],
.forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown .select2-results__option--highlighted {
	background-color: hsl(30 8% 15%) !important;
	color: hsl(42 65% 50%) !important;
}

/* -------------------------------------------------------------------------- */
/* Checkbox & radio                                                           */
/* -------------------------------------------------------------------------- */

.gotwood-forminator-wrap .forminator-checkbox,
.gotwood-forminator-wrap .forminator-radio {
	font-family: var(--gw-form-font) !important;
	font-size: 0.875rem !important;
	color: var(--gw-form-text) !important;
}

.gotwood-forminator-wrap .forminator-checkbox-box,
.gotwood-forminator-wrap .forminator-radio-bullet {
	border-color: var(--gw-form-border) !important;
	background: transparent !important;
}

.gotwood-forminator-wrap .forminator-checkbox input:checked + .forminator-checkbox-box,
.gotwood-forminator-wrap .forminator-radio input:checked + .forminator-radio-bullet {
	background: var(--gw-form-primary) !important;
	border-color: var(--gw-form-primary) !important;
}

/* -------------------------------------------------------------------------- */
/* Submit button                                                              */
/* -------------------------------------------------------------------------- */

.gotwood-forminator-wrap .forminator-button,
.gotwood-forminator-wrap .forminator-button-submit,
.gotwood-forminator-wrap button.forminator-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: var(--gw-form-primary) !important;
	color: var(--gw-form-primary-text) !important;
	border: none !important;
	border-radius: var(--gw-form-radius) !important;
	font-family: var(--gw-form-font) !important;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.25em !important;
	text-transform: uppercase !important;
	padding: 1rem 2.5rem !important;
	cursor: pointer !important;
	box-shadow: none !important;
	transition: background-color 0.3s ease !important;
	width: auto !important;
	min-width: auto !important;
}

.gotwood-forminator-wrap .forminator-button:hover,
.gotwood-forminator-wrap .forminator-button-submit:hover,
.gotwood-forminator-wrap button.forminator-button:hover {
	background: var(--gw-form-primary-hover) !important;
	color: var(--gw-form-primary-text) !important;
}

.gotwood-forminator-wrap .forminator-button:disabled {
	opacity: 0.6 !important;
	cursor: not-allowed !important;
}

.gotwood-forminator-wrap--contact .forminator-button-submit {
	width: 100% !important;
}

@media (min-width: 640px) {
	.gotwood-forminator-wrap--contact .forminator-button-submit {
		width: auto !important;
	}
}

/* -------------------------------------------------------------------------- */
/* Error & success messages                                                   */
/* -------------------------------------------------------------------------- */

.gotwood-forminator-wrap .forminator-error-message {
	font-family: var(--gw-form-font) !important;
	font-size: 0.8125rem !important;
	color: var(--gw-form-error) !important;
	margin-top: 0.375rem !important;
}

.gotwood-forminator-wrap .forminator-field.forminator-has_error .forminator-input,
.gotwood-forminator-wrap .forminator-field.forminator-has_error input,
.gotwood-forminator-wrap .forminator-field.forminator-has_error .forminator-textarea,
.gotwood-forminator-wrap .forminator-field.forminator-has_error textarea,
.gotwood-forminator-wrap .forminator-field.forminator-has_error .forminator-select {
	border-color: var(--gw-form-error) !important;
}

.gotwood-forminator-wrap .forminator-response-message {
	font-family: var(--gw-form-font) !important;
	font-size: 0.875rem !important;
	border-radius: var(--gw-form-radius) !important;
	padding: 0.75rem 1rem !important;
	margin-top: 1rem !important;
}

.gotwood-forminator-wrap .forminator-response-message.forminator-success {
	background: hsl(42 65% 50% / 0.1) !important;
	border: 1px solid hsl(42 65% 50% / 0.3) !important;
	color: var(--gw-form-success) !important;
}

.gotwood-forminator-wrap .forminator-response-message.forminator-error {
	background: hsl(0 84.2% 60.2% / 0.1) !important;
	border: 1px solid hsl(0 84.2% 60.2% / 0.3) !important;
	color: var(--gw-form-error) !important;
}

/* -------------------------------------------------------------------------- */
/* Upload field                                                               */
/* -------------------------------------------------------------------------- */

.gotwood-forminator-wrap .forminator-upload,
.gotwood-forminator-wrap .forminator-field--upload {
	border: 1px dashed var(--gw-form-border) !important;
	border-radius: var(--gw-form-radius) !important;
	background: transparent !important;
	color: var(--gw-form-muted) !important;
}

.gotwood-forminator-wrap .forminator-upload .forminator-button-upload {
	background: transparent !important;
	border: 1px solid var(--gw-form-border) !important;
	color: var(--gw-form-primary) !important;
}

/* -------------------------------------------------------------------------- */
/* Newsletter — footer inline layout (matches static footer form)               */
/* -------------------------------------------------------------------------- */

.gotwood-forminator-wrap--newsletter {
	width: 100% !important;
}

.gotwood-forminator-wrap--newsletter .forminator-ui,
.gotwood-forminator-wrap--newsletter .forminator-custom-form {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	width: 100% !important;
	gap: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.gotwood-forminator-wrap--newsletter .forminator-row {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	flex: 1 1 auto !important;
	width: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.gotwood-forminator-wrap--newsletter .forminator-row:has(.forminator-button-submit),
.gotwood-forminator-wrap--newsletter .forminator-row:has(.forminator-field-submit) {
	flex: 0 0 auto !important;
	width: auto !important;
}

.gotwood-forminator-wrap--newsletter .forminator-col {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.gotwood-forminator-wrap--newsletter .forminator-col:has(.forminator-button-submit),
.gotwood-forminator-wrap--newsletter .forminator-col:has(.forminator-field-submit) {
	flex: 0 0 auto !important;
}

.gotwood-forminator-wrap--newsletter .forminator-field,
.gotwood-forminator-wrap--newsletter .forminator-field-submit {
	margin: 0 !important;
	padding: 0 !important;
	height: 100% !important;
}

.gotwood-forminator-wrap--newsletter .forminator-label,
.gotwood-forminator-wrap--newsletter .forminator-description {
	display: none !important;
}

.gotwood-forminator-wrap--newsletter .forminator-input,
.gotwood-forminator-wrap--newsletter input.forminator-input,
.gotwood-forminator-wrap--newsletter .forminator-field--input input,
.gotwood-forminator-wrap--newsletter input[type="email"] {
	flex: 1 1 auto !important;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 2.625rem !important;
	height: 100% !important;
	background: transparent !important;
	border: 1px solid var(--gw-form-border) !important;
	border-right: none !important;
	border-radius: 0 !important;
	padding: 0.625rem 0.75rem !important;
	font-size: 0.875rem !important;
	color: var(--gw-form-text) !important;
	box-shadow: none !important;
}

@media (min-width: 640px) {
	.gotwood-forminator-wrap--newsletter .forminator-input,
	.gotwood-forminator-wrap--newsletter input.forminator-input,
	.gotwood-forminator-wrap--newsletter .forminator-field--input input,
	.gotwood-forminator-wrap--newsletter input[type="email"] {
		padding: 0.625rem 1rem !important;
	}
}

.gotwood-forminator-wrap--newsletter .forminator-input::placeholder,
.gotwood-forminator-wrap--newsletter input[type="email"]::placeholder {
	color: var(--gw-form-muted) !important;
	opacity: 1 !important;
}

.gotwood-forminator-wrap--newsletter .forminator-input:focus,
.gotwood-forminator-wrap--newsletter input[type="email"]:focus {
	border-color: var(--gw-form-border-focus) !important;
	outline: none !important;
}

.gotwood-forminator-wrap--newsletter .forminator-button-submit,
.gotwood-forminator-wrap--newsletter button.forminator-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	min-height: 2.625rem !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0.625rem 1rem !important;
	border-radius: 0 !important;
	background: var(--gw-form-primary) !important;
	color: var(--gw-form-primary-text) !important;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.15em !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
	width: auto !important;
}

@media (min-width: 640px) {
	.gotwood-forminator-wrap--newsletter .forminator-button-submit,
	.gotwood-forminator-wrap--newsletter button.forminator-button {
		padding: 0.625rem 1.5rem !important;
	}
}

.gotwood-forminator-wrap--newsletter .forminator-button-submit:hover,
.gotwood-forminator-wrap--newsletter button.forminator-button:hover {
	background: var(--gw-form-primary-hover) !important;
	color: var(--gw-form-primary-text) !important;
}

.gotwood-forminator-wrap--newsletter .forminator-response-message {
	width: 100% !important;
	flex: 0 0 100% !important;
	margin-top: 0.75rem !important;
}

/* -------------------------------------------------------------------------- */
/* Hide default Forminator chrome / pagination                                  */
/* -------------------------------------------------------------------------- */

.gotwood-forminator-wrap .forminator-pagination-steps,
.gotwood-forminator-wrap .forminator-pagination-progress {
	font-family: var(--gw-form-font) !important;
	color: var(--gw-form-muted) !important;
}

.gotwood-forminator-wrap .forminator-pagination-steps .forminator-step-dot.forminator-current {
	background: var(--gw-form-primary) !important;
}

/* -------------------------------------------------------------------------- */
/* Loading state                                                              */
/* -------------------------------------------------------------------------- */

.gotwood-forminator-wrap .forminator-button-submit.forminator-loading-button {
	opacity: 0.7 !important;
	pointer-events: none !important;
}
