/**
 * Grady Property Restoration — Conditional lead form styles
 */

.grady-cform {
	padding: clamp(var(--spacing-8), 6vw, var(--spacing-12));
	background: var(--color-charcoal);
	border: var(--border-width) solid var(--divider-bronze-muted);
	border-radius: var(--radius-sm);
	color: var(--color-text-on-dark);
}

.grady-cform__heading {
	margin: 0 0 var(--space-3);
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: var(--font-weight-bold);
	letter-spacing: var(--letter-spacing-trust);
	color: var(--color-white);
}

.grady-cform__lede {
	margin: 0 0 var(--space-5);
	max-width: 42rem;
	font-size: var(--font-size-md);
	line-height: var(--line-height-body-lg);
	color: var(--color-text-on-dark-muted);
}

.grady-cform__intro-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
}

.grady-cform__progress {
	margin-bottom: var(--space-4);
	padding-bottom: var(--space-3);
	border-bottom: var(--border-width) solid var(--divider-bronze-muted);
}

.grady-cform__progress-text {
	margin: 0;
	font-family: var(--font-display);
	font-size: var(--font-size-xs);
	font-weight: var(--font-weight-semibold);
	letter-spacing: var(--letter-spacing-wide);
	text-transform: uppercase;
	color: var(--color-bronze);
}

.grady-cform__errors {
	margin-bottom: var(--space-4);
	padding: var(--space-4);
	background: rgb(120 32 32 / 0.35);
	border: var(--border-width) solid rgb(180 80 80 / 0.45);
	border-radius: var(--radius-sm);
	color: var(--color-white);
}

.grady-cform__error-summary,
.cform-error-summary {
	margin-bottom: var(--space-4);
	padding: var(--space-4);
	background: rgb(120 32 32 / 0.35);
	border: var(--border-width) solid rgb(180 80 80 / 0.45);
	border-radius: var(--radius-sm);
	color: var(--color-white);
	font-size: var(--font-size-sm);
	line-height: var(--line-height-body-lg);
}

.grady-cform__error-summary:focus,
.cform-error-summary:focus {
	outline: var(--focus-ring-width) solid var(--focus-ring-color);
	outline-offset: 2px;
}

.grady-cform__error-list {
	margin: 0;
	padding-left: var(--space-4);
}

.grady-cform__form {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}

.grady-cform__step {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}

.grady-cform__field {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}

.grady-cform__label,
.grady-cform__fieldset legend {
	font-family: var(--font-display);
	font-size: var(--font-size-3xs);
	font-weight: var(--font-weight-semibold);
	letter-spacing: var(--letter-spacing-wide);
	text-transform: uppercase;
	color: var(--color-text-on-dark-muted);
}

.grady-cform__input,
.grady-cform__form textarea {
	width: 100%;
	min-height: 2.75rem;
	padding: 0.75rem 1rem;
	border: var(--border-width) solid var(--divider-bronze-muted);
	border-radius: var(--radius-sm);
	background: rgb(9 9 9 / 0.55);
	color: var(--color-white);
	font: inherit;
	line-height: var(--line-height-body);
}

.grady-cform__input:focus-visible,
.grady-cform__form textarea:focus-visible {
	outline: var(--focus-ring-width) solid var(--focus-ring-color);
	outline-offset: 2px;
	border-color: var(--color-bronze);
}

.grady-cform__form textarea {
	min-height: 8rem;
	resize: vertical;
}

.grady-cform__fieldset {
	margin: 0;
	padding: 0;
	border: none;
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}

.grady-cform__radio,
.grady-cform__check {
	display: flex;
	align-items: flex-start;
	gap: var(--space-3);
	padding: var(--space-3) var(--space-4);
	min-height: 2.75rem;
	border: var(--border-width) solid var(--divider-bronze-muted);
	border-radius: var(--radius-sm);
	background: rgb(9 9 9 / 0.35);
	font-size: var(--font-size-sm);
	line-height: var(--line-height-body-lg);
	color: var(--color-text-on-dark);
	cursor: pointer;
}

.grady-cform__radio.is-disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

.grady-cform__radio input,
.grady-cform__check input {
	margin-top: 0.15rem;
	min-width: 1.125rem;
	min-height: 1.125rem;
	accent-color: var(--color-bronze);
}

.grady-cform__notice {
	padding: var(--space-4);
	border-radius: var(--radius-sm);
	border: var(--border-width) solid var(--divider-bronze-muted);
}

.grady-cform__notice--urgent {
	background: rgb(185 155 104 / 0.12);
	border-color: var(--color-bronze);
}

.grady-cform__notice--warning {
	background: rgb(120 80 32 / 0.2);
}

.grady-cform__notice p {
	margin: 0 0 var(--space-3);
	font-size: var(--font-size-sm);
	line-height: var(--line-height-body-lg);
	color: var(--color-text-on-dark-muted);
}

.grady-cform__notice-call {
	margin-top: var(--space-2);
}

.grady-cform__consent {
	display: flex;
	align-items: flex-start;
	gap: var(--space-3);
	font-size: var(--font-size-sm);
	line-height: var(--line-height-body-lg);
	color: var(--color-text-on-dark-muted);
}

.grady-cform__consent input {
	margin-top: 0.2rem;
	min-width: 1.125rem;
	min-height: 1.125rem;
	accent-color: var(--color-bronze);
}

.grady-cform__consent a {
	color: var(--color-bronze);
}

.grady-cform__photos-note {
	margin: 0;
	font-size: var(--font-size-sm);
	color: var(--color-text-on-dark-muted);
}

.grady-cform__turnstile {
	min-height: 4rem;
}

.grady-cform__turnstile-error {
	margin: 0;
	padding: var(--space-4);
	font-size: var(--font-size-sm);
	line-height: var(--line-height-body-lg);
	color: var(--color-white);
	background: rgb(120 32 32 / 0.35);
	border: var(--border-width) solid rgb(180 80 80 / 0.45);
	border-radius: var(--radius-sm);
}

.grady-cform__nav {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	margin-top: var(--space-4);
	padding-top: var(--space-4);
	border-top: var(--border-width) solid var(--divider-bronze-muted);
}

.grady-cform__nav .grady-btn {
	min-height: 2.75rem;
	min-width: 8rem;
}

.grady-cform__nav .grady-btn.is-loading {
	opacity: 0.75;
	cursor: wait;
}

.grady-cform__honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	pointer-events: none;
}

.grady-cform__honeypot input {
	pointer-events: none;
}

.wdr-request-help {
	padding-block: clamp(var(--spacing-12), 10vw, var(--spacing-15));
	background: var(--color-graphite);
	scroll-margin-top: 5rem;
}

.wdr-request-help__inner {
	max-width: var(--wrap-max, 72rem);
	margin-inline: auto;
	padding-inline: var(--space-4);
}

@media (max-width: 47.99rem) {
	.wdr-request-help {
		scroll-margin-top: 6.5rem;
		padding-bottom: calc(var(--spacing-12) + 4.5rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	.grady-cform * {
		transition: none !important;
	}
}
