/* Isolated footer layout. Keep the approved navy palette. */
.yin-site-footer .yin-site-footer__grid {
	align-items: start;
	gap: clamp(24px, 2.8vw, 44px);
	grid-template-columns: minmax(176px, .7fr) minmax(160px, .8fr) minmax(210px, 1fr) minmax(300px, 1.5fr);
}
.yin-site-footer .yin-site-footer__brand img { display: block; margin: 0; }
.yin-site-footer .yin-site-footer__column { min-width: 0; }
.yin-site-footer .yin-site-footer__office h3 {
	color: #e4edf7;
	font-size: 12px;
	font-weight: 750;
	letter-spacing: .07em;
	line-height: 1.5;
	margin: 0 0 7px;
}
.yin-site-footer .yin-site-footer__office strong { font-size: 13px; margin: 0 0 5px; }
.yin-site-footer .yin-site-footer__office p { font-size: 13px; line-height: 1.65; }
.yin-site-footer .yin-site-footer__bottom { flex-wrap: wrap; gap: 12px 24px; padding-block: 18px; }
.yin-site-footer .yin-site-footer__languages { align-items: center; gap: 12px 24px; }
.yin-site-footer .yin-site-footer__settings {
	appearance: none;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: #e4edf7;
	cursor: pointer;
	font: inherit;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.45;
	min-height: 0;
	padding: 0;
	text-transform: none;
}
.yin-site-footer :is(a, .yin-site-footer__settings):hover { color: #fff; text-decoration: underline; }
.yin-site-footer :is(a, .yin-site-footer__settings):focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
.yin-cookie-settings {
	background: #fff;
	border: 1px solid #d4e3ed;
	border-radius: 8px;
	box-shadow: 0 18px 60px #00162e33;
	color: #172637;
	font-family: inherit;
	margin: auto;
	max-height: calc(100dvh - 32px);
	max-width: 560px;
	overflow-y: auto;
	padding: 28px;
	width: calc(100% - 32px);
}
.yin-cookie-settings::backdrop { background: #061b37a6; }
.yin-cookie-settings header { align-items: start; display: flex; gap: 16px; justify-content: space-between; margin-bottom: 20px; }
.yin-cookie-settings h2 { color: #073b7a; font-size: 23px; line-height: 1.3; margin: 0; }
.yin-cookie-settings h3 { font-size: 16px; margin: 0 0 8px; }
.yin-cookie-settings p { font-size: 14px; line-height: 1.6; margin: 10px 0 0; }
.yin-cookie-settings section { border-top: 1px solid #d4e3ed; padding-block: 18px; }
.yin-cookie-settings__active { color: #073b7a; font-size: 12px; font-weight: 700; }
.yin-cookie-settings__close { background: transparent; border: 0; box-shadow: none; color: #172637; cursor: pointer; font-size: 28px; line-height: 1; padding: 2px 6px; }
.yin-cookie-settings .yin-cookie-settings__note { color: #526578; font-size: 12px; margin: 0 0 22px; }
@media (max-width: 1023px) {
	.yin-site-footer .yin-site-footer__grid { gap: 36px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 599px) {
	.yin-site-footer .yin-site-footer__grid { gap: 30px; grid-template-columns: minmax(0, 1fr); }
	.yin-site-footer .yin-site-footer__bottom { align-items: start; flex-direction: column; }
	.yin-cookie-settings { padding: 22px; }
}
