/* Wspólne elementy wszystkich stron Smart Walls: stopka (stopka.js) i logo z podpisem „by URBANNEST.”.
   Kolory jak w DESIGN.md; strony mają własne arkusze (konfigurator.css, montaz.css, strona.css). */
.sw-stopka {
  --sw-ink: #1C1C1E; --sw-muted: #66666B; --sw-line: #E4E4E0; --sw-tlo: #F6F5F1;
  background: var(--sw-tlo); color: var(--sw-ink); border-top: 1px solid var(--sw-line);
  font-family: "Schibsted Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  font-size: 14px; line-height: 1.55;
}
.sw-stopka-wnetrze {
  max-width: 1240px; margin: 0 auto; padding: 56px 32px 36px;
  display: grid; grid-template-columns: minmax(240px, 1.3fr) repeat(4, minmax(140px, 1fr)); gap: 36px;
}
.sw-stopka-marka img { display: block; height: 54px; width: auto; margin-bottom: 14px; }
.sw-stopka-marka p { margin: 0 0 8px; color: var(--sw-muted); max-width: 34ch; }
.sw-stopka-telefon { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-top: 16px !important; }
.sw-stopka-telefon a { font-size: 20px; font-weight: 600; color: var(--sw-ink); letter-spacing: -.01em; }
.sw-stopka-telefon span { font-size: 13px; }
.sw-stopka a { color: var(--sw-ink); text-decoration: none; }
.sw-stopka a:hover { text-decoration: underline; text-underline-offset: 3px; }
.sw-stopka-kolumna h2 { margin: 6px 0 12px; font-size: 13px; font-weight: 700; color: var(--sw-ink); }
.sw-stopka-kolumna ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.sw-stopka-kolumna a { color: var(--sw-muted); }
.sw-stopka-kolumna a:hover { color: var(--sw-ink); }
.sw-stopka-dol {
  max-width: 1240px; margin: 0 auto; padding: 18px 32px 28px; border-top: 1px solid var(--sw-line);
  display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; color: var(--sw-muted); font-size: 12.5px;
}
.sw-stopka-dol p { margin: 0; max-width: 90ch; }
.sw-stopka-dol a { color: var(--sw-muted); text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 900px) {
  .sw-stopka-wnetrze { grid-template-columns: 1fr 1fr; gap: 32px 24px; padding: 44px 20px 28px; }
  .sw-stopka-marka { grid-column: 1 / -1; }
  .sw-stopka-dol { padding: 16px 20px 24px; }
}
@media (max-width: 420px) {
  .sw-stopka-wnetrze { grid-template-columns: 1fr; }
}

/* Baner zgody na analitykę (stopka.js) — oba przyciski tej samej wagi, żeby „Odrzuć” był równie łatwy jak „Akceptuję”. */
.sw-zgoda {
  position: fixed; z-index: 2147483000; left: 16px; right: 16px; bottom: 16px; margin: 0 auto; max-width: 760px;
  display: flex; align-items: center; gap: 12px 20px; flex-wrap: wrap; padding: 14px 16px;
  background: #fff; color: #1C1C1E; border: 1px solid #E4E4E0; border-radius: 14px; box-shadow: 0 12px 32px -12px rgba(28, 28, 30, .35);
  font-family: "Schibsted Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif; font-size: 14px; line-height: 1.5;
}
.sw-zgoda[hidden] { display: none; }
.sw-zgoda p { margin: 0; flex: 1 1 340px; min-width: 0; }
.sw-zgoda a { color: #004225; }
.sw-zgoda-przyciski { display: flex; gap: 8px; flex: 0 0 auto; }
.sw-zgoda button {
  font: inherit; font-weight: 600; min-height: 44px; padding: 0 18px; border-radius: 999px; cursor: pointer;
  border: 1.5px solid #004225; background: #fff; color: #004225;
}
.sw-zgoda button:hover { background: #004225; color: #fff; }
.sw-zgoda button:focus-visible { outline: 2px solid #004225; outline-offset: 2px; }
@media (max-width: 520px) { .sw-zgoda { left: 8px; right: 8px; bottom: 8px; } .sw-zgoda-przyciski { flex: 1 1 100%; } .sw-zgoda button { flex: 1 1 0; } }
