/* GENERATED from preview/pd-gform.src.css by preview/pair.py — edit the source, not this file. */
/* ==========================================================================
   Prestige Detailing — Gravity Form (pd-gform)
   Figma: 73:2899 (form at rest) and 73:2903 (field hover / focus).
   Styles Gravity Forms' own markup (2.5+ "gravity-theme", and legacy ul/li)
   inside .pd-gform. Rendered inside #wrap_all, so every rule is paired:
   ".pd-gform .x" + "#top #wrap_all .pd-gform .x" (built by preview/pair.py).
   Self-contained: carries its own copy of pd-main-nav's shared tokens and the
   cap trim, so it never depends on the nav stylesheet being current.
   No !important, no margin/padding shorthands. Field lines are real borders
   on the controls (house rule: never box-shadow on form controls).
   ========================================================================== */

@property --pd-fb       { syntax: "<number>"; inherits: true;  initial-value: 0; }
@property --pd-nav-tt   { syntax: "<length>"; inherits: false; initial-value: 0px; }
@property --pd-nav-tb   { syntax: "<length>"; inherits: false; initial-value: 0px; }

/* ---------- Tokens ---------- */
.pd-gform,
#top #wrap_all .pd-gform {
	/* Shared site tokens — same values as pd-main-nav */
	--pd-nav-font: "Google Sans Flex", "Google Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--pd-cap: 0.71875;
	--pd-asc: 0.966;
	--pd-desc: 0.286;

	--pd-gform-text: #fff;
	--pd-gform-soft: rgba(255, 255, 255, 0.72);     /* consent / choice labels */
	--pd-gform-muted: rgba(255, 255, 255, 0.6);     /* descriptions, sub-labels */
	--pd-gform-hint: rgba(255, 255, 255, 0.4);      /* placeholders */
	--pd-gform-line: rgba(255, 255, 255, 0.2);      /* field underline at rest */
	--pd-gform-box: rgba(255, 255, 255, 0.56);      /* unticked checkbox */
	--pd-gform-red: #d60c0c;
	--pd-gform-red-on: #b50a0a;                     /* button hover (not drawn in Figma) */
	--pd-gform-error: #ff6b6b;                      /* same as pd-woo */
	--pd-gform-ink: #161414;

	--pd-gform-row: 40px;                           /* field line → next label cap */
	--pd-gform-col: 40px;                           /* half / third width columns (13:3367); only applied
	                                                   once the section is wide enough to split — 12 tracks
	                                                   of gap would otherwise overflow a narrow column */
	--pd-gform-gap: 12px;                           /* label cap → value cap, value baseline → line */
	--pd-gform-btn-h: 59px;
	--pd-gform-area: 132px;                         /* textarea content: 24 line + 120 − trims (Figma pb 120) */

	/* Checkbox / consent — the light theme draws them bigger (13:3390) */
	--pd-gform-cb: 16px;
	--pd-gform-cb-img: url("../img/check.svg");
	--pd-gform-cb-tick: 13.09px;
	--pd-gform-cb-gap: 8px;
	--pd-gform-cons-fs: 16px;
	--pd-gform-cons-lh: 24px;
	--pd-gform-cons-weight: 400;

	/* Submit button — dark: full-width red. Light overrides all four (13:3395) */
	--pd-gform-btn-bg: var(--pd-gform-red);
	--pd-gform-btn-bg-on: var(--pd-gform-red-on);
	--pd-gform-btn-color: #fff;
	--pd-gform-btn-grow: 1;
	--pd-gform-speed: 0.2s;

	/* Trims of a 16/24 control line, which a control cannot text-box itself */
	--pd-gform-t16: calc((24px - (var(--pd-asc) + var(--pd-desc)) * 16px) / 2 + (var(--pd-asc) - var(--pd-cap)) * 16px);
	--pd-gform-b16: calc((24px - (var(--pd-asc) + var(--pd-desc)) * 16px) / 2 + var(--pd-desc) * 16px);

	/* Margins: inline --pd-gform-mt / --pd-gform-mb from the panel; the ramp only writes -now */
	--pd-gform-mt-now: var(--pd-gform-mt, 0px);
}

@media (max-width: 1199px) {
	.pd-gform.pd-gform--scale,
#top #wrap_all .pd-gform.pd-gform--scale { --pd-gform-mt-now: calc(var(--pd-gform-mt, 0px) * 0.75); }
}
@media (max-width: 899px) {
	.pd-gform.pd-gform--scale,
#top #wrap_all .pd-gform.pd-gform--scale { --pd-gform-mt-now: calc(var(--pd-gform-mt, 0px) * 0.6); }
}

