/* ==========================================================================
   Site Footer — matches Figma footer layout
   --------------------------------------------------------------------------
   Render contract:
     <footer.site-footer>
       <div.site-footer__inner>
         <div.site-footer__brand>(logo + tagline + partner badges)</div>
         <div.site-footer__contact-grid>(2×2 tiles: icon image + label/value)</div>
       </div>
       <div.site-footer__bottom>
         <div.site-footer__bottom-inner>(© left, legal links right)</div>
       </div>
     </footer>

   Outer sizing (.site-footer__inner, .site-footer__bottom-inner) is owned by
   _shared.css (1470 max + 15px L/R). This file only handles layout INSIDE.
   ========================================================================== */

.site-footer {
	background: var(--clr-primary-light, #55AAE0);
	color: var(--clr-white, #FFFFFF);
	padding: 70px 0 0;
	margin-top: auto;
}

.site-footer a {
	color: inherit;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.site-footer a:hover { opacity: 0.85; }

.site-footer__inner {
	padding-top: 0;
	display: flex;
	justify-content: space-between;
	padding-bottom: 70px;
}

/* Brand column ---------------------------------------------------------- */
.site-footer__brand {
	display: flex;
	flex-direction: column;
	width: 41.2%;
}

.site-footer__logo {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-heading, "Marcellus", serif);
	font-size: 50px;
	line-height: 1;
	color: var(--clr-white, #FFFFFF);
	margin: 0;
	margin-bottom: 30px;
}

.site-footer__logo img {
max-height: 90px;
	max-width: 406px;
	width: auto;
	height: auto;
	display: block;
	object-fit: contain;
}

.site-footer__logo-text { font-family: var(--font-heading, "Marcellus", serif); }

.site-footer__tagline {
	max-width: 593px;
	font-family: var(--font-body, "Nunito", sans-serif);
	font-size: 18px;
	color: var(--clr-white, #FFFFFF);
	line-height: 1.6;
	margin: 0;
}

.site-footer__partners {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 116px;
}

.site-footer__partner {
	display: flex;
}

.site-footer__partner img {
	width: 100%;
	max-width: 221px;
	border-radius: 10px;
	height: 120px;
}

/* Contact grid (2×2 cards) --------------------------------------------- */
.site-footer__contact-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	width: 49.9%;
	min-width: 718px;
}

.site-footer__contact-card {
	background: rgba(255, 255, 255, 0.18);
	border-radius: 10px;
	padding: 25px 30px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 13px;
	text-align: center;
	color: var(--clr-white, #FFFFFF);
	min-height: 218px;
	justify-content: center;
	text-decoration: none;
}

.site-footer__contact-card--link:hover {
	background: rgba(255, 255, 255, 0.28);
}

.site-footer__contact-icon {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--clr-white, #FFFFFF);
	display: flex;
	align-items: center;
	justify-content: center;
}

.site-footer__contact-icon img {
	width: 28px;
	height: 28px;
	object-fit: contain;
	display: block;
}

.site-footer__contact-label {
	font-family: var(--font-body, "Nunito", sans-serif);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--clr-white, #FFFFFF);
	opacity: 0.85;
}

.site-footer__contact-value {
	font-family: var(--font-body, "Nunito", sans-serif);
	font-size: 18px;
	line-height: 1.45;
	color: var(--clr-white, #FFFFFF);
}

.site-footer__contact-value p { margin: 0; }
.site-footer__contact-value a { color: inherit; text-decoration: none; }
.site-footer__contact-value a:hover { text-decoration: underline; }

/* Bottom bar ----------------------------------------------------------- */
.site-footer__bottom {
	background: var(--clr-white, #FFFFFF);
	color: var(--clr-black, #000000);
}

.site-footer__bottom-inner {
	padding-top: 18px;
	padding-bottom: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-family: var(--font-body, "Nunito", sans-serif);
	font-size: 16px;
}

.site-footer__copyright { margin: 0; }

.site-footer__legal {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 12px;
	align-items: center;
}

.site-footer__legal li {
	display: flex;
	align-items: center;
	gap: 12px;
}

.site-footer__legal li + li::before {
	content: "|";
	color: var(--clr-light-gray, #DDDDDD);
	margin-right: 0;
}

.site-footer__legal a {
	color: var(--clr-black, #000000);
	text-decoration: none;
}

.site-footer__legal a:hover { color: var(--clr-primary, #078FD6); }

/* Responsive ----------------------------------------------------------- */

/* @media (max-width: 1880px) { 
	.site-footer__bottom-inner {
    padding-bottom: 150px;
}
} */

@media (max-width: 1360px) { 
	.site-footer__contact-card {
    padding: 20px;
	}
	.site-footer__contact-grid {
    gap: 15px;
    min-width: 670px;
}
.site-footer__inner {
    gap: 30px;
}
.site-footer__partners {
    margin-top: 70px;
}
.site-footer__logo img {
    max-height: 80px;
    max-width: 330px;
}

}
@media (max-width: 1200px) { 
.site-footer__inner {
    flex-direction: column;
    text-align: center;
    justify-content: center;
    align-items: center;
}
.site-footer__partners {
    margin-top: 30px;
}
.site-footer__logo {
    display: inline-flex;
    margin-bottom: 20px;
}
.site-footer__contact-grid {
    min-width: 670px;
    max-width: 670px;
    margin: 0 auto;
}
.site-footer__brand {
    align-items: center;
	width: 100%;
}
.site-footer__logo img {
    max-height: 62px;
    max-width: 260px;

}
.site-footer__bottom .site-footer__bottom-inner {
    flex-wrap: wrap;
    max-width: 400px !important;
    justify-content: center;
    align-items: center;
}
}
@media (max-width: 1023px) {
	.site-footer__contact-grid   { grid-template-columns: 1fr 1fr; }
	.site-footer {padding: 50px 0 0;}
	.site-footer__inner {padding-bottom: 50px;}
	.site-footer__inner {gap: 20px;}
	.site-footer__bottom-inner {padding-top: 15px;}
}

@media (max-width: 767px) {
	.site-footer__contact-grid {min-width: 100%;}
	.site-footer                 { padding-top: 50px; }
	.site-footer__inner{padding-bottom:40px;}
	.site-footer__bottom-inner{flex-direction:column;align-items:center;font-size:14px;gap:15px;}
	.site-footer__contact-grid   { grid-template-columns: 1fr; }
	.site-footer__contact-card   { min-height: 150px; padding: 24px 16px; }
	.site-footer__logo           { font-size: 32px; }
	.site-footer__partners       { gap: 12px; }
	.site-footer__partner img {max-width: 180px;height: 80px;}
	.site-footer {padding: 40px 0 0;}
	.site-footer__inner {padding-bottom: 40px;}
}
@media (max-width: 730px) { 
	.site-footer__bottom-inner {
    padding-bottom: 150px;
}
}
@media (max-width: 480px) {
.site-footer__bottom-inner {
    padding-bottom: 80px;
}
}
