/* PIOZ — dodatki dla wersji Grav (mobile menu, lightbox z prawdziwymi obrazami) */

/* Burger / mobile menu */
.burger{
  display:none; appearance:none; background:transparent; border:0; cursor:pointer;
  width:44px; height:44px; padding:0; align-items:center; justify-content:center;
  color: var(--ink);
}
.burger span{ display:block; width:22px; height:1.5px; background:currentColor; position:relative; }
.burger span::before, .burger span::after{
  content:""; position:absolute; left:0; width:100%; height:1.5px; background:currentColor;
}
.burger span::before{ top:-7px; }
.burger span::after{ top:7px; }

@media (max-width: 960px){
  .burger{ display:inline-flex; }
  .nav-links{
    display:none !important;
    position:absolute; top:76px; left:0; right:0;
    flex-direction:column !important; gap:0;
    background: var(--paper); border-bottom: 1px solid var(--rule);
    padding: 12px 32px;
  }
  .nav-links.open{ display:flex !important; }
  .nav-links a{ padding: 14px 0; border-bottom: 1px solid var(--rule-2); border-radius: 0; }
  .nav-links a:last-child{ border-bottom:0; }
}

/* Lightbox image rendering (różni się od reactowej wersji — używa bg-image) */
.lb-img{
  width:100%; height: 60vh; max-height: 720px;
  background-size: contain; background-position: center; background-repeat: no-repeat;
  background-color: #0a1628;
}
.lb-img.placeholder{
  display:grid; place-items:center;
  font-family: var(--mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(255,255,255,.55);
  background-image:
    repeating-linear-gradient(135deg, transparent 0 9px, rgba(154,164,176,.14) 9px 10px),
    linear-gradient(180deg, #1a2c4a, #14233d) !important;
}

/* Galeria — obraz jako tło na całej kafelce */
.g-card .g-bg{
  position:absolute; inset:0;
  background-size: cover; background-position: center;
}

/* Obraz wewnątrz pd-media (project detail) */
.pd-media .pd-bg{
  position:absolute; inset:0;
  background-size: cover; background-position: center;
}

/* News card — obraz jako tło */
.news-img.bg{
  background-size: cover; background-position: center;
}

/* Skip link dla a11y */
.skip{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.skip:focus{ left: 12px; top: 12px; width:auto; height:auto; padding: 8px 14px; background: var(--ink); color: var(--paper); z-index: 999; border-radius: 4px; }

/* Listing strony /projekty i /aktualnosci */
.list-page{ padding-top: 80px; padding-bottom: 120px; }
.list-page .lead{ margin-bottom: 56px; }

/* Single post / project page */
.single{ padding: 80px 0 120px; }
.single .single-meta{
  font-family: var(--mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--ink-3); margin-bottom: 16px; display:flex; gap: 18px; flex-wrap:wrap;
}
.single .single-meta .cat{ color: var(--gold-deep); }
.single h1.h-display{ font-size: clamp(40px, 5vw, 72px); margin-bottom: 28px; max-width: 22ch; }
.single .single-cover{
  margin: 48px 0; aspect-ratio: 16/9; background: var(--paper-3);
  background-size: cover; background-position:center;
}
.single .single-body{ max-width: 64ch; font-size: 17px; line-height: 1.7; }
.single .single-body h2{ font-family: var(--serif); font-size: 32px; font-weight: 500; margin: 48px 0 16px; }
.single .single-body h3{ font-family: var(--serif); font-size: 24px; font-weight: 600; margin: 36px 0 12px; }
.single .single-body p{ font-size: 17px; }
.single .single-body img{ margin: 32px 0; }
.single .single-body blockquote{
  margin: 32px 0; padding: 16px 24px; border-left: 2px solid var(--gold);
  font-family: var(--serif); font-style: italic; font-size: 22px; color: var(--ink-2);
}
.single .single-body ul, .single .single-body ol{ padding-left: 24px; }
.single .single-body li{ margin-bottom: 8px; }

.single-back{ margin-top: 64px; padding-top: 32px; border-top: 1px solid var(--rule); }

/* Funding badge dla pojedynczego projektu */
.funding-badge{
  margin-top: 40px; padding: 20px 24px;
  background: var(--paper-2); border-left: 3px solid var(--gold);
  font-size: 13px; color: var(--ink-2); line-height: 1.5;
}
.funding-badge strong{ display:block; font-family: var(--mono); font-size: 10px; letter-spacing: .14em; text-transform:uppercase; color: var(--gold-deep); margin-bottom: 6px; }