/* ---------- Light theme (Figma 13:3363) — same geometry, ink on white ---------- */
.pd-gform.pd-gform--light,
#top #wrap_all .pd-gform.pd-gform--light {
	--pd-gform-text: #161414;
	--pd-gform-soft: rgba(22, 20, 20, 0.72);
	--pd-gform-muted: rgba(22, 20, 20, 0.6);
	--pd-gform-hint: rgba(22, 20, 20, 0.4);
	--pd-gform-line: rgba(22, 20, 20, 0.2);
	--pd-gform-box: rgba(22, 20, 20, 0.56);
	--pd-gform-error: var(--pd-gform-red);

	--pd-gform-area: 108px;                         /* 13:3387 draws the message box 96 deep */

	--pd-gform-cb: 22px;                            /* 18 tick + 2 padding */
	--pd-gform-cb-img: url("../img/check-18.svg");
	--pd-gform-cb-tick: 18px;
	--pd-gform-cb-gap: 16px;
	--pd-gform-cons-fs: 14px;
	--pd-gform-cons-lh: 18px;
	--pd-gform-cons-weight: 500;

	--pd-gform-btn-bg: rgba(22, 20, 20, 0.08);
	--pd-gform-btn-bg-on: rgba(22, 20, 20, 0.16);
	--pd-gform-btn-color: #161414;
	--pd-gform-btn-grow: 0;                         /* the light button is content width, with brackets */
}

/* ---------- Cap trim (text-box) with a metric fallback — same as pd-main-nav ---------- */
.pd-gform .pd-nav-t,
.pd-gform .gfield_label,
.pd-gform .gform-field-label--type-sub,
.pd-gform .ginput_complex label,
.pd-gform .gchoice label,
.pd-gform .gfield_consent_label,
.pd-gform .gfield_description:not(.gfield_consent_description),
.pd-gform .gform_title,
.pd-gform .gform_description,
.pd-gform .gform_submission_error,
.pd-gform .gsection_title,
.pd-gform .pd-gform__notice,
#top #wrap_all .pd-gform .pd-nav-t,
#top #wrap_all .pd-gform .gfield_label,
#top #wrap_all .pd-gform .gform-field-label--type-sub,
#top #wrap_all .pd-gform .ginput_complex label,
#top #wrap_all .pd-gform .gchoice label,
#top #wrap_all .pd-gform .gfield_consent_label,
#top #wrap_all .pd-gform .gfield_description:not(.gfield_consent_description),
#top #wrap_all .pd-gform .gform_title,
#top #wrap_all .pd-gform .gform_description,
#top #wrap_all .pd-gform .gform_submission_error,
#top #wrap_all .pd-gform .gsection_title,
#top #wrap_all .pd-gform .pd-gform__notice {
	display: block;
	--pd-nav-tt: calc(var(--pd-fb) * ((var(--lh) - (var(--pd-asc) + var(--pd-desc)) * var(--fs)) / 2 + (var(--pd-asc) - var(--pd-cap)) * var(--fs)));
	--pd-nav-tb: calc(var(--pd-fb) * ((var(--lh) - (var(--pd-asc) + var(--pd-desc)) * var(--fs)) / 2 + var(--pd-desc) * var(--fs)));
	font-size: var(--fs);
	line-height: var(--lh);
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
	text-box: trim-both cap alphabetic;
	margin-top: calc(-1 * var(--pd-nav-tt));
	margin-bottom: calc(-1 * var(--pd-nav-tb));
	margin-left: 0;
	margin-right: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
	background-color: transparent;
	font-family: var(--pd-nav-font);
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	text-align: left;
	float: none;
}

@supports not ((text-box: trim-both cap alphabetic) or (text-box-trim: trim-both)) {
	.pd-gform,
#top #wrap_all .pd-gform { --pd-fb: 1; }
}

/* ---------- Section ---------- */
.pd-gform,
#top #wrap_all .pd-gform {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	container-type: inline-size;
	container-name: pd-gform;
	margin-top: var(--pd-gform-mt-f, var(--pd-gform-mt-now));
	margin-bottom: var(--pd-gform-mb, 0px);
	margin-left: 0;
	margin-right: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	color: var(--pd-gform-text);
	font-family: var(--pd-nav-font);
	font-size: 16px;
	line-height: 24px;
	font-style: normal;
	text-align: left;
	-webkit-font-smoothing: antialiased;
}

.pd-gform .pd-gform__notice,
#top #wrap_all .pd-gform .pd-gform__notice {
	--fs: 14px;
	--lh: 20px;
	color: var(--pd-gform-muted);
}

/* Gravity Forms' structural boxes declare their own box, so no theme rule can push them. */
.pd-gform .gform_wrapper,
.pd-gform .gform_wrapper form,
.pd-gform .gform_body,
.pd-gform .gform-body,
.pd-gform .gform_page,
.pd-gform .gform_page_fields,
.pd-gform .gform_heading,
.pd-gform .gform_confirmation_wrapper,
#top #wrap_all .pd-gform .gform_wrapper,
#top #wrap_all .pd-gform .gform_wrapper form,
#top #wrap_all .pd-gform .gform_body,
#top #wrap_all .pd-gform .gform-body,
#top #wrap_all .pd-gform .gform_page,
#top #wrap_all .pd-gform .gform_page_fields,
#top #wrap_all .pd-gform .gform_heading,
#top #wrap_all .pd-gform .gform_confirmation_wrapper {
	display: block;
	width: auto;
	max-width: none;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
	background-color: transparent;
	color: var(--pd-gform-text);
	font-family: var(--pd-nav-font);
}

