/* =================================================================
   v5-5 EDITORIAL CASE-STUDY STYLES
   Scope: projekty.html / projekty-en.html / projekty-nl.html
   Added: 2026-04-18
   ================================================================= */

/* ---------- Philosophy panel ---------- */
.philosophy-panel{padding:72px 0 32px;border-bottom:1px solid rgba(26,55,40,0.12);background:#FBFAF6}
.philosophy-panel{padding:52px 0 28px}
.philosophy-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:start}
.philosophy-grid h1{margin:12px 0 0;font-family:'Fraunces',Georgia,serif;font-size:clamp(28px,3.4vw,48px);font-weight:300;line-height:1.05;letter-spacing:-0.01em;color:#1A3728;max-width:520px}
.philosophy-grid p{margin:0;font-family:'Inter',sans-serif;font-size:15px;line-height:1.65;color:rgba(13,13,11,0.7);max-width:440px}
@media (max-width:900px){.philosophy-panel{padding:40px 0 20px}.philosophy-grid{grid-template-columns:1fr;gap:18px}.philosophy-grid h1{font-size:clamp(24px,5.6vw,36px)}.philosophy-grid p{font-size:14px;line-height:1.6}}

/* v5-5.2: zmniejszone section headings dla sekcji editorial (mniej dominujące niż H1 philosophy) */
.featured-editorial-section .section-head h2,
.named-grid-section .section-head h2,
.catalog-section .section-head h2,
.portfolio-section-v55 .section-head h2,
.archive-section .archive-meta h3{font-size:clamp(20px,2.2vw,30px);line-height:1.15;margin:8px 0 0}
.featured-editorial-section .section-head,
.named-grid-section .section-head,
.catalog-section .section-head,
.portfolio-section-v55 .section-head{margin-bottom:22px;grid-template-columns:1fr;gap:8px}
.featured-editorial-section .section-head .tag,
.named-grid-section .section-head .tag,
.catalog-section .section-head .tag,
.portfolio-section-v55 .section-head .tag{grid-column:1;font-size:10px;letter-spacing:0.16em}
.featured-editorial-section .section-head h2,
.named-grid-section .section-head h2,
.catalog-section .section-head h2,
.portfolio-section-v55 .section-head h2{grid-column:1;max-width:100%}
@media (max-width:900px){
  .featured-editorial-section .section-head h2,
  .named-grid-section .section-head h2,
  .catalog-section .section-head h2,
  .portfolio-section-v55 .section-head h2,
  .archive-section .archive-meta h3{font-size:clamp(18px,4.5vw,24px)}
}

/* ---------- Featured editorial grid (6 top named) ---------- */
.featured-editorial-section{padding:40px 0 24px}
.featured-editorial-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:28px}
.featured-editorial-card{position:relative;display:block;overflow:hidden;border:0;border-radius:8px;background:#0D0D0B;color:#FBFAF6;text-align:left;padding:0;cursor:pointer;font-family:inherit;transition:transform 0.4s ease}
.featured-editorial-card:nth-child(1){grid-column:span 4;grid-row:span 2}
.featured-editorial-card:nth-child(2),
.featured-editorial-card:nth-child(3),
.featured-editorial-card:nth-child(4),
.featured-editorial-card:nth-child(5),
.featured-editorial-card:nth-child(6){grid-column:span 2}
.featured-editorial-media{position:relative;aspect-ratio:3/2;overflow:hidden}
.featured-editorial-card:nth-child(1) .featured-editorial-media{aspect-ratio:4/3}
.featured-editorial-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.6s ease,filter 0.6s ease}
.featured-editorial-card:hover .featured-editorial-media img{transform:scale(1.04);filter:saturate(1.06)}
.featured-editorial-media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(13,13,11,0.72) 0%,rgba(13,13,11,0.08) 46%,transparent 70%);pointer-events:none}
.featured-editorial-body{position:absolute;left:20px;right:20px;bottom:16px;z-index:2;pointer-events:none}
.featured-editorial-cat{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:#C6F04A;margin-bottom:6px}
.featured-editorial-title{margin:0;font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:300;font-size:clamp(22px,2.4vw,36px);line-height:1.05;text-shadow:0 2px 18px rgba(0,0,0,0.55)}
.featured-editorial-card:nth-child(1) .featured-editorial-title{font-size:clamp(30px,3.4vw,52px)}
.featured-editorial-meta{margin-top:6px;font-family:'Inter',sans-serif;font-size:12px;font-weight:500;color:rgba(251,250,246,0.82);letter-spacing:0.05em}
@media (max-width:1180px){.featured-editorial-grid{grid-template-columns:repeat(4,1fr)}.featured-editorial-card:nth-child(1){grid-column:span 4;grid-row:auto}.featured-editorial-card:nth-child(n+2){grid-column:span 2}}
@media (max-width:720px){.featured-editorial-grid{grid-template-columns:1fr;gap:10px}.featured-editorial-card,.featured-editorial-card:nth-child(n){grid-column:span 1 !important;grid-row:auto !important}}

/* ---------- Filter bar v5-5 (6 + all) ---------- */
.filter-section-v55{padding:48px 0 12px}
.filter-bar-v55{display:flex;flex-wrap:wrap;gap:10px;align-items:center;border-bottom:1px solid rgba(26,55,40,0.12);padding-bottom:22px}
.filter-bar-v55 .filter-btn{appearance:none;border:1px solid rgba(26,55,40,0.2);background:transparent;color:#1A3728;font-family:'Inter',sans-serif;font-size:14px;font-weight:500;padding:9px 16px;border-radius:24px;cursor:pointer;transition:all 0.2s ease;letter-spacing:0.01em}
.filter-bar-v55 .filter-btn:hover{background:rgba(26,55,40,0.06)}
.filter-bar-v55 .filter-btn.active{background:#1A3728;color:#FBFAF6;border-color:#1A3728}
.filter-bar-v55 .filter-btn .count{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:500;opacity:0.72;margin-left:4px}
.filter-bar-v55 .filter-btn[data-cat="archive"]{margin-left:auto;background:rgba(26,55,40,0.04);border-style:dashed;opacity:0.82}
.filter-bar-v55 .filter-btn[data-cat="archive"]:hover{opacity:1;background:rgba(26,55,40,0.08)}
.filter-bar-v55 .filter-btn[data-cat="archive"].active{background:#1A3728;color:#FBFAF6;border-style:solid;opacity:1}
.filtered-hidden{display:none !important}
@media (max-width:720px){.filter-bar-v55 .filter-btn[data-cat="archive"]{margin-left:0}}

/* Section labels above grids — subtle hierarchy */
.section-label{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:rgba(26,55,40,0.55);margin:0 0 14px;display:block}

/* ---------- Named grid ---------- */
.named-grid-section{padding:28px 0 8px}
.named-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.named-card{position:relative;display:block;overflow:hidden;border:0;border-radius:8px;background:#1A3728;color:#FBFAF6;padding:0;cursor:pointer;text-align:left;font-family:inherit;aspect-ratio:3/2}
.named-card-media{position:relative;width:100%;height:100%;overflow:hidden}
.named-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.6s ease,filter 0.6s ease}
.named-card:hover .named-card-media img{transform:scale(1.04);filter:saturate(1.05)}
.named-card-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#1A3728 0%,#2a4a38 100%);display:flex;align-items:center;justify-content:center}
.named-card-placeholder::before{content:"\25c9";color:rgba(198,240,74,0.4);font-size:64px;font-family:'Fraunces',serif}
.named-card::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(to top,rgba(13,13,11,0.78) 0%,rgba(13,13,11,0.1) 52%,transparent 72%)}
.named-card-caption{position:absolute;left:18px;right:18px;bottom:14px;z-index:2;pointer-events:none}
.named-card-title{margin:0;font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:300;font-size:26px;line-height:1.08;color:#FBFAF6;text-shadow:0 2px 18px rgba(0,0,0,0.55)}
.named-card-meta{margin-top:4px;font-family:'Inter',sans-serif;font-size:12px;font-weight:500;color:rgba(251,250,246,0.82);letter-spacing:0.04em}
.named-card-pending{opacity:0.72}
.named-card-pending .named-card-title::after{content:" \00b7";margin-left:8px;color:#C6F04A}
@media (max-width:900px){.named-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.named-grid{grid-template-columns:1fr}}

/* ---------- Catalog grid ---------- */
.catalog-section{padding:56px 0 12px;border-top:1px solid rgba(26,55,40,0.12);margin-top:36px}
.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.catalog-card{display:block;overflow:hidden;border:1px solid rgba(26,55,40,0.14);border-radius:10px;background:#FBFAF6;padding:0;cursor:pointer;text-align:left;font-family:inherit;transition:transform 0.3s ease,box-shadow 0.3s ease}
.catalog-card:hover{transform:translateY(-2px);box-shadow:0 18px 36px -18px rgba(26,55,40,0.25)}
.catalog-card-media{aspect-ratio:3/2;overflow:hidden;background:#F2F0E8}
.catalog-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.6s ease}
.catalog-card:hover .catalog-card-media img{transform:scale(1.03)}
.catalog-card-placeholder{width:100%;height:100%;background:#F2F0E8}
.catalog-card-body{padding:18px 20px 20px}
.catalog-card-code{display:block;margin-bottom:8px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:rgba(26,55,40,0.58)}
.catalog-card-title{margin:0 0 6px;font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:26px;font-weight:300;line-height:1.1;color:#1A3728}
.catalog-card-area{margin:0 0 8px;font-family:'Inter',sans-serif;font-size:16px;font-weight:600;color:#0D0D0B}
.catalog-card-details{margin:0;font-family:'Inter',sans-serif;font-size:13px;line-height:1.55;color:rgba(13,13,11,0.64)}
@media (max-width:900px){.catalog-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.catalog-grid{grid-template-columns:1fr}}

/* ---------- Archive section ---------- */
.archive-section{padding:64px 0 12px;border-top:1px solid rgba(26,55,40,0.12);margin-top:48px}
.archive-meta{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:20px;flex-wrap:wrap;gap:12px}
.archive-meta h3{margin:0;font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:300;font-size:clamp(26px,3vw,36px);color:#1A3728}
.archive-meta span{font-family:'Inter',sans-serif;font-size:13px;color:rgba(13,13,11,0.56)}
.archive-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.archive-grid .gallery-item{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:4px;background:#F2F0E8;text-decoration:none}
.archive-grid .gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.4s ease,filter 0.4s ease}
.archive-grid .gallery-item:hover img{transform:scale(1.05);filter:saturate(1.08)}
@media (max-width:1100px){.archive-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:700px){.archive-grid{grid-template-columns:repeat(2,1fr)}}

/* ---------- Portfolio (odjechane) ---------- */
.portfolio-section-v55{padding:56px 0 24px}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.portfolio-card{position:relative;display:block;overflow:hidden;border-radius:8px;background:#1A3728;color:#FBFAF6;aspect-ratio:3/4}
.portfolio-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.6s ease,filter 0.6s ease;filter:saturate(0.95)}
.portfolio-card:hover img{transform:scale(1.04);filter:saturate(1.05)}
.portfolio-card::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top,rgba(13,13,11,0.76),rgba(13,13,11,0.06) 58%)}
.portfolio-card-caption{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;display:flex;flex-direction:column;gap:4px}
.portfolio-card-title{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:300;font-size:26px;line-height:1.1;text-shadow:0 2px 18px rgba(0,0,0,0.55)}
.portfolio-card-sub{font-family:'Inter',sans-serif;font-size:12px;font-weight:500;letter-spacing:0.04em;color:rgba(251,250,246,0.82)}
@media (max-width:900px){.portfolio-grid{grid-template-columns:1fr;gap:10px}.portfolio-card{aspect-ratio:3/2}}

/* ---------- Project modal ---------- */
body.modal-body-lock{overflow:hidden}
.project-modal{position:fixed;inset:0;z-index:9999;display:none}
.project-modal.modal-open{display:block}
.modal-backdrop{position:absolute;inset:0;background:rgba(13,13,11,0.84);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:pointer}
.modal-shell{position:absolute;inset:3vh 3vw;max-width:1200px;margin:0 auto;background:#FBFAF6;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 80px -10px rgba(0,0,0,0.55)}
.modal-close{position:absolute;top:12px;right:12px;z-index:3;width:40px;height:40px;border:0;border-radius:50%;background:rgba(251,250,246,0.92);color:#1A3728;font-size:20px;font-weight:400;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s ease}
.modal-close:hover{background:#FBFAF6}
.modal-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border:0;border-radius:50%;background:rgba(251,250,246,0.9);color:#1A3728;font-size:18px;font-weight:400;cursor:pointer;display:flex;align-items:center;justify-content:center}
.modal-prev{left:12px}
.modal-next{right:64px}
.modal-nav:hover{background:#FBFAF6}
.modal-content{overflow-y:auto;padding:0 0 48px;scroll-behavior:smooth;height:100%}
.modal-hero{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#1A3728}
.modal-hero img{width:100%;height:100%;object-fit:cover;display:block}
.modal-hero-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#1A3728,#2a4a38)}
.modal-hero-overlay{position:absolute;left:32px;right:32px;bottom:28px;z-index:2;color:#FBFAF6;text-shadow:0 2px 18px rgba(0,0,0,0.6)}
.modal-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top,rgba(13,13,11,0.78) 0%,rgba(13,13,11,0.05) 54%,transparent 72%)}
.modal-hero-cat{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:#C6F04A;margin-bottom:10px;display:block}
.modal-hero-title{margin:0;font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:300;font-size:clamp(36px,5vw,76px);line-height:0.95;letter-spacing:-0.01em}
.modal-hero-code{margin-top:6px;font-family:'JetBrains Mono',monospace;font-size:13px;color:rgba(251,250,246,0.88)}
.modal-description{max-width:680px;margin:40px auto 28px;padding:0 clamp(24px,5vw,64px);font-family:'Inter',sans-serif;font-size:18px;line-height:1.75;color:#1A3728}
.modal-params{max-width:900px;margin:0 auto 36px;padding:0 clamp(24px,5vw,64px)}
.modal-params-label,.modal-gallery-label{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:rgba(26,55,40,0.6);margin:0 0 16px;padding:0 clamp(24px,5vw,64px)}
.modal-params-label{padding:0}
.modal-params-grid{display:grid;grid-template-columns:1fr 2fr;gap:12px 24px;margin:0;border-top:1px solid rgba(26,55,40,0.14);padding-top:18px}
.modal-params-grid dt{font-family:'Inter',sans-serif;font-size:12px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:rgba(26,55,40,0.6);margin:0}
.modal-params-grid dd{margin:0;font-family:'Inter',sans-serif;font-size:15px;color:#0D0D0B;line-height:1.45}
.modal-gallery{max-width:1120px;margin:8px auto 36px;padding:0 clamp(24px,5vw,64px)}
.gallery-editorial{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.modal-gallery-tile{margin:0;overflow:hidden;border-radius:6px;background:#F2F0E8;cursor:zoom-in;aspect-ratio:4/3}
.modal-gallery-tile.span-2{grid-column:span 2;aspect-ratio:16/9}
.modal-gallery-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.5s ease}
.modal-gallery-tile:hover img{transform:scale(1.05)}
.modal-tags{max-width:900px;margin:0 auto 28px;padding:0 clamp(24px,5vw,64px);display:flex;flex-wrap:wrap;gap:8px}
.tag-muted{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;padding:5px 10px;border-radius:24px;background:rgba(26,55,40,0.08);color:rgba(26,55,40,0.78)}
.modal-pending{max-width:680px;margin:12px auto 36px;padding:22px clamp(24px,5vw,64px);font-family:'Inter',sans-serif;font-size:15px;line-height:1.6;color:rgba(26,55,40,0.72);border-left:3px solid #C6F04A;background:rgba(198,240,74,0.08)}
.modal-cta{margin:8px clamp(24px,5vw,64px) 20px;display:inline-flex;align-items:center;gap:8px}
@media (max-width:720px){.modal-shell{inset:0;border-radius:0;max-width:none}.modal-hero-title{font-size:clamp(32px,8vw,48px)}.modal-params-grid{grid-template-columns:1fr}.modal-params-grid dt{margin-bottom:-6px;padding-top:10px}.gallery-editorial{grid-template-columns:1fr}.modal-gallery-tile,.modal-gallery-tile.span-2{grid-column:span 1;aspect-ratio:4/3}.modal-next{right:60px}}

/* ---------- Reveal anim ---------- */
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity 0.7s ease,transform 0.7s ease}
[data-reveal].revealed{opacity:1;transform:translateY(0)}

/* ---------- Standalone lightbox reuse (dla archive) ---------- */
.lightbox{position:fixed;inset:0;z-index:9998;display:none;background:rgba(13,13,11,0.92);align-items:center;justify-content:center}
.lightbox.open{display:flex}
.lightbox img{max-width:92vw;max-height:88vh;object-fit:contain}
.lightbox-close,.lightbox-nav{position:absolute;border:0;background:rgba(251,250,246,0.12);color:#FBFAF6;font-size:24px;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s ease}
.lightbox-close:hover,.lightbox-nav:hover{background:rgba(251,250,246,0.25)}
.lightbox-close{top:20px;right:20px}
.lightbox-nav.prev{left:24px;top:50%;transform:translateY(-50%)}
.lightbox-nav.next{right:24px;top:50%;transform:translateY(-50%)}
.lightbox-counter{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font-family:'JetBrains Mono',monospace;font-size:12px;color:rgba(251,250,246,0.72);letter-spacing:0.08em}
