/*
 * Информационные страницы: «Доставка и оплата», «Контакты», «О компании» (IPROD, 20.10.2026).
 * Подключается вместе с single.min.css (шапка, подвал, хлебные крошки - как у статей).
 * Шрифты и цвета - сайта: заголовки Palatino, подписи Trebuchet, текст Verdana, зелёный #93af2a.
 * На широком экране разделы идут в две колонки: заголовок слева, текст справа, на всю ширину.
 */
.info-page {
	--info-text: #373836;
	--info-muted: #717171;
	--info-line: #e0e0e0;
	--info-green: #93af2a;
	--info-link: #4e5f16;
	--info-serif: "Palatino Linotype", "Palatino", "Book Antiqua", "Times New Roman", serif;
	--info-label: "Trebuchet MS", "Helvetica", "Tahoma", "Lucida Sans Unicode", "Lucida Grande", "Arial", sans-serif;
	--info-sans: "Verdana", "Arial", sans-serif;
	--info-pad: 15px;
	color: var(--info-text);
	font-family: var(--info-sans);
	padding-bottom: 64px;
}

.info-page ::selection {
	background: #d5fe67;
	color: #1f2419;
}

.info-page__title {
	font-family: var(--info-serif);
	font-weight: 400;
	font-size: 30px;
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: var(--info-text);
	margin: 24px 0 0;
	padding: 0 var(--info-pad);
	text-wrap: balance;
}

.info-page__body {
	padding: 0 var(--info-pad);
}

/* Текст страницы из редактора */
.info-page__content {
	font-size: 15px;
	line-height: 1.7;
}

.info-page__content > :first-child {
	margin-top: 24px;
}

.info-page__content p,
.info-page__content ul,
.info-page__content ol {
	margin: 0 0 16px;
}

.info-lead,
.info-page__content > p:first-child {
	font-family: var(--info-serif);
	font-style: italic;
	font-size: 19px;
	line-height: 1.5;
	margin: 24px 0 8px;
}

.info-page__content h2,
.info-page__h2 {
	font-family: var(--info-serif);
	font-weight: 400;
	font-size: 24px;
	line-height: 1.2;
	color: var(--info-text);
	margin: 44px 0 14px;
	text-wrap: balance;
}

/* в теме у всех li стоит inline-block - в тексте страницы нужен обычный список */
.info-page__content ul {
	display: block;
	list-style: none;
	padding: 0;
}

.info-page__content li {
	display: block;
	position: relative;
	padding: 0 0 0 22px;
	margin: 0 0 8px;
}

.info-page__content li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 0.82em;
	width: 10px;
	height: 1px;
	background: var(--info-green);
}

.info-page__content strong,
.info-page__content b {
	font-weight: 700;
}

/* Ссылки: тёмно-зелёный сайта, контраст с белым 7:1 */
.info-page__content a,
.info-link {
	color: var(--info-link);
	text-decoration: underline;
	text-decoration-color: var(--info-green);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color 0.15s ease-out, text-decoration-color 0.15s ease-out;
}

.info-page__content a:hover,
.info-link:hover {
	color: var(--info-green);
	text-decoration-color: currentColor;
}

/* номер телефона в тексте не разрывается переносом */
.info-page__content a[href^="tel:"] {
	white-space: nowrap;
}

.info-page a:focus-visible {
	outline: 2px solid var(--info-green);
	outline-offset: 3px;
}

.info-link--phone {
	font-family: var(--info-serif);
	font-size: 20px;
	text-decoration: none;
	white-space: nowrap;
}

/* Сроки доставки: регион - срок, строки через линию */
.info-terms {
	margin: 0 0 8px;
	border-bottom: 1px solid var(--info-line);
}

.info-terms__row {
	border-top: 1px solid var(--info-line);
	padding: 14px 0;
}

.info-terms dt {
	font-family: var(--info-serif);
	font-size: 18px;
	line-height: 1.3;
	margin: 0 0 4px;
}

.info-terms dd {
	margin: 0;
}

/* Подписи и значения: адрес, телефон, режим работы */
.info-facts {
	margin: 0;
}

.info-facts__row {
	padding: 12px 0;
	border-top: 1px solid var(--info-line);
}

.info-facts dt {
	font-family: var(--info-label);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--info-muted);
	margin: 0 0 4px;
}

.info-facts dd {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
}

/* Шоурумы */
.info-showrooms {
	margin-top: 8px;
}

.info-showrooms__list {
	display: grid;
	gap: 32px;
}

.info-showroom {
	container-type: inline-size;
}

/* в карточке шоурума подпись и значение рядом - только когда карточка шире 440px */
@container (min-width: 440px) {
	.info-showroom .info-facts__row {
		display: grid;
		grid-template-columns: 130px minmax(0, 1fr);
		gap: 24px;
		align-items: baseline;
	}

	.info-showroom .info-facts dt {
		margin: 0;
	}
}

.info-showroom__city {
	font-family: var(--info-serif);
	font-weight: 400;
	font-size: 22px;
	line-height: 1.2;
	margin: 20px 0 10px;
	color: var(--info-text);
}

