/**
 * Sticky bottom CTA bar — Figma node 1860:1002678
 * Desktop only (≥993px). Uses delco-tokens.css.
 */

.delco-bottom-cta {
	display: none;
}

@media (min-width: 993px) {
	.delco-bottom-cta {
		--delco-bottom-cta-pad-y: 1.4rem;
		--delco-bottom-cta-control-h: 3.8rem;
		--delco-bottom-cta-offset: calc(var(--delco-bottom-cta-pad-y) * 2 + var(--delco-bottom-cta-control-h));
		--delco-bottom-cta-ease: cubic-bezier(0.22, 1, 0.36, 1);
		--delco-bottom-cta-duration: 0.45s;

		display: block;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1090;
		background: var(--delco-color-bg-cta-dark, #3f4853);
		box-shadow: 0 -0.4rem 2rem rgba(0, 0, 0, 0.18);
		transform: translateY(0);
		transition:
			transform var(--delco-bottom-cta-duration) var(--delco-bottom-cta-ease),
			box-shadow var(--delco-bottom-cta-duration) var(--delco-bottom-cta-ease),
			visibility 0s linear;
		will-change: transform;
	}

	body.dialog_opened .delco-bottom-cta {
		transform: translateY(100%);
		box-shadow: none;
		pointer-events: none;
		visibility: hidden;
		transition:
			transform var(--delco-bottom-cta-duration) var(--delco-bottom-cta-ease),
			box-shadow var(--delco-bottom-cta-duration) var(--delco-bottom-cta-ease),
			visibility 0s linear var(--delco-bottom-cta-duration);
	}

	body:has(.delco-bottom-cta) {
		padding-bottom: var(--delco-bottom-cta-offset, 6.6rem);
		transition: padding-bottom var(--delco-bottom-cta-duration) var(--delco-bottom-cta-ease);
	}

	body.dialog_opened:has(.delco-bottom-cta) {
		padding-bottom: 0;
	}

	.delco-bottom-cta__inner {
		max-width: var(--delco-nav-max-width, 148rem);
		margin: 0 auto;
		padding: var(--delco-bottom-cta-pad-y) 5.2rem;
		box-sizing: border-box;
	}

	.delco-bottom-cta__form {
		display: flex;
		align-items: center;
		gap: 4rem;
		margin: 0;
		min-height: var(--delco-bottom-cta-control-h);
	}

	.delco-bottom-cta__field {
		flex: 1 1 0;
		min-width: 0;
		margin: 0;
		display: flex;
		align-items: center;
	}

	.delco-bottom-cta__input {
		display: block;
		width: 100%;
		height: var(--delco-bottom-cta-control-h);
		margin: 0;
		padding: 0 2rem;
		border: none;
		border-radius: 0.8rem;
		background: #ffffff;
		color: var(--delco-color-text-primary, #323c48);
		font-family: var(--delco-font-body);
		font-size: 1.8rem;
		font-weight: 400;
		line-height: var(--delco-bottom-cta-control-h);
		box-sizing: border-box;
		-webkit-appearance: none;
		appearance: none;
		transition: box-shadow 0.2s ease;
	}

	.delco-bottom-cta__input::placeholder {
		color: #6c6c6c;
		opacity: 1;
		line-height: var(--delco-bottom-cta-control-h);
	}

	.delco-bottom-cta__input:focus {
		outline: none;
		box-shadow: 0 0 0 2px var(--delco-color-brand-blue, #4779b9);
	}

	.delco-bottom-cta__input.validate_error {
		box-shadow: 0 0 0 2px #b35654;
	}

	.delco-bottom-cta__submit {
		flex: 0 0 auto;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		height: var(--delco-bottom-cta-control-h);
		margin: 0;
		padding: 0 2rem;
		border: 1px solid var(--delco-color-brand-blue, #4779b9);
		border-radius: 0.5rem;
		background: var(--delco-color-brand-blue, #4779b9);
		color: var(--delco-color-text-inverse, #ffffff);
		font-family: var(--delco-font-heading);
		font-size: 1.4rem;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.28rem;
		text-transform: uppercase;
		white-space: nowrap;
		cursor: pointer;
		transition: background 0.2s ease, border-color 0.2s ease;
	}

	.delco-bottom-cta__submit:hover,
	.delco-bottom-cta__submit:focus {
		background: var(--delco-color-brand-blue-deep, #3d6ba5);
		border-color: var(--delco-color-brand-blue-deep, #3d6ba5);
		color: #ffffff;
		outline: none;
	}

	.delco-bottom-cta__submit:disabled {
		opacity: 0.65;
		cursor: not-allowed;
	}

	.delco-bottom-cta .visually-hidden {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}
}
