/* ------------------------------------------------------------------
 * Alydo GF Form — on-brand with Goud Wonen / approval shortcode.
 * ------------------------------------------------------------------ */

:root {
	--gw-bg:        oklch(97% 0.010 80);
	--gw-surface:   oklch(99% 0.006 80);
	--gw-ink:       oklch(24% 0.012 60);
	--gw-ink-2:     oklch(38% 0.014 65);
	--gw-muted:     oklch(54% 0.012 70);
	--gw-rule:      oklch(88% 0.010 75);
	--gw-gold:      #CDB417;
	--gw-gold-2:    #B69C0E;
	--gw-red:       oklch(50% 0.16 28);
	--gw-red-2:     oklch(42% 0.17 28);
	--gw-red-soft:  oklch(94% 0.04 28);
}

@supports not (color: oklch(0 0 0)) {
	:root {
		--gw-bg:       #F7F4EC;
		--gw-surface:  #FCFAF3;
		--gw-ink:      #28221C;
		--gw-ink-2:    #4F4740;
		--gw-muted:    #847C73;
		--gw-rule:     #E2DBC6;
		--gw-red:      #B23929;
		--gw-red-2:    #8E2A1F;
		--gw-red-soft: #F4E1DC;
	}
}

body:has(.alydo-gf-form),
body.alydo-gf-form-page {
	background: var(--gw-bg) !important;
}

body.alydo-gf-form-page .entry-title,
body.alydo-gf-form-page .page-title,
body.alydo-gf-form-page h1.entry-title,
body.alydo-gf-form-page .elementor-page-title,
body.alydo-gf-form-page .elementor-widget-theme-post-title,
body.alydo-gf-form-page .single-post-title,
body.alydo-gf-form-page .post-page-title {
	display: none !important;
}

/* -------- Layout -------- */
.alydo-gf-form {
	max-width: 720px;
	margin: 0 auto;
	padding: clamp(40px, 7vw, 80px) clamp(20px, 5vw, 40px);
	color: var(--gw-ink);
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.alydo-gf-form__error {
	padding: 14px 16px;
	background: var(--gw-red-soft);
	color: var(--gw-red-2);
	border-radius: 6px;
	font-size: 14px;
}

/* -------- GF theme tokens (orbital / framework) -------- */
.alydo-gf-form .gform_wrapper,
.alydo-gf-form .gform-theme--framework {
	--gf-radius: 8px;
	--gf-radius-max-sm: 8px;
	--gf-radius-max-md: 8px;
	--gf-radius-max-lg: 8px;
	--gf-ctrl-border-color: var(--gw-rule);
	--gf-ctrl-border-color-focus: var(--gw-ink);
	--gf-ctrl-bg-color: #FFFFFF;
	--gf-ctrl-color: var(--gw-ink);
	--gf-ctrl-label-color-primary: var(--gw-muted);
	--gf-ctrl-label-color-secondary: var(--gw-muted);
	--gf-ctrl-btn-bg-color-primary: var(--gw-gold);
	--gf-ctrl-btn-bg-color-hover-primary: var(--gw-gold-2);
	--gf-ctrl-btn-color-primary: var(--gw-ink);
	--gf-ctrl-btn-color-hover-primary: var(--gw-ink);
	--gf-color-primary: var(--gw-gold);
	--gf-color-primary-rgb: 205, 180, 23;
	--gf-color-primary-contrast: var(--gw-ink);
	--gf-color-primary-contrast-rgb: 40, 34, 28;
	--gf-color-primary-darker: var(--gw-gold-2);
	--gf-color-primary-lighter: var(--gw-gold-2);
	--gf-form-spinner-fg-color: var(--gw-gold);
	--gf-form-spinner-bg-color: rgba(205, 180, 23, 0.16);
	--gf-color-danger: var(--gw-red);
	--gf-font-family-base: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
}

/* -------- Heading -------- */
.alydo-gf-form .gform_heading,
.alydo-gf-form .gform_title,
.alydo-gf-form .gform_description {
	font-family: inherit;
	color: var(--gw-ink);
}

.alydo-gf-form .gform_title {
	font-size: clamp(28px, 4.5vw, 38px);
	font-weight: 500;
	line-height: 1.18;
	letter-spacing: -0.01em;
	margin: 0 0 12px;
}

.alydo-gf-form .gform_description {
	font-size: 17px;
	line-height: 1.6;
	color: var(--gw-ink-2);
	margin: 0 0 32px;
	max-width: 52ch;
}

/* -------- Fields -------- */
.alydo-gf-form .gform_fields {
	gap: 22px;
}

.alydo-gf-form .gfield_label,
.alydo-gf-form .gform-field-label:not(.gform-field-label--type-inline):not(.gform-field-label--type-sub) {
	font-family: inherit;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--gw-muted);
}

