/* ============================================================
   PddPro — подвал сайта

   Разметку даёт footer.php дочерней темы. Выделено из main.css
   14.08.2026, причина та же, что у header.css.

   Ручка pdd-footer, зависит от pdd-main.
   ============================================================ */
/* ------------------------------------------------------------
   6. Подвал сайта

   Разметку даёт footer.php дочерней темы, значения — токены
   --footer-* прототипа.

   Своей разметки подвала у движка нет вовсе: то, что рисовалось
   раньше, — сырой HTML-блоб из настройки блога add_in_footer,
   который печатал Messia_Hooks::option_footer(). Блоб снят с хука
   в footer.php, поэтому перебивать его стили не нужно — его
   в документе просто нет.

   Селекторы всё равно длиннее родительских: frontend.css задаёт
   правила на голый элемент footer (стр. 19758 и рядом), а
   body.pdd .pdd-footer их перебивает специфичностью.
   ------------------------------------------------------------ */
body.pdd .pdd-footer {
	display: flex;
	flex-direction: column;
	gap: var(--footer-gap);
	align-items: var(--footer-align);
	/* body — flex-колонка. Там, где подвал лежит прямым её ребёнком
	   (без обёртки .content), без width он сжимается по содержимому. */
	width: 100%;
	max-width: var(--footer-max-width, var(--app-max-width));
	margin: var(--footer-margin-top) auto 0;
	padding: var(--footer-pad-y) var(--footer-pad-x);
	color: var(--footer-fg);
	background: var(--footer-bg);
	border-top: var(--footer-top-border);
	border-radius: var(--footer-radius);
	text-align: var(--footer-text-align);
	/* Эталон получает 1.45 наследованием от body, а нам в body приходит
	   line-height родительской темы: ссылки подвала вставали 12/14.4
	   вместо 12/17.4. Задаём на подвале, а не на body — там !important
	   родителя и один разрешённый в теме. */
	line-height: var(--line-height-base);
}

body.pdd .pdd-footer > * {
	width: 100%;
}

/* 6.1 Логотип и строка под ним */
body.pdd .pdd-footer__top {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	align-items: var(--footer-align);
}

body.pdd .pdd-footer__brand {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

body.pdd .pdd-footer__logo {
	display: block;
	width: auto;
	height: var(--brand-height-footer);
}

body.pdd .pdd-footer__wordmark {
	font-size: var(--font-size-section);
	font-weight: var(--font-weight-bold);
	color: var(--footer-fg);
}

body.pdd .pdd-footer__tagline {
	display: var(--footer-tagline-display);
	max-width: 30em;
	margin: 0;
	font-size: var(--footer-tagline-size);
	color: var(--footer-muted);
}

/* Ряд значков соцсетей (прототип — part-social-link).
   Печатается, только если в меню main есть адрес известной сети:
   отдельных полей под соцсети в настройках блога нет. */
body.pdd .pdd-footer__social {
	display: var(--footer-social-display);
	gap: var(--space-4);
}

body.pdd .pdd-footer__social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--footer-social-size);
	height: var(--footer-social-size);
	color: var(--footer-social-fg);
	background: var(--footer-social-bg);
	border-radius: var(--footer-social-radius);
	text-decoration: none;
}

body.pdd .pdd-footer__social-link:hover {
	color: var(--color-text-inverse);
	background: var(--color-primary);
}

/* 6.2 Призыв к подбору */
body.pdd .pdd-footer__cta {
	display: var(--footer-cta-display);
	flex-direction: column;
	gap: var(--space-5);
	padding: var(--footer-cta-pad);
	color: var(--footer-cta-fg);
	background: var(--footer-cta-bg);
	border-radius: var(--footer-cta-radius);
}

/* Размер заголовка эталон держит свой на каждом типе страницы:
   15 на главной, 17 на карточке школы, 28 на листинге */
body.pdd .pdd-footer__cta-title {
	margin: 0;
	font-size: var(--footer-cta-title-size, var(--font-size-card-title));
	font-weight: var(--font-weight-semibold);
}

body.pdd .pdd-footer__cta-text {
	margin: 0;
	font-size: var(--font-size-caption);
	opacity: 0.85;
}