/* ---------- Heading (only when the panel shows title / description) ----------
   GF prints the heading for its hidden "required fields" legend alone too; that one takes no room. */
.pd-gform .gform_heading,
#top #wrap_all .pd-gform .gform_heading {
	display: flex;
	flex-direction: column;
	row-gap: 16px;
}

.pd-gform .gform_heading:has(.gform_title, .gform_description),
#top #wrap_all .pd-gform .gform_heading:has(.gform_title, .gform_description) {
	margin-bottom: var(--pd-gform-row);
}

.pd-gform .gform_title,
#top #wrap_all .pd-gform .gform_title {
	--fs: 32px;
	--lh: 32px;
	letter-spacing: -0.03em;
	color: var(--pd-gform-text);
}

.pd-gform .gform_description,
#top #wrap_all .pd-gform .gform_description {
	--fs: 16px;
	--lh: 24px;
	color: var(--pd-gform-soft);
}

/* ---------- Visually hidden, still read out ---------- */
.pd-gform .gform_required_legend,
.pd-gform .hidden_label > .gfield_label,
.pd-gform .gfield--type-consent > .gfield_label,
.pd-gform .screen-reader-text,
.pd-gform .gform-loader__label,
#top #wrap_all .pd-gform .gform_required_legend,
#top #wrap_all .pd-gform .hidden_label > .gfield_label,
#top #wrap_all .pd-gform .gfield--type-consent > .gfield_label,
#top #wrap_all .pd-gform .screen-reader-text,
#top #wrap_all .pd-gform .gform-loader__label {
	position: absolute;
	width: 1px;
	height: 1px;
	margin-top: -1px;
	margin-bottom: 0;
	margin-left: -1px;
	margin-right: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
}

/* ---------- Top error summary ---------- */
.pd-gform .gform_validation_errors,
#top #wrap_all .pd-gform .gform_validation_errors {
	display: block;
	margin-top: 0;
	margin-bottom: var(--pd-gform-row);
	margin-left: 0;
	margin-right: 0;
	padding-top: 20px;
	padding-bottom: 20px;
	padding-left: 20px;
	padding-right: 20px;
	border-top: 1px solid var(--pd-gform-red);
	border-right: 1px solid var(--pd-gform-red);
	border-bottom: 1px solid var(--pd-gform-red);
	border-left: 1px solid var(--pd-gform-red);
	border-radius: 0;
	background-color: rgba(214, 12, 12, 0.08);
	box-shadow: none;
}

.pd-gform .gform_submission_error,
#top #wrap_all .pd-gform .gform_submission_error {
	--fs: 16px;
	--lh: 24px;
	color: var(--pd-gform-text);
}

.pd-gform .gform_validation_errors .gform-icon,
#top #wrap_all .pd-gform .gform_validation_errors .gform-icon {
	display: none;
}

/* ---------- Field grid ---------- */
.pd-gform .gform_fields,
#top #wrap_all .pd-gform .gform_fields {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: 0;
	row-gap: var(--pd-gform-row);
	width: auto;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	list-style: none;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
}

/* A field is a flex column: a trimmed label's margin box IS its cap box, and nothing collapses out. */
.pd-gform .gfield,
#top #wrap_all .pd-gform .gfield {
	position: relative;
	display: flex;
	flex-direction: column;
	grid-column: 1 / -1;
	min-width: 0;
	width: auto;
	max-width: none;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
	list-style: none;
	background-color: transparent;
	clear: none;
	float: none;
}

.pd-gform .gfield::before,
.pd-gform .gfield::after,
#top #wrap_all .pd-gform .gfield::before,
#top #wrap_all .pd-gform .gfield::after {
	display: none;
}

/* Honeypot, hidden and admin-only fields take no grid row */
.pd-gform .gfield.gform_validation_container,
.pd-gform .gfield.gform_hidden,
.pd-gform .gfield.gfield--type-hidden,
.pd-gform .gfield.gfield_visibility_hidden,
.pd-gform input.gform_hidden,
#top #wrap_all .pd-gform .gfield.gform_validation_container,
#top #wrap_all .pd-gform .gfield.gform_hidden,
#top #wrap_all .pd-gform .gfield.gfield--type-hidden,
#top #wrap_all .pd-gform .gfield.gfield_visibility_hidden,
#top #wrap_all .pd-gform input.gform_hidden {
	display: none;
}

