/* ═══════════════════════════════════════════════════════════
   Rekon AI — wspólne style dla index.html, raport.html
   i polityka-prywatnosci.html
   ───────────────────────────────────────────────────────────
   UWAGA: znajdują się tu WYŁĄCZNIE reguły o identycznych
   wartościach na wszystkich trzech stronach. Klasy layoutowe
   (.section, .btn, .nav, .h1, .h2, .eyebrow, stopka) mają
   celowo różne wartości w index.html i raport.html — ich
   ujednolicenie zmieniłoby wygląd strony, więc pozostają
   lokalnie w każdym pliku.

   Ten arkusz ładowany jest PRZED lokalnym <style>, żeby style
   lokalne mogły go nadpisywać bez zmiany kolejności kaskady.
   ═══════════════════════════════════════════════════════════ */

/* ─── A11Y: SKIP LINK ─── */
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:2000;
  background:#E8DDC9;color:#242321;
  border:2px solid #A64F2B;border-radius:4px;
  padding:12px 16px;
  font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:15px;
  text-decoration:none;
}
.skip-link:focus{left:16px;top:16px}

/* ─── A11Y: WIDOCZNY FOCUS ─── */
:where(a,button,input,select,textarea,[tabindex]:not([tabindex="-1"])):focus-visible{
  outline:3px solid #E2A07A;
  outline-offset:3px;
}
/* na pergaminie #E2A07A daje ok. 1.6:1 — potrzebny ciemny wariant */
.section.paper :where(a,button,input,select,textarea,[tabindex]:not([tabindex="-1"])):focus-visible,
.section.paper-light :where(a,button,input,select,textarea,[tabindex]:not([tabindex="-1"])):focus-visible,
.paper-light :where(a,button,input,select,textarea,[tabindex]:not([tabindex="-1"])):focus-visible,
.skip-link:focus-visible{
  outline-color:#6B2E2A;
}

/* ─── PANEL ZGODY NA ANALITYKĘ ─── */
.consent-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:990;
  background:#2E2B28;border-top:1px solid #3D3934;
  box-shadow:0 -8px 32px rgba(0,0,0,.34);
  padding:20px 24px;
  font-family:'IBM Plex Sans',sans-serif;
}
.consent-bar[hidden]{display:none}
.consent-inner{
  max-width:1100px;margin:0 auto;
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;
}
.consent-text{
  flex:1 1 380px;min-width:0;
  font-size:14px;line-height:1.6;color:#E8DDC9;margin:0;
}
.consent-link{color:#E2A07A;text-decoration:underline;white-space:nowrap}
.consent-link:hover{color:#E8DDC9}
.consent-actions{display:flex;gap:12px;flex-wrap:wrap;flex:0 0 auto}
/* Oba przyciski mają identyczną wagę wizualną — odrzucenie musi być
   tak samo łatwe jak akceptacja. */
.consent-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:12px 22px;border-radius:4px;
  font-family:inherit;font-weight:600;font-size:15px;line-height:1.2;
  cursor:pointer;white-space:nowrap;
  transition:background 150ms ease,color 150ms ease,border-color 150ms ease;
}
.consent-accept{background:#8C4224;border:1px solid #8C4224;color:#FFFFFF}
.consent-accept:hover{background:#6B2E2A;border-color:#6B2E2A}
.consent-reject{background:transparent;border:1px solid #C9BDA6;color:#C9BDA6}
.consent-reject:hover{background:#E8DDC9;border-color:#E8DDC9;color:#242321}
.consent-btn:focus-visible,
.consent-link:focus-visible,
button.footer-priv:focus-visible{
  outline:2px solid #E2A07A;outline-offset:2px;
}
/* Przycisk zmiany decyzji w stopce — wygląda jak sąsiednie linki */
button.footer-priv{
  background:none;border:none;padding:0;cursor:pointer;
  font:inherit;font-family:'IBM Plex Sans',sans-serif;font-size:13px;
  color:#C9BDA6;text-decoration:none;
}
button.footer-priv:hover{color:#E8DDC9}

@media(max-width:640px){
  .consent-bar{padding:16px}
  .consent-inner{gap:14px}
  .consent-text{flex:1 1 100%;font-size:13.5px}
  .consent-actions{width:100%}
  .consent-btn{flex:1 1 0;padding:12px 12px}
}
@media(max-width:400px){
  .consent-actions{flex-direction:column}
  .consent-btn{width:100%;flex:1 1 auto;white-space:normal;text-align:center}
}

/* ─── REDUKCJA RUCHU ─── */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .consent-btn{transition:none}
}

/* ─── ZABEZPIECZENIE PRZED POZIOMYM PRZEWIJANIEM ─── */
html,body{overflow-x:hidden}
