/*
 * DCS Agency mobile quote-form stability layer.
 *
 * This file is intentionally scoped to the existing .dcs-form system. It does
 * not replace the verified lead handler or alter submitted field values.
 */

.dcs-form-notice {
	margin-bottom: 22px;
	padding: 14px 16px;
	border: 1px solid;
	border-radius: 11px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
}

.dcs-form-notice--success {
	border-color: #8fd4c8;
	color: #075d50;
	background: #e8f8f4;
}

.dcs-form-notice--error {
	border-color: #e0a1a1;
	color: #7c1f1f;
	background: #fff1f1;
}

html.dcs-mobile-form-page {
	scroll-behavior: auto !important;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

/*
 * Keep off-canvas navigation and the visually hidden skip link out of mobile
 * hit testing. Keyboard users still receive the skip link as soon as it has
 * focus, and the mobile menu becomes interactive only while it is open.
 */
.dcs-shell-skip-link {
	pointer-events: none !important;
}

.dcs-shell-skip-link:focus,
.dcs-shell-skip-link:focus-visible {
	pointer-events: auto !important;
}

@media (max-width: 1100px) {
	.dcs-shell-nav:not(.is-open) {
		pointer-events: none !important;
	}

	.dcs-shell-nav.is-open {
		pointer-events: auto !important;
	}
}

/*
 * An element identified by the runtime as covering a genuine form control is
 * disabled only for the duration of that one pointer sequence.
 */
.dcs-form-overlap-blocker {
	pointer-events: none !important;
}

.dcs-form label.dcs-field-active {
	color: #075d50 !important;
}

.dcs-form label.dcs-field-active > input,
.dcs-form label.dcs-field-active > select,
.dcs-form label.dcs-field-active > textarea {
	border-color: #007565 !important;
	box-shadow: 0 0 0 3px rgba(0, 117, 101, .13) !important;
}

@media (max-width: 980px) {
	body.dcs-agency-core-active .dcs-agency-template .dcs-quote,
	body .dcs-agency-template .dcs-quote {
		overflow: visible !important;
		overflow-anchor: none !important;
		scroll-snap-align: none !important;
		isolation: isolate !important;
	}

	body.dcs-agency-core-active .dcs-agency-template .dcs-quote__grid,
	body .dcs-agency-template .dcs-quote__grid {
		width: min(calc(100% - 34px), var(--dcs-container, 1240px));
		max-width: 100%;
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		align-items: start !important;
		gap: 38px !important;
		position: relative !important;
		z-index: 2 !important;
	}

	body.dcs-agency-core-active .dcs-agency-template .dcs-form,
	body .dcs-agency-template .dcs-form {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 28px 22px !important;
		overflow: visible !important;
		border-radius: 24px !important;
		transform: none !important;
		contain: none !important;
		overflow-anchor: none !important;
		scroll-snap-align: none !important;
		position: relative !important;
		z-index: 20 !important;
		isolation: isolate !important;
		pointer-events: auto !important;
		touch-action: auto !important;
	}

	body.dcs-agency-core-active .dcs-agency-template .dcs-form__row,
	body .dcs-agency-template .dcs-form__row {
		width: 100% !important;
		min-width: 0 !important;
		display: block !important;
		position: relative !important;
		z-index: 2 !important;
		pointer-events: auto !important;
	}

	body.dcs-agency-core-active .dcs-agency-template .dcs-form label:not(.dcs-consent),
	body .dcs-agency-template .dcs-form label:not(.dcs-consent) {
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 0 19px !important;
		display: block !important;
		font-size: 16px !important;
		line-height: 1.45 !important;
		position: relative !important;
		z-index: 3 !important;
		pointer-events: auto !important;
	}

	body.dcs-agency-core-active .dcs-agency-template .dcs-form input:not([type="hidden"]):not([type="checkbox"]),
	body.dcs-agency-core-active .dcs-agency-template .dcs-form select,
	body.dcs-agency-core-active .dcs-agency-template .dcs-form textarea,
	body .dcs-agency-template .dcs-form input:not([type="hidden"]):not([type="checkbox"]),
	body .dcs-agency-template .dcs-form select,
	body .dcs-agency-template .dcs-form textarea {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: 56px !important;
		margin: 8px 0 0 !important;
		padding: 14px 15px !important;
		display: block !important;
		border-radius: 11px !important;
		font-size: 17px !important;
		line-height: 1.4 !important;
		letter-spacing: 0 !important;
		box-sizing: border-box !important;
		position: relative !important;
		z-index: 10 !important;
		pointer-events: auto !important;
		touch-action: auto !important;
		scroll-snap-align: none !important;
	}

	body.dcs-agency-core-active .dcs-agency-template .dcs-form input:not([type="hidden"]):not([type="checkbox"]),
	body.dcs-agency-core-active .dcs-agency-template .dcs-form textarea,
	body .dcs-agency-template .dcs-form input:not([type="hidden"]):not([type="checkbox"]),
	body .dcs-agency-template .dcs-form textarea {
		-webkit-user-select: text !important;
		user-select: text !important;
	}

	body.dcs-agency-core-active .dcs-agency-template .dcs-form textarea,
	body .dcs-agency-template .dcs-form textarea {
		min-height: 138px !important;
		resize: vertical !important;
	}

	body.dcs-agency-core-active .dcs-agency-template .dcs-form select,
	body .dcs-agency-template .dcs-form select {
		padding-right: 42px !important;
		-webkit-appearance: menulist !important;
		appearance: auto !important;
	}

	body.dcs-agency-core-active .dcs-agency-template .dcs-consent,
	body .dcs-agency-template .dcs-consent {
		width: 100% !important;
		min-width: 0 !important;
		margin: 2px 0 22px !important;
		display: grid !important;
		grid-template-columns: 22px minmax(0, 1fr) !important;
		align-items: start !important;
		gap: 10px !important;
		font-size: 15px !important;
		line-height: 1.55 !important;
		position: relative !important;
		z-index: 3 !important;
		pointer-events: auto !important;
	}

	body.dcs-agency-core-active .dcs-agency-template .dcs-consent input[type="checkbox"],
	body .dcs-agency-template .dcs-consent input[type="checkbox"] {
		width: 20px !important;
		height: 20px !important;
		min-height: 20px !important;
		margin: 3px 0 0 !important;
		padding: 0 !important;
		transform: none !important;
		position: relative !important;
		z-index: 10 !important;
		pointer-events: auto !important;
	}

	body.dcs-agency-core-active .dcs-agency-template .dcs-button--form,
	body .dcs-agency-template .dcs-button--form {
		width: 100% !important;
		min-height: 58px !important;
		padding: 15px 18px !important;
		white-space: normal !important;
		font-size: 16px !important;
		line-height: 1.35 !important;
		touch-action: manipulation;
		position: relative !important;
		z-index: 10 !important;
		pointer-events: auto !important;
	}

	body.dcs-agency-core-active .dcs-agency-template .dcs-form__note,
	body .dcs-agency-template .dcs-form__note {
		margin: 15px 0 0 !important;
		font-size: 14px !important;
		line-height: 1.55 !important;
	}

	body.dcs-agency-core-active .dcs-agency-template .dcs-form::before,
	body.dcs-agency-core-active .dcs-agency-template .dcs-form::after,
	body.dcs-agency-core-active .dcs-agency-template .dcs-form__row::before,
	body.dcs-agency-core-active .dcs-agency-template .dcs-form__row::after,
	body.dcs-agency-core-active .dcs-agency-template .dcs-form label::before,
	body.dcs-agency-core-active .dcs-agency-template .dcs-form label::after,
	body .dcs-agency-template .dcs-form::before,
	body .dcs-agency-template .dcs-form::after,
	body .dcs-agency-template .dcs-form__row::before,
	body .dcs-agency-template .dcs-form__row::after,
	body .dcs-agency-template .dcs-form label::before,
	body .dcs-agency-template .dcs-form label::after {
		pointer-events: none !important;
	}
}

@media (max-width: 420px) {
	body.dcs-agency-core-active .dcs-agency-template .dcs-quote__grid,
	body .dcs-agency-template .dcs-quote__grid {
		width: min(calc(100% - 24px), var(--dcs-container, 1240px));
	}

	body.dcs-agency-core-active .dcs-agency-template .dcs-form,
	body .dcs-agency-template .dcs-form {
		padding: 24px 16px !important;
		border-radius: 20px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html.dcs-mobile-form-page,
	.dcs-form,
	.dcs-form * {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}