/* 270 | 40 | 270 at the design's 580 (13:3367) */
@container pd-gform (min-width: 580px) {
	.pd-gform .gfield--width-eleven-twelfths,
#top #wrap_all .pd-gform .gfield--width-eleven-twelfths { grid-column: span 11; }
	.pd-gform .gfield--width-five-sixths,
#top #wrap_all .pd-gform .gfield--width-five-sixths { grid-column: span 10; }
	.pd-gform .gfield--width-three-quarter,
#top #wrap_all .pd-gform .gfield--width-three-quarter { grid-column: span 9; }
	.pd-gform .gfield--width-two-thirds,
#top #wrap_all .pd-gform .gfield--width-two-thirds { grid-column: span 8; }
	.pd-gform .gfield--width-seven-twelfths,
#top #wrap_all .pd-gform .gfield--width-seven-twelfths { grid-column: span 7; }
	.pd-gform .gfield--width-half,
#top #wrap_all .pd-gform .gfield--width-half { grid-column: span 6; }
	.pd-gform .gfield--width-five-twelfths,
#top #wrap_all .pd-gform .gfield--width-five-twelfths { grid-column: span 5; }
	.pd-gform .gfield--width-third,
#top #wrap_all .pd-gform .gfield--width-third { grid-column: span 4; }
	.pd-gform .gfield--width-quarter,
#top #wrap_all .pd-gform .gfield--width-quarter { grid-column: span 3; }
}

/* ---------- Labels (Figma 73:2901 — 12/12, +0.36, upper) ---------- */
.pd-gform .gfield_label,
#top #wrap_all .pd-gform .gfield_label {
	--fs: 12px;
	--lh: 12px;
	width: 100%;
	max-width: none;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--pd-gform-text);
}

/* A <legend> floated stops being a "rendered legend": it lays out like the <label> above. */
.pd-gform legend.gfield_label,
#top #wrap_all .pd-gform legend.gfield_label {
	float: left;
}

/* The asterisk is red wherever GF prints it: label, legend, consent label, choice label. */
.pd-gform .gfield .gfield_required,
#top #wrap_all .pd-gform .gfield .gfield_required {
	margin-left: 0.25em;
	color: var(--pd-gform-red);
	font-family: inherit;
	font-size: inherit;
	font-weight: 400;
	font-style: normal;
	letter-spacing: inherit;
	text-transform: inherit;
}

.pd-gform .gfield .gfield_required .gfield_required,
#top #wrap_all .pd-gform .gfield .gfield_required .gfield_required {
	margin-left: 0;
}

.pd-gform .gfield .gfield_required,
.pd-gform .gfield .gfield_required .gfield_required,
#top #wrap_all .pd-gform .gfield .gfield_required,
#top #wrap_all .pd-gform .gfield .gfield_required .gfield_required {
	display: inline;
	padding-left: 0;
	padding-right: 0;
	vertical-align: baseline;
}

/* ---------- Controls (Figma 73:2902 — 16/24, 12 above the value, 12 to the line) ---------- */
.pd-gform .ginput_container,
#top #wrap_all .pd-gform .ginput_container {
	display: block;
	position: relative;
	width: 100%;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
}

.pd-gform .gfield :where(input:not([type="checkbox"], [type="radio"], [type="submit"], [type="button"], [type="image"], [type="file"], [type="hidden"]), select, textarea),
#top #wrap_all .pd-gform .gfield :where(input:not([type="checkbox"], [type="radio"], [type="submit"], [type="button"], [type="image"], [type="file"], [type="hidden"]), select, textarea) {
	display: block;
	box-sizing: content-box;
	width: 100%;
	max-width: 100%;
	height: 24px;
	min-height: 0;
	max-height: none;
	margin-top: calc(var(--pd-gform-gap) - var(--pd-gform-t16));
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding-top: 0;
	padding-bottom: calc(var(--pd-gform-gap) - 1px - var(--pd-gform-b16));   /* 12 incl. the 1px line, as Figma's inside stroke */
	padding-left: 0;
	padding-right: 0;
	border-top-width: 0;
	border-right-width: 0;
	border-left-width: 0;
	border-top-style: none;
	border-right-style: none;
	border-left-style: none;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: var(--pd-gform-line);
	border-radius: 0;
	background-color: transparent;
	background-image: none;
	box-shadow: none;
	outline: 0;
	color: var(--pd-gform-text);
	caret-color: var(--pd-gform-text);
	font-family: var(--pd-nav-font);
	font-size: 16px;
	font-weight: 400;
	font-style: normal;
	line-height: 24px;
	letter-spacing: 0;
	text-transform: none;
	text-align: left;
	-webkit-appearance: none;
	appearance: none;
	transition: border-bottom-color var(--pd-gform-speed) ease;
}

/* Figma 73:2903: hover and focus turn the line red */
.pd-gform .gfield :where(input:not([type="checkbox"], [type="radio"], [type="submit"], [type="button"], [type="image"], [type="file"], [type="hidden"]), select, textarea):hover,
.pd-gform .gfield :where(input:not([type="checkbox"], [type="radio"], [type="submit"], [type="button"], [type="image"], [type="file"], [type="hidden"]), select, textarea):focus,
.pd-gform .gfield_error :where(input:not([type="checkbox"], [type="radio"], [type="submit"], [type="button"], [type="image"], [type="file"], [type="hidden"]), select, textarea),
#top #wrap_all .pd-gform .gfield :where(input:not([type="checkbox"], [type="radio"], [type="submit"], [type="button"], [type="image"], [type="file"], [type="hidden"]), select, textarea):hover,
#top #wrap_all .pd-gform .gfield :where(input:not([type="checkbox"], [type="radio"], [type="submit"], [type="button"], [type="image"], [type="file"], [type="hidden"]), select, textarea):focus,
#top #wrap_all .pd-gform .gfield_error :where(input:not([type="checkbox"], [type="radio"], [type="submit"], [type="button"], [type="image"], [type="file"], [type="hidden"]), select, textarea) {
	border-bottom-color: var(--pd-gform-red);
	background-color: transparent;
	color: var(--pd-gform-text);
	box-shadow: none;
	outline: 0;
}