body.pdd .pdd-footer__cta-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: start;
	min-height: var(--tap-target);
	padding: 0 var(--space-8);
	font-size: var(--font-size-control);
	font-weight: var(--font-weight-semibold);
	color: var(--footer-cta-button-fg);
	background: var(--footer-cta-button-bg);
	border-radius: var(--radius-pill);
	text-decoration: none;
}

body.pdd .pdd-footer__cta-button:hover {
	color: var(--footer-cta-button-fg);
	background: var(--color-primary-hover);
}

/* 6.3 Колонки ссылок */
body.pdd .pdd-footer__nav {
	display: var(--footer-nav-display);
	grid-template-columns: repeat(var(--footer-nav-columns), minmax(0, 1fr));
	gap: var(--footer-nav-gap);
}

body.pdd .pdd-footer__group {
	display: flex;
	flex-direction: column;
	gap: var(--footer-group-gap);
	padding: var(--footer-group-pad);
	border-bottom: var(--footer-group-border);
}

body.pdd .pdd-footer__group-title {
	display: var(--footer-group-title-display);
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	width: 100%;
	margin: 0;
	font-size: var(--footer-group-title-size);
	font-weight: var(--footer-group-title-weight);
	color: var(--footer-group-title-fg);
	text-transform: var(--footer-group-title-transform);
	letter-spacing: var(--footer-group-title-spacing);
	text-align: left;
}

body.pdd .pdd-footer__links {
	display: flex;
	flex-direction: var(--footer-links-direction);
	flex-wrap: wrap;
	gap: var(--footer-links-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

body.pdd .pdd-footer__links > li {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.pdd .pdd-footer__link {
	display: inline-flex;
	align-items: center;
	padding: var(--footer-link-pad);
	font-size: var(--footer-link-size);
	/* 12/17.4, как в эталоне. line-height на .pdd-footer не помогает:
	   родительская тема задаёт его на `a` — то есть уже на самой ссылке,
	   и наследование до неё не доходит. */
	line-height: var(--line-height-base);
	color: var(--footer-link-fg);
	background: var(--footer-link-bg);
	border-radius: var(--footer-link-radius);
	text-decoration: none;
}

body.pdd .pdd-footer__link:hover {
	color: var(--color-primary);
}

/* 6.4 Контакты. Печатаются, только если телефон заведён
       в настройках блога — сейчас там пусто */
body.pdd .pdd-footer__contacts {
	display: var(--footer-contacts-display);
	gap: var(--space-3);
}

body.pdd .pdd-footer__phone {
	font-size: var(--footer-phone-size);
	font-weight: var(--font-weight-semibold);
	color: var(--footer-fg);
	text-decoration: none;
}

body.pdd .pdd-footer__contact-note {
	font-size: var(--font-size-micro);
	color: var(--footer-muted);
}

/* 6.5 Правовая строка */
body.pdd .pdd-footer__legal {
	display: flex;
	flex-direction: var(--footer-legal-direction);
	align-items: var(--footer-legal-align);
	justify-content: space-between;
	gap: var(--space-4);
	padding-top: var(--footer-legal-pad-top);
	font-size: var(--footer-legal-size);
	color: var(--footer-legal-fg);
	border-top: var(--footer-legal-border);
}

body.pdd .pdd-footer__legal-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-4);
}

body.pdd .pdd-footer__legal-links a {
	color: inherit;
	text-decoration: none;
}

body.pdd .pdd-footer__legal-links a:hover {
	color: var(--color-primary);
}

/* ------------------------------------------------------------
   6.6 Cookie-баннер

   Прототип — design2/assets/css/cookies.css, вариант v1: полоса
   во всю ширину внизу, скруглённая сверху, кнопка справа; на
   телефоне полоса ужимается в колонку, значок прячется.

   Разметка движка своя и менять её нельзя: показ и скрытие
   держатся на классах .cookie и .cookie-hide (frontend.js
   родительской темы, стр. 860–887 и 930). Отсюда два следствия.

   1. Свойство display у .cookie НЕ трогаем вовсе. jQuery .show()
      ставит инлайновый display:block, а инлайн перебивает любой
      наш селектор без !important. Поэтому раскладка живёт на
      .cookie-inner, а .cookie остаётся позиционируемой коробкой.
   2. Отступы .cookie .container перебиты в родителе через
      !important (frontend.css, стр. 10181) — в коробочную модель
      контейнера не лезем, поля задаём на .cookie-inner.

   Токенов --ck-* в tokens.css нет, а сам tokens.css принадлежит
   потоку «База» — значения взяты из общих токенов темы.
   ------------------------------------------------------------ */
body.pdd .pdd-cookie {
	top: auto;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 60;
	width: auto;
	max-width: none;
	padding: 0;
	color: var(--color-text);
	background: var(--color-surface);
	border: var(--border-width) solid var(--color-border);
	border-bottom: 0;
	border-radius: var(--radius-md) var(--radius-md) 0 0;
	box-shadow: 0 -6px 24px rgb(var(--color-shade) / 0.14);
	transition: none;
}

/* Шов с потоком шапки: панель бургера лежит на z-index 40 (--menu-z),
   затемнение под ней — на 39, а баннер на 60. Открытая панель упирается
   низом прямо в баннер: город и «Вход» в её подвале оказываются накрыты
   и недоступны.

   Убрать баннер через display нельзя: показывает его frontend.js
   родителя вызовом .show(), то есть инлайновым display — стилем такое
   не перебивается, только !important, а он в теме ровно один.
   Поэтому на время открытого меню опускаем баннер под затемнение:
   z-index задан стилем, инлайна на нём нет.

   Число 10, а не 39: панель и затемнение лежат ВНУТРИ липкой шапки,
   а у неё свой z-index 20, то есть свой стековый контекст. Наружу
   считается не 40 и не 39, а 20 — целиком за шапку. Баннер сидит
   прямо в body, и чтобы оказаться под панелью, ему надо уйти ниже
   двадцатки, а не ниже сорока. */
body.pdd.pdd-menu-open .pdd-cookie {
	z-index: 10;
}

body.pdd .pdd-cookie .container {
	width: auto;
	max-width: none;
}

body.pdd .pdd-cookie__inner {
	position: relative;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: var(--space-8);
	max-width: var(--app-max-width);
	margin: 0 auto;
	padding: var(--space-7) var(--page-padding)
	         calc(var(--space-7) + env(safe-area-inset-bottom, 0px));
	border-radius: 0;
}

/* Значок движка (background-image ставит frontend.css) не нужен:
   свой значок печатает разметка узлом .pdd-cookie__icon. */
body.pdd .pdd-cookie__inner::before {
	display: none;
}

/* Кружок со значком — .ck__icon эталона: 40×40, мягкая заливка
   основного цвета, круглый. */
body.pdd .pdd-cookie__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 40px;
	height: 40px;
	font-size: var(--font-size-section);
	background: var(--color-primary-soft);
	border-radius: var(--radius-pill);
}

