/* D62b: stopka na 90%, ta sama rama co naglowek, sekcje na 95%. */
.site-footer > .container { inline-size: var(--rama-w); }

/* ==========================================================================
   Stopka. Komponent wspoldzielony przez wszystkie podstrony.
   Wartosci z makiety (1440): sekcja 380 px wysokosci, logo 198 na 80,
   naglowki kolumn wersalikami zlotem na y 78 od gory stopki,
   linia na y 304, pasek dolny na y 327.
   ========================================================================== */

.site-footer {
/* D168, 03.09.2026: wartosc ustawiona przez Jakuba w konfiguratorze i
   przeniesiona TUTAJ, do pliku wlasciciela, na jego polecenie ("idzie do
   plikow sekcji bo to sa poprawki sekcji"). Konfigurator.css skasowany,
   zeby ten sam odstep nie zyl w dwoch miejscach naraz. */
  padding-block: var(--space-6);
}

.site-footer__gora {
  display: grid;
  /* proporcje kolumn wprost z makiety: blok marki do x 469, potem
     276, 250, 196 i 129 px, wiec zapisane jako fr i skaluja sie razem */
  /* ostatnia kolumna na max-content, zeby godziny nie lamaly sie w polowie zakresu */
  grid-template-columns: 349fr 276fr 250fr 196fr max-content;
  gap: var(--space-8) 0;
  align-items: start;
}

/* --- kolumna marki ------------------------------------------------------ */

.site-footer__marka {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  max-width: 260px;      /* szerokosc bloku marki, podniesiona z 231px w D159 pod wieksze logo */
}

/* D162, 03.09.2026: logo w stopce jest linkiem na strone glowna, zgloszenie
   Jakuba. Link jest inline, wiec bez `display: block` zostawialby pod obrazem
   pasek na zejscie linii bazowej i psul odstep do zdania pod spodem.
   `inline-size: fit-content` trzyma obszar klikalny na samym logo, nie na
   calej szerokosci kolumny. */
.site-footer__logo-link {
  display: block;
  inline-size: fit-content;
  line-height: 0;
  transition: opacity var(--dur) var(--ease);
}
.site-footer__logo-link:hover { opacity: 0.75; }

/* D159, 03.09.2026: 198px -> 240px na zgloszenie Jakuba ("powieksz logo
   w stopce"). Blok marki musial urosnac razem z nim, bo jego max-width
   przycinal logo zanim doszlo do wlasnej szerokosci. */
.site-footer__logo { width: 240px; height: auto; }

.site-footer__zdanie {
  margin: 0;
  font-size: var(--fs-small);
  line-height: var(--lh-body);
  color: var(--fg);
  max-width: 210px;   /* lamanie jak w makiecie, po slowie estetyczna */
}

/* --- kolumny linkow ----------------------------------------------------- */

.site-footer__naglowek {
  margin: 0 0 var(--space-6);
  font-family: var(--font-text);
  /* 14px zmierzone pikselowo w kadrze (szerokosc ADRES/KONTAKT/MENU/GODZINY
     przy tej wartosci trafia w +/-1 do +/-6 px wobec makiety), ale w skali
     tokenow nie ma stopnia miedzy fs-small(16 na 1440) a fs-eyebrow(18 na
     1440, za duzy o ok 20 px szerokosci naglowka). Brak dopasowanego tokenu,
     zgloszone w raporcie, nie dopisuje nowego stopnia sam. */
  font-size: var(--fs-label);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--accent);
}

.site-footer__godziny > li { white-space: nowrap; }

.site-footer__lista,
.site-footer__adres {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: var(--fs-small);
  font-style: normal;
  line-height: var(--lh-body);
  color: var(--fg);
}

.site-footer__lista > li + li { margin-block-start: var(--space-2); }

/* --- pasek dolny -------------------------------------------------------- */

/* D162, 03.09.2026: credit agencji odsuniety na prawa krawedz, zgloszenie
   Jakuba. `space-between` zamiast stalej przerwy: przy zawinieciu na waskim
   ekranie oba wiersze wracaja pod siebie do lewej, wiec nie trzeba osobnej
   reguly mobilnej. */
.site-footer__dol {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-5) var(--space-11);
  /* D159, 03.09.2026: --space-10 (80px) -> --space-6 (32px). Zgloszenie
     Jakuba ze zrzutu ze strzalka: pod kolumnami stal pusty pas prawie tej
     samej wysokosci co same kolumny. */
  margin-block-start: var(--space-6);
  padding-block-start: var(--space-4);
  border-block-start: 1px solid var(--line-on-dark-soft);
  font-size: var(--fs-small);
  color: var(--fg-muted);
}

.site-footer__dol p { margin: 0; }

/* --- tablet i telefon --------------------------------------------------- */

@media (max-width: 1100px) {
  .site-footer__gora { grid-template-columns: repeat(2, 1fr); gap: var(--space-8) var(--space-7); }
  .site-footer__marka { grid-column: 1 / -1; max-width: none; }
}

@media (max-width: 600px) {
  /* uklad z makiety mobilnej: marka wysrodkowana, kolumny dwa na dwa,
     pasek dolny w jednym rzedzie */
  /* 02.09.2026 (D99), UCHYLA decyzje z tego bloku sprzed 26.08: stopka wraca
     na pelna szerokosc na telefonie. Poprzedni zapis opieral margines na
     jednym zrzucie, przy czym wlasny komentarz przyznawal niepewnosc: prawy
     margines w eksporcie Karola byl "prawie zerowy, mozliwy artefakt
     kadrowania". Jakub zapytal wprost, czemu stopka nie jest pelnej
     szerokosci, czyli sygnal ze insetowany wyglad nie jest zamierzony.
     Reszta strony przeszla dzis na pelna szerokosc na kazdym styku sekcji
     na mobile (naglowek D72, FAQ D94), wiec stopka insetowana byla jedynym
     wyjatkiem od tego jezyka. */
  /* D168: mobilny override zdjety, baza ma te sama wartosc na kazdej szerokosci. */
  .site-footer__gora {
    /* kolumna z adresem szersza, zeby ulica nie lamala sie na cztery wiersze */
    grid-template-columns: 1.15fr 1fr;
    gap: var(--space-7) var(--space-4);
  }
  .site-footer__lista,
  .site-footer__adres,
  .site-footer__zdanie { font-size: var(--fs-fine); }
  .site-footer__godziny > li { white-space: normal; }
  .site-footer__marka {
    grid-column: 1 / -1;
    align-items: center;
    text-align: center;
    max-width: none;
    gap: var(--space-4);
  }
  .site-footer__zdanie { max-width: 34ch; }
  .site-footer__naglowek { margin-block-end: var(--space-4); }
  .site-footer__dol {
    justify-content: space-between;
    gap: var(--space-4);
    margin-block-start: var(--space-8);
    font-size: var(--fs-fine);
  }
}

/* D170, 03.09.2026: wartosci dobrane przez Jakuba w konfiguratorze, zakres
   telefon (max-width: 700px, pulapka 38). Zapisane w pliku wlasciciela, nie w
   konfigurator.css, zgodnie z rozstrzygnieciem z D168: konfigurator sluzy do
   DOBRANIA wartosci, nie do jej przechowywania. */
@media (max-width: 700px) {
  .site-footer { padding-block: var(--space-4); }
}