.pd-gform .gfield :where(input, textarea)::placeholder,
#top #wrap_all .pd-gform .gfield :where(input, textarea)::placeholder {
	color: var(--pd-gform-text);
	opacity: 0.4;
}

/* Browser autofill must not paint the field */
.pd-gform .gfield :where(input, select, textarea):-webkit-autofill,
#top #wrap_all .pd-gform .gfield :where(input, select, textarea):-webkit-autofill {
	-webkit-text-fill-color: var(--pd-gform-text);
	caret-color: var(--pd-gform-text);
	transition: background-color 600000s 0s, color 600000s 0s;
}

.pd-gform .gfield textarea,
#top #wrap_all .pd-gform .gfield textarea {
	height: var(--pd-gform-area);
	resize: none;
	overflow: auto;
}

/* Select: native, chevron from Figma (lucide:chevron-right turned 90°) */
.pd-gform .gfield select,
#top #wrap_all .pd-gform .gfield select {
	width: calc(100% - 28px);
	padding-right: 28px;
	cursor: pointer;
	text-overflow: ellipsis;
}

.pd-gform .gfield select[multiple],
#top #wrap_all .pd-gform .gfield select[multiple] {
	height: auto;
	min-height: 96px;
	padding-right: 0;
}

.pd-gform .gfield select option,
#top #wrap_all .pd-gform .gfield select option {
	color: var(--pd-gform-ink);
	background-color: #fff;
}

.pd-gform .gfield select:has(option.gf_placeholder:checked),
.pd-gform .gfield select:has(option[value=""]:checked),
#top #wrap_all .pd-gform .gfield select:has(option.gf_placeholder:checked),
#top #wrap_all .pd-gform .gfield select:has(option[value=""]:checked) {
	color: var(--pd-gform-hint);
}

.pd-gform .ginput_container_select::after,
#top #wrap_all .pd-gform .ginput_container_select::after {
	content: "";
	position: absolute;
	top: calc(var(--pd-gform-gap) + var(--pd-cap) * 8px - 8px);   /* centred on the value's cap box */
	right: 0;
	width: 16px;
	height: 16px;
	background-image: url("../img/chevron-right.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 16px 16px;
	transform: rotate(90deg);
	pointer-events: none;
}

.pd-gform .ginput_container_multiselect::after,
#top #wrap_all .pd-gform .ginput_container_multiselect::after {
	display: none;
}

/* ---------- Complex fields (name, address, email + confirm) ---------- */
.pd-gform .ginput_complex,
#top #wrap_all .pd-gform .ginput_complex {
	display: flex;
	flex-wrap: wrap;
	column-gap: 0;
	row-gap: 24px;
}

.pd-gform .ginput_complex > span,
.pd-gform .ginput_complex > div,
#top #wrap_all .pd-gform .ginput_complex > span,
#top #wrap_all .pd-gform .ginput_complex > div {
	display: flex;
	flex-direction: column;
	row-gap: 12px;
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: 200px;
	min-width: 0;
	width: auto;
	max-width: none;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
}

.pd-gform .ginput_complex > .ginput_full,
#top #wrap_all .pd-gform .ginput_complex > .ginput_full {
	flex-basis: 100%;
}

.pd-gform .ginput_complex label,
.pd-gform .gform-field-label--type-sub,
#top #wrap_all .pd-gform .ginput_complex label,
#top #wrap_all .pd-gform .gform-field-label--type-sub {
	--fs: 12px;
	--lh: 16px;
	color: var(--pd-gform-muted);
}

/* ---------- Choices (checkbox / radio fields) ---------- */
.pd-gform .gfield .ginput_container_checkbox,
.pd-gform .gfield .ginput_container_radio,
#top #wrap_all .pd-gform .gfield .ginput_container_checkbox,
#top #wrap_all .pd-gform .gfield .ginput_container_radio {
	margin-top: var(--pd-gform-gap);
}

.pd-gform .gfield_checkbox,
.pd-gform .gfield_radio,
#top #wrap_all .pd-gform .gfield_checkbox,
#top #wrap_all .pd-gform .gfield_radio {
	display: flex;
	flex-direction: column;
	row-gap: 16px;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	list-style: none;
}

.pd-gform .gchoice,
#top #wrap_all .pd-gform .gchoice {
	display: flex;
	align-items: center;
	column-gap: var(--pd-gform-cb-gap);
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	list-style: none;
}

.pd-gform .gchoice label,
.pd-gform .gfield_consent_label,
#top #wrap_all .pd-gform .gchoice label,
#top #wrap_all .pd-gform .gfield_consent_label {
	--fs: var(--pd-gform-cons-fs);
	--lh: var(--pd-gform-cons-lh);
	width: auto;
	max-width: none;
	color: var(--pd-gform-soft);
	cursor: pointer;
}