body.pdd .pdd-cookie__body {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	min-width: 0;
}

body.pdd .pdd-cookie__title {
	display: block;
	margin: 0;
	padding: 0;
	font-size: var(--font-size-card-title);
	font-weight: var(--font-weight-semibold);
	color: var(--color-text);
}

body.pdd .pdd-cookie__text {
	margin: 0;
	font-size: var(--font-size-caption);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-base);
	color: var(--color-text-secondary);
}

body.pdd .pdd-cookie__text a {
	color: var(--color-primary);
	text-decoration: none;
}

body.pdd .pdd-cookie__text a:hover {
	text-decoration: underline;
}

/* ----- категории с тумблерами -----

   Свёрнуты, пока не нажали «Настроить»: класс is-settings на
   .cookie вешает pdd-footer.js. В эталоне то же самое сделано
   инлайновыми переменными --ck-* (cookies.js), но у нас показ
   и скрытие полосы в руках движка, и лишний инлайновый стиль
   на том же узле — повод для драки с ним. */
body.pdd .pdd-cookie__groups {
	display: none;
	flex-direction: column;
	gap: var(--space-2);
	width: 100%;
}

body.pdd .pdd-cookie.is-settings .pdd-cookie__groups {
	display: flex;
}

/* Раскрытые категории разворачивают полосу в колонку: в строку
   рядом с кнопками они не помещаются. */
