/*
 * Site footer — reproduces the homepage export footer (template.html 2133–2154):
 * dark band, 8px red embroidered strip, white-backed logo, dashed wave with
 * light pixel rosettes, Cardo italic slogan, bottom links/social/motto row.
 * The upper row wraps below 900px.
 */

/* The footer follows content directly, without the root block gap. */
.wp-site-blocks > .wp-block-template-part:has(> .sk-site-footer) {
	margin-block-start: 0;
}

.sk-site-footer {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	/* The embroidered strip overlaps the section above; its gaps show that section's colour. */
	margin: -8px 0 0;
	background: linear-gradient(to bottom, transparent 8px, var(--wp--custom--design--footer) 8px);
	color: var(--wp--custom--design--surface);
	font-family: var(--wp--preset--font-family--body);
}

.sk-site-footer > * {
	margin-block: 0;
}

.sk-site-footer .sk-site-footer__stitch {
	--sk-embroidery-color: var(--wp--custom--design--footer);
	--sk-embroidery-size: 8px;
	height: 8px !important;
	margin: 0;
}

.sk-site-footer .sk-site-footer__upper,
.sk-site-footer .sk-site-footer__lower {
	box-sizing: border-box;
	max-width: var(--wp--custom--layout--content-size);
	margin-inline: auto;
}

.sk-site-footer .sk-site-footer__upper > *,
.sk-site-footer .sk-site-footer__lower > * {
	margin-block: 0;
}

/* Upper row */

.sk-site-footer .sk-site-footer__upper {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 36px;
	padding: 44px var(--wp--custom--layout--gutter) 36px;
}

.sk-site-footer .sk-site-footer__brand {
	flex: none;
	padding: 12px 16px;
	border-radius: 8px;
	background: var(--wp--custom--design--surface);
}

.sk-site-footer .sk-site-footer__logo {
	margin: 0;
}

.sk-site-footer .sk-site-footer__logo a {
	display: block;
	text-decoration: none;
}

.sk-site-footer .sk-site-footer__logo img {
	display: block;
	width: auto !important;
	height: 48px !important;
}

.sk-site-footer .sk-site-footer__wave {
	position: relative;
	flex: 1;
	min-width: 200px;
	height: 74px;
	margin: 0 10px;
	color: rgba(255, 255, 255, 0.55);
}

.sk-site-footer .sk-site-footer__wave-line {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.sk-site-footer .sk-site-footer__knot {
	position: absolute;
	top: var(--sk-knot-y);
	left: var(--sk-knot-x);
	display: flex;
	padding: 4px;
	border-radius: 50%;
	background: var(--wp--custom--design--footer);
	transform: translate(-50%, -50%);
}

.sk-site-footer .sk-site-footer__slogan {
	flex: none;
	max-width: 100%;
	margin: 0;
	color: var(--wp--custom--design--surface);
	font-family: var(--wp--preset--font-family--editorial);
	font-size: 30px;
	font-style: italic;
	font-weight: 400;
	line-height: 1.15;
}

/* Bottom row */

.sk-site-footer .sk-site-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.sk-site-footer .sk-site-footer__lower {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 20px 32px;
	padding: 20px var(--wp--custom--layout--gutter) 28px;
	font-size: 15px;
}

.sk-site-footer .sk-site-footer__navigation {
	margin: 0;
	color: var(--wp--custom--design--surface);
	font-family: var(--wp--preset--font-family--body);
	font-size: 15px;
}

.sk-site-footer .sk-site-footer__navigation .wp-block-navigation__container {
	flex-wrap: wrap;
	gap: 28px;
}

.sk-site-footer .sk-site-footer__navigation .wp-block-navigation-item__content {
	padding: 0;
	color: var(--wp--custom--design--surface);
	line-height: normal;
	text-decoration: none;
}

.sk-site-footer .sk-site-footer__navigation .wp-block-navigation-item__content:hover {
	color: var(--wp--custom--design--blush);
}

.sk-site-footer .sk-site-footer__social.wp-block-social-links {
	flex-wrap: nowrap;
	gap: 10px;
	margin: 0;
	padding: 0;
}

.sk-site-footer .sk-site-footer__social .wp-social-link {
	margin: 0;
	padding: 0;
	background: none;
	color: var(--wp--custom--design--surface);
	font-size: 19px;
}

.sk-site-footer .sk-site-footer__social .wp-social-link a {
	display: flex;
	box-sizing: content-box;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1.5px solid rgba(255, 255, 255, 0.4);
	border-radius: 50%;
	color: var(--wp--custom--design--surface);
}

/* Core forces the anchor to currentcolor, so the hover colour is set on the item. */
.sk-site-footer .sk-site-footer__social .wp-social-link:hover {
	color: var(--wp--custom--design--footer);
}

.sk-site-footer .sk-site-footer__social .wp-social-link a:hover {
	background: var(--wp--custom--design--surface);
	color: var(--wp--custom--design--footer);
}

.sk-site-footer .sk-site-footer__social .wp-social-link svg {
	display: none;
}

.sk-site-footer .sk-site-footer__social .wp-social-link a::before {
	font-family: "sk-lucide";
	font-size: 19px;
	font-style: normal;
	font-weight: 400;
	line-height: 1;
}

.sk-site-footer .sk-site-footer__social .wp-social-link-facebook a::before {
	content: var(--sk-icon-facebook);
}

.sk-site-footer .sk-site-footer__social .wp-social-link-youtube a::before {
	content: var(--sk-icon-youtube);
}

/* Glyphs are decorative; the link name comes from core's visually hidden label. */
@supports (content: "" / "") {
	.sk-site-footer .sk-site-footer__social .wp-social-link-facebook a::before {
		content: var(--sk-icon-facebook) / "";
	}

	.sk-site-footer .sk-site-footer__social .wp-social-link-youtube a::before {
		content: var(--sk-icon-youtube) / "";
	}
}

.sk-site-footer .sk-site-footer__motto {
	margin: 0;
	color: var(--wp--custom--design--surface);
	font-family: var(--wp--preset--font-family--editorial);
	font-size: 19px;
	line-height: normal;
}

.sk-site-footer :is(a, button):focus-visible {
	outline: 2px solid var(--wp--custom--design--surface);
	outline-offset: 2px;
}

/* The logo sits on a white card, where a white ring would be invisible. */
.sk-site-footer .sk-site-footer__logo a:focus-visible {
	outline-color: var(--wp--custom--design--ink);
}

@media (max-width: 899.98px) {
	.sk-site-footer .sk-site-footer__upper {
		flex-wrap: wrap;
	}
}