.pd-gform .gchoice label a,
.pd-gform .gfield_consent_label a,
#top #wrap_all .pd-gform .gchoice label a,
#top #wrap_all .pd-gform .gfield_consent_label a {
	color: var(--pd-gform-text);
	font-weight: var(--pd-gform-cons-weight);
	text-decoration: underline;
	text-decoration-thickness: from-font;
	text-underline-position: from-font;
	border-bottom-width: 0;
	background-color: transparent;
	transition: color var(--pd-gform-speed) ease;
}

.pd-gform .gchoice label a:hover,
.pd-gform .gfield_consent_label a:hover,
#top #wrap_all .pd-gform .gchoice label a:hover,
#top #wrap_all .pd-gform .gfield_consent_label a:hover {
	color: var(--pd-gform-red);
	background-color: transparent;
	text-decoration: underline;
}

/* Consent (Figma 73:3022): red 16 box, 8 gap, 16/24 at 72% */
.pd-gform .ginput_container_consent,
#top #wrap_all .pd-gform .ginput_container_consent {
	display: flex;
	align-items: center;   /* the box is centred on the text; 13:3390 top-aligns it against a two-line label,
	                          which leaves a one-line label (what the forms actually carry) sitting high */
	column-gap: var(--pd-gform-cb-gap);
}

.pd-gform .gfield .gfield_consent_description,
#top #wrap_all .pd-gform .gfield .gfield_consent_description {
	max-height: 160px;
	overflow: auto;
	margin-top: var(--pd-gform-gap);
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding-top: 12px;
	padding-bottom: 12px;
	padding-left: 16px;
	padding-right: 16px;
	border-top: 1px solid var(--pd-gform-line);
	border-right: 1px solid var(--pd-gform-line);
	border-bottom: 1px solid var(--pd-gform-line);
	border-left: 1px solid var(--pd-gform-line);
	background-color: transparent;
	color: var(--pd-gform-muted);
	font-family: var(--pd-nav-font);
	font-size: 14px;
	line-height: 20px;
}

/* Checkbox + radio (same box as pd-woo) */
.pd-gform .gfield input[type="checkbox"],
.pd-gform .gfield input[type="radio"],
#top #wrap_all .pd-gform .gfield input[type="checkbox"],
#top #wrap_all .pd-gform .gfield input[type="radio"] {
	-webkit-appearance: none;
	appearance: none;
	flex: 0 0 auto;
	box-sizing: border-box;
	display: inline-block;
	position: static;
	width: var(--pd-gform-cb);
	height: var(--pd-gform-cb);
	min-width: 0;
	min-height: 0;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	border-top: 1px solid var(--pd-gform-box);
	border-right: 1px solid var(--pd-gform-box);
	border-bottom: 1px solid var(--pd-gform-box);
	border-left: 1px solid var(--pd-gform-box);
	border-radius: 0;
	background-color: transparent;
	background-image: none;
	background-position: center;
	background-repeat: no-repeat;
	background-size: var(--pd-gform-cb-tick) var(--pd-gform-cb-tick);
	box-shadow: none;
	opacity: 1;
	visibility: visible;
	cursor: pointer;
	vertical-align: middle;
	transition: border-color var(--pd-gform-speed) ease, background-color var(--pd-gform-speed) ease;
}

.pd-gform .gfield input[type="radio"],
#top #wrap_all .pd-gform .gfield input[type="radio"] {
	border-radius: 50%;
}

.pd-gform .gfield input[type="checkbox"]:hover,
.pd-gform .gfield input[type="radio"]:hover,
#top #wrap_all .pd-gform .gfield input[type="checkbox"]:hover,
#top #wrap_all .pd-gform .gfield input[type="radio"]:hover {
	border-top-color: var(--pd-gform-text);
	border-right-color: var(--pd-gform-text);
	border-bottom-color: var(--pd-gform-text);
	border-left-color: var(--pd-gform-text);
}

.pd-gform .gfield input[type="checkbox"]:checked,
#top #wrap_all .pd-gform .gfield input[type="checkbox"]:checked {
	background-color: var(--pd-gform-red);
	background-image: var(--pd-gform-cb-img);
	border-top-color: var(--pd-gform-red);
	border-right-color: var(--pd-gform-red);
	border-bottom-color: var(--pd-gform-red);
	border-left-color: var(--pd-gform-red);
}

.pd-gform .gfield input[type="radio"]:checked,
#top #wrap_all .pd-gform .gfield input[type="radio"]:checked {
	background-color: transparent;
	background-image: radial-gradient(circle, var(--pd-gform-red) 0 calc(var(--pd-gform-cb) / 4), transparent calc(var(--pd-gform-cb) / 4 + 0.5px));
	background-size: 100% 100%;
	border-top-color: var(--pd-gform-red);
	border-right-color: var(--pd-gform-red);
	border-bottom-color: var(--pd-gform-red);
	border-left-color: var(--pd-gform-red);
}