body.pdd .pdd-cookie.is-settings .pdd-cookie__inner {
	flex-direction: column;
	align-items: stretch;
}

body.pdd .pdd-cookie.is-settings .pdd-cookie__actions {
	width: 100%;
}

body.pdd .pdd-cookie.is-settings .pdd-cookie__settings,
body.pdd .pdd-cookie.is-settings .pdd-cookie__sep {
	display: none;
}

body.pdd .pdd-cookie__group {
	display: flex;
	align-items: center;
	gap: var(--space-6);
	padding: var(--space-5) 0;
	border-top: var(--border-width) solid var(--color-border);
}

body.pdd .pdd-cookie__group-body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

body.pdd .pdd-cookie__group-name {
	font-size: var(--font-size-input);
	font-weight: var(--font-weight-medium);
	color: var(--color-text);
}

body.pdd .pdd-cookie__group-note {
	font-size: var(--font-size-micro);
	color: var(--color-text-muted);
}

/* Тумблер — тот же, что в шторках фильтров: токены --sheet-switch-*. */
body.pdd .pdd-cookie__switch {
	flex: none;
	margin-left: auto;
	width: var(--sheet-switch-width);
	height: var(--sheet-switch-height);
	padding: 3px;
	background: var(--sheet-switch-bg);
	border: 0;
	border-radius: var(--radius-pill);
	transition: background 160ms ease;
	cursor: pointer;
}

body.pdd .pdd-cookie__switch::after {
	content: "";
	display: block;
	width: calc(var(--sheet-switch-height) - 6px);
	height: calc(var(--sheet-switch-height) - 6px);
	background: var(--color-surface);
	border-radius: var(--radius-pill);
	box-shadow: var(--shadow-card);
	transition: transform 160ms ease;
}

body.pdd .pdd-cookie__switch.is-active {
	background: var(--sheet-switch-active-bg);
}

body.pdd .pdd-cookie__switch.is-active::after {
	transform: translateX(calc(var(--sheet-switch-width) - var(--sheet-switch-height)));
}

body.pdd .pdd-cookie__switch--locked {
	opacity: 0.6;
	cursor: default;
}

/* ----- кнопки ----- */
body.pdd .pdd-cookie__actions {
	display: flex;
	align-items: center;
	gap: var(--space-4);
	flex: none;
	margin-left: auto;
}

body.pdd .pdd-cookie__accept,
body.pdd .pdd-cookie__reject {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-3);
	/* height, а не только min-height: у .btn родительской темы своё
	   поле по вертикали, и кнопка держала 50px при эталонных 42. */
	height: 42px;
	min-height: 42px;
	padding: 0 var(--space-6);
	font-size: var(--font-size-control);
	font-weight: var(--font-weight-semibold);
	line-height: var(--line-height-base);
	border-radius: var(--radius-lg);
	white-space: nowrap;
	cursor: pointer;
}

/* Согласие — залитая кнопка; рамки у неё в эталоне нет. */
body.pdd .pdd-cookie__accept {
	color: var(--color-text-inverse);
	background: var(--color-primary);
	border: 0;
}

body.pdd .pdd-cookie__accept:hover {
	color: var(--color-text-inverse);
	background: var(--color-primary-hover);
}

/* Отказ — вторичная: белая плашка с волосяной рамкой. */
body.pdd .pdd-cookie__reject {
	color: var(--color-text);
	background: var(--color-surface);
	border: var(--border-width) solid var(--color-border);
}

body.pdd .pdd-cookie__reject:hover {
	color: var(--color-text-inverse);
	background: var(--color-primary);
	border-color: var(--color-primary);
}

/* Крестик: в варианте «полоса снизу» эталон его не показывает
   (--ck-close-display: none), узел держим для варианта-окошка. */
body.pdd .pdd-cookie__close {
	display: none;
	position: absolute;
	top: var(--space-5);
	right: var(--space-5);
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	color: var(--color-icon-strong);
	background: none;
	border: 0;
	cursor: pointer;
}

/* Телефон: полоса ужимается — значка и длинного объяснения нет,
   остаются заголовок, ссылки и две кнопки в строку. Ширина взята
   из эталона (cookies.css, @media 719px). */
