/* === Paleta kolorów (wspólna dla wszystkich stron publicznych ładujących ten arkusz) === */
:root{
  --r50:#fff1f1;--r100:#ffe0e0;--r400:#f87171;--r500:#ef4444;
  --r600:#dc2626;--r700:#b91c1c;--r800:#991b1b;--r900:#7f1d1d;
  --o50:#fff7ed;--o100:#ffedd5;--o600:#ea580c;--o700:#c2410c;
  --s50:#f8fafc;--s100:#f1f5f9;--s200:#e2e8f0;--s400:#94a3b8;--s500:#64748b;
  --s600:#475569;--s700:#334155;--s800:#1e293b;--s900:#0f172a;
  --w:#fff;--rad:12px;--radlg:20px;

  /* Kolory akcentowe — do wyróżniania elementów bez sięgania po kolejny odcień czerwieni.
     Sugerowane role: bl = informacja, am = uwaga, vi = nowość, te = zweryfikowane/potwierdzone. */
  --bl50:#eff6ff;--bl100:#dbeafe;--bl600:#2563eb;--bl700:#1d4ed8;
  --am50:#fffbeb;--am100:#fde68a;--am600:#b45309;--am700:#92400e;
  --vi50:#f5f3ff;--vi100:#ede9fe;--vi600:#7c3aed;--vi700:#6d28d9;
  --te50:#ecfbf9;--te100:#c7f2ec;--te600:#0d7d73;--te700:#0a6259;
}

/* === Reset (wspólny dla wszystkich stron publicznych ładujących ten arkusz) === */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:'Inter',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}

/* === Powrót do zainstalowanej PWA (widoczny tylko w display-mode: standalone) === */
.l-app-return{display:flex;align-items:center;justify-content:center;gap:.5rem;position:fixed;left:0;right:0;bottom:0;z-index:200;background:#dc2626;color:#fff;font-family:'Inter',system-ui,-apple-system,sans-serif;font-weight:700;font-size:.92rem;text-decoration:none;padding:.9rem 1rem calc(.9rem + env(safe-area-inset-bottom));box-shadow:0 -2px 14px rgba(0,0,0,.18)}
.l-app-return:hover{background:#b91c1c}
.l-app-return svg{flex-shrink:0}
.l-app-return[hidden]{display:none}

/* === Nawigacja === */
.l-nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid #e2e8f0;font-family:'Inter',system-ui,-apple-system,sans-serif}
.l-nav-inner{max-width:1280px;margin:0 auto;padding:0 1.5rem;height:60px;display:flex;align-items:center;justify-content:space-between}
.l-logo{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.2rem;color:#b91c1c;text-decoration:none}
.l-logo img{width:28px;height:28px}
.l-nav-links{display:flex;gap:1rem;list-style:none;align-items:center;padding:0;margin:0}
.l-nav-links a{text-decoration:none;color:#475569;font-size:.85rem;font-weight:500;transition:color .2s}
.l-nav-links a:hover,.l-nav-links a[aria-current="page"]{color:#dc2626}
.l-nav-sep{margin-left:.5rem;padding-left:1rem;border-left:1px solid #e2e8f0}
.l-nav-auth{margin-left:.75rem;padding-left:1.5rem;border-left:1px solid #e2e8f0}
.l-nav-cta{background:#dc2626!important;color:#fff!important;padding:.4rem 1rem;border:1.5px solid transparent;border-radius:8px;transition:background .2s!important}
.l-nav-cta:hover{background:#b91c1c!important}
.l-nav-ghost{color:#dc2626!important;border:1.5px solid #dc2626;padding:.4rem 1rem;border-radius:8px;transition:background .2s,color .2s!important}
.l-nav-ghost:hover{background:#dc2626!important;color:#fff!important}

/* === Stopka === */
.l-footer{background:#0f172a;color:#cbd5e1;padding:3rem 1.5rem 2rem;font-family:'Inter',system-ui,-apple-system,sans-serif}
.l-footer-inner{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem}
.l-footer-brand .l-logo{color:#fff;margin-bottom:.5rem}
.l-footer-brand p{font-size:.83rem;max-width:260px;line-height:1.6}
.l-footer-disclaimer{margin-top:.75rem!important;font-size:.75rem!important;color:#94a3b8!important;border-top:1px solid rgba(255,255,255,.08);padding-top:.75rem}
.l-footer-disclaimer strong{color:#cbd5e1}
.l-footer-disclaimer a{color:#94a3b8;text-decoration:underline}
.l-footer-disclaimer a:hover{color:#fff}
.l-footer-links h4{font-size:.8rem;font-weight:700;color:#fff;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.8rem}
.l-footer-links ul{list-style:none;display:flex;flex-direction:column;gap:.5rem;padding:0;margin:0}
.l-footer-links a{text-decoration:none;color:#cbd5e1;font-size:.85rem;transition:color .2s}
.l-footer-links a:hover{color:#fff}
.l-footer-bottom{max-width:1100px;margin:2.5rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;font-size:.78rem}
.l-heart{color:#ef4444}

/* === Hamburger (mobilne menu) === */
.l-hamburger{display:none;background:none;border:none;cursor:pointer;padding:.4rem;color:#475569;border-radius:6px;line-height:0;align-items:center}
.l-hamburger:hover{background:#f1f5f9}
.l-ham-close{display:none}

@media(max-width:900px){
  .l-hamburger{display:flex}
  .l-nav--open .l-ham-icon{display:none}
  .l-nav--open .l-ham-close{display:block}
  .l-nav-links{
    display:none;position:absolute;top:60px;left:0;right:0;
    flex-direction:column;gap:0;
    background:rgba(255,255,255,.97);backdrop-filter:blur(12px);
    border-bottom:1px solid #e2e8f0;
    box-shadow:0 8px 24px rgba(0,0,0,.06);
    padding:.5rem 1.5rem 1.25rem
  }
  .l-nav--open .l-nav-links{display:flex}
  .l-nav-links>li{width:100%}
  .l-nav-links a:not(.l-nav-ghost):not(.l-nav-cta){display:block;padding:.7rem 0;font-size:.95rem;border-bottom:1px solid #f1f5f9}
  .l-nav-sep{margin-left:0!important;padding-left:0!important;border-left:none!important;border-top:1px solid #e2e8f0;margin-top:.35rem;padding-top:.35rem}
  .l-nav-auth{margin-left:0!important;padding-left:0!important;border-left:none!important;border-top:1px solid #e2e8f0;margin-top:.5rem;padding-top:.75rem}
  .l-nav-auth~li{padding-top:.5rem}
  .l-nav-ghost,.l-nav-cta{display:block!important;text-align:center;width:100%;box-sizing:border-box}
}
