/* Stopka-mapa serwisu (r10) — wspolny ciemny footer podstron, spiety ze strona
   glowna. Przestrzen nazw .sm-* nie koliduje z .footer z bundle.min.css. */
@font-face {
  font-family: "IBM Plex Mono";
  src: url("/fonts/ibm-plex-mono-500-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  unicode-range: U+0000-00FF, U+2000-206F;
}
@font-face {
  font-family: "IBM Plex Mono";
  src: url("/fonts/ibm-plex-mono-500-latin-ext.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  unicode-range: U+0100-02BA, U+1E00-1EFF;
}
.sm-footer {
  background: #0a0908;
  color: #f1eadf;
  font-family: "Onest", system-ui, sans-serif;
  padding: 72px 0 24px;
}
.sm-footer * { box-sizing: border-box; }
.sm-shell { width: min(1380px, calc(100vw - 64px)); margin-inline: auto; }
.sm-top {
  display: grid;
  grid-template-columns: minmax(240px, 1.1fr) 2.9fr;
  align-items: start;
  gap: 64px;
}
.sm-brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #f1eadf;
  text-decoration: none;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: 0.06em;
}
.sm-brand img { width: 32px; height: 32px; display: block; }
.sm-identity > p { margin: 24px 0 0; color: #d7cec0; font-size: 17px; line-height: 1.5; }
.sm-contact { margin-top: 24px; display: flex; flex-direction: column; gap: 8px; color: #928a80; font-size: 14px; }
/* 550 było poza skalą (300/400/500/700/800). Wyróżnienie i tak niesie kolor
   (#d7cec0 wobec #928a80 otoczenia), więc 500 — nie 700, które zmieniłoby charakter stopki. */
.sm-contact strong { color: #d7cec0; font-weight: 500; }
.sm-contact a { color: #f1eadf; text-underline-offset: 3px; }
.sm-map { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px 32px; }
.sm-col { display: flex; flex-direction: column; gap: 12px; }
.sm-col h2 {
  margin: 0 0 4px;
  color: #928a80;
  font-family: "IBM Plex Mono", Menlo, monospace;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.sm-col h2 a { color: inherit; text-decoration: none; }
.sm-col h2 a:hover { color: #f1eadf; }
.sm-col .sm-next { margin-top: 20px; }
.sm-col > a { color: #d7cec0; text-decoration: none; font-size: 15px; line-height: 1.4; }
.sm-col > a:hover { color: #f1eadf; }
.sm-bottom {
  margin-top: 72px;
  padding-top: 16px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid rgba(241, 234, 223, 0.14);
  color: #928a80;
  font-family: "IBM Plex Mono", Menlo, monospace;
  font-size: 12px;
  letter-spacing: 0.06em;
}
.sm-legal { display: inline-flex; gap: 16px; }
.sm-legal a { color: inherit; text-underline-offset: 3px; }
@media (max-width: 820px) {
  .sm-shell { width: calc(100vw - 32px); }
  .sm-top { grid-template-columns: 1fr; gap: 48px; }
  .sm-map { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
  .sm-map { grid-template-columns: 1fr; gap: 32px; }
  .sm-bottom { flex-direction: column; gap: 8px; }
}

/* telefon w stopce (r21) — nota pod numerem */
.sm-contact__note { font-size: 12px; color: #928a80; letter-spacing: .04em; margin-top: -4px; }
