/* Site footer (partials/components/footer.html): dark band with brand, contacts, link columns and a legal row. Loaded on every page after common.css. */

#footer.ft {--ft-bg: #14161B; --ft-bg2: #1C1F26; --ft-text: #C9CED6; --ft-muted: #8A919C; --ft-line: rgba(255,255,255,.08); --ft-red: #EB3752;
	height: auto; margin-top: 48px; padding: 0; border: 0; background: var(--ft-bg); color: var(--ft-text); font-size: 14px; line-height: 1.5;}
#footer.ft * {box-sizing: border-box;}
#footer.ft a {color: var(--ft-text); text-decoration: none; transition: color .15s;}
#footer.ft a:hover {color: #fff;}
.ft_wrap {max-width: 1180px; margin: 0 auto; padding: 56px 30px 0;}

.ft_top {display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 48px; padding-bottom: 44px; border-bottom: 1px solid var(--ft-line);}
.ft_logo img {height: 28px; width: auto; display: block; filter: brightness(0) invert(1);}
.ft_tagline {margin: 18px 0 22px; font-size: 14px; line-height: 1.55; color: var(--ft-muted);}
.ft_contacts {display: grid; gap: 10px; margin-bottom: 20px;}
.ft_contact {display: flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 500;}
.ft_contact > .icon, .ft_contact > .ft_at {flex: 0 0 32px; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: var(--ft-bg2); color: var(--ft-red); font-size: 15px; font-style: normal; font-weight: 700;}
.ft_contact > a {color: #fff;}
.ft_social {display: flex; gap: 8px; margin-bottom: 22px;}
.ft_soc {display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px; background: var(--ft-bg2); color: #fff; font-size: 16px; transition: background .15s, transform .15s;}
.ft_soc:hover {background: var(--ft-red); color: #fff; transform: translateY(-1px);}
.ft_cta {display: inline-flex; align-items: center; justify-content: center; height: 46px; padding: 0 22px; border-radius: 12px; background: var(--ft-red); color: #fff !important; font-size: 14px; font-weight: 700; transition: background .15s, transform .1s;}
.ft_cta:hover {background: #D62E48;}
.ft_cta:active {transform: translateY(1px);}

.ft_cols {display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr) minmax(0, 1fr); gap: 32px;}
.ft_title {font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #fff; margin-bottom: 16px;}
.ft_list {list-style: none; margin: 0; padding: 0; display: grid; gap: 9px;}
.ft_list li {margin: 0; padding: 0; line-height: 1.4;}
.ft_list a {color: var(--ft-text);}
.ft_list_2 {grid-template-columns: 1fr 1fr; column-gap: 20px;}

.ft_bottom {display: flex; align-items: center; gap: 16px 28px; flex-wrap: wrap; padding: 20px 0 24px; font-size: 13px; color: var(--ft-muted);}
#footer.ft #footer_copyright {margin: 0; font-size: 13px; font-weight: 600; color: #fff;}
.ft_bottom_note {color: var(--ft-muted);}
.ft_bottom_links {display: flex; gap: 20px; margin-left: auto;}
.ft_bottom_links a {color: var(--ft-muted); font-size: 13px;}
.ft_bottom_links a:hover {color: #fff;}

@media screen and (max-width: 1100px) {
	.ft_top {grid-template-columns: 1fr; gap: 36px;}
	.ft_brand {max-width: 480px;}
}

@media screen and (max-width: 800px) {
	.ft_wrap {padding: 40px 16px 0;}
	.ft_top {gap: 28px; padding-bottom: 28px;}
	.ft_cols {grid-template-columns: 1fr; gap: 26px;}
	.ft_list {gap: 10px; grid-template-columns: 1fr 1fr; column-gap: 16px;}
	.ft_col:last-child .ft_list {grid-template-columns: 1fr;}
	.ft_cta {width: 100%;}
	.ft_bottom {flex-direction: column; align-items: flex-start; gap: 10px; padding: 20px 0 calc(24px + env(safe-area-inset-bottom));}
	.ft_bottom_links {margin-left: 0; flex-wrap: wrap; gap: 14px;}
	#footer.ft {margin-top: 32px;}
}
