/*! site.css – modernized v1 */
:root{--gap:16px;--radius:16px;--shadow:0 6px 20px rgba(0,0,0,.08);--maxw:1100px}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial,sans-serif;background:#fafafa;color:#111;line-height:1.5}

.topbar{position:sticky;top:0;background:#fff;border-bottom:1px solid #eee;z-index:10}
.topbar__inner{max-width:var(--maxw);margin:0 auto;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 16px}
.brand{font-weight:700}
.search input{width:260px;max-width:40vw;padding:10px 12px;border:1px solid #ddd;border-radius:12px;outline:none}
.search input:focus{border-color:#bbb}

.mainnav{max-width:var(--maxw);margin:0 auto;padding:8px 16px 12px;display:flex;gap:8px;flex-wrap:wrap}
.mainnav a{display:inline-block;padding:8px 12px;border:1px solid #e6e6e6;border-radius:999px;text-decoration:none;color:#333;font-size:.95rem;background:#fff}
.mainnav a.active{border-color:#ccc;background:#f5f5f5}

.wrap{max-width:var(--maxw);margin:0 auto;padding:24px 16px}

/* Siatka kart (feed) */
#feed,.feed,.items,.list,.cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:var(--gap);
  list-style:none;
  padding:0;margin:0;
}

/* Karta */
.card,#feed>*,.feed>*,.items>*,.list>*{
  background:#fff;border:1px solid #ececec;border-radius:var(--radius);
  padding:16px 18px;box-shadow:var(--shadow);transition:transform .12s ease,box-shadow .12s ease
}
@media(hover:hover){
  .card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.12)}
}

/* Tytuł w karcie */
.card h2{margin:.2rem 0  .4rem;font-size:1.12rem;line-height:1.28}
.card h2 a{color:inherit;text-decoration:none}
.card h2 a:hover{text-decoration:underline}

/* Meta chipy */
.meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:.5rem}
.chip{display:inline-block;padding:4px 8px;border:1px solid #e6e6e6;border-radius:999px;font-size:.82rem;color:#555;background:#fafafa}

/* Przyciski akcji */
.actions{margin-top:.7rem}
.btn{display:inline-block;padding:8px 12px;border:1px solid #ddd;border-radius:10px;text-decoration:none;color:#222;background:#fff}
.btn:hover{background:#f5f5f5}

/* Stopka „zaktualizowano” */
.updated{max-width:var(--maxw);margin:18px auto 0;padding:8px 16px;color:#666;font-size:.9rem}

/* Responsywność */
@media (max-width:480px){
  .search input{width:100%;max-width:100%}
}

/* === Dark Mode & Toggle === */
.theme-toggle{
  border:1px solid #ddd; background:#fff; color:#111;
  padding:8px 10px; border-radius:999px; cursor:pointer;
  font-size:16px; line-height:1; min-width:44px; min-height:36px;
  margin-left:12px;
}
@media(hover:hover){ .theme-toggle:hover{ background:#f3f3f3 }}

/* Global dark palette */
.dark body{ background:#0f1216; color:#e9eef5 }
.dark .topbar{ background:#11161c; border-bottom-color:#20262d }
.dark .mainnav a{ background:#11161c; color:#d9e2ee; border-color:#20262d }
.dark .mainnav a.active{ background:#171d24; border-color:#2a323b }
.dark .wrap,.dark .updated{ color:#cdd6e2 }
.dark .search input{ background:#10151b; color:#e9eef5; border-color:#25303a }

/* Cards */
.dark .card{ background:#151b22; border-color:#202833; box-shadow:none }
.dark .chip{ background:#10161c; border-color:#27313b; color:#b7c3d4 }
.dark .btn{ background:#121821; color:#e9eef5; border-color:#28313a }
.dark .btn:hover{ background:#17202a }

/* Links in titles keep readable */
.dark .card h2 a{ color:#eff4ff }

/* === Dark Mode: cards, text, chips, buttons === */
.dark .card{
  background:#151b22;
  border:1px solid #202833;
  box-shadow:none;
  color:#e5ecf5;
}
.dark .card h2,
.dark .card h2 a{ color:#eaf1ff }
.dark .card p{ color:#cdd6e2 }
.dark a{ color:#9ecbff }
.dark a:hover{ color:#c3deff }

.dark .meta{ color:#aab8c7 }
.dark .chip{
  background:#10161c;
  border:1px solid #27313b;
  color:#b7c3d4;
}

.dark .btn{
  background:#121821;
  color:#e9eef5;
  border:1px solid #28313a;
}
.dark .btn:hover{ background:#17202a }

.dark .updated{ color:#bfcad7 }

/* input + placeholder w dark */
.dark .search input{
  background:#10151b;
  color:#e9eef5;
  border:1px solid #25303a;
}
.dark .search input::placeholder{ color:#8ea0b5 }

/* --- poprawka: wymuszenie pełnego dark na kartach --- */
.dark body {
  background:#0f141a;
  color:#e8edf5;
}

.dark .card {
  background:#1a1f27 !important;
  border:1px solid #2a3039 !important;
  box-shadow:none !important;
  color:#e6ebf4 !important;
}

.dark .card h2,
.dark .card h2 a {
  color:#ffffff !important;
}

.dark .card p {
  color:#cfd6e2 !important;
}

.dark .chip {
  background:#0d1117 !important;
  border:1px solid #2a3039 !important;
  color:#cfd6e2 !important;
}

.dark .btn {
  background:#121821 !important;
  border:1px solid #2a3039 !important;
  color:#ffffff !important;
}

.dark .btn:hover {
  background:#1b2330 !important;
}

.dark .wrap {
  background:#0f141a !important;
}

/* ===== category chip ===== */
.catlabel{
  display:none !important;
  font-size:.75rem;
  line-height:1;
  padding:.35rem .55rem;
  border-radius:999px;
  margin-bottom:.5rem;
  border:1px solid #e6e8ec;
  background:#f6f7f9;
  color:#333;
	
}
.dark .catlabel{ background:#0f141a; border-color:#2a3039; color:#dfe6ef }

/* per-category accents (same chip, inne obramowanie) */
.catlabel::before{content:""; display:inline-block; width:.5rem; height:.5rem; border-radius:50%; margin-right:.4rem; vertical-align:-1px; background:#aaa}
.card[data-cat="alerty"] .catlabel::before{ background:#ffb84d }
.card[data-cat="podatnosci"] .catlabel::before{ background:#ff6b6b }
.card[data-cat="osint"] .catlabel::before{ background:#7dcfff }
.card[data-cat="poradniki"] .catlabel::before{ background:#6ee7b7 }
.card[data-cat="technologie"] .catlabel::before{ background:#b794f4 }
.card[data-cat="prawo"] .catlabel::before{ background:#99aab5 }
/* ===== Theme toggle – fixed button w prawym górnym rogu ===== */
.theme-toggle {
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid #ddd;
  background: #fff;
  color: #111;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}

.theme-toggle-fixed {
  position: fixed;
  top: 10px;
  right: 12px;
  z-index: 999;
}

.dark .theme-toggle {
  background: #1a1f27;
  border-color: #2a3039;
  color: #fff;
}
/* Opis w kartach – max 4 linijki, żadnych wystających tasiemców */
.card p{
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 4;        /* maksymalnie 4 linie tekstu */
  -webkit-box-orient: vertical;
  word-wrap: break-word;
  overflow-wrap: anywhere;
}
.contact {
  margin-top: 3rem;
  padding: 2rem 0;
  border-top: 1px solid var(--border-color, #333);
  font-size: 0.95rem;
}

.contact h2 {
  margin-bottom: 0.5rem;
}

.contact a {
  font-weight: 600;
}
.footer {
  margin-top: 5rem;
  padding: 3rem 0 2rem;
  background: var(--bg-secondary);
  border-top: 1px solid var(--border);
  color: var(--text-muted);
  font-size: 0.95rem;
}

.footer__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 2.5rem 2rem;
  align-items: start;
}

.footer__logo {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--text);
  margin: 0 0 0.5rem 0;
}

.footer__tagline {
  margin: 0;
  line-height: 1.5;
  color: var(--text-muted);
}

.footer__heading {
  font-size: 1rem;
  font-weight: 600;
  color: var(--text);
  margin: 0 0 1rem 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.footer__links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer__links li {
  margin-bottom: 0.65rem;
}

.footer__links a {
  color: var(--text-muted);
  text-decoration: none;
  transition: color 0.2s;
}

.footer__links a:hover {
  color: var(--primary);
}

.footer__email a {
  color: var(--primary);
  font-weight: 500;
  font-size: 1.1rem;
  text-decoration: none;
}

.footer__email a:hover {
  text-decoration: underline;
}

.footer__bottom {
  margin-top: 1rem;
  grid-column: 1 / -1;
  text-align: center;
  font-size: 0.85rem;
  color: var(--text-muted);
}

/* mobile – jeszcze mniejsze odstępy */
@media (max-width: 640px) {
  .footer {
    padding: 2.5rem 0 1.5rem;
  }
  .footer__grid {
    gap: 2rem;
  }
  .footer__bottom {
    margin-top: 2rem;
  }
}
.footer-minimal {
  margin-top: 5rem;
  padding: 1.5rem 0;
  border-top: 1px solid var(--border);
  font-size: 0.875rem;
  color: var(--text-muted);
  background: var(--bg);
}

.footer-minimal__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem 2rem;
}

.footer-minimal__left,
.footer-minimal__right {
  flex: 1;
  min-width: 180px;
}

.footer-minimal__center {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  justify-content: center;
}

.footer-minimal a {
  color: var(--text-muted);
  text-decoration: none;
  transition: color 0.2s;
}

.footer-minimal a:hover {
  color: var(--text);
}

.footer-minimal strong {
  color: var(--text);
}

/* mobile – wszystko pod sobą */
@media (max-width: 640px) {
  .footer-minimal__inner {
    flex-direction: column;
    text-align: center;
  }
  .footer-minimal__left,
  .footer-minimal__right {
    min-width: auto;
  }
  .footer-minimal__center {
    order: -1;
    margin-bottom: 0.5rem;
  }
}
