/* =====================================================================
   FOOTER + COOKIE CONSENT (ciemne, granatowe)
   ===================================================================== */
.footer {
  background: var(--brand-extra);
  color: var(--white-600);
  padding-block: clamp(var(--space-1600), 6vw, var(--space-2400)) var(--space-1200);
}
.footer-inner {
  display: grid;
  grid-template-columns: 1.4fr 3fr;
  gap: clamp(var(--space-1200), 5vw, var(--space-2400));
}
.footer-brand img { height: 28px; margin-bottom: var(--space-600); display: block; }
.footer-legal {
  font-style: normal;
  font-size: var(--scale-02);
  line-height: 1.7;
  color: var(--white-500);
  margin: 0;
}
.footer-legal strong {
  display: block;
  color: inherit;
  font-weight: inherit;
}
.footer-legal__ids {
  display: block;
  margin-top: var(--space-200);
  font-size: var(--scale-01);
  color: var(--white-400);
  letter-spacing: .01em;
}
.footer-tagline {
  margin-top: var(--space-600);
  padding-top: var(--space-400);
  border-top: var(--stroke-border) solid var(--white-200);
  font-style: italic;
  font-size: var(--scale-01);
  line-height: 1.55;
  color: var(--white-400);
  max-width: 38ch;
}

.footer-links {
  display: grid;
  grid-template-columns: repeat(5, max-content);
  justify-content: space-between;
  gap: var(--space-800) var(--space-600);
}
.footer-col { display: flex; flex-direction: column; gap: var(--space-300); }
.footer-col a { white-space: nowrap; }
.footer-col h5 {
  font-size: var(--scale-01); font-weight: var(--weight-semibold);
  text-transform: uppercase; letter-spacing: .06em;
  color: var(--white-700); margin-bottom: var(--space-200);
}
.footer-col a { font-size: var(--scale-02); color: var(--white-500); }
.footer-col a:hover { color: var(--text-on-brand); text-decoration: none; }

.footer-social { display: flex; gap: var(--space-300); margin-top: var(--space-200); }
.footer-social a {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: var(--radius-full);
  background: var(--white-100); color: var(--white-600);
  transition: background-color .2s ease, color .2s ease;
}
.footer-social a svg { width: 16px; height: 16px; }
.footer-social a:hover { background: var(--white-200); color: var(--text-on-brand); }

.footer-trust-strip {
  display: flex; align-items: center; flex-wrap: wrap;
  gap: var(--space-400) var(--space-600);
  margin-top: clamp(var(--space-1200), 5vw, var(--space-1600));
  padding-top: var(--space-800);
  border-top: var(--stroke-border) solid var(--white-200);
  color: var(--white-500);
}
.footer-trust-item { display: inline-flex; align-items: center; gap: var(--space-200); font-size: var(--scale-02); color: var(--white-500); }
.footer-trust-item:hover { color: var(--text-on-brand); text-decoration: none; }
.footer-trust-sep { width: var(--stroke-border); height: 18px; background: var(--white-200); }

.footer-bottom {
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--space-300);
  margin-top: var(--space-1200); padding-top: var(--space-800);
  border-top: var(--stroke-border) solid var(--white-200);
  font-size: var(--scale-01); color: var(--white-400);
}

@media (max-width: 880px) {
  .footer-inner { grid-template-columns: 1fr; }
  .footer-links { grid-template-columns: repeat(2, 1fr); }
}

/* ---- COOKIE CONSENT ---- */
.cookie-consent {
  position: fixed; left: 50%; bottom: var(--space-600); transform: translateX(-50%) translateY(150%);
  z-index: 200;
  width: min(720px, calc(100% - var(--space-800)));
  background: var(--bg-default);
  border: var(--stroke-border) solid var(--border-default);
  border-radius: var(--radius-500);
  box-shadow: var(--shadow-600);
  padding: var(--space-600);
  transition: transform .4s ease, opacity .4s ease;
  opacity: 0;
}
.cookie-consent.is-visible { transform: translateX(-50%) translateY(0); opacity: 1; }
.cookie-consent-inner { display: flex; align-items: center; gap: var(--space-600); flex-wrap: wrap; }
.cookie-consent-text { flex: 1; min-width: 240px; font-size: var(--scale-02); color: var(--text-secondary); line-height: 1.5; }
.cookie-consent-actions { display: flex; gap: var(--space-300); flex-wrap: wrap; }

@media (max-width: 520px) {
  .cookie-consent-actions { width: 100%; }
  .cookie-consent-actions .btn { flex: 1; }
}