.pd-gform .gfield_error input[type="checkbox"]:not(:checked),
.pd-gform .gfield_error input[type="radio"]:not(:checked),
#top #wrap_all .pd-gform .gfield_error input[type="checkbox"]:not(:checked),
#top #wrap_all .pd-gform .gfield_error input[type="radio"]:not(:checked) {
	border-top-color: var(--pd-gform-red);
	border-right-color: var(--pd-gform-red);
	border-bottom-color: var(--pd-gform-red);
	border-left-color: var(--pd-gform-red);
}

.pd-gform .gfield input[type="checkbox"]:focus-visible,
.pd-gform .gfield input[type="radio"]:focus-visible,
#top #wrap_all .pd-gform .gfield input[type="checkbox"]:focus-visible,
#top #wrap_all .pd-gform .gfield input[type="radio"]:focus-visible {
	outline: 2px solid var(--pd-gform-text);
	outline-offset: 2px;
}

/* ---------- Descriptions and validation messages ---------- */
.pd-gform .gfield > .gfield_description:not(.gfield_consent_description),
#top #wrap_all .pd-gform .gfield > .gfield_description:not(.gfield_consent_description) {
	--fs: 14px;
	--lh: 20px;
	margin-top: calc(var(--pd-gform-gap) - var(--pd-nav-tt));
	color: var(--pd-gform-muted);
}

.pd-gform .gfield > .gfield_description.validation_message,
#top #wrap_all .pd-gform .gfield > .gfield_description.validation_message {
	color: var(--pd-gform-error);
}

.pd-gform .gfield input[type="file"],
#top #wrap_all .pd-gform .gfield input[type="file"] {
	margin-top: var(--pd-gform-gap);
	color: var(--pd-gform-muted);
	font-family: var(--pd-nav-font);
	font-size: 14px;
}

/* ---------- Section break / HTML ---------- */
.pd-gform .gsection,
#top #wrap_all .pd-gform .gsection {
	padding-bottom: var(--pd-gform-gap);
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: var(--pd-gform-line);
}

.pd-gform .gsection_title,
#top #wrap_all .pd-gform .gsection_title {
	--fs: 22px;
	--lh: 32px;
	color: var(--pd-gform-text);
}

.pd-gform .gfield_html,
#top #wrap_all .pd-gform .gfield_html {
	color: var(--pd-gform-soft);
	font-family: var(--pd-nav-font);
	font-size: 16px;
	line-height: 24px;
}

/* ---------- Footer + button (Figma 73:3019 — red, 59 tall, full width) ---------- */
.pd-gform .gform_footer,
.pd-gform .gform_page_footer,
#top #wrap_all .pd-gform .gform_footer,
#top #wrap_all .pd-gform .gform_page_footer {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 16px;
	row-gap: 16px;
	width: auto;
	margin-top: var(--pd-gform-row);
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
}

.pd-gform .gform_footer :where(input[type="submit"], input[type="button"], button),
.pd-gform .gform_page_footer :where(input[type="submit"], input[type="button"], button),
#top #wrap_all .pd-gform .gform_footer :where(input[type="submit"], input[type="button"], button),
#top #wrap_all .pd-gform .gform_page_footer :where(input[type="submit"], input[type="button"], button) {
	flex-grow: var(--pd-gform-btn-grow);
	flex-shrink: 1;
	flex-basis: auto;
	box-sizing: border-box;
	display: block;
	width: auto;
	min-width: 0;
	max-width: none;
	height: var(--pd-gform-btn-h);
	min-height: 0;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding-top: 1px;      /* 24 above the cap box, 23.5 below, as 73:3019 */
	padding-bottom: 0;
	padding-left: 32px;
	padding-right: 32px;
	border-top: 0 none;
	border-right: 0 none;
	border-bottom: 0 none;
	border-left: 0 none;
	border-radius: 0;
	background-color: var(--pd-gform-btn-bg);
	background-image: none;
	box-shadow: none;
	color: var(--pd-gform-btn-color);
	font-family: var(--pd-nav-font);
	font-size: 16px;
	font-weight: 400;
	font-style: normal;
	line-height: calc(var(--pd-gform-btn-h) - 1px);
	letter-spacing: 0.03em;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	text-shadow: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: background-color var(--pd-gform-speed) ease, color var(--pd-gform-speed) ease;
}

.pd-gform .gform_footer :where(input[type="submit"], input[type="button"], button):hover,
.pd-gform .gform_page_footer :where(input[type="submit"], input[type="button"], button):hover,
#top #wrap_all .pd-gform .gform_footer :where(input[type="submit"], input[type="button"], button):hover,
#top #wrap_all .pd-gform .gform_page_footer :where(input[type="submit"], input[type="button"], button):hover {
	background-color: var(--pd-gform-btn-bg-on);
	color: var(--pd-gform-btn-color);
}

/* Light button (13:3395): content width, tinted ink fill, corner brackets — pd-button's 8-layer technique,
   drawn with this package's own rule so nothing depends on another package's CSS. */
