/* ==========================================================================
   Информационные страницы «как приложение» (29.09.2026):
   pages/about («О нас»), pages/contacts («Контакты»),
   pages/installment-terms («Условия рассрочки»), pages/app (/app).

   Корень — .inf-page (+ .inf-about / .inf-contacts / .inf-terms / .inf-app).
   Файл подключается ПОСЛЕ встроенных <style> страниц и перекрывает их —
   правила идут через корень, поэтому специфичнее прежних. Логика не
   тронута: id, data-*, классы .active / .swap / disabled, форма обратной
   связи #cFeedbackForm, якоря регионов .c-pane[data-pane], счётчики цифр
   .it-numv-* — прежние.

   Телефон (≤768) — приложение: шапка page-mhead (redesign.css), лист;
   «О нас» — about_screen.dart (белый лист), «Условия» —
   installment_terms_screen.dart, «Контакты» — из тех же элементов (своей
   страницы в приложении нет). С 30.09.2026 у этих двух — вторая версия:
   разметка переписана, раздел «Условия рассрочки и Контакты» ниже.
   ПК (≥769) — прежняя раскладка: светлый фон, белые карточки r24, акценты
   --accent, без «пятен» и градиентных подложек.

   Входные анимации (opacity:0 + animation … forwards): на ПК остаются; на
   телефоне остаются только у «О нас» (в приложении они есть), у остальных
   сняты — вместе с animation ставится opacity:1.
   ========================================================================== */

.inf-page {
	--page-gutter: 15px; /* боковой отступ .container (main.css) — для page-mhead */
}

/* декоративные «пятна» — убраны везде */
.inf-page .am-blob,
.inf-page .c-blob,
.inf-page .it-blob {
	display: none;
}

@media (min-width: 769px) {
	body:has(.inf-page),
	main.content:has(.inf-page) {
		background: var(--light);
	}

	.inf-page {
		padding-top: 24px;
	}
}

@media (max-width: 768px) {
	/* светлый лист (и под нижним меню — у body там отступ); «О нас» —
	   на белом, как в приложении */
	body:has(.inf-contacts),
	body:has(.inf-terms),
	body:has(.inf-app),
	main.content:has(.inf-contacts),
	main.content:has(.inf-terms),
	main.content:has(.inf-app) {
		background: var(--light);
	}
}

/* ==========================================================================
   О НАС — pages/about.blade.php (.about-modern)
   ========================================================================== */

/* цвета — токенами (в разметке и встроенных стилях были литералы) */
.inf-about .about-modern {
	color: var(--black);
}

.inf-about .am-eyebrow {
	color: var(--accent);
	border-color: color-mix(in srgb, var(--accent) 25%, transparent);
	background: color-mix(in srgb, var(--accent) 6%, transparent);
}

.inf-about .am-hero-text {
	color: var(--black);
}

/* background-image, а не background: сокращение сбросило бы
   background-clip: text — и градиент залил бы блок вместо букв */
.inf-about .am-hero-text .brand {
	background-image: linear-gradient(120deg, var(--accent) 0%, var(--pink) 100%);
}

.inf-about .am-hero-text .accent {
	color: var(--accent);
}

.inf-about .am-lead {
	color: var(--black);
}

.inf-about .am-lead-foot {
	color: var(--gray);
}

.inf-about .am-pair li,
.inf-about .am-op,
.inf-about .am-flow li {
	background: var(--white);
	border-color: color-mix(in srgb, var(--accent) 10%, transparent);
}

.inf-about .am-pair li:hover,
.inf-about .am-op:hover {
	transform: none;
	box-shadow: none;
	border-color: color-mix(in srgb, var(--accent) 30%, transparent);
}

.inf-about .am-op.is-soon:hover {
	border-color: color-mix(in srgb, var(--accent) 10%, transparent);
}

.inf-about .am-pair-h,
.inf-about .am-op-region,
.inf-about .am-flow-t {
	color: var(--black);
}

.inf-about .am-pair-t {
	color: var(--gray);
}

.inf-about .am-op-logo .logo-soon {
	color: var(--pink);
	background: color-mix(in srgb, var(--pink) 6%, var(--white));
}

