/*
  Каркас из редизайна главной (задача 23212309): левый и правый сайдбары,
  нижнее меню на телефоне и футер.

  До 29.10 эти правила лежали в redizajn-glavnoj.css и грузились только
  на главной, поэтому на остальных страницах сайдбар оставался прежним
  (замечание Дарьи 29.10: «давайте сделаем везде единый дизайн как на главной»).
  Правила перенесены без изменений, файл подключается на всех страницах.

  Там, где у дизайнера селектор начинался с `.sr-home`, здесь `.sr-karkas`:
  этот класс стоит на body каждой страницы, и сила селектора остаётся прежней -
  без неё правила проигрывают базовым стилям сайдбара из style_new.css.
*/

:root {
	--sr-line: #e8eaef;
	--sr-ease: .18s ease;
}

/* ---------- Левый сайдбар - лёгкое обновление ------------------------------ */
.sidebar-left__nav-item-link {
	border-radius: 10px;
	transition: background var(--sr-ease), color var(--sr-ease);
}

.sidebar-left__nav-item-link:hover {
	background: rgba(255, 255, 255, .08);
}

.personal-area__link {
	transition: opacity var(--sr-ease);
}

.personal-area__link:hover {
	opacity: .8;
}

/* ---------- Правый сайдбар (иконки) - лёгкое обновление -------------------- */
.sidebar__item {
	border-radius: 14px;
	transition: transform var(--sr-ease), box-shadow var(--sr-ease);
}

.sidebar__item:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 18px rgba(21, 29, 45, .14);
}