@media (max-width: 719.98px) {

	body.pdd .pdd-cookie__inner {
		flex-direction: column;
		align-items: stretch;
		gap: var(--space-5);
		padding: var(--space-6) var(--page-padding)
		         calc(var(--space-7) + env(safe-area-inset-bottom, 0px));
	}

	body.pdd .pdd-cookie__icon {
		display: none;
	}

	body.pdd .pdd-cookie__title {
		font-size: var(--font-size-caption);
	}

	body.pdd .pdd-cookie__text {
		font-size: var(--font-size-micro);
	}

	body.pdd .pdd-cookie__text-full {
		display: none;
	}

	body.pdd .pdd-cookie__actions {
		width: 100%;
		margin-left: 0;
	}

	body.pdd .pdd-cookie__accept,
	body.pdd .pdd-cookie__reject {
		flex: 1;
		height: 38px;
		min-height: 38px;
		padding: 0 var(--space-5);
	}
}

/* Пока полоса открыта, подвал получает запас снизу, иначе она
   ложится на правовую строку. Высоту и класс ставит pdd-footer.js:
   видимость полосы решает JS родителя, из CSS её не видно. */
body.pdd.pdd-cookie-open .pdd-footer {
	padding-bottom: calc(var(--footer-pad-y) + var(--pdd-cookie-height, 0px));
}

/* На карточке школы внизу стоит липкая полоса действий
   (.pdd-ctabar, поток «Карточка»). Полоса согласия садится над ней,
   иначе накрывает кнопку записи целиком. */
body.pdd.pdd-has-ctabar .pdd-cookie {
	bottom: var(--ctabar-height);
}

/* ------------------------------------------------------------
   6.7 Нижние плавающие элементы движка

   #backtotop, #compare_mobile, .popup-container, #popup-bookmarks
   и полоса сравнения печатаются здесь же, в footer.php, и на них
   завязан frontend.js. Идентификаторы и классы не трогаем —
   только вид и место.

   Два правила, которые легко нарушить и сломать поведение:

   — у #backtotop положение снизу задаёт КЛАСС .shows
     (frontend.css, стр. 10571 и 10592), у #compare_mobile —
     класс .hide (стр. 17781 и 17802). Свой bottom вешаем строго
     на состояние (.shows, :not(.hide)), иначе селектор с body.pdd
     окажется специфичнее чужого состояния и панель перестанет
     уезжать за край;
   — липкую полосу карточки школы (.pdd-ctabar, z-index 3,
     высота --ctabar-height) эти элементы перекрывают: у них
     z-index 998–999. Поэтому при body.pdd-has-ctabar всё нижнее
     поднимается над полосой. Правило про #backtotop есть и у
     потока «Карточка» (school.css) — там селектор специфичнее
     и школьное значение побеждает, конфликта нет.
   ------------------------------------------------------------ */
/* Кнопки «наверх» в эталоне нет ни на одной странице (grep по
   design2/assets/css — ни одного правила), а движок печатает её
   в footer.php и показывает классом .shows на прокрутке: синий
   квадрат со стрелкой всплывал вместе с липкой полосой карточки
   и читался как чужой элемент. Гасим на всех наших страницах;
   вернуть — снять это правило (19.08.2026). Остальные правила
   ниже оставлены: они держат вид и место, если кнопку вернут. */
body.pdd #backtotop {
	display: none;
}

body.pdd #backtotop {
	width: 44px;
	height: 44px;
	right: var(--page-padding);
	background: var(--color-primary);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-card);
}

body.pdd #backtotop:hover {
	background: var(--color-primary-hover);
}

body.pdd #backtotop svg {
	width: 20px;
	height: 20px;
}

body.pdd #backtotop.shows {
	bottom: calc(var(--space-5) + env(safe-area-inset-bottom, 0px));
}

body.pdd.pdd-cookie-open #backtotop.shows {
	bottom: calc(var(--pdd-cookie-height, 0px) + var(--space-4));
}

body.pdd.pdd-has-ctabar.pdd-cookie-open #backtotop.shows {
	bottom: calc(var(--ctabar-height) + var(--pdd-cookie-height, 0px) + var(--space-3));
}

