/* Contact form dialogs (footer Quick Links) — loaded site-wide */

body.contact-dialog-open {
	overflow: hidden;
}

.contact-dialog {
	position: fixed;
	inset: 0;
	z-index: 10050;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px 12px;
	box-sizing: border-box;
	visibility: hidden;
	pointer-events: none;
}

.contact-dialog.is-open {
	display: flex;
	visibility: visible;
	pointer-events: auto;
}

.contact-dialog__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(5, 25, 34, 0.72);
	cursor: pointer;
}

.contact-dialog__panel {
	position: relative;
	z-index: 2;
	width: min(100%, 1140px);
	max-height: min(92vh, 920px);
	overflow: auto;
	background: #ffffff;
	box-shadow: 0 24px 60px rgba(5, 25, 34, 0.28);
}

.contact-dialog__close {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 5;
	width: 42px;
	height: 42px;
	border: none;
	border-radius: 0;
	background: #051922;
	color: #ffffff;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}

.contact-dialog__close:hover,
.contact-dialog__close:focus {
	background: #fee614;
	color: #051922;
}

.contact-dialog .partner-network-section,
.contact-dialog .quote-request-section {
	padding: 28px 0 36px;
}

.contact-dialog .partner-network-frame,
.contact-dialog .quote-request-frame {
	margin-top: 8px;
}

.contact-page-first-section {
	padding-top: 40px;
}

@media (max-width: 768px) {
	.contact-dialog {
		padding: 12px 8px;
	}

	.contact-dialog__panel {
		max-height: 94vh;
	}

	.contact-dialog .partner-network-frame,
	.contact-dialog .quote-request-frame {
		padding-left: 16px;
		padding-right: 16px;
		padding-bottom: 32px;
	}
}
