/* =====================================================================
   STOPKA - ciemny granat (accent-strong). Brand + social, kontakt (NAP),
   menu, oferta, dolny pasek (copy + polityka prywatnosci).
   ===================================================================== */

.site-footer {
	background: var(--wp--preset--color--accent-strong);
	color: rgba(255, 255, 255, .72);
	padding-block: clamp(3rem, 6vw, 5rem) clamp(1.6rem, 3vw, 2.4rem);
}
.footer__inner {
	max-width: 1720px;
	margin-inline: auto;
	padding-inline: var(--gutter);
}
.footer__grid {
	display: grid;
	grid-template-columns: 1.6fr 1.1fr 1fr;
	gap: clamp(1.8rem, 3vw, 3.2rem);
}

/* --- brand --- */
.footer__logo {
	margin: 0 0 .9rem;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700; font-size: 1.6rem; letter-spacing: -.01em; color: #fff;
}
.footer__tagline {
	margin: 0 0 1.4rem; max-width: 34ch;
	font-size: .95rem; line-height: 1.6; color: rgba(255, 255, 255, .68);
}
.footer__social { display: flex; gap: .6rem; list-style: none; margin: 0; padding: 0; }
.footer__social a {
	width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .2); color: rgba(255, 255, 255, .82);
	transition: transform .3s var(--ease-out), background-color .3s ease, border-color .3s ease, color .3s ease;
}
.footer__social a svg { width: 19px; height: 19px; fill: currentColor; display: block; }
@media (hover: hover) {
	.footer__social a:hover { background: #fff; border-color: #fff; color: var(--wp--preset--color--accent-strong); transform: translateY(-3px); }
}
.footer__social a:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

/* --- kolumny --- */
.footer__h {
	margin: 0 0 1.1rem;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600; font-size: 1.05rem; color: #fff;
}
.footer__nav, .footer__contact { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .7rem; }
.footer__nav a, .footer__contact a {
	color: rgba(255, 255, 255, .72); text-decoration: none; font-size: .95rem;
	transition: color .25s ease;
}
@media (hover: hover) { .footer__nav a:hover, .footer__contact a:hover { color: #fff; } }

/* kontakt z ikonami */
.footer__contact li { display: flex; align-items: flex-start; gap: .65rem; font-size: .95rem; line-height: 1.5; }
.footer__contact svg { width: 17px; height: 17px; flex: 0 0 auto; margin-top: .15rem; color: rgba(255, 255, 255, .5); }
.footer__contact address { font-style: normal; }

/* --- dolny pasek --- */
.footer__bottom {
	display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem;
	margin-top: clamp(2.4rem, 4vw, 3.5rem);
	padding-top: clamp(1.4rem, 2.5vw, 2rem);
	border-top: 1px solid rgba(255, 255, 255, .12);
}
.footer__bottom p { margin: 0; font-size: .85rem; color: rgba(255, 255, 255, .56); }
.footer__legal { list-style: none; margin: 0; padding: 0; display: flex; gap: 1.4rem; }
.footer__legal a { color: rgba(255, 255, 255, .66); text-decoration: none; font-size: .85rem; transition: color .25s ease; }
@media (hover: hover) { .footer__legal a:hover { color: #fff; } }

/* =====================================================================
   RESPONSYWNOSC
   ===================================================================== */
@media (max-width: 900px) {
	.footer__grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
	.footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 540px) {
	.footer__grid { grid-template-columns: 1fr; }
	.footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* logo (obraz) w stopce */
.footer__logo { display: inline-block; }
.footer__logo img { height: 40px; width: auto; display: block; }

/* Odnosniki w stopce mialy 21-23 px wysokosci, czyli ponizej wygodnego pola
   dotyku. Wypelnienie w pionie powieksza je bez zmiany wygladu. */
@media (max-width: 900px) {
	.footer__nav a, .footer__legal a, .footer__contact a {
		display: inline-block;
		padding-block: .4rem;
	}
	.footer__nav, .footer__contact { gap: .35rem; }
}