.info-showrooms--maps .info-showroom__city {
	font-size: 26px;
	margin-top: 28px;
}

/* Высота карты - 270px: бесплатная карта Яндекса при высоте от ~300px показывает внизу полосу рекламы */
.info-showroom__map {
	position: relative;
	height: 270px;
	margin-top: 16px;
	background: #f4f5f1;
	overflow: hidden;
}

.info-showroom__map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.info-showrooms__more {
	margin: 20px 0 0;
	font-size: 15px;
}

.info-contacts {
	margin-top: 8px;
}

/* О компании: вводный абзац и фото */
.info-about {
	margin: 24px 0 0;
}

.info-about .info-lead {
	margin: 0 0 20px;
}

.info-about__photo {
	margin: 0;
	position: relative;
	aspect-ratio: 863 / 580;
	overflow: hidden;
	background: #f4f5f1;
}

.info-about__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (min-width: 767px) {
	.info-page {
		--info-pad: 30px;
		padding-bottom: 96px;
	}

	.info-page__title {
		font-size: 40px;
		margin-top: 40px;
	}

	.info-page__content {
		font-size: 16px;
	}

	.info-lead,
	.info-page__content > p:first-child {
		font-size: 21px;
	}

	.info-page__content h2,
	.info-page__h2 {
		font-size: 28px;
		margin-top: 56px;
	}

	.info-terms__row,
	.info-contacts .info-facts__row {
		display: grid;
		grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
		gap: 24px;
		align-items: baseline;
	}

	.info-contacts .info-facts__row {
		grid-template-columns: 220px minmax(0, 1fr);
	}

	.info-terms dt,
	.info-contacts .info-facts dt {
		margin: 0;
	}

	.info-showrooms__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 48px;
	}
}

/*
 * Широкий экран: раздел = линия на всю ширину, заголовок слева, текст справа.
 * Текст из редактора идёт плоским списком (h2, p, dl, ul) - сетка раскладывает его сама:
 * h2 встаёт в левую колонку, всё остальное - в правую.
 */
@media (min-width: 1024px) {
	.info-page__content,
	.info-showrooms--titled,
	.info-contacts {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 2.4fr);
		align-items: start;
	}

	.info-page__content > * {
		grid-column: 2;
	}

	.info-page__content > p:first-child {
		grid-column: 1 / -1;
		margin: 32px 0 48px;
		font-size: 24px;
	}

	.info-page__content > h2,
	.info-showrooms--titled > .info-page__h2,
	.info-contacts > .info-page__h2 {
		grid-column: 1;
		margin: 32px 0 0;
		padding: 26px 48px 0 0;
		border-top: 1px solid var(--info-line);
	}

	.info-page__content > h2 + *,
	.info-showrooms--titled > .info-showrooms__list,
	.info-contacts > .info-facts {
		grid-column: 2;
		margin-top: 32px;
		padding-top: 32px;
		border-top: 1px solid var(--info-line);
	}

	.info-showrooms--titled > .info-page__h2,
	.info-contacts > .info-page__h2,
	.info-showrooms--titled > .info-showrooms__list,
	.info-contacts > .info-facts,
	.info-page__content > h2:first-child,
	.info-page__content > h2:first-child + * {
		margin-top: 0;
	}

	.info-page__content > :last-child {
		margin-bottom: 0;
	}

	.info-page__content > h2:has(+ :not(h2) + :not(h2)) {
		grid-row: span 2;
	}

	.info-page__content > h2:has(+ :not(h2) + :not(h2) + :not(h2)) {
		grid-row: span 3;
	}

	.info-page__content > h2:has(+ :not(h2) + :not(h2) + :not(h2) + :not(h2)) {
		grid-row: span 4;
	}


	.info-page__content > h2 + .info-terms {
		padding-top: 18px;
		border-bottom: 0;
		margin-bottom: 8px;
	}

	.info-page__content > h2 + .info-terms > .info-terms__row:first-child {
		border-top: 0;
	}

	.info-page__content + .info-showrooms--titled,
	.info-page__content + .info-contacts,
	.info-showrooms + .info-contacts {
		margin-top: 48px;
	}

	.info-showrooms--titled > .info-showrooms__list {
		padding-top: 10px;
	}

	.info-showrooms--titled .info-showroom__city {
		margin-top: 18px;
	}

	.info-showrooms--titled > .info-showrooms__more {
		grid-column: 2;
	}

	.info-contacts > .info-facts {
		padding-top: 18px;
	}

	.info-contacts > .info-facts > .info-facts__row:first-child {
		border-top: 0;
	}

	.info-about {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
		gap: 64px;
		align-items: center;
		margin: 32px 0 56px;
	}

	.info-about .info-lead {
		font-size: 24px;
		margin: 0;
	}
}

@media (min-width: 1240px) {
	.info-page {
		--info-pad: 80px;
	}

	.info-page__title {
		font-size: 48px;
		margin-top: 56px;
	}
}