.inf-about .am-flow-num {
	color: var(--accent);
	background: linear-gradient(135deg,
		color-mix(in srgb, var(--accent) 12%, transparent),
		color-mix(in srgb, var(--pink) 12%, transparent));
}

.inf-about .am-summary {
	color: var(--white);
	background: linear-gradient(135deg, var(--accent) 0%, var(--pink) 100%);
}

.inf-about .am-shariat {
	color: var(--gray);
	background: color-mix(in srgb, var(--accent) 6%, transparent);
	border-color: color-mix(in srgb, var(--accent) 18%, transparent);
}

.inf-about .am-ck {
	background: linear-gradient(135deg, var(--accent), var(--pink));
}

/* ---------- О нас: ПК — белая карточка r24 на светлом фоне ---------- */
@media (min-width: 769px) {
	.inf-about .about-modern {
		background: var(--white);
	}
}

/* ---------- О нас: телефон — about_screen.dart ---------- */
@media (max-width: 768px) {
	/* лист белый (Scaffold приложения — AppColors.white); отступы ListView
	   15/8/15/40 */
	.inf-about .page-msheet {
		padding: 8px 15px 40px;
		background: var(--white);
	}

	/* контейнер: градиент #FAF6FC → белый к 60 %, r16, p 28/16/40 */
	.inf-about .about-modern {
		padding: 28px 16px 40px;
		border-radius: 16px;
		background: linear-gradient(180deg,
			color-mix(in srgb, var(--accent) 5%, var(--white)) 0%,
			var(--white) 60%);
	}

	.inf-about .am-hero {
		margin-bottom: 32px;
	}

	/* метка 11/700, разрядка 1.98 */
	.inf-about .am-eyebrow {
		margin-bottom: 22px;
		letter-spacing: 1.98px;
		line-height: 1.2;
	}

	/* главная фраза 21/700, lh 1.35 */
	.inf-about .am-hero-text {
		font-size: 21px;
		line-height: 1.35;
		letter-spacing: -0.5px;
	}

	.inf-about .am-block {
		margin-bottom: 28px;
	}

	/* _Lead: 15/500 lh 1.55, снизу 14 */
	.inf-about .am-lead {
		margin-bottom: 14px;
		font-size: 15px;
		font-weight: 500;
		line-height: 1.55;
	}

	.inf-about .am-lead-foot {
		margin-top: 16px;
		font-size: 15px;
		line-height: 1.55;
	}

	.inf-about .am-pair {
		gap: 12px;
	}

	.inf-about .am-pair li {
		padding: 16px 18px;
		border-radius: 14px;
	}

	.inf-about .am-operators {
		gap: 12px;
	}

	.inf-about .am-op {
		padding: 12px 16px;
		border-radius: 14px;
	}

	.inf-about .am-flow li {
		padding: 14px 18px;
		border-radius: 12px;
	}

	/* итог r18 p 22/20, текст 16/1.5; до плашки шариата — 16 */
	.inf-about .am-summary {
		margin-bottom: 16px;
		padding: 22px 20px;
		border-radius: 18px;
	}

	.inf-about .am-summary-text {
		font-size: 16px;
		line-height: 1.5;
	}

	.inf-about .am-shariat {
		padding: 12px 14px;
		border-radius: 12px;
		font-size: 13px;
	}
}

/* ==========================================================================
   «Условия рассрочки» и «Контакты» — вторая версия (30.09.2026, просьба
   Амира «переделать под дизайн приложения»). Разметка страниц переписана,
   прежние встроенные <style> убраны — всё оформление здесь.
   Источник — installment_terms_screen.dart приложения:
   - карточки компаний = CalcCompanyCard (calculator_section.dart:378):
     лиловая r18, поля 2/2/2/12, белая плашка лого h80 r16 (КупиТак 29,
     FinCity 22), подпись 14/600; выбранная — без заливки, рамка
     --brand-purple (accentPink);
   - строка выбранной компании = CalcSelectedCompanyBar (calculator_parts
     .dart:68): h56 r12, рамка 2 --accent, светлая заливка, лого 22/20,
     название 13/600, круг «назад» 32;
   - цифры — белые карточки r16 p16 (подпись 14 серая, число 24/700,
     пояснение 13); заголовки блоков 18/700; пункты — галочка 16 --accent +
     текст 15/1.4; шаги — круг 26 --accent, 15/600 + 14 серый;
   - офис — белая r16 p16: адрес 15/600, график 13 серый, телефон 15/700
     --accent с иконкой 18; «Написать» h48 r16 --accent, подсказка 12.
   Своей страницы «Контакты» в приложении нет — она собрана из тех же
   элементов (офисы, карточки компаний); почта, мессенджеры, карты и форма
   обратной связи — сайтовые, в том же стиле.
   ПК (≥769) — та же последовательность шире: цифры в ряд, списки в две
   колонки, блоки белыми карточками r24.
   ========================================================================== */