body.pdd #compare_mobile {
	left: var(--page-padding);
	width: auto;
	max-width: calc(100% - 44px - var(--page-padding) * 2 - var(--space-4));
	height: var(--control-height-button);
	background: var(--color-primary);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-card);
}

body.pdd #compare_mobile .btn_blue {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 0 var(--space-6);
	font-size: var(--font-size-control);
	font-weight: var(--font-weight-semibold);
	color: var(--color-text-inverse);
	background: none;
	border: 0;
	border-radius: inherit;
	text-decoration: none;
	white-space: nowrap;
}

body.pdd #compare_mobile:not(.hide) {
	bottom: calc(var(--space-5) + 44px + var(--space-4) + env(safe-area-inset-bottom, 0px));
}

body.pdd.pdd-has-ctabar #compare_mobile:not(.hide) {
	bottom: calc(var(--ctabar-height) + var(--space-3));
}

body.pdd.pdd-cookie-open #compare_mobile:not(.hide) {
	bottom: calc(var(--pdd-cookie-height, 0px) + var(--space-4));
}

body.pdd.pdd-has-ctabar.pdd-cookie-open #compare_mobile:not(.hide) {
	bottom: calc(var(--ctabar-height) + var(--pdd-cookie-height, 0px) + var(--space-3));
}

/* Полоса сравнения на широком экране: печатается только при
   !wp_is_mobile(), показывается и прячется в frontend.js
   (стр. 145, 1127, 1144) — display не трогаем по той же причине,
   что и у cookie. */
body.pdd .desktop-comparisons-bar {
	padding: var(--space-6) 0;
	background-color: var(--color-surface);
	border-top: var(--border-width) solid var(--color-border);
	box-shadow: 0 -6px 24px rgb(var(--color-shade) / 0.14);
	border-radius: 0;
}

body.pdd .comparison-bar-buttons {
	align-items: center;
	gap: var(--space-4);
}

body.pdd .comparison-bar-buttons a,
body.pdd .comparison-bar-buttons button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--control-height-button);
	max-height: none;
	padding: 0 var(--space-6);
	font-size: var(--font-size-control);
	font-weight: var(--font-weight-semibold);
	line-height: 1;
	border-radius: var(--radius-lg);
	text-decoration: none;
}

/* Подсказка «Перейти в избранное». Элемент не плавающий:
   frontend.js (стр. 971–978) переносит его к нажатой кнопке
   закладки и раскрывает slideDown — display опять же не наш. */
body.pdd #popup-bookmarks {
	margin: 0 0 var(--space-3);
	text-align: right;
}

body.pdd #popup-bookmarks a {
	display: inline-flex;
	align-items: center;
	min-height: var(--tap-target);
	padding: 0 var(--space-5);
	font-size: var(--font-size-caption);
	font-weight: var(--font-weight-medium);
	color: var(--color-primary);
	background: var(--color-primary-soft);
	border-radius: var(--radius-pill);
	text-decoration: none;
}

/*
 * .popup-container сознательно не стилизуется: это пустая точка
 * монтирования, в которую frontend.js (стр. 171) кладёт HTML модалок.
 * Сами модалки — этап 6, чужой файл.
 */

/* ------------------------------------------------------------
   6.8 Планшет: cookie-полоса разворачивается в строку

   Прототип (cookies.css, стр. 225) ужимает полосу в колонку
   ниже 720px и держит строкой выше. Строка теперь базовая
   (раздел выше), а ужимает её @media 719.98px — здесь остаётся
   только скругление: на широком экране оно крупнее.
   ------------------------------------------------------------ */
@media (min-width: 720px) {
	body.pdd .pdd-cookie {
		border-radius: var(--radius-xl) var(--radius-xl) 0 0;
	}
}

/* ------------------------------------------------------------
   6.9 Раскладка от 1024px

   Источник — design2/assets/css/web.css, стр. 795–845 («Подвал
   сайта, вариант v3»). Призыв поднимается наверх и раскладывается
   в строку широким баннером в цвет марки, ссылки идут в три
   колонки, контакты и правовая строка — в один ряд.

   Порядок: подвал — flex-колонка, а frontend.css задаёт
   .page-template-newlisting .buttons-new { order: 10 }. Своим
   детям order выставляем явно, чтобы чужое правило не могло
   уронить блок вниз.
   ------------------------------------------------------------ */
