/* Site footer columns and floating WhatsApp button (inc/site-footer.php). */
.gshun-footer { background: #0b2a47; color: #c3d3e4; font-family: "Lexend Deca", var(--global-body-font-family, sans-serif); }
.gshun-footer *, .gshun-footer *::before, .gshun-footer *::after { box-sizing: border-box; }
.gshun-footer-inner { display: grid; width: min(calc(100% - 64px), 1242px); margin-inline: auto; padding: 52px 0 40px; grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 1fr)); gap: 40px; }
.gshun-footer p { margin: 0; font-size: 14px; line-height: 1.65; }
.gshun-footer p + p { margin-top: 12px; }
.gshun-footer-brand { color: #fff; font-size: 20px !important; font-weight: 700; letter-spacing: -.01em; }
.gshun-footer-address { color: #93abc4; font-size: 13px !important; }
.gshun-footer-title { margin-bottom: 14px !important; color: #fff; font-size: 13px !important; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.gshun-footer ul { margin: 0; padding: 0; list-style: none; }
.gshun-footer li + li { margin-top: 9px; }
.gshun-footer a { color: #c3d3e4; font-size: 14px; line-height: 1.5; text-decoration: none; }
.gshun-footer a:hover { color: #fff; text-decoration: underline; }
.gshun-footer a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.gshun-footer .gshun-footer-button { display: inline-flex; min-height: 44px; margin-top: 18px; padding: 10px 20px; align-items: center; border-radius: 6px; background: #087af0; color: #fff; font-weight: 600; }
.gshun-footer .gshun-footer-button:hover { background: #168aff; text-decoration: none; }

/* Kadence bottom row (copyright line) matches the footer. */
.site-footer .site-bottom-footer-wrap .site-footer-row-container-inner { border-top: 1px solid rgba(255, 255, 255, .12); background: #08223a; color: #93abc4; }
.site-footer .site-bottom-footer-wrap .footer-html-inner p { margin: 0; font-size: 13px; }

.gshun-whatsapp-float { position: fixed; z-index: 90; right: 20px; bottom: calc(20px + env(safe-area-inset-bottom, 0px)); display: inline-flex; min-height: 52px; padding: 0 20px 0 16px; align-items: center; gap: 9px; border-radius: 26px; background: #25d366; box-shadow: 0 8px 24px rgba(10, 60, 30, .28); color: #fff !important; font-family: "Lexend Deca", var(--global-body-font-family, sans-serif); font-size: 15px; font-weight: 600; text-decoration: none !important; transition: transform .18s, box-shadow .18s; }
.gshun-whatsapp-float:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(10, 60, 30, .34); }
.gshun-whatsapp-float:focus-visible { outline: 3px solid #0b2a47; outline-offset: 3px; }
.gshun-whatsapp-float svg { width: 26px; height: 26px; fill: currentColor; }

@media (max-width: 1024px) {
	.gshun-footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 40px; }
}

@media (max-width: 760px) {
	.gshun-footer-inner { width: auto; margin-inline: 18px; padding: 40px 0 32px; grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.gshun-whatsapp-float { right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); width: 56px; height: 56px; min-height: 0; padding: 0; justify-content: center; border-radius: 50%; }
	.gshun-whatsapp-float span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.gshun-whatsapp-float svg { width: 30px; height: 30px; }
	/* Leave room so the button never covers the copyright line. */
	.site-footer .site-bottom-footer-wrap .footer-html-inner { padding-right: 64px; }
}

@media (prefers-reduced-motion: reduce) {
	.gshun-whatsapp-float { transition: none; }
}