.inf-terms [hidden],
.inf-contacts [hidden] {
	display: none !important;
}

.inf-terms .it,
.inf-contacts .c {
	color: var(--black);
}

.inf-terms p,
.inf-terms h1,
.inf-terms h3,
.inf-contacts p,
.inf-contacts h1,
.inf-contacts h2 {
	margin: 0;
}

/* ---------- Карточки компаний (CalcCompanyCard) — общие ---------- */
.inf-terms .it-region-switcher,
.inf-contacts .c-region-switcher {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px;
	margin-bottom: 20px;
}

.inf-terms .it-region-btn,
.inf-contacts .c-region-btn {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
	padding: 2px 2px 12px;
	border: 1px solid transparent;
	border-radius: 18px;
	background: var(--card-lilac);
	color: var(--black);
	font: inherit;
	text-align: center;
	cursor: pointer;
}

.inf-terms .it-region-btn.active,
.inf-contacts .c-region-btn.active {
	border-color: var(--brand-purple);
	background: transparent;
}

.inf-terms .it-region-logo,
.inf-contacts .c-region-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 80px;
	border-radius: 16px;
	background: var(--white);
}

.inf-terms .it-logo-kupitak,
.inf-contacts .c-logo-kupitak {
	width: auto;
	height: 29px;
	max-width: 80%;
}

.inf-terms .it-logo-fincity,
.inf-contacts .c-logo-fincity {
	width: auto;
	height: 22px;
	max-width: 80%;
	object-fit: contain;
}

.inf-terms .it-region-sub,
.inf-contacts .c-region-sub {
	overflow: hidden;
	padding: 0 6px;
	font-size: 14px;
	font-weight: 600;
	line-height: 20px;
	white-space: nowrap;
	text-overflow: ellipsis;
}

/* ==========================================================================
   УСЛОВИЯ РАССРОЧКИ — pages/installment-terms.blade.php (.it)
   ========================================================================== */

.inf-terms .it-title {
	display: none;
}

/* подсказка про прописку — как .hv2-calc-hint на калькуляторе главной
   (home-v2.css, решение Амира 03.10.2026): серая, 14 px, иконка «i» 16 px */
.inf-terms .it-passport-note {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 16px;
	font-size: 14px;
	color: var(--gray);
}

.inf-terms .it-note-icon {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
}

/* строка выбранной компании (CalcSelectedCompanyBar) */
.inf-terms .it-selected {
	display: flex;
	align-items: center;
	gap: 10px;
	height: 56px;
	margin-bottom: 20px;
	padding: 0 12px;
	border: 2px solid var(--accent);
	border-radius: 12px;
	background: color-mix(in srgb, var(--accent) 5%, var(--white));
}

.inf-terms .it-selected-logo {
	display: flex;
	flex-shrink: 0;
}

.inf-terms .it-selected .it-logo-kupitak {
	height: 22px;
	max-width: none;
}

.inf-terms .it-selected .it-logo-fincity {
	height: 20px;
	max-width: none;
}

.inf-terms .it-selected-name {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.inf-terms .it-selected-back {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--white);
	color: var(--black);
	cursor: pointer;
}

.inf-terms .it-selected-back svg {
	width: 18px;
	height: 18px;
}

/* смена региона: прежний приём «приглушить на 220 мс» */
.inf-terms .it-bento {
	transition: opacity 0.2s;
}

.inf-terms .it-bento.swap {
	opacity: 0.3;
}

/* три цифры */
.inf-terms .it-nums {
	display: grid;
	gap: 10px;
}

.inf-terms .it-num-card {
	padding: 16px;
	border-radius: 16px;
	background: var(--white);
}