.alydo-gf-form .gchoice .gform-field-label--type-inline,
.alydo-gf-form .ginput_container_consent .gfield_consent_label {
	font-size: 15px;
	color: var(--gw-ink-2);
	text-transform: none;
	letter-spacing: normal;
	font-weight: 400;
	line-height: 1.5;
}

.alydo-gf-form .gfield_description,
.alydo-gf-form .gform-field-label--type-sub,
.alydo-gf-form .instruction {
	font-size: 13px;
	color: var(--gw-muted);
	line-height: 1.5;
}

.alydo-gf-form .gfield_required {
	color: var(--gw-red);
}

.alydo-gf-form .gsection_title {
	font-size: 20px;
	font-weight: 500;
	color: var(--gw-ink);
	letter-spacing: -0.01em;
	border-bottom: 1px solid var(--gw-rule);
	padding-bottom: 10px;
	margin-bottom: 4px;
}

.alydo-gf-form .gsection_description {
	font-size: 15px;
	color: var(--gw-ink-2);
}

/* -------- Inputs -------- */
.alydo-gf-form .ginput_container input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="image"]),
.alydo-gf-form .ginput_container textarea,
.alydo-gf-form .gform-theme--framework .gfield input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="image"]),
.alydo-gf-form .gform-theme--framework .gfield textarea,
.alydo-gf-form input[type="text"],
.alydo-gf-form input[type="email"],
.alydo-gf-form input[type="tel"],
.alydo-gf-form input[type="url"],
.alydo-gf-form input[type="number"],
.alydo-gf-form input[type="password"],
.alydo-gf-form input[type="date"],
.alydo-gf-form input[type="search"],
.alydo-gf-form textarea,
.alydo-gf-form .gform_wrapper.gravity-theme .gfield input.large,
.alydo-gf-form .gform_wrapper.gravity-theme .gfield textarea.large {
	font-family: inherit;
	font-size: 16px;
	padding: 12px 14px;
	border: 1px solid var(--gw-rule);
	border-radius: 8px;
	background-color: #FFFFFF;
	color: var(--gw-ink);
	width: 100%;
	min-height: 48px;
	box-sizing: border-box;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.alydo-gf-form textarea {
	min-height: 120px;
	resize: vertical;
}

.alydo-gf-form input:focus,
.alydo-gf-form textarea:focus {
	outline: none;
	border-color: var(--gw-ink);
	box-shadow: 0 0 0 3px rgba(40, 34, 28, 0.08);
}

.alydo-gf-form .gfield_error input,
.alydo-gf-form .gfield_error textarea,
.alydo-gf-form .gfield_validation_message {
	border-color: var(--gw-red);
}

.alydo-gf-form .gfield_validation_message,
.alydo-gf-form .validation_message {
	font-size: 13px;
	color: var(--gw-red-2);
	background: var(--gw-red-soft);
	border-radius: 6px;
	padding: 8px 12px;
	margin-top: 8px;
}

.alydo-gf-form .gform_validation_errors {
	background: var(--gw-red-soft);
	border: 1px solid var(--gw-red);
	border-radius: 6px;
	color: var(--gw-red-2);
	padding: 14px 16px;
	margin-bottom: 24px;
}

.alydo-gf-form .gform_validation_errors h2 {
	font-size: 15px;
	font-weight: 600;
	color: var(--gw-red-2);
}

/* -------- Ajax / page loader -------- */
.alydo-gf-form .gform-loader,
.alydo-gf-form .gform-theme--framework .gform-loader,
.alydo-gf-form .gform_wrapper .gform-loader {
	border-block-end-color: var(--gw-gold) !important;
	border-block-start-color: rgba(205, 180, 23, 0.16) !important;
	border-inline-end-color: rgba(205, 180, 23, 0.16) !important;
	border-inline-start-color: var(--gw-gold) !important;
	vertical-align: middle;
}

.alydo-gf-form .gform_ajax_spinner {
	display: inline-block;
	inline-size: 20px;
	block-size: 20px;
	margin-inline-start: 10px;
	vertical-align: middle;
}

/* -------- Submit -------- */
.alydo-gf-form .gform_footer,
.alydo-gf-form .gform_page_footer {
	margin-top: 28px;
	padding-top: 8px;
}

.alydo-gf-form .gform_footer button,
.alydo-gf-form .gform_footer input[type="submit"],
.alydo-gf-form .gform_page_footer button,
.alydo-gf-form .gform_page_footer input[type="submit"],
.alydo-gf-form button.gform_button,
.alydo-gf-form input.gform_button {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: var(--gw-gold);
	color: var(--gw-ink);
	border: 1px solid var(--gw-gold);
	border-radius: 6px;
	padding: 14px 28px;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.005em;
	min-height: 48px;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	width: auto;
}

.alydo-gf-form .gform_footer button:hover,
.alydo-gf-form .gform_footer button:focus,
.alydo-gf-form .gform_footer input[type="submit"]:hover,
.alydo-gf-form .gform_footer input[type="submit"]:focus,
.alydo-gf-form .gform_page_footer button:hover,
.alydo-gf-form .gform_page_footer button:focus,
.alydo-gf-form .gform_page_footer input[type="submit"]:hover,
.alydo-gf-form .gform_page_footer input[type="submit"]:focus,
.alydo-gf-form button.gform_button:hover,
.alydo-gf-form button.gform_button:focus,
.alydo-gf-form input.gform_button:hover,
.alydo-gf-form input.gform_button:focus {
	background-color: var(--gw-gold-2);
	border-color: var(--gw-gold-2);
	color: var(--gw-ink);
}

.alydo-gf-form .gform_footer button:focus-visible,
.alydo-gf-form .gform_footer input[type="submit"]:focus-visible,
.alydo-gf-form button.gform_button:focus-visible,
.alydo-gf-form input.gform_button:focus-visible {
	outline: 2px solid var(--gw-gold);
	outline-offset: 3px;
}

/* -------- Confirmation -------- */
.alydo-gf-form .gform_confirmation_message {
	font-size: 17px;
	line-height: 1.6;
	color: var(--gw-ink-2);
	padding: 20px 0 0;
}

/* -------- Pagination (multi-page forms) -------- */
.alydo-gf-form .gf_progressbar_wrapper {
	margin: 0 0 32px;
}

.alydo-gf-form .gf_progressbar_title {
	font-family: inherit;
	font-size: 13px;
	font-weight: 500;
	color: var(--gw-muted);
	letter-spacing: 0.04em;
	margin: 0 0 10px;
}

.alydo-gf-form .gf_progressbar,
.alydo-gf-form .gform_wrapper .gf_progressbar,
.alydo-gf-form .gf_progressbar_blue,
.alydo-gf-form .gf_progressbar_gray,
.alydo-gf-form .gf_progressbar_green,
.alydo-gf-form .gf_progressbar_orange,
.alydo-gf-form .gf_progressbar_red,
.alydo-gf-form .gf_progressbar_spring,
.alydo-gf-form .gf_progressbar_blues,
.alydo-gf-form .gf_progressbar_rainbow {
	background: var(--gw-rule) !important;
	border-radius: 999px;
	overflow: hidden;
	height: 8px;
}

.alydo-gf-form .gf_progressbar_percentage,
.alydo-gf-form .gform_wrapper .gf_progressbar_percentage,
.alydo-gf-form .gf_progressbar_percentage.percentbar_blue,
.alydo-gf-form .gf_progressbar_percentage.percentbar_gray,
.alydo-gf-form .gf_progressbar_percentage.percentbar_green,
.alydo-gf-form .gf_progressbar_percentage.percentbar_orange,
.alydo-gf-form .gf_progressbar_percentage.percentbar_red,
.alydo-gf-form .gf_progressbar_percentage.percentbar_spring,
.alydo-gf-form .gf_progressbar_percentage.percentbar_blues,
.alydo-gf-form .gf_progressbar_percentage.percentbar_rainbow {
	background-color: var(--gw-gold) !important;
	background-image: none !important;
	color: var(--gw-ink);
	border-radius: 999px;
	height: 8px;
}

.alydo-gf-form .gf_progressbar_percentage span {
	color: var(--gw-ink);
	font-size: 11px;
	font-weight: 600;
}

.alydo-gf-form .gform_previous_button,
.alydo-gf-form input.gform_previous_button {
	background-color: transparent;
	color: var(--gw-ink-2);
	border-color: var(--gw-rule);
}

.alydo-gf-form .gform_previous_button:hover,
.alydo-gf-form .gform_previous_button:focus,
.alydo-gf-form input.gform_previous_button:hover,
.alydo-gf-form input.gform_previous_button:focus {
	background-color: transparent;
	color: var(--gw-ink);
	border-color: var(--gw-ink);
}

@media (prefers-reduced-motion: reduce) {
	.alydo-gf-form input,
	.alydo-gf-form textarea,
	.alydo-gf-form .gform_footer button,
	.alydo-gf-form .gform_footer input[type="submit"],
	.alydo-gf-form .gform-loader {
		transition: none;
		animation-duration: 1.75s;
	}
}

@media (max-width: 520px) {
	.alydo-gf-form .gform_footer button,
	.alydo-gf-form .gform_footer input[type="submit"],
	.alydo-gf-form button.gform_button,
	.alydo-gf-form input.gform_button {
		width: 100%;
	}
}
