/* ==================== «Контакты» (page /contacts/, template page-sidebar) ==================== */

/* Content of the page:
   webmaster/map.contacts-map (iframe Google Maps, blocks/map)
   → group.contacts (grid: group.contacts__info | group.contacts__form)
     __info: group.contacts__block × 3 — heading.contacts__title + p.contacts__item.is-address|is-phone|is-time|is-email
             (icon — absolute ::before by class, the text may contain <br>; a new phone = copy the paragraph)
     __form (contentOnly): heading.contacts__form-title + Fluent Form 6 «Контакты» (field styles — order-form.css).
   Selectors without the template wrapper — the same rules work in the editor. Sizes — --contacts-*. */

/* ---------- Map ---------- */

.contacts-map{
	box-sizing: border-box;
	height: var(--contacts-map-height);
	background: var(--color-border, #e5e5e5);
}

/* ≤781 — map edge to edge of the screen (beats .page-sidebar__content > * margin from about.css) */
.page-sidebar .page-sidebar__content > .contacts-map{
	margin-inline: calc(-1 * var(--contacts-map-bleed));
}

.contacts-map iframe{
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.contacts-map.is-empty{
	display: flex;
	align-items: center;
	justify-content: center;
	height: auto;
	padding: 40px 20px;
	font-size: 15px;
	text-align: center;
}

/* ---------- Info + form ---------- */

.page-sidebar .page-sidebar__content > .contacts-map + .contacts,
.editor-styles-wrapper .contacts-map + .contacts{
	margin-top: calc(var(--contacts-top) - var(--about-block-gap));
}

.contacts{
	display: grid;
	grid-template-columns: minmax(0, 1fr) var(--contacts-form-width);
	gap: var(--contacts-gap);
	align-items: start;
}

.contacts .contacts__info{
	margin: 0;
	font-size: var(--contacts-text-size);
	line-height: 1.3;
	color: var(--color-black);
}

.contacts .contacts__info .contacts__block{
	margin: 0 0 var(--contacts-block-gap);
}

.contacts .contacts__info .contacts__block:last-child{
	margin-bottom: 0;
}

.contacts .contacts__info h3.contacts__title{
	margin: 0 0 var(--contacts-item-gap);
	font-size: var(--contacts-title-size);
	font-weight: 700;
	line-height: 1.3;
	color: var(--color-black);
}

.contacts .contacts__info .contacts__item{
	position: relative;
	margin: 0 0 var(--contacts-item-gap);
	padding-left: calc(var(--contacts-icon-size) + var(--contacts-icon-gap));
}

.contacts .contacts__info .contacts__item:last-child{
	margin-bottom: 0;
}

.contacts .contacts__info .contacts__item::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: var(--contacts-icon-size);
	height: var(--contacts-icon-size);
	background: center / contain no-repeat;
	transform: translateY(-50%);
}

.contacts .contacts__info .contacts__item.is-address::before{
	background-image: url("../icon-marker.svg");
}

.contacts .contacts__info .contacts__item.is-phone::before{
	background-image: url("../icon-phone.svg");
}

.contacts .contacts__info .contacts__item.is-time::before{
	background-image: url("../icon-time.svg");
}

.contacts .contacts__info .contacts__item.is-email::before{
	background-image: url("../icon-email.svg");
}

.contacts .contacts__info .contacts__item a{
	color: inherit;
	text-decoration: none;
	transition: color .2s ease;
}

.contacts .contacts__info .contacts__item a:hover{
	color: var(--color-accent);
}

/* ---------- Form «Связаться с нами прямо сейчас!» ---------- */

.contacts .contacts__form{
	box-sizing: border-box;
	margin: 0;
	padding: var(--contacts-form-pad);
	border-radius: 4px;
	background: var(--contacts-form-bg);
}

.contacts .contacts__form h2.contacts__form-title{ /* h2 — beats .page-sidebar__content h2 (about.css) */
	margin: 0 0 16px;
	font-size: var(--contacts-form-title-size);
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
}

.contacts .contacts__form .fluentform .ff-el-form-control{
	border-color: #fff;
	background: #fff;
}

@media (max-width: 781px){
	.contacts{
		grid-template-columns: minmax(0, 1fr);
	}
}