@media (min-width: 1024px) {

	/* Поле полосы согласия — 16/24, замер эталона на 1280.
	   До 1024 оно ровное, 16 по кругу (замер на 768). */
	body.pdd .pdd-cookie__inner {
		padding: var(--space-7) var(--space-9);
	}

	body.pdd .pdd-footer {
		/* 1200, как в эталоне (.footer 1200x597 на 1440, поля 0 120px).
		   Раньше здесь стоял --content-max (1152) с расчётом «ровные края
		   важнее»: считалось, что шапку до 1200 не растянуть. Замер 18.08.2026
		   показал, что белая плашка шапки и так 1200 (.pdd-topbar > .container),
		   то есть 1152 не выравнивал края, а уводил подвал на 48px внутрь. */
		--footer-max-width: var(--app-max-width);
		--footer-nav-columns: 3;
		--footer-legal-direction: row;
		--footer-legal-align: center;
	}

	/* Правовая строка в ряд — это веб-версия: `row` в эталоне приходит из
	   web.css:810, а его грузят листинг и карточка школы, но НЕ главная.
	   На home.html остаётся базовое значение токена — колонка от левого края
	   (tokens.css:769–770), .footer__legal 1168x53. */
	body.pdd.home .pdd-footer {
		--footer-legal-direction: column;
		--footer-legal-align: start;
	}

	/* Плашка «Не выбрали автошколу?» синяя только на листинге: в эталоне
	   index.html она залита основным цветом с белым текстом и заголовком
	   28, а school.html и home.html держат её светлой — синий текст по
	   --color-primary-soft, заголовок 17 и 15. Базовые значения токенов
	   (tokens.css) как раз светлые, поэтому переопределяем только листинг.
	   Класс page-template-v3 стоит на /schools/ и больше нигде:
	   page-template-newlisting есть и на карточке школы. */
	body.pdd.page-template-v3 .pdd-footer {
		--footer-cta-bg: var(--color-primary);
		--footer-cta-fg: var(--color-text-inverse);
		--footer-cta-pad: var(--space-8) var(--space-9);
		--footer-cta-radius: var(--radius-xl);
		--footer-cta-button-bg: var(--color-surface);
		--footer-cta-button-fg: var(--color-primary);
	}

	body.pdd .pdd-footer > * {
		order: 0;
	}

	/* Два столбца — только на листинге: на карточке школы и главной
	   эталон держит плашку колонкой, кнопка идёт под текстом */
	body.pdd .pdd-footer__cta {
		order: -1;
	}

	body.pdd.page-template-v3 .pdd-footer__cta {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		column-gap: var(--space-9);
	}

	body.pdd .pdd-footer__cta-title {
		letter-spacing: var(--letter-spacing-title);
	}

	body.pdd .pdd-footer {
		/* карточка школы — 17, главная — 15 */
		--footer-cta-title-size: var(--font-size-section);
	}

	body.pdd.home .pdd-footer {
		--footer-cta-title-size: var(--font-size-card-title);
	}

	body.pdd.page-template-v3 .pdd-footer {
		--footer-cta-title-size: 28px;
	}

	/* Эталон (main.css:2890) держит текст призыва в --font-size-caption
	   и без max-width на всех страницах: .footer__cta-text 1144x17, 12/17.4.
	   Здесь стояло 14px + max-width 46em — текст обрезался до 644px. */
	body.pdd .pdd-footer__cta-text {
		font-size: var(--font-size-caption);
	}

	body.pdd .pdd-footer__cta-button {
		align-self: center;
		height: var(--control-height-search);
		padding: 0 var(--space-8);
	}

	body.pdd.page-template-v3 .pdd-footer__cta-button {
		grid-area: 1 / 2 / span 2 / 2;
		padding: 0 var(--space-9);
	}

	body.pdd .pdd-footer__cta-button:hover {
		color: var(--footer-cta-button-fg);
		background: var(--color-surface-muted);
	}

	body.pdd .pdd-footer__contacts {
		grid-auto-flow: column;
		justify-content: start;
		align-items: baseline;
		gap: var(--space-6);
	}

	body.pdd .pdd-footer__link:hover {
		text-decoration: underline;
	}
}