/* css/consent.css: baner zgody na pomiar (js/consent.js) + przycisk „Zmień zgodę” w stopce.
   Ładowany na każdej publicznej stronie (także 404 bez editorial.css), dlatego tokeny mają
   wartości zapasowe jasnego edytorialu. Oba przyciski wyglądają identycznie: zero nudgingu. */
.consent {
  position: fixed; left: 24px; z-index: 7500; /* pod headerem 8000/menu 7900/panelem 9500 */
  /* --consent-lift: wysokość przyklejonego paska [data-consent-avoid] (liczy js/consent.js). */
  bottom: calc(24px + var(--consent-lift, 0px));
  box-sizing: border-box;
  width: min(420px, calc(100vw - 48px));
  padding: 22px 22px 20px;
  background: #fff;
  color: var(--ink, #15171b);
  border: 1px solid var(--line-soft, #e1e3e8);
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(21, 23, 27, .04), 0 22px 48px -18px rgba(21, 23, 27, .22);
  font-family: var(--font-body, Inter), -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .45s cubic-bezier(.22, 1, .36, 1), transform .6s cubic-bezier(.22, 1, .36, 1);
}
.consent.is-in { opacity: 1; transform: none; }
/* Pierwsze pokazanie czeka, aż strona się ułoży (nie walczy z intro hero). */
.consent:not(.consent--manual).is-in { transition-delay: .6s; }
.consent:focus { outline: none; }
.consent:focus-visible { outline: 2px solid var(--accent, #214dff); outline-offset: 4px; }

.consent__eyebrow {
  display: flex; align-items: center; gap: 10px;
  margin: 0;
  color: var(--muted, #656973);
  font-size: 11px; font-weight: 500; letter-spacing: .02em;
}
/* Jedyny kobaltowy akcent karty: mały diament, motyw ikon strony. */
.consent__eyebrow::before {
  content: ''; width: 6px; height: 6px; flex: none;
  background: var(--accent, #214dff);
  transform: rotate(45deg);
}
.consent__title {
  margin: 10px 0 8px;
  font-size: 17px; font-weight: 500; line-height: 1.25; letter-spacing: -.02em;
  text-wrap: balance;
}
.consent__desc {
  margin: 0;
  color: var(--muted, #656973);
  font-size: 13px; line-height: 1.55;
  text-wrap: pretty;
}
.consent__link {
  color: var(--ink, #15171b);
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px;
  text-decoration-color: var(--line-2, #cdd1d9);
  transition: color .25s, text-decoration-color .25s;
}
.consent__link:hover { color: var(--accent-text, #2146e8); text-decoration-color: currentColor; }
.consent__now {
  margin: 12px 0 0; padding-top: 12px;
  border-top: 1px solid var(--line-soft, #e1e3e8);
  color: var(--ink, #15171b);
  font-size: 12px; line-height: 1.5;
}
.consent__now[hidden] { display: none; }

.consent__actions {
  display: grid; grid-template-columns: 1fr 1fr; gap: 8px;
  margin-top: 18px;
}
.consent__btn {
  min-height: 44px; margin: 0; padding: 0 16px;
  background: #fff;
  color: var(--ink, #15171b);
  border: 1px solid var(--ink, #15171b);
  border-radius: 8px;
  font: inherit; font-size: 14px; font-weight: 500; letter-spacing: -.01em;
  cursor: pointer;
  transition: color .25s, border-color .25s, background-color .25s;
}
.consent__btn:hover { color: var(--accent, #214dff); border-color: var(--accent, #214dff); }
.consent__btn:active { background: var(--bg-2, #f6f7f9); }
.consent__btn:focus-visible { outline: 2px solid var(--accent, #214dff); outline-offset: 3px; }

/* Przycisk w stopce wygląda jak link stopki. */
.footer__consent {
  margin: 0; padding: 0;
  background: none; border: 0; border-radius: 0;
  color: inherit;
  font: inherit;
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px;
  text-decoration-color: var(--line-2, #cdd1d9);
  cursor: pointer;
  transition: color .25s, text-decoration-color .25s;
}
.footer__consent:hover { color: var(--accent-text, #2146e8); text-decoration-color: currentColor; }
.footer__consent:focus-visible { outline: 2px solid var(--accent, #214dff); outline-offset: 4px; }
.footer__consent[hidden] { display: none; }

@media (max-width: 560px) {
  .consent {
    left: 16px; right: 16px; width: auto;
    bottom: calc(16px + max(var(--consent-lift, 0px), env(safe-area-inset-bottom)));
    padding: 18px 18px 16px;
  }
  .consent__title { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .consent { transform: none; transition: opacity .2s linear; }
  .consent:not(.consent--manual).is-in { transition-delay: 0s; }
}

@media print {
  .consent { display: none !important; }
}
