/* Wspólne style dla podstron demo (Datenschutz, Impressum) */
:root{
  --primary:#1e4d7b;
  --primary-h:#163a5e;
  --akzent:#f59e0b;
  --akzent-h:#e08a00;
  --grau:#f5f6f7;
  --dunkel:#2a2d33;
  --whatsapp:#25d366;
}
*{ -webkit-tap-highlight-color: transparent; }
body{ font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; color:#2a2d33; background:#fff; }
h1,h2,h3,h4,h5{ letter-spacing:-.02em; }

/* Top bar */
.topbar{ background:var(--dunkel); color:#cfd2d8; padding:.4rem 0; font-size:.85rem; }
.topbar a{ color:#cfd2d8; text-decoration:none; margin-right:1rem; }
.topbar a:hover{ color:var(--akzent); }
.topbar i{ color:var(--akzent); margin-right:.3rem; }

/* Navbar */
.navbar{ background:#fff; border-bottom:1px solid #e5e7eb; box-shadow:0 1px 3px rgba(0,0,0,.05); }
.navbar-brand{ font-weight:800; color:var(--primary)!important; font-size:1.3rem; }
.navbar-brand i{ color:var(--akzent); }
.nav-link{ color:#4b5563!important; font-weight:500; }
.nav-link:hover{ color:var(--primary)!important; }

/* Page hero (mniejszy niż na index) */
.page-hero{
  background:linear-gradient(135deg, var(--primary) 0%, var(--primary-h) 100%);
  color:#fff; padding:3rem 0 2.5rem;
}
.page-hero h1{ font-weight:800; margin-bottom:.4rem; }
.page-hero .breadcrumb{ background:transparent; padding:0; margin-bottom:.8rem; font-size:.85rem; }
.page-hero .breadcrumb a{ color:rgba(255,255,255,.85); text-decoration:none; }
.page-hero .breadcrumb a:hover{ color:#fff; }
.page-hero .breadcrumb-item.active{ color:var(--akzent); }

/* Treść prawnych stron */
.legal-content{ padding:3rem 0; }
.legal-content h2{
  color:var(--primary); font-weight:700; font-size:1.4rem;
  margin-top:2.5rem; margin-bottom:1rem;
  padding-bottom:.5rem; border-bottom:2px solid var(--akzent);
}
.legal-content h2:first-of-type{ margin-top:0; }
.legal-content h3{ color:var(--primary); font-weight:600; font-size:1.1rem; margin-top:1.5rem; margin-bottom:.7rem; }
.legal-content p{ line-height:1.7; color:#4b5563; }
.legal-content ul{ line-height:1.7; color:#4b5563; padding-left:1.4rem; }
.legal-content li{ margin-bottom:.3rem; }
.legal-content a{ color:var(--primary); text-decoration:underline; }
.legal-content a:hover{ color:var(--akzent); }
.legal-content strong{ color:#2a2d33; }
.legal-content table{ width:100%; margin:1rem 0; }
.legal-content table th{ background:var(--grau); color:var(--primary); font-weight:600; padding:.6rem 1rem; text-align:left; border-bottom:2px solid var(--akzent); font-size:.92rem; }
.legal-content table td{ padding:.6rem 1rem; border-bottom:1px solid #e5e7eb; vertical-align:top; font-size:.93rem; color:#4b5563; }

/* TOC sidebar */
.legal-toc{
  background:var(--grau); border-left:3px solid var(--akzent);
  padding:1.2rem 1.4rem; border-radius:6px;
  position:sticky; top:80px;
}
.legal-toc h6{ color:var(--primary); font-weight:700; text-transform:uppercase; font-size:.75rem; letter-spacing:.5px; margin-bottom:.8rem; }
.legal-toc ul{ list-style:none; padding:0; margin:0; }
.legal-toc li{ margin-bottom:.4rem; }
.legal-toc a{ color:#4b5563; text-decoration:none; font-size:.88rem; display:block; padding:.2rem 0; }
.legal-toc a:hover{ color:var(--primary); transform:translateX(2px); }

/* Info box */
.info-box{
  background:#fff8eb; border:1px solid #fde7b8;
  border-radius:6px; padding:1rem 1.2rem; margin:1.2rem 0;
  font-size:.92rem; color:#7a5a0e;
}
.info-box i{ color:var(--akzent); margin-right:.4rem; }
.info-box.demo-warn{
  background:#fff5f5; border-color:#fdc3c3; color:#8b2c2c;
}
.info-box.demo-warn i{ color:#c1392b; }

/* Footer */
footer{ background:var(--dunkel); color:#9ca3af; padding:3rem 0 1.5rem; }
footer h6{ color:#fff; font-weight:700; margin-bottom:1rem; text-transform:uppercase; font-size:.85rem; letter-spacing:.5px; }
footer a{ color:var(--akzent); text-decoration:none; }
footer a:hover{ color:#fff; }
footer .small-line{ border-top:1px solid #3a3d44; padding-top:1.2rem; margin-top:2rem; font-size:.85rem; }

/* Floating buttons (z głównej) */
.whatsapp-fab{
  position:fixed; bottom:14px; left:14px; z-index:2147483640;
  width:60px; height:60px; border-radius:50%;
  background:var(--whatsapp); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:32px; text-decoration:none;
  box-shadow:0 4px 16px rgba(37,211,102,.5);
  transition:all .25s; animation:wa-pulse 2s infinite;
}
.whatsapp-fab:hover{ background:#1cb555; color:#fff; transform:scale(1.05); }
@keyframes wa-pulse{
  0%   { box-shadow:0 4px 16px rgba(37,211,102,.5), 0 0 0 0   rgba(37,211,102,.6); }
  70%  { box-shadow:0 4px 16px rgba(37,211,102,.5), 0 0 0 18px rgba(37,211,102,0);  }
  100% { box-shadow:0 4px 16px rgba(37,211,102,.5), 0 0 0 0   rgba(37,211,102,0);  }
}
@media (prefers-reduced-motion: reduce){ .whatsapp-fab{ animation:none; } }

.demo-controls{
  position:fixed; bottom:14px; right:14px; z-index:2147483640;
  background:#fff; border:1px solid #e5e7eb; border-radius:10px;
  padding:10px 14px; box-shadow:0 6px 20px rgba(0,0,0,.15);
  font-family: system-ui, sans-serif; min-width:240px;
}
.demo-controls h6{
  margin:0 0 6px; font-size:.7rem; text-transform:uppercase;
  color:#6b7280; letter-spacing:.5px; font-weight:700;
}
.demo-controls .small-status{ font-size:.78rem; }
.demo-controls button{ font-size:.78rem; padding:.3rem .65rem; }
