/**
 * Footer styles — matched to Figma Footer component.
 */

.site-footer {
	position: relative;
	background-color: var(--ppi-navy, #1a1a4a);
	color: #fff;
}

.site-footer::before {
	display: block;
	content: '';
	position:absolute;
	z-index:800;
	pointer-events:none;
	left:0;
	margin-top:-197px;
	width:198px;
	height:198px;
	/*background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='198' viewBox='0 0 1440 198' fill='none'%3E%3Cpath d='M0 0H1440V198H0Z M1440 0H0L100 198H1440V0Z' fill='%231A1A4A' fill-rule='evenodd'/%3E%3C/svg%3E%0A");*/
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='198' viewBox='0 0 100 198' fill='none'%3E%3Cpath d='M0 0H100V198H0Z M100 0H0L100 198H100V0Z' fill='%231A1A4A' fill-rule='evenodd'/%3E%3C/svg%3E%0A");
	background-repeat:no-repeat;
	background-position:-1px 100%;
}

@media (max-width:1400px) {
	.site-footer::before { background-size:33px auto; }
}

.site-footer__inner {
	position: relative;
	padding: 6rem 0 30px;
}

.site-footer__main {
	display: grid;
	grid-template-columns: 36% 64%;
	align-items: start;
}

/* Brand column */
.site-footer__brand {
	max-width: 332px;
}

.site-footer__logo {
	display: block;
	width: 100%;
	max-width: 332px;
	height: auto;
	margin-bottom: 24px;
}

.site-footer__description,
.site-footer__description p {
	color: #fff;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: 0.32px;
	margin: 0 0 24px;
	max-width: 300px;
}

.site-footer__social {
	display: flex;
	align-items: center;
	gap: 18px;
}

.site-footer__social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	opacity: 1;
	transition: opacity 0.2s ease;
	min-width: 22px;
}

.site-footer__social-link:hover,
.site-footer__social-link:focus {
	opacity: 0.75;
}

.site-footer__social-link img,
.site-footer__social-link svg {
	display: block;
}

/* Menu groups */
.site-footer__menus {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	padding-top: 1rem;
}

.site-footer__menu-heading {
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	margin: 0 0 20px;
}

.site-footer__menu-list,
.site-footer ul.site-footer__menu-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.site-footer__menu-list li,
.site-footer ul.site-footer__menu-list li {
	margin: 0;
	padding: 0;
	line-height: 1.4;
}

.site-footer__menu-list a,
.site-footer ul.site-footer__menu-list a {
	color: rgba(255, 255, 255, 0.7);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	text-decoration: none;
	transition: color 0.2s ease;
}

.site-footer__menu-list a:hover,
.site-footer__menu-list a:focus,
.site-footer ul.site-footer__menu-list a:hover,
.site-footer ul.site-footer__menu-list a:focus {
	color: #fff;
	text-decoration: none;
}

.site-footer__menu-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px 32px;
}

/* Divider */
.site-footer__divider {
	height: 1px;
	margin: 48px 0 24px;
	background: rgba(255, 255, 255, 0.5);
}

/* Bottom bar */
.site-footer__bar {
	display: grid;
	grid-template-columns: 31% minmax(320px, auto);
	gap: 24px 64px;
	align-items: end;
}

.site-footer__fpg,
.site-footer__copyright {
	color: #fff;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.4;
	margin: 0;
}

.site-footer__legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
}

.site-footer__legal-link {
	color: #fff;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.4;
	text-decoration: none;
	white-space: nowrap;
}

.site-footer__legal-link:hover,
.site-footer__legal-link:focus {
	color: rgba(255, 255, 255, 0.8);
	text-decoration: underline;
}

/* Responsive */
@media only screen and (max-width: 1199px) {
	.site-footer__main {
		grid-template-columns: 1fr 1fr;
	}

	.site-footer__brand {
		grid-column: 1 / -1;
		max-width: 480px;
	}

	.site-footer__menus {
		grid-column: 1 / -1;
		grid-template-columns: 1fr 1fr;
	}
	
	.site-footer__bar {
	    grid-template-columns: 263px minmax(320px, auto);    
	    gap: 20px 40px;
	}

	.site-footer__legal {
		gap: 12px 10px;
	}
}

@media only screen and (max-width: 767px) {
	.site-footer__inner {
		padding-top: 48px;
	}

	.site-footer__main,
	.site-footer__menus {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.site-footer__brand {
		max-width: none;
	}

	.site-footer__menu-columns {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.site-footer__bar {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.site-footer__legal {
		justify-content: flex-start;
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}
}

@media only screen and (max-width: 575px) {
	.site-footer__legal {
		width: 100%;
	}
}
