/**
 * Contact map block CSS.
 *
 * Unique class:
 * - atb-contact-map
 */

.atb-contact-map {
	padding: 0 20px 52px;
	background: transparent;
}

.atb-contact-map__inner {
	width: min(1180px, 100%);
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(320px, 0.72fr) minmax(0, 1.28fr);
	gap: 22px;
	align-items: stretch;
}

.atb-contact-map__content,
.atb-contact-map__visual {
	border-radius: 4px;
	box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
}

.atb-contact-map__content {
	padding: 30px;
	background: rgba(255, 255, 255, 0.98);
	border: 1px solid rgba(15, 23, 42, 0.07);
}

.atb-contact-map__eyebrow {
	margin: 0 0 9px;
	color: #0b63ce;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.atb-contact-map__title {
	margin: 0;
	color: #0f172a;
	font-size: clamp(28px, 4vw, 38px);
	line-height: 1.05;
	letter-spacing: -0.045em;
}

.atb-contact-map__text {
	margin: 13px 0 0;
	color: #667085;
	font-size: 15px;
	line-height: 1.65;
}

.atb-contact-map__address {
	display: grid;
	gap: 6px;
	margin-top: 22px;
	padding: 18px;
	border-radius: 4px;
	background: #f7f9fc;
}

.atb-contact-map__address span {
	color: #667085;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.atb-contact-map__address strong {
	color: #0f172a;
	font-size: 15px;
	line-height: 1.3;
}

.atb-contact-map__visual {
	overflow: hidden;
	min-height: 286px;
	background: #07111f;
	border: 1px solid rgba(255, 255, 255, 0.04);
}

.atb-contact-map__visual iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 286px;
	border: 0;
}

.atb-contact-map__placeholder {
	position: relative;
	min-height: 286px;
	height: 100%;
	padding: 28px;
	background:
		radial-gradient(circle at 24% 38%, rgba(11, 99, 206, 0.28), transparent 31%),
		radial-gradient(circle at 72% 52%, rgba(255, 255, 255, 0.08), transparent 28%),
		linear-gradient(135deg, #07111f 0%, #0d1b2f 54%, #07111f 100%);
	color: #ffffff;
}

.atb-contact-map__placeholder::before {
	content: "";
	position: absolute;
	inset: 20px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 4px;
	pointer-events: none;
}

.atb-contact-map__route {
	position: absolute;
	left: 50%;
	top: 50%;
	width: min(520px, calc(100% - 76px));
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 16px;
	align-items: center;
	transform: translate(-50%, -50%);
}

.atb-contact-map__route span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 74px;
	min-height: 42px;
	border-radius: 4px;
	background: #ffffff;
	color: #0f172a;
	font-size: 13px;
	font-weight: 900;
	box-shadow: 0 12px 26px rgba(0, 0, 0, 0.16);
}

.atb-contact-map__route i {
	position: relative;
	display: block;
	height: 2px;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.72));
}

.atb-contact-map__route i::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: 11px;
	height: 11px;
	border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	transform: translateY(-50%) rotate(45deg);
}

.atb-contact-map__pin {
	position: absolute;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 9px 12px;
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.12);
	color: #ffffff;
	font-size: 12px;
	font-weight: 900;
	backdrop-filter: blur(12px);
}

.atb-contact-map__pin--airport {
	left: 30px;
	bottom: 28px;
}

.atb-contact-map__pin--city {
	right: 30px;
	top: 28px;
}

@media (max-width: 900px) {
	.atb-contact-map__inner {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.atb-contact-map {
		padding: 0 16px 42px;
	}

	.atb-contact-map__content,
	.atb-contact-map__visual {
		border-radius: 4px;
	}

	.atb-contact-map__content {
		padding: 22px;
	}

	.atb-contact-map__route {
		grid-template-columns: 1fr;
		width: auto;
		text-align: center;
	}

	.atb-contact-map__route i {
		width: 2px;
		height: 62px;
		margin: 0 auto;
	}

	.atb-contact-map__route i::after {
		right: 50%;
		top: auto;
		bottom: 0;
		transform: translateX(50%) rotate(135deg);
	}
}
