/* Quick quote form (inc/quick-form.php): the short form on service and industry pages,
   the form inside the pricing plan finder, and the bottom bar on phones. */
.cn-quick {
	background: #fff;
	border: 1px solid var(--cn-border, #d6e3e8);
	border-top: 4px solid var(--cn-teal, #00b6b1);
	border-radius: 12px;
	padding: 1.25rem 1.25rem 1.15rem;
	box-shadow: 0 18px 40px -30px rgba(6, 32, 55, .5);
	scroll-margin-top: calc(var(--cn-header-h, 4rem) + 1rem);
}
@media (min-width: 640px) { .cn-quick { padding: 1.5rem 1.6rem 1.35rem; } }
.entry-content > .cn-quick { margin-top: 1.75rem; }
.entry-content > .cn-quick + * { margin-top: 1.75rem; }
.cn-quick__title {
	margin: 0;
	font-family: var(--cn-font-head, Georgia, serif); font-weight: 600;
	font-size: 1.5rem; line-height: 1.2; color: var(--cn-navy, #062037);
}
.cn-quick__text { margin: .4rem 0 0; font-size: .97rem; line-height: 1.5; color: var(--cn-muted, #4f6272); }
.cn-quick .cn-alert { margin: .9rem 0 0; }
.cn-quick .cn-form, .cn-finder__form { gap: .8rem; margin-top: 1rem; }
.cn-quick__row { display: grid; gap: .8rem; }
.cn-quick .cn-form label, .cn-finder__form label { font-size: .86rem; margin-bottom: .3rem; }
.cn-quick__row--end .cn-submit { width: 100%; white-space: nowrap; }
@media (min-width: 640px) {
	.cn-quick__row { grid-template-columns: 1fr 1fr 1fr; }
	.cn-quick__row--end { grid-template-columns: 1fr auto; align-items: end; }
	.cn-quick__row--end .cn-submit { width: auto; min-height: 48px; padding-block: .7rem; }
}

/* Inside the pricing plan finder */
.cn-finder__ask { scroll-margin-top: calc(var(--cn-header-h, 4rem) + 1rem); }
.cn-finder__form[hidden] { display: none; }
.cn-finder__form { margin-top: 1.1rem; padding-top: 1.1rem; border-top: 1px solid var(--cn-border, #d6e3e8); }
.cn-finder__asktitle { margin: 0; font-weight: 650; font-size: 1.02rem; color: var(--cn-navy, #062037); }
.cn-finder__form .cn-quick__row--end .cn-form__fine { align-self: center; }
.cn-finder__ask .cn-alert { margin: 1.1rem 0 0; }

/* Bottom bar on phones */
.cn-qbar { display: none; }
@media (max-width: 699.98px) {
	.cn-qbar {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
		display: flex; gap: .6rem; align-items: stretch;
		padding: .6rem .75rem calc(.6rem + env(safe-area-inset-bottom, 0px));
		background: rgba(255, 255, 255, .97);
		border-top: 1px solid var(--cn-border, #d6e3e8);
		box-shadow: 0 -10px 30px -22px rgba(6, 32, 55, .55);
		transition: transform .25s ease, opacity .25s ease;
	}
	.cn-qbar.is-hidden { transform: translateY(110%); opacity: 0; pointer-events: none; }
	.cn-qbar__call {
		flex: none; display: inline-flex; align-items: center; justify-content: center;
		min-width: 5rem; min-height: 48px; padding: 0 1rem;
		border: 2px solid var(--cn-teal-dark, #00736f); border-radius: 6px;
		color: var(--cn-teal-dark, #00736f); font-weight: 600; text-decoration: none;
	}
	.cn-qbar .cn-qbar__go { flex: 1; min-height: 48px; padding: .6rem .9rem; text-align: center; }
	.has-qbar body { padding-bottom: 4.6rem; }
	.nav-open .cn-qbar { display: none; }
}
@media print { .cn-quick, .cn-qbar { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .cn-qbar { transition: none; } }
/* The page's own "contact" button right under the form would repeat it. */
.cn-quick + .wp-block-buttons > .wp-block-button:has(> a[href$="/contact/"]) { display: none; }