.inf-terms .it-b-eyebrow {
	margin-bottom: 4px;
	font-size: 14px;
	color: var(--gray);
}

.inf-terms .it-b-num {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
}

.inf-terms .it-b-num-sub {
	margin-top: 4px;
	font-size: 13px;
	line-height: 1.35;
	color: var(--gray);
}

/* блоки: списки, шаги, контакты */
.inf-terms .it-block,
.inf-terms .it-lists {
	margin-top: 25px;
}

.inf-terms .it-lists .it-block:first-child {
	margin-top: 0;
}

.inf-terms .it-b-title {
	margin-bottom: 10px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

.inf-terms .it-b-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.inf-terms .it-b-list li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-bottom: 8px;
	font-size: 15px;
	line-height: 1.4;
}

.inf-terms .it-b-list li:last-child {
	margin-bottom: 0;
}

.inf-terms .it-b-list svg {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin-top: 3px;
	color: var(--accent);
}

/* в приложении пункты без выделения */
.inf-terms .it-b-list b {
	font-weight: inherit;
}

.inf-terms .it-steps .it-b-title {
	margin-bottom: 12px;
}

.inf-terms .it-b-process {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.inf-terms .it-b-step {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.inf-terms .it-b-step-circle {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--accent);
	color: var(--white);
	font-size: 14px;
	font-weight: 700;
}

.inf-terms .it-b-step-title {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
}

.inf-terms .it-b-step-sub {
	font-size: 14px;
	line-height: 1.35;
	color: var(--gray);
}

/* контакты оператора */
.inf-terms .it-office {
	margin-bottom: 10px;
	padding: 16px;
	border-radius: 16px;
	background: var(--white);
}

.inf-terms .it-office-addr {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
}

.inf-terms .it-office-time {
	margin-top: 4px;
	font-size: 13px;
	line-height: 1.35;
	color: var(--gray);
}

.inf-terms .it-office-phone {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 8px;
	color: var(--accent);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}

.inf-terms .it-office-phone svg {
	width: 18px;
	height: 18px;
}

.inf-terms .it-write {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	margin-top: 16px;
	border-radius: 16px;
	background: var(--accent);
	color: var(--white);
	font-size: 14px;
	font-weight: 700;
	line-height: 16px;
	text-decoration: none;
}

.inf-terms .it-write:hover {
	background: var(--accent-alternate);
	color: var(--white);
}

.inf-terms .it-write-hint {
	margin-top: 6px;
	font-size: 12px;
	line-height: 1.35;
	text-align: center;
	color: var(--gray);
}

/* «Готовы начать?» — только ПК (в приложении блока нет) */
.inf-terms .it-b-cta {
	display: none;
}

/* ==========================================================================
   КОНТАКТЫ — pages/contacts.blade.php (.c)
   ========================================================================== */

.inf-contacts .c-content {
	display: flex;
	flex-direction: column;
}

/* форма обратной связи */
.inf-contacts .c-h1 {
	margin-bottom: 10px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

.inf-contacts .c-feedback-row {
	display: grid;
	gap: 8px;
}

.inf-contacts .c-feedback-input {
	box-sizing: border-box;
	width: 100%;
	height: 52px;
	padding: 0 16px;
	border: 1px solid transparent;
	border-radius: 16px;
	outline: none;
	background: var(--white);
	color: var(--black);
	font: inherit;
	font-size: 14px;
	font-weight: 500;
}

.inf-contacts .c-feedback-input::placeholder {
	color: color-mix(in srgb, var(--black) 40%, transparent);
}

.inf-contacts .c-feedback-input:focus {
	border-color: var(--accent);
}

.inf-contacts .c-feedback-input.is-error {
	border-color: var(--badge-red);
}

.inf-contacts .c-feedback-btn {
	height: 48px;
	padding: 0 24px;
	border: 0;
	border-radius: 16px;
	background: var(--accent);
	color: var(--white);
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
	cursor: pointer;
}

.inf-contacts .c-feedback-btn:hover:not(:disabled) {
	background: var(--accent-alternate);
}

.inf-contacts .c-feedback-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.inf-contacts .c-feedback-status {
	margin-top: 10px;
	font-size: 13px;
	line-height: 1.35;
}

.inf-contacts .c-feedback-status.is-success {
	color: var(--call-green);
	font-weight: 600;
}

.inf-contacts .c-feedback-status.is-error {
	color: var(--badge-red);
}

/* оператор и офисы */
.inf-contacts .c-pane {
	scroll-margin-top: 16px;
	margin-bottom: 25px;
}

.inf-contacts .c-pane-title {
	margin-bottom: 10px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

.inf-contacts .c-offices {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.inf-contacts .c-office {
	overflow: hidden;
	border-radius: 16px;
	background: var(--white);
}

.inf-contacts .c-office-info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 16px;
}

.inf-contacts .c-office-addr {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
}

.inf-contacts .c-office-time {
	margin-top: 4px;
	font-size: 13px;
	line-height: 1.35;
	color: var(--gray);
}

.inf-contacts .c-office-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 8px;
	color: var(--accent);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	word-break: break-word;
}

.inf-contacts .c-office-phone {
	font-size: 15px;
	font-weight: 700;
}

.inf-contacts .c-office-link svg {
	flex-shrink: 0;
	width: 18px;
	height: 18px;
}

.inf-contacts .c-soc-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 14px;
}

.inf-contacts .c-soc-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 36px;
	padding: 0 14px;
	border-radius: 12px;
	background: var(--light);
	color: var(--black);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}