.pd-gform.pd-gform--light .gform_footer :where(input[type="submit"], input[type="button"], button),
.pd-gform.pd-gform--light .gform_page_footer :where(input[type="submit"], input[type="button"], button),
#top #wrap_all .pd-gform.pd-gform--light .gform_footer :where(input[type="submit"], input[type="button"], button),
#top #wrap_all .pd-gform.pd-gform--light .gform_page_footer :where(input[type="submit"], input[type="button"], button) {
	background-image:
		linear-gradient(#161414, #161414), linear-gradient(#161414, #161414),
		linear-gradient(#161414, #161414), linear-gradient(#161414, #161414),
		linear-gradient(#161414, #161414), linear-gradient(#161414, #161414),
		linear-gradient(#161414, #161414), linear-gradient(#161414, #161414);
	background-size:
		8px 2px, 2px 8px,
		8px 2px, 2px 8px,
		8px 2px, 2px 8px,
		8px 2px, 2px 8px;
	background-position:
		left top, left top,
		right top, right top,
		left bottom, left bottom,
		right bottom, right bottom;
	background-repeat: no-repeat;
}

.pd-gform.pd-gform--light .gform_footer,
.pd-gform.pd-gform--light .gform_page_footer,
#top #wrap_all .pd-gform.pd-gform--light .gform_footer,
#top #wrap_all .pd-gform.pd-gform--light .gform_page_footer {
	justify-content: flex-start;
}

.pd-gform .gform_footer :where(input[type="submit"], input[type="button"], button):focus-visible,
.pd-gform .gform_page_footer :where(input[type="submit"], input[type="button"], button):focus-visible,
#top #wrap_all .pd-gform .gform_footer :where(input[type="submit"], input[type="button"], button):focus-visible,
#top #wrap_all .pd-gform .gform_page_footer :where(input[type="submit"], input[type="button"], button):focus-visible {
	outline: 2px solid var(--pd-gform-btn-color);
	outline-offset: 2px;
}

.pd-gform .gform_footer :where(input, button):disabled,
.pd-gform .gform_page_footer :where(input, button):disabled,
#top #wrap_all .pd-gform .gform_footer :where(input, button):disabled,
#top #wrap_all .pd-gform .gform_page_footer :where(input, button):disabled {
	opacity: 0.6;
	cursor: default;
}

/* Previous page / save & continue: the quiet version */
.pd-gform .gform_page_footer .gform_previous_button,
.pd-gform .gform_footer .gform_save_link,
.pd-gform .gform_page_footer .gform_save_link,
#top #wrap_all .pd-gform .gform_page_footer .gform_previous_button,
#top #wrap_all .pd-gform .gform_footer .gform_save_link,
#top #wrap_all .pd-gform .gform_page_footer .gform_save_link {
	background-color: transparent;
	border-top: 1px solid var(--pd-gform-line);
	border-right: 1px solid var(--pd-gform-line);
	border-bottom: 1px solid var(--pd-gform-line);
	border-left: 1px solid var(--pd-gform-line);
}

.pd-gform .gform_page_footer .gform_previous_button:hover,
.pd-gform .gform_footer .gform_save_link:hover,
.pd-gform .gform_page_footer .gform_save_link:hover,
#top #wrap_all .pd-gform .gform_page_footer .gform_previous_button:hover,
#top #wrap_all .pd-gform .gform_footer .gform_save_link:hover,
#top #wrap_all .pd-gform .gform_page_footer .gform_save_link:hover {
	background-color: rgba(255, 255, 255, 0.08);
}

/* AJAX spinner sits on the button instead of taking a flex slot */
.pd-gform .gform_ajax_spinner,
.pd-gform .gform-loader,
#top #wrap_all .pd-gform .gform_ajax_spinner,
#top #wrap_all .pd-gform .gform-loader {
	position: absolute;
	top: 50%;
	right: 20px;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
}

/* ---------- Confirmation ---------- */
.pd-gform .gform_confirmation_message,
#top #wrap_all .pd-gform .gform_confirmation_message {
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	color: var(--pd-gform-text);
	font-family: var(--pd-nav-font);
	font-size: 18px;
	line-height: 28px;
}

/* The 40px column gap is applied last, so it wins over the flat-gap defaults above
   (a container query does not raise specificity). */
@container pd-gform (min-width: 580px) {
	.pd-gform .gform_fields,
#top #wrap_all .pd-gform .gform_fields { column-gap: var(--pd-gform-col); }
	.pd-gform .ginput_complex,
#top #wrap_all .pd-gform .ginput_complex { column-gap: var(--pd-gform-col); }
}

@media (prefers-reduced-motion: reduce) {
	.pd-gform .gfield :where(input, select, textarea),
	.pd-gform .gform_footer :where(input, button),
	.pd-gform .gform_page_footer :where(input, button),
	#top #wrap_all .pd-gform .gfield :where(input, select, textarea),
	#top #wrap_all .pd-gform .gform_footer :where(input, button),
	#top #wrap_all .pd-gform .gform_page_footer :where(input, button) {
		transition-duration: 0s;
	}
}
