/* Zervi Labs — strony projektu: media, dokumentacja, galeria, devlog */
.project-subnav{
  position:sticky;
  top:78px;
  z-index:40;
  background:transparent;
  border-bottom:0;
  box-shadow:none;
  padding:10px 0;
}
.project-subnav .container{
  width:fit-content;
  max-width:calc(100% - 56px);
  margin:0 auto;
  display:flex;
  justify-content:center;
  gap:12px;
  overflow-x:auto;
  padding:12px 18px;
  background:rgba(248,242,238,.82);
  backdrop-filter:blur(4px);
  border:1px solid rgba(23,63,50,.14);
  border-radius:18px;
  box-shadow:0 12px 34px rgba(29,30,29,.06);
}

.project-subnav a{white-space:nowrap;border:1px solid rgba(23,63,50,.18);border-radius:999px;padding:8px 13px;color:var(--green);font-weight:800;font-size:.88rem;background:rgba(23,63,50,.08);transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.project-subnav a:hover{background:rgba(23,63,50,.14);color:var(--green);border-color:rgba(23,63,50,.28);transform:translateY(-1px)}
.project-subnav a.is-active{background:rgba(248,242,238,.94);color:var(--copper);border-color:rgba(23,63,50,.32)}
.breadcrumb{display:flex;gap:8px;flex-wrap:wrap;color:#657068;font-size:.9rem;margin-bottom:20px}.breadcrumb a{color:var(--green);font-weight:800}.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.status-card,.media-card,.doc-card,.gallery-card,.post-card{border:1px solid rgba(23,63,50,.16);border-radius:22px;background:rgba(255,255,255,.36);box-shadow:0 18px 50px rgba(29,30,29,.07);overflow:hidden}.status-card{padding:24px}.status-card strong{display:block;color:var(--green);font-size:1.05rem;margin-bottom:8px}.status-card p,.media-card p,.doc-card p,.gallery-card p,.post-card p{color:#4d5a53}.media-grid,.docs-grid,.gallery-grid,.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.media-preview,.doc-preview,.gallery-preview,.post-preview{aspect-ratio:16/10;background:rgba(23,63,50,.08);display:grid;place-items:center;overflow:hidden}.media-preview img,.doc-preview img,.gallery-preview img,.post-preview img{width:100%;height:100%;object-fit:cover}.media-card .body,.doc-card .body,.gallery-card .body,.post-card .body{padding:22px}.media-card p,.doc-card p,.gallery-card p,.post-card p{margin-top:10px}.file-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.file-meta span{border:1px solid rgba(23,63,50,.16);color:var(--green);border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:850}.embed-panel{border:1px solid rgba(23,63,50,.16);border-radius:var(--radius);background:rgba(255,255,255,.36);padding:clamp(20px,4vw,34px);box-shadow:0 18px 50px rgba(29,30,29,.07)}.video-shell,.pdf-shell{position:relative;width:100%;border-radius:18px;overflow:hidden;border:1px solid rgba(23,63,50,.16);background:rgba(23,63,50,.08)}.video-shell{aspect-ratio:16/9}.video-shell video,.video-shell iframe,.pdf-shell iframe,.pdf-shell object{width:100%;height:100%;border:0;display:block}.pdf-shell{height:min(78vh,760px)}.placeholder-note{padding:22px;border-left:4px solid var(--copper);background:rgba(154,79,44,.08);border-radius:16px;color:#4d5a53}.content-flow{display:grid;gap:26px}.content-flow figure{margin:0;border-radius:22px;overflow:hidden;border:1px solid rgba(23,63,50,.16);background:rgba(255,255,255,.36)}.content-flow figcaption{padding:14px 18px;color:#56625b;font-size:.92rem;border-top:1px solid rgba(23,63,50,.1)}.post-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}.post-aside{position:sticky;top:154px}.download-list{display:grid;gap:12px}.download-item{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid rgba(23,63,50,.14);border-radius:16px;padding:14px 16px;background:rgba(255,255,255,.35)}.download-item strong{color:var(--green)}
@media(max-width:920px){.project-subnav{top:68px}.status-grid{grid-template-columns:repeat(2,1fr)}.media-grid,.docs-grid,.gallery-grid,.posts-grid,.post-layout{grid-template-columns:1fr}.post-aside{position:static}}@media(max-width:620px){.status-grid{grid-template-columns:1fr}.pdf-shell{height:560px}}


/* Dodatkowe poprawki linków, osadzeń i kart multimediów */
.project-subnav a.is-active { box-shadow: inset 0 0 0 1px rgba(23,63,50,.08); }
.media-card .btn-row, .doc-card .btn-row, .gallery-card .btn-row, .post-card .btn-row { margin-top: 16px; }
video { background: #173f32; }
.pdf-shell object { width: 100%; height: 100%; display: block; }
.media-preview img, .gallery-preview img, .post-preview img { transition: transform .25s ease; }
.media-card:hover .media-preview img, .gallery-card:hover .gallery-preview img, .post-card:hover .post-preview img { transform: scale(1.035); }
.media-card h3 a, .gallery-card h3 a, .post-card h3 a { color: var(--green); }
.media-card h3 a:hover, .gallery-card h3 a:hover, .post-card h3 a:hover { color: var(--copper); }

/* Połączona sekcja: Multimedia + dawna galeria */
.media-viewer-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:24px;
  align-items:start;
}
.media-main-viewer{padding:clamp(16px,3vw,28px)}
.large-image-shell{
  margin:0;
  border:1px solid rgba(23,63,50,.16);
  border-radius:18px;
  overflow:hidden;
  background:rgba(23,63,50,.08);
}
.large-image-shell a{display:block;background:rgba(23,63,50,.05)}
.large-image-shell img{
  width:100%;
  max-height:72vh;
  object-fit:contain;
  display:block;
}
.large-image-shell figcaption{
  padding:14px 18px;
  color:#56625b;
  font-size:.92rem;
  border-top:1px solid rgba(23,63,50,.1);
  background:rgba(255,255,255,.35);
}
.media-info-panel{
  border:1px solid rgba(23,63,50,.16);
  border-radius:22px;
  background:rgba(255,255,255,.36);
  box-shadow:0 18px 50px rgba(29,30,29,.07);
  padding:22px;
  position:sticky;
  top:154px;
}
.media-info-panel h3{color:var(--green);margin-top:12px}
.media-info-panel p{color:#4d5a53;margin-top:10px}
.media-info-panel .btn-row{margin-top:18px}
.media-strip{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(220px,280px);
  gap:16px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x proximity;
  padding:6px 2px 18px;
}
.asset-tile{
  scroll-snap-align:start;
  border:1px solid rgba(23,63,50,.16);
  border-radius:20px;
  background:rgba(255,255,255,.36);
  box-shadow:0 14px 34px rgba(29,30,29,.06);
  overflow:hidden;
  color:inherit;
}
.asset-tile:hover{transform:translateY(-1px);border-color:rgba(23,63,50,.28)}
.asset-tile.is-active{border-color:rgba(154,79,44,.5);box-shadow:0 14px 34px rgba(154,79,44,.12)}
.asset-tile-preview{
  position:relative;
  aspect-ratio:16/10;
  display:grid;
  place-items:center;
  background:rgba(23,63,50,.08);
  overflow:hidden;
}
.asset-tile-preview img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.asset-tile:hover .asset-tile-preview img{transform:scale(1.035)}
.asset-kind{
  position:absolute;
  left:12px;
  top:12px;
  border-radius:999px;
  padding:5px 9px;
  background:rgba(248,242,238,.9);
  color:var(--green);
  border:1px solid rgba(23,63,50,.14);
  font-size:.76rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.asset-tile-body{display:block;padding:16px}
.asset-tile-body strong{display:block;color:var(--green)}
.asset-tile.is-active .asset-tile-body strong{color:var(--copper)}
.asset-tile .file-meta{margin-top:10px}
@media(max-width:920px){.media-viewer-layout{grid-template-columns:1fr}.media-info-panel{position:static}.media-strip{grid-auto-columns:minmax(200px,82vw)}}

/* Poprawki multimediów i dokumentacji — łatka 2026-06-24 */
.media-card .btn-secondary:hover,
.doc-card .btn-secondary:hover,
.gallery-card .btn-secondary:hover,
.post-card .btn-secondary:hover,
.media-info-panel .btn-secondary:hover,
.doc-actions .btn-secondary:hover,
.download-item:hover {
  background: rgba(154,79,44,.12);
  color: var(--copper);
  border-color: rgba(154,79,44,.45);
}

.media-card .btn-secondary,
.doc-card .btn-secondary,
.gallery-card .btn-secondary,
.post-card .btn-secondary,
.media-info-panel .btn-secondary,
.doc-actions .btn-secondary,
.download-item,
.asset-tile,
.asset-title-link strong,
.asset-tile-body strong {
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.media-card .btn-secondary:hover,
.doc-card .btn-secondary:hover,
.gallery-card .btn-secondary:hover,
.post-card .btn-secondary:hover,
.media-info-panel .btn-secondary:hover,
.doc-actions .btn-secondary:hover {
  transform: translateY(-2px);
}

.asset-tile:hover .asset-tile-body strong,
.asset-title-link:hover strong {
  color: var(--copper);
}

.doc-strip .asset-tile {
  display: block;
}

.doc-strip .asset-tile-body p {
  margin-top: 8px;
  color: #4d5a53;
  font-size: .94rem;
}

.doc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.doc-actions .btn {
  min-height: 40px;
  padding: 0 16px;
  font-size: .9rem;
}

.download-item:hover strong,
.download-item:hover span {
  color: var(--copper);
}


/* Łatka v2: po wyborze materiału przewijaj bezpośrednio do dużego podglądu.
   Zapas od góry zabezpiecza przed sticky headerem i paskiem zakładek projektu. */
.media-main-viewer {
  scroll-margin-top: 185px;
}

@media (max-width: 920px) {
  .media-main-viewer {
    scroll-margin-top: 160px;
  }
}

/* Latka 2026-06-28: wiekszy odstep miedzy kafelkami statusu projektu a devlogiem. */
.status-grid + .timeline {
  margin-top: clamp(24px, 6vw, 36px);
}

@media (max-width: 620px) {
  .status-grid + .timeline {
    margin-top: 38px;
  }
}

/* Łatka 2026-06-28: poprawa paska zakładek projektu na wąskich ekranach.
   Na telefonie przyciski startują od lewej strony i można je swobodnie przewijać. */
@media (max-width: 620px) {
  .project-subnav {
    padding: 8px 0;
  }

  .project-subnav .container {
    width: calc(100% - 28px);
    max-width: calc(100% - 28px);
    justify-content: flex-start;
    gap: 8px;
    padding: 10px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-padding-inline: 10px;
    border-radius: 16px;
  }

  .project-subnav a {
    flex: 0 0 auto;
    padding: 7px 10px;
    font-size: .8rem;
  }
}


/* Devlog content extensions */
.content-flow .post-list{margin:14px 0 0 1.1rem;color:#4d5a53;display:grid;gap:8px;line-height:1.65}.content-flow .post-callout{border-left:4px solid var(--copper);background:rgba(154,79,44,.08);border-radius:18px;padding:20px 22px}.content-flow .post-callout h2{margin-top:0!important}.post-table-wrap{overflow-x:auto;border:1px solid rgba(23,63,50,.16);border-radius:18px;background:rgba(255,255,255,.36)}.post-table{width:100%;border-collapse:collapse;min-width:560px}.post-table th,.post-table td{padding:14px 16px;text-align:left;border-bottom:1px solid rgba(23,63,50,.12);vertical-align:top}.post-table th{background:rgba(23,63,50,.95);color:#fff}.post-table tr:last-child td{border-bottom:0}