.inf-contacts .c-soc-btn svg {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
}

.inf-contacts .c-soc-btn.is-primary {
	background: var(--accent);
	color: var(--white);
}

.inf-contacts .c-card--map {
	height: 180px;
	background: var(--light);
}

.inf-contacts .c-map-script,
.inf-contacts .c-card--map iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* ==========================================================================
   Телефон (≤768) — оба экрана поверх таббара (в приложении «Условия»
   вне оболочки с меню) — нижнего меню нет, как у текстовых страниц
   ========================================================================== */
@media (max-width: 768px) {
	.inf-terms .page-msheet,
	.inf-contacts .page-msheet {
		padding: 15px 15px 40px;
	}

	body:has(.inf-terms) .mobile-menu,
	body:has(.inf-contacts) .mobile-menu {
		display: none;
	}

	body:has(.inf-terms) .footer,
	body:has(.inf-contacts) .footer {
		margin-bottom: max(24px, env(safe-area-inset-bottom));
	}

	/* форма обратной связи — в конце, как «Написать» в приложении */
	.inf-contacts .c-feedback-block {
		order: 10;
		margin-top: 0;
	}
}

/* ==========================================================================
   ПК (≥769) — та же последовательность шире, блоки белыми карточками r24
   ========================================================================== */
@media (min-width: 769px) {
	.inf-terms .it,
	.inf-contacts .c {
		max-width: 1100px;
		margin: 0 auto;
		padding-bottom: 60px;
	}

	.inf-terms .it-region-switcher,
	.inf-contacts .c-region-switcher {
		grid-template-columns: repeat(2, 240px);
		gap: 12px;
		margin-bottom: 24px;
	}

	.inf-terms .it-region-btn:not(.active):hover,
	.inf-contacts .c-region-btn:not(.active):hover {
		border-color: color-mix(in srgb, var(--brand-purple) 40%, transparent);
	}

	/* --- Условия --- */
	.inf-terms .it-title {
		display: block;
		margin-bottom: 12px;
		font-size: 34px;
		font-weight: 700;
		line-height: 1.2;
	}

	.inf-terms .it-passport-note {
		margin-bottom: 20px;
	}

	.inf-terms .it-selected {
		max-width: 492px;
		margin-bottom: 24px;
	}

	.inf-terms .it-nums {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 16px;
	}

	.inf-terms .it-num-card {
		padding: 24px;
		border-radius: 24px;
	}

	.inf-terms .it-b-num {
		font-size: 32px;
	}

	.inf-terms .it-lists {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
		margin-top: 16px;
	}

	.inf-terms .it-block {
		margin-top: 16px;
		padding: 24px;
		border-radius: 24px;
		background: var(--white);
	}

	/* два списка — рядом, по одной линии сверху */
	.inf-terms .it-lists .it-block {
		margin-top: 0;
	}

	.inf-terms .it-b-title {
		margin-bottom: 14px;
		font-size: 20px;
	}

	.inf-terms .it-b-process {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 16px;
	}

	.inf-terms .it-offices {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
		gap: 12px;
	}

	.inf-terms .it-office {
		margin-bottom: 0;
		background: var(--light);
	}

	.inf-terms .it-write {
		display: inline-flex;
		padding: 0 40px;
	}

	.inf-terms .it-write-hint {
		text-align: left;
	}

	.inf-terms .it-b-cta {
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 16px;
		margin-top: 16px;
		padding: 24px;
		border-radius: 24px;
		background: var(--white);
	}

	.inf-terms .it-b-cta-text h3 {
		margin: 0 0 4px;
		font-size: 20px;
		font-weight: 700;
	}

	.inf-terms .it-b-cta-text p {
		font-size: 14px;
		color: var(--gray);
	}

	.inf-terms .it-b-cta-btn {
		display: inline-flex;
		align-items: center;
		height: 48px;
		padding: 0 28px;
		border-radius: 16px;
		background: var(--accent);
		color: var(--white);
		font-size: 14px;
		font-weight: 700;
		text-decoration: none;
	}

	.inf-terms .it-b-cta-btn:hover {
		background: var(--accent-alternate);
		color: var(--white);
	}

	/* --- Контакты --- */
	.inf-contacts .c-feedback-block {
		margin-bottom: 24px;
		padding: 28px;
		border-radius: 24px;
		background: var(--white);
	}

	.inf-contacts .c-h1 {
		margin-bottom: 16px;
		font-size: 34px;
		line-height: 1.2;
	}

	.inf-contacts .c-feedback-row {
		grid-template-columns: 1fr 1fr 1.6fr auto;
		gap: 10px;
	}

	.inf-contacts .c-feedback-input {
		height: 48px;
		border-radius: 12px;
		background: var(--light);
	}

	.inf-contacts .c-feedback-btn {
		padding: 0 28px;
		border-radius: 12px;
	}

	/* якорь: под шапкой ПК (124) */
	.inf-contacts .c-pane {
		scroll-margin-top: 144px;
		margin-bottom: 32px;
	}

	.inf-contacts .c-pane-title {
		margin-bottom: 14px;
		font-size: 22px;
	}

	.inf-contacts .c-offices {
		gap: 16px;
	}

	.inf-contacts .c-office {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
		gap: 20px;
		padding: 20px;
		border-radius: 24px;
	}

	.inf-contacts .c-office-info {
		padding: 4px;
	}

	.inf-contacts .c-card--map {
		height: auto;
		min-height: 300px;
		overflow: hidden;
		border-radius: 16px;
	}
}

