.site-footer {
	background: var(--color-dark);
	color: #d9d9d9;
	margin-top: var(--gap-lg);
	border-top: 3px solid var(--color-primary);
}
.site-footer__columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap-lg); padding: var(--gap-lg) var(--gap-md); }
.site-footer .widget-title {
	color: #fff;
	font-size: 0.95rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: var(--gap-sm);
}
.site-footer a:hover { color: var(--color-primary); }

.site-footer__columns--2 { grid-template-columns: repeat(2, 1fr); }
.site-footer__columns--3 { grid-template-columns: repeat(3, 1fr); }
.site-footer__columns--4 { grid-template-columns: repeat(4, 1fr); }

/* Bottom bar: same left/center/right zone grid as the header, so
   whatever elements an admin drags in stay evenly balanced. */
.site-footer__bottom {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	column-gap: var(--gap-md);
	padding: var(--gap-md); border-top: 1px solid rgba(255,255,255,0.1);
	font-size: 0.85rem;
}
.site-footer__zone { display: flex; align-items: center; gap: var(--gap-md); min-width: 0; }
.site-footer__zone--left { justify-content: flex-start; }
.site-footer__zone--center { justify-content: center; }
.site-footer__zone--right { justify-content: flex-end; }

/* Footer logo (new "Logo" element in the Footer Builder zone list) --
   size/weight/color/spacing are set via Theme Settings and applied as
   inline CSS (see inc/theme-options.php); this just keeps it aligned
   nicely next to whatever else shares its zone (e.g. copyright text). */
.site-branding--footer { display: flex; align-items: center; }
.site-branding--footer .site-title-link { color: #fff; }
.site-branding--footer img { width: auto; }

.site-footer__copyright { margin: 0; opacity: 0.85; }
.footer-menu { list-style: none; display: flex; gap: var(--gap-md); margin: 0; padding: 0; flex-wrap: wrap; justify-content: center; }
.footer-menu a { transition: color var(--transition-fast); }

.footer-socials { display: flex; gap: 10px; }
.footer-socials__link {
	display: inline-flex; align-items: center; justify-content: center;
	width: 32px; height: 32px; border-radius: 50%;
	background: rgba(255,255,255,0.08); color: inherit;
	transition: background var(--transition-fast), transform var(--transition-fast);
}
.footer-socials__link:hover { background: var(--color-primary); transform: translateY(-2px); }
.footer-socials__link svg { width: 16px; height: 16px; }

@media (max-width: 700px) {
	.site-footer__columns { grid-template-columns: 1fr; }
	.site-footer__bottom { grid-template-columns: 1fr; text-align: center; gap: var(--gap-sm); }
	.site-footer__zone { justify-content: center; flex-wrap: wrap; }
}

.site-footer__payments { display: flex; gap: 12px; justify-content: center; padding: 12px 0; opacity: 0.8; }
