/* ============================================================
   Аливия — подвал сайта.

   Подключается ПОСЛЕ aliviy-site-*.css и aliviy-header-*.css
   и перекрывает их правила подвала. Разметку печатают
   template-parts/footer/widgets.php и bottom.php дочерней темы.
   ============================================================ */


/* ============================================================
   1. Полотно
   Тон глубже, чем у шапки: подвал должен «закрывать» страницу,
   а не спорить с ней. Сверху — та же фирменная лента, что на
   нижней кромке шапки: страница получает рамку.
   ============================================================ */

/* Подвал не «липкий»: в настройках темы это выключено, и её скрипт
   (`$("body").css("margin-bottom", высота подвала)` каждую секунду)
   не должен запускаться. Но если класс `--disable-sticky` когда-нибудь
   пропадёт, под подвалом появится пустая полоса в его высоту — а подвал
   у нас высокий. Прибиваем отступ намертво: inline-стиль от скрипта
   перебивается только `!important`. */
body{margin-bottom:0 !important}

.site-footer.site-footer{
	position:relative;
	padding-top:46px;
	padding-bottom:34px;
	background-color:#4130CE;
	background-image:
		radial-gradient(110% 130% at 88% -10%,rgba(235,24,192,.26) 0%,rgba(235,24,192,0) 58%),
		linear-gradient(180deg,#5442E0 0%,#4130CE 52%,#3A28C4 100%);
	color:#fff;
	font-size:1rem;
}
.site-footer.site-footer:before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	right:0;
	height:3px;
	background:linear-gradient(90deg,#4C35DE 0%,#705DE5 28%,#EB18C0 62%,#705DE5 100%);
}

.al-foot{
	display:grid;
	gap:34px;
	/* Тема ставит body{overflow-wrap:break-word}. В сплошном тексте это
	   защита от переполнения, а в колонках ссылок любое слово, не влезшее
	   на пиксель, рвётся ПО БУКВЕ («Программиста / м»). В подвале отменяем:
	   пусть лучше перенос идёт по словам или строка чуть выйдет за колонку. */
	overflow-wrap:normal;
	word-break:normal;
	word-wrap:normal;
}
.al-foot *{
	overflow-wrap:normal;
	word-break:normal;
	word-wrap:normal;
}

/* ссылки подвала: единая манера на весь блок */
.site-footer .al-foot a,
.site-footer .al-foot a:visited{
	color:rgba(255,255,255,.76);
	text-decoration:none;
	transition:color .16s ease;
}
.site-footer .al-foot a:hover,
.site-footer .al-foot a:focus-visible{
	color:#fff;
	text-decoration:none;
	outline:none;
}


/* ============================================================
   2. Полоса с предложением
   ============================================================ */

.al-foot__cta{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:18px 26px;
	padding:20px 24px;
	background:rgba(255,255,255,.085);
	border:1px solid rgba(255,255,255,.15);
	border-radius:20px;
}
.al-foot__pitch{min-width:0}
.al-foot__eyebrow{
	display:block;
	margin-bottom:6px;
	font-size:11px;
	font-weight:700;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:rgba(255,255,255,.55);
}
.al-foot__pitch p{
	margin:0;
	max-width:46ch;
	font-size:16px;
	line-height:1.45;
	color:rgba(255,255,255,.86);
}
.al-foot__pitch strong{color:#fff;font-weight:700}

.al-foot__actions{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}
.site-footer .al-foot .al-foot__btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:44px;
	padding:0 20px;
	background:#fff;
	border:1px solid #fff;
	border-radius:14px;
	color:#4C35DE;
	font-size:15px;
	font-weight:700;
	line-height:1;
	white-space:nowrap;
	box-shadow:0 10px 22px -14px rgba(0,0,0,.9);
	transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
	/* Цвет надписи закреплён жёстко: на белой кнопке любое чужое правило,
	   красящее ссылки подвала в белый, сделало бы текст невидимым.
	   -webkit-text-fill-color задан отдельно — он перекрывает color. */
	color:#4C35DE !important;
	-webkit-text-fill-color:#4C35DE !important;
}
.site-footer .al-foot .al-foot__btn:hover,
.site-footer .al-foot .al-foot__btn:focus-visible{
	background:#F4F2FF;
	border-color:#F4F2FF;
	color:#3A28C4;
	transform:translateY(-1px);
}
.site-footer .al-foot .al-foot__btn--ghost{
	background:transparent;
	border-color:rgba(255,255,255,.34);
	box-shadow:none;
	font-weight:600;
	color:#fff !important;
	-webkit-text-fill-color:#fff !important;
}
.site-footer .al-foot .al-foot__btn--ghost:hover,
.site-footer .al-foot .al-foot__btn--ghost:focus-visible{
	background:rgba(255,255,255,.12);
	border-color:rgba(255,255,255,.5);
	color:#fff;
}


/* ============================================================
   3. Сетка колонок
   ============================================================ */

.al-foot__grid{
	display:grid;
	grid-template-columns:minmax(0,1fr);
	gap:30px;
}
@media (min-width:700px){
	.al-foot__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 36px}
}
/* Колонке инструментов отдано больше места: 17 разделов раскладываются
   в три столбца и занимают 6 строк вместо девяти — подвал не вытягивается
   по высоте из-за одного списка. */