/* Иконки «Сравнение школ» и «Чеклист»: одинаковые кружки 40px, значок по центру (в оригинале разные размеры, чеклист обрезан) */
@media (min-width: 1025px) {
	.sr-karkas .sidebar--outside .sidebar__item[data-compare-link] svg.icon,
	.sr-karkas .sidebar--outside .sidebar__item-icon-wrapper {
		box-sizing: border-box;
		width: 40px;
		height: 40px;
		margin: 0 0 8px;
		border-radius: 50%;
		background: #f4f5f8;
	}

	.sr-karkas .sidebar--outside .sidebar__item[data-compare-link] svg.icon {
		padding: 11px;
	}

	.sr-karkas .sidebar--outside .sidebar__item-icon-wrapper {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.sr-karkas .sidebar--outside .sidebar__item-icon-wrapper .icon {
		width: 18px;
		height: 18px;
		margin: 0;
		padding: 0;
		background: none;
	}
}

/* ---------- Футер - точечно ------------------------------------------------ */
.footer .menu__item {
	transition: color var(--sr-ease);
}

.footer .menu__item:hover {
	color: #ff5a68;
}

.footer__col--copyright .copyright {
	color: rgba(255, 255, 255, .62);
	line-height: 1.55;
}

.footer .social__link {
	opacity: .85;
	transition: opacity var(--sr-ease), transform var(--sr-ease);
}

.footer .social__link:hover {
	opacity: 1;
	transform: translateY(-2px);
}

/* ---------- Типографика сайдбаров: компактная шкала (десктоп) -------------- */
@media (min-width: 1025px) {
	/* левый сайдбар */
	.logo__text:not(.logo__text--small) {
		font-size: 30px;
	}

	.sidebar-left__nav-item-link-text {
		font-size: 16px;
	}

	.personal-area__link-name {
		font-size: 14px;
	}

	.price-stat__value {
		font-size: 20px;
	}

	.sidebar-left__help .help__link {
		height: auto;
		min-height: 42px;
		padding-top: 11px;
		padding-bottom: 11px;
		border-width: 1.5px;
		font-size: 13px;
	}

	/* правый сайдбар */
	.sidebar__item-link {
		font-size: 13px;
		line-height: 1.25;
	}
}

/* ---------- Нижнее меню на телефоне и планшете ----------------------------- */
@media (max-width: 1024px) {
	/* нижнее меню: пять равных колонок, одинаковые иконки без подложек */
	.sr-karkas .wrapper__aside .sidebar--outside {
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		align-items: start;
		gap: 0;
		padding: 12px 4px calc(8px + env(safe-area-inset-bottom, 0px));
		background: #fff;
		box-shadow: 0 -1px 0 var(--sr-line), 0 -6px 16px rgba(21, 29, 45, .06);
	}

	.sr-karkas .wrapper__aside .sidebar--outside .sidebar__item,
	.sr-karkas .wrapper__aside .sidebar--outside .sidebar__item--main {
		width: auto;
		max-width: none;
		height: auto;
		margin: 0;
		padding: 0;
		background: none;
	}

	.sr-karkas .wrapper__aside .sidebar__item a {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 4px;
		padding: 2px 2px 0;
	}

	.sr-karkas .wrapper__aside .sidebar--outside .sidebar__item svg.icon,
	.sr-karkas .wrapper__aside .sidebar__item-icon-wrapper {
		width: 24px;
		height: 24px;
		margin: 0;
		padding: 0;
		border-radius: 0;
		background: none;
	}

	.sr-karkas .wrapper__aside .sidebar__item-icon-wrapper {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.sr-karkas .wrapper__aside .sidebar__item-icon-wrapper .icon {
		width: 20px;
		height: 16px;
		margin: 0;
	}

	.sr-karkas .wrapper__aside .sidebar--outside .sidebar__item .sidebar__item-name,
	.sr-karkas .wrapper__aside .sidebar__item:nth-child(n) .sidebar__item-name {
		width: auto;
		max-width: 100%;
		margin: 0;
		font-family: 'Onest-Medium', sans-serif;
		font-size: 10.5px;
		line-height: 1.2;
		text-align: center;
	}
}

@media (max-width: 767px) {
	/* нижняя панель навигации не перекрывает контент */
	.sr-karkas .wrapper {
		padding-bottom: 72px;
	}
}

/* ---------- Попап «Ваш город» - плитки ------------------------------------- */
/*
  30.10 по макету пользователя: каждый город - плитка с рамкой, пять в ряд,
  окно шире прежнего. До этого названия стояли строкой по 20% ширины,
  и длинные («Нижний Новгород», «Ростов-на-Дону») наезжали на соседей.
  В плитке длинное название переносится внутри своей рамки, а ряд
  выравнивается по высоте. Размеры сняты с макета на экране 1440.
  Селекторы начинаются с `.modal-overlay--city`: `.city-list` есть ещё
  в фильтрах каталога и групп, их это не касается.
*/
.modal-overlay--city .modal-overlay__inner {
	width: calc(100% - 40px);
	max-width: 1124px;
	padding: 58px 44px 54px;
	border-radius: 24px;
}

.modal-overlay--city .modal-overlay-close {
	width: 66px;
	height: 66px;
}

.modal-overlay--city .modal-overlay-close button::after,
.modal-overlay--city .modal-overlay-close button::before {
	left: 24px;
}

.modal-overlay--city .modal-overlay__title {
	margin-bottom: 18px;
	font-size: 42px;
	line-height: 1.2;
}

.modal-overlay--city .city-list {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	/* общие правила списков ниже 1024px добавляли снизу 50px пустоты */
	margin: 0;
}

.modal-overlay--city .city-list li {
	width: auto;
	margin: 0;
	padding: 0;
}

.modal-overlay--city .city-list .city-list__item {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: 100%;
	min-height: 58px;
	padding: 8px 6px;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.2;
	color: #000;
	text-align: center;
	text-decoration: none;
	border: 1px solid #dcdfe5;
	border-radius: 6px;
	transition: border-color var(--sr-ease), color var(--sr-ease);
}

/* подсветка рамкой и цветом текста, без заливки */
.modal-overlay--city .city-list .city-list__item:hover,
.modal-overlay--city .city-list .city-list__item:focus-visible {
	color: #e41b2e;
	border-color: #e41b2e;
}

@media (max-width: 1180px) {
	.modal-overlay--city .modal-overlay__inner {
		padding: 46px 32px 40px;
	}

	.modal-overlay--city .modal-overlay__title {
		font-size: 34px;
	}

	.modal-overlay--city .city-list .city-list__item {
		min-height: 52px;
		font-size: 16px;
	}
}

@media (max-width: 860px) {
	.modal-overlay--city .city-list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.modal-overlay--city .city-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 550px) {
	/* на телефоне окно, как и прежде, во всю ширину и с отступом сверху */
	.modal-overlay--city .modal-overlay__inner {
		width: 100%;
		max-height: calc(100vh - 110px);
		padding: 24px 20px 20px;
	}

	.modal-overlay--city .modal-overlay-close {
		width: 60px;
		height: 60px;
	}

	.modal-overlay--city .modal-overlay-close button::after,
	.modal-overlay--city .modal-overlay-close button::before {
		left: 21px;
	}

	.modal-overlay--city .modal-overlay__title {
		margin-bottom: 16px;
		font-size: 24px;
	}

	.modal-overlay--city .city-list {
		gap: 8px;
	}

	.modal-overlay--city .city-list .city-list__item {
		min-height: 42px;
		font-size: 15px;
	}
}

@media (max-width: 460px) {
	.modal-overlay--city .city-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
