/* ==========================================================================
   Site footer (includes/footer.php): blue band with the wave motif. Replaces Divi's #main-footer.
   ========================================================================== */

body.yns-has-footer #main-footer { display: none; }

.yns-ft {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	margin-top: 0;
	background: var(--yn-primary, #0258A2);
	color: rgba(255, 255, 252, .82);
	font-size: var(--gvid-yn-fs-small, .95rem);
	line-height: 1.7;
}
/* The wave motif, soft and mirrored, covering the whole footer (mask so it takes the brand colour). */
.yns-ft__waves {
	position: absolute;
	inset: 0;
	transform: scaleX(-1); /* mirrored */
	background: #FFFFFC;
	opacity: .07;
	-webkit-mask: url("pdp-waves.png") left bottom / cover no-repeat;
	mask: url("pdp-waves.png") left bottom / cover no-repeat;
	pointer-events: none;
	z-index: -1;
}
.yns-ft__in {
	width: calc(100% - clamp(40px, 13.2vw, 200px));
	max-width: 1240px;
	margin-inline: auto;
	padding: clamp(48px, 6vw, 88px) 0 clamp(20px, 2.5vw, 32px);
}
.yns-ft__grid {
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr 1.2fr;
	gap: clamp(28px, 4vw, 56px);
}
@media (max-width: 980px) { .yns-ft__grid { grid-template-columns: 1fr 1fr; } .yns-ft__brand { grid-column: 1 / -1; } }
@media (max-width: 560px) { .yns-ft__grid { grid-template-columns: 1fr; gap: 28px; } }

.yns-ft__logo { display: inline-block; margin-bottom: 14px; }
.yns-ft__logo img { display: block; width: 160px; height: auto; }
.yns-ft__logo span { font-size: 1.6rem; font-weight: 800; color: #FFFFFC; }
.yns-ft__tag { margin: 0; max-width: 40ch; }

.yns-ft__h {
	margin: 0 0 14px;
	font-size: var(--gvid-yn-fs-h6, 1.1rem);
	font-weight: 800;
	color: #FFFFFC;
}
.yns-ft ul { list-style: none; margin: 0; padding: 0; }
.yns-ft__col li { margin: 0 0 8px; }
.yns-ft__col a, .yns-ft__contact span {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	color: inherit;
	text-decoration: none;
	transition: color .2s, transform .25s cubic-bezier(.22, 1, .36, 1);
}
.yns-ft__col a:hover, .yns-ft__col a:focus-visible { color: var(--yn-yellow, #FDDC00); transform: translateX(-4px); outline: none; }
.yns-ft__col a:active { transform: none; }
.yns-ft__col a:focus-visible { outline: 2px solid var(--yn-yellow, #FDDC00); outline-offset: 3px; border-radius: 4px; }

.yns-ft__ic { width: 1.25em; height: 1.25em; flex: none; }
.yns-ft__social { display: flex; gap: 10px; margin-top: 20px; }
.yns-ft__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 100px;
	background: rgba(255, 255, 252, .1);
	color: #FFFFFC;
	transition: background-color .2s, color .2s, transform .3s cubic-bezier(.34, 1.56, .64, 1);
}
.yns-ft__social a:hover, .yns-ft__social a:focus-visible { background: var(--yn-yellow, #FDDC00); color: var(--yn-heading, #1E293B); transform: translateY(-3px); outline: none; }
.yns-ft__social .yns-ft__ic { width: 20px; height: 20px; }

.yns-ft__trust {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px clamp(28px, 5vw, 72px);
	margin-top: clamp(36px, 4.5vw, 56px);
	padding: 18px 0;
	border-top: 1px solid rgba(255, 255, 252, .14);
	border-bottom: 1px solid rgba(255, 255, 252, .14);
	color: #FFFFFC;
	font-weight: 700;
}
.yns-ft__trust li { display: inline-flex; align-items: center; gap: .5em; }
.yns-ft__trust .yns-ft__ic { color: var(--yn-yellow, #FDDC00); width: 1.4em; height: 1.4em; }

.yns-ft__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 20px; margin-top: clamp(36px, 4.5vw, 56px); padding-top: 18px; border-top: 1px solid rgba(255, 255, 252, .14); font-size: var(--gvid-yn-fs-xs, .85rem); }
.yns-ft__bottom p { margin: 0; }
/* Policy links: tiny, centred between the copyright and the credit; their own line on phones. */
.yns-ft__legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 0; margin: 0; padding: 0; list-style: none; font-size: .78em; opacity: .85; }
.yns-ft__legal li { display: flex; align-items: center; }
.yns-ft__legal li + li::before { content: ""; width: 1px; height: .9em; margin-inline: 10px; background: rgba(255, 255, 252, .35); }
.yns-ft__legal a { color: inherit; text-decoration: none; }
.yns-ft__legal a:hover, .yns-ft__legal a:focus-visible { color: var(--yn-yellow, #FDDC00); text-decoration: underline; outline: none; }
@media (max-width: 767px) { .yns-ft__bottom { justify-content: center; text-align: center; } .yns-ft__legal { order: 3; flex-basis: 100%; } }

@media (prefers-reduced-motion: reduce) { .yns-ft a { transition: none; } }

.yns-ft__credit a { color: var(--yn-yellow, #FDDC00); text-decoration: none; font-weight: 700; }
.yns-ft__credit a:hover, .yns-ft__credit a:focus-visible { text-decoration: underline; outline: none; }
