/*
 * Site footer
 * Mobil (<1024): Figma 184:1049 — kolumn, gap 32, py48, avdelare Brand/900.
 * Desktop:       Figma 107:9276 — höjd 497; vänsterkolumn (logga, tagline, Trustpilot, sociala) · Kontakt 187 · meny,
 *                bottenrad (copyright / juridiska länkar). Kanter följer containern (x80–1360) enligt beslut.
 */

.site-footer {
	padding-block: 3rem; /* 48px */
	background-color: var(--color-brand-1000);
	color: var(--color-bg-white);
}

.site-footer a {
	color: inherit;
}

.site-footer__inner {
	display: flex;
	flex-direction: column;
	gap: 2rem; /* 32px */
}

/* Mobil: brand-kolumnen "osynlig" så att Trustpilot och sociala kan ordnas mellan övriga delar. */
.site-footer__brand { display: contents; }
.site-footer__identity { order: 1; }
.site-footer__trustpilot { order: 2; }
.site-footer__contact { order: 3; }
.site-footer__nav { order: 4; }
.site-footer__socials { order: 5; }
.site-footer__bottom { order: 6; }

.site-footer__identity {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1rem; /* 16px */
}

.site-footer__logo {
	width: 7.75rem;   /* 124px */
	height: 10.125rem; /* 162px */
	object-fit: contain;
}

.site-footer__tagline {
	display: flex;
	flex-direction: column;
	gap: 0.5rem; /* 8px */
	font-size: var(--font-size-body-l); /* 18px */
	line-height: var(--line-height-body);
}

/* Trustpilot (Figma 185:1650). Manrope → Inter enligt beslut. */
.site-footer__trustpilot {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 1.1429rem; /* 18.286px */
	color: var(--color-bg-white);
	text-decoration: none;
	filter: drop-shadow(22.857px 16px 22.857px rgba(0, 0, 0, 0.08));
}

.site-footer__trustpilot-rating {
	font-size: 1.0714rem; /* 17.143px */
	font-weight: 700;
	line-height: 1.0714rem;
	white-space: nowrap;
}

.site-footer__trustpilot-brand {
	display: inline-flex;
	align-items: center;
	gap: 0.8036rem; /* 12.857px */
	font-size: 1.2857rem; /* 20.571px */
	font-weight: 600;
	line-height: 1.2857rem;
	white-space: nowrap;
}

.site-footer__trustpilot-star {
	width: 1.5rem; /* 24px */
	height: 1.5rem;
}

.site-footer__contact {
	display: flex;
	flex-direction: column;
	gap: 1.25rem; /* 20px */
}

.site-footer__group {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem; /* 8px */
}

.site-footer__title {
	font-family: var(--font-family-heading);
	font-size: 1.125rem; /* 18px */
	line-height: normal;
}

.site-footer__line {
	font-size: var(--font-size-body-m); /* 14px */
	line-height: normal;
	text-decoration: none;
	white-space: nowrap;
}

/* Mobil: kartlänken understruken, utan ikon. Dubbel klass → vinner över .site-footer__line. */
.site-footer__line.site-footer__maps {
	text-decoration: underline;
}

.site-footer__maps-icon {
	display: none;
}

.site-footer .site-footer__menu {
	display: flex;
	flex-direction: column;
	gap: 0.75rem; /* 12px */
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__menu a {
	font-family: var(--font-family-heading);
	font-size: 1.25rem; /* 20px */
	line-height: var(--line-height-heading);
	text-decoration: none;
}

.site-footer .site-footer__socials {
	display: flex;
	align-items: center;
	gap: 0.8125rem; /* 13px */
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__social {
	display: block;
}

.site-footer__social-icon {
	width: 2.5rem; /* 40px */
	height: 2.5rem;
}

/* Mobil: avdelare Brand/900 (Figma 184:1075) ovanför copyright. */
.site-footer__bottom {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding-top: 2rem;
	border-top: 1px solid var(--color-brand-900);
	font-size: var(--font-size-body-s); /* 12px */
	line-height: normal;
}

.site-footer .site-footer__legal {
	display: flex;
	gap: 1rem; /* 16px */
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__legal a {
	text-decoration: underline;
	white-space: nowrap;
}

/* ---------- Desktop ---------- */
@media (min-width: 1024px) {
	.site-footer {
		padding-block: 4.9375rem 3.4375rem; /* 79px / 55px */
	}

	.site-footer__inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 11.6875rem 12.5625rem; /* · 187px · 201px (Figma: meny + juridiska länkar) */
		grid-template-rows: 1fr auto;
		column-gap: 2rem;
		min-height: calc(31.0625rem - 4.9375rem - 3.4375rem); /* höjd 497 */
	}

	.site-footer__brand {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		grid-area: 1 / 1;
	}

	.site-footer__identity {
		gap: 1.125rem; /* 18px logga → tagline */
	}

	.site-footer__logo {
		width: 4.8125rem; /* 77px */
		height: 6.25rem;  /* 100px */
	}

	.site-footer__tagline {
		gap: 0;
		font-size: var(--font-size-body-s); /* 12px */
		line-height: normal;
	}

	/* Figma 107:9307 */
	.site-footer__trustpilot {
		gap: 0.7805rem; /* 12.488px */
		margin-top: 1.1875rem; /* 19px */
		filter: drop-shadow(15.61px 10.927px 15.61px rgba(0, 0, 0, 0.08));
	}

	.site-footer__trustpilot-rating {
		font-size: 0.7317rem; /* 11.707px */
		line-height: 0.7317rem;
	}

	.site-footer__trustpilot-brand {
		gap: 0.5488rem; /* 8.78px */
		font-size: 0.8781rem; /* 14.049px */
		line-height: 0.8781rem;
	}

	.site-footer__trustpilot-star {
		width: 1.0244rem; /* 16.39px */
		height: 1.0244rem;
	}

	.site-footer .site-footer__socials {
		margin-top: 2.5rem; /* 40px */
	}

	.site-footer__social-icon {
		width: 2rem; /* 32px */
		height: 2rem;
	}

	.site-footer__contact {
		grid-area: 1 / 2;
		gap: 2rem; /* 32px */
		margin-top: 0.6875rem; /* 11px */
	}

	.site-footer__title {
		font-size: 1rem; /* 16px */
	}

	.site-footer__line {
		font-size: var(--font-size-body-s); /* 12px */
	}

	.site-footer__line.site-footer__maps {
		display: inline-flex;
		align-items: flex-start;
		gap: 1.5rem; /* 24px */
		text-decoration: none;
	}

	.site-footer__maps-icon {
		display: inline-flex;
		width: 1rem;
		height: 1rem;
	}

	.site-footer__nav {
		grid-area: 1 / 3;
		margin-top: 0.875rem; /* 14px */
	}

	.site-footer .site-footer__menu {
		gap: 1rem; /* 16px */
	}

	.site-footer__menu a {
		font-size: 1.5rem; /* 24px */
		line-height: normal;
		white-space: nowrap;
	}

	/* Bottenrad: copyright i kolumn 1, juridiska länkar i menykolumnen. */
	.site-footer__bottom {
		display: grid;
		grid-area: 2 / 1 / 3 / -1;
		grid-template-columns: subgrid;
		column-gap: normal; /* subgrid ärver förälderns 32px — mobilens gap: 8px får inte följa med */
		align-items: center;
		padding-top: 0;
		border-top: 0;
	}

	.site-footer__copyright {
		grid-column: 1;
		font-weight: 500;
	}

	.site-footer__legal-nav {
		grid-column: 3;
	}

	.site-footer__legal a {
		font-weight: 500;
	}
}
