/* ============ Footer ============ */
.footer{background:#fff;padding:72px var(--gutter) 32px;border-top:1px solid var(--hairline);margin-top:32px}
.footer-grid{max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;align-items:start}
.footer-logo{display:flex;flex-direction:column;gap:14px;max-width:36ch}
.footer-wordmark{font-size:11px;letter-spacing:.18em;font-weight:500}
.footer-tag{font-size:14px;line-height:1.5;color:var(--text-muted);margin-top:6px}
/* AD1 revert: footer h4 (stan z _29) — no font-family declared, font-size 11, letter-spacing .12, weight 600 */
.footer h4{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;margin-bottom:24px}
.footer ul{display:flex;flex-direction:column;gap:14px;font-size:14px;color:var(--text-muted)}
.footer ul a:hover{color:var(--text);opacity:1}
/* AW1: footer-bottom przeniesiony na czarną bazę — jasny tekst, bez górnej kreski. */
.footer-bottom{max-width:var(--max-width);margin:0 auto;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:rgba(244,242,238,.5);padding:26px var(--gutter) 22px;gap:24px;flex-wrap:wrap}
.footer-by{color:rgba(244,242,238,.5)}
.footer-by a{color:rgba(244,242,238,.95);text-decoration:underline;text-decoration-color:rgba(244,242,238,.3);text-underline-offset:3px}
.footer-by a:hover{opacity:.7;text-decoration-color:rgba(244,242,238,.9)}
/* AI1: footer-social z SVG ikonkami (na czarnym tle — jasne) */
.footer-social{display:inline-flex;align-items:center;gap:16px}
.footer-social a{color:rgba(244,242,238,.75);width:38px;height:38px;border-radius:999px;border:1px solid rgba(244,242,238,.25);display:inline-flex;align-items:center;justify-content:center;transition:color .18s var(--ease-out),border-color .18s var(--ease-out)}
.footer-social a:hover{opacity:1;color:#F4F2EE;border-color:rgba(244,242,238,.6)}
.footer-social a svg{width:18px;height:18px;display:block}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:36px}.footer-logo{grid-column:1/-1}}
/* AL1: mobile — wszystko wycentrowane (text + flex items) */
@media (max-width:600px){
  .footer-grid{grid-template-columns:1fr;gap:32px;text-align:center}
  .footer-logo{align-items:center;max-width:none}
  .footer-logo .footer-wordmark,
  .footer-logo .footer-tag{text-align:center}
  .footer h4{margin-bottom:16px}
  .footer ul{align-items:center}
  .footer-bottom{flex-direction:column;gap:14px;text-align:center;align-items:center}
  .footer-social{justify-content:center;gap:14px}
}

/* ============ AW1: Czarna baza footera (full-bleed) — copyright bar + marquee ============ */
/* width:100vw + margin:50%-50vw = pełna szerokość niezależnie od paddingu .footer.
   margin-bottom:-32px kasuje dolny padding .footer → baza sięga samego dołu strony. */
.footer-base{
  background:#0B0B0B;color:#F4F2EE;
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  margin-top:40px;
  margin-bottom:-32px;
  overflow:hidden;
}
/* Kinetic Marquee — gigantyczne MEDIA NATION®.
   BA1: --mq-scale skaluje wysokość pasa + font. large=1, medium=.8, small=.6 (klasa mq-* na .footer-base). */
.footer-base{--mq-scale:1}
.footer-base.mq-medium{--mq-scale:.8}
.footer-base.mq-small{--mq-scale:.6}
.footer-mq{
  width:100%;overflow:hidden;
  height:calc(clamp(74px,12.5vw,188px) * var(--mq-scale,1));  /* niższy niż font → wordmark cropped góra/dół */
  display:flex;align-items:center;
}
.footer-mq-track{
  display:flex;align-items:center;width:max-content;
  will-change:transform;animation:mnMqScroll 28s linear infinite;
}
.footer-base:hover .footer-mq-track{animation-play-state:paused}
.footer-mq-phrase{
  display:inline-flex;align-items:flex-start;flex-shrink:0;
  font-size:calc(clamp(100px,17vw,248px) * var(--mq-scale,1));line-height:.82;letter-spacing:-.035em;
  color:#F4F2EE;padding-right:.34em;white-space:nowrap;
}
.footer-mq-phrase .reg{font-size:.2em;letter-spacing:0;margin:.18em .42em 0 .12em;color:rgba(244,242,238,.55)}
@keyframes mnMqScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.footer-mq-track{animation:none}}

/* ============ AX1: Mobile — footer jak w v46 (bez czarnej bazy i marquee) ============ */
@media (max-width:760px){
  /* Cofnij full-bleed czarną bazę → przezroczysta, w obrębie białego .footer */
  .footer-base{background:transparent;color:inherit;width:auto;margin:0;overflow:visible}
  /* Ukryj kinetic marquee na mobile */
  .footer-mq{display:none}
  /* footer-bottom z powrotem na biały, wycentrowany jak v46 */
  .footer-bottom{
    color:var(--text-muted);
    border-top:1px solid var(--hairline);
    margin:36px auto 0;padding:20px 0 0;
  }
  .footer-by{color:var(--text-muted)}
  .footer-by a{color:var(--text);text-decoration-color:var(--hairline-2)}
  .footer-by a:hover{text-decoration-color:var(--text)}
  .footer-social a{color:var(--text);border-color:var(--hairline-2)}
  .footer-social a:hover{color:var(--text);border-color:var(--text)}
}