/* ==========================================================================
   ПРИЛОЖЕНИЕ — pages/app.blade.php (/app; базовые стили — app-banner.css)
   ========================================================================== */

/* base.css делает img блоком — text-align:center иконку не центрировал
   (на проде она прижата влево); ставим по центру полями */
.inf-app .app-page__icon {
	margin: 0 auto;
	box-shadow: 0 10px 28px color-mix(in srgb, var(--accent) 28%, transparent);
}

.inf-app .app-page__qr {
	background: var(--white);
}

/* ПК: белая карточка r24 по центру светлого фона */
@media (min-width: 769px) {
	.inf-app.app-page {
		max-width: 520px;
		margin: 0 auto;
		padding: 44px 40px 40px;
		border-radius: 24px;
		background: var(--white);
	}

	/* отступ сверху — полем снаружи карточки */
	main.content:has(.inf-app) {
		padding-top: 24px;
	}
}

/* Телефон (сюда попадают только не-iOS/Android — остальных /app уводит
   в магазин): шапка page-mhead, светлый лист; название — в шапке; QR и
   подсказку «наведите камеру» прячем — сканировать нечем (как в подвале) */
@media (max-width: 768px) {
	.inf-app.app-page {
		max-width: none;
		margin: 0;
		padding: 0 15px;
	}

	.inf-app .page-msheet {
		padding: 32px 20px 24px;
	}

	.inf-app .app-page__title,
	.inf-app .app-page__qr,
	.inf-app .app-page__hint {
		display: none;
	}

	.inf-app .app-page__note {
		max-width: 360px;
		margin: 20px auto 24px;
		font-size: 15px;
	}
}