@media (min-width:1080px){
	.al-foot__grid{
		grid-template-columns:minmax(0,1.7fr) minmax(0,3fr) minmax(0,1fr) minmax(0,1.2fr);
		gap:34px;
	}
}

/* ---------- колонка бренда ---------- */

.al-foot__brand{min-width:0}
.site-footer .al-foot .al-foot__logo{
	display:inline-flex;
	align-items:center;
	gap:11px;
	margin-bottom:14px;
}
.al-foot__logo img{
	flex:0 0 auto;
	width:42px;
	height:42px;
	padding:5px;
	background:#fff;
	border-radius:50%;
	box-sizing:border-box;
}
.al-foot__logo-txt{display:flex;flex-direction:column;line-height:1.15}
.al-foot__logo-txt b{color:#fff;font-size:18px;font-weight:800;letter-spacing:-.01em}
.al-foot__logo-txt i{
	margin-top:3px;
	font-size:10px;
	font-style:normal;
	font-weight:600;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:rgba(255,255,255,.55);
}

.al-foot__about{
	margin:0 0 14px;
	max-width:40ch;
	font-size:14px;
	line-height:1.6;
	color:rgba(255,255,255,.7);
}

.al-foot__facts{
	display:flex;
	flex-wrap:wrap;
	gap:7px;
	margin:0 0 16px;
	padding:0;
	list-style:none;
}
.al-foot__facts li{
	padding:5px 11px;
	background:rgba(255,255,255,.1);
	border:1px solid rgba(255,255,255,.14);
	border-radius:999px;
	font-size:12.5px;
	font-weight:600;
	color:rgba(255,255,255,.82);
}

/* Подпись и значение в одну строку. Держится за счёт того, что подпись
   набрана обычным регистром и кеглем 13.5px: КАПС с разрядкой был вдвое
   шире и в колонку не влезал. Колонка бренда для этого расширена. */
.al-foot__contacts{
	display:grid;
	grid-template-columns:auto minmax(0,1fr);
	gap:7px 8px;
	margin:0;
	font-size:13.5px;
	line-height:1.4;
}
.al-foot__contacts dt{
	color:rgba(255,255,255,.5);
	white-space:nowrap;
}
.al-foot__contacts dd{
	margin:0;
	color:rgba(255,255,255,.86);
	white-space:nowrap;
}
.site-footer .al-foot .al-foot__contacts a{
	color:#fff;
	border-bottom:1px solid rgba(255,255,255,.3);
}
.site-footer .al-foot .al-foot__contacts a:hover{border-bottom-color:#fff}

/* ---------- колонки ссылок ---------- */

.al-foot__col{min-width:0}

.al-foot__head{
	display:flex;
	align-items:center;
	gap:8px;
	margin:0 0 14px;
	font-size:11.5px;
	font-weight:700;
	letter-spacing:.14em;
	line-height:1.2;
	text-transform:uppercase;
	color:rgba(255,255,255,.55);
}
.al-foot__list{
	margin:0;
	padding:0;
	list-style:none;
}
.al-foot__list li{margin:0 0 10px;break-inside:avoid}
.al-foot__list li:last-child{margin-bottom:0}
.site-footer .al-foot .al-foot__list a{
	display:inline;
	font-size:14px;
	line-height:1.45;
}

/* Список разделов — сетка, а не колонки текста.
   При `columns` браузер режет список по высоте, и строки соседних столбцов
   не попадают друг напротив друга: у двухстрочных названий появлялись
   проплешины. В сетке строка общая для всех столбцов и всё выравнено. */
.al-foot__list--split{
	display:grid;
	grid-template-columns:minmax(0,1fr);
	gap:10px 20px;
	align-items:start;
}
.al-foot__list--split li{margin:0}

@media (min-width:520px){
	.al-foot__list--split{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:700px){
	.al-foot__list--split{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:700px) and (max-width:1079px){
	.al-foot__col--wide{grid-column:1 / -1}
}

.site-footer .al-foot .al-foot__more{
	display:inline-flex;
	align-items:center;
	gap:6px;
	margin-top:14px;
	font-size:14px;
	font-weight:600;
	color:#fff;
}
.al-foot__more:after{
	content:"→";
	transition:transform .18s ease;
}
.site-footer .al-foot .al-foot__more:hover:after{transform:translateX(3px)}


/* ============================================================
   4. Нижняя строка
   ============================================================ */

.al-foot__bottom{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:12px 26px;
	margin-top:30px;
	padding-top:22px;
	border-top:1px solid rgba(255,255,255,.16);
	font-size:13px;
	color:rgba(255,255,255,.55);
}
.al-foot__legal,
.al-foot__pay{margin:0}

.al-foot__legal{
	display:flex;
	flex-wrap:wrap;
	gap:6px 8px;
	align-items:center;
}
.al-foot__legal span{white-space:nowrap}
.al-foot__legal span + span:before{
	content:"·";
	margin-right:8px;
	color:rgba(255,255,255,.35);
}
.al-foot__copy{color:rgba(255,255,255,.72)}

/* Строка оплаты набрана обычным текстом, значок — строчный элемент перед ним.
   Без flex: в колоночной раскладке подвала flex-строка вела себя непредсказуемо
   и содержимое уезжало от левого края. */
.al-foot__pay{
	display:block;
	text-align:left;
	line-height:1.5;
}
.al-foot__pay-ico{
	display:inline-block;
	width:17px;
	height:17px;
	margin-right:7px;
	vertical-align:-3px;
	color:rgba(255,255,255,.5);
}
.al-foot__pay-ico svg{display:block;width:100%;height:100%}


/* ============================================================
   5. Узкие экраны
   ============================================================ */

@media (max-width:699px){
	.site-footer.site-footer{padding-top:34px;padding-bottom:28px}
	.al-foot{gap:28px}
	.al-foot__cta{
		padding:18px;
		border-radius:18px;
	}
	.al-foot__pitch p{font-size:15px}
	.al-foot__actions{width:100%}
	.site-footer .al-foot .al-foot__btn{flex:1 1 auto}
	/* Нижняя строка на телефоне ставится в столбик и прижимается влево.
	   Разделители «·» при этом убираем: при переносе точка оказывалась
	   в начале строки и читалась как маркер списка. */
	.al-foot__bottom{
		margin-top:24px;
		flex-direction:column;
		align-items:flex-start;
		gap:14px;
		font-size:12.5px;
	}
	.al-foot__legal{
		flex-direction:column;
		align-items:flex-start;
		gap:5px;
	}
	.al-foot__legal span + span:before{content:none;margin:0}

}

@media (max-width:400px){
	.al-foot__list--split{columns:1}
	.al-foot__logo img{width:38px;height:38px}
}
