/* Přehled realizací, detail realizace, 404 – navazuje na site.css */
.accent{color:var(--orange);}
.btn-line{background:transparent; color:#fff; border:1px solid rgba(255,255,255,.5);}
.btn-line:hover{background:#fff; color:var(--ink);}
.btn-dark{background:var(--ink); color:#fff;}
.btn-dark:hover{background:#000; transform:translateY(-2px);}

.crumbs{font-size:13px; color:#8f8f8b; margin-bottom:26px; display:flex; flex-wrap:wrap; gap:6px 10px;}
.crumbs a{color:#c9c9c4;} .crumbs a:hover{color:var(--orange);}
.crumbs span[aria-current]{color:#8f8f8b;}

.proj-meta{display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:6px; color:#d9d4c8; font-size:15px;}
.proj-meta .cat{color:var(--orange); font-weight:700; letter-spacing:1.5px; text-transform:uppercase; font-size:13px;}

/* filtr kategorií */
.filters{display:flex; flex-wrap:wrap; gap:10px; margin-top:34px;}
.filters a{border:1px solid rgba(255,255,255,.35); color:#fff; padding:10px 18px; font-size:13px; font-weight:600; letter-spacing:1px; text-transform:uppercase; transition:background .2s, border-color .2s;}
.filters a:hover{border-color:var(--orange);}
.filters a.on{background:var(--orange); border-color:var(--orange);}

/* mřížka kartiček */
.proj-section{padding:80px 0 110px; background:#fff;}
.proj-grid{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:34px 26px;}
.proj-card{display:flex; flex-direction:column; color:var(--ink);}
.proj-card-img{display:block; aspect-ratio:4/3; overflow:hidden; background:var(--cream-2); position:relative;}
.proj-card-img img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
.proj-card:hover .proj-card-img img{transform:scale(1.045);}
.proj-card-noimg{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--gray); font-size:13px; letter-spacing:1px; text-transform:uppercase;}
.proj-card-body{display:flex; flex-direction:column; gap:7px; padding-top:18px;}
.proj-card-meta{font-size:12px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; color:var(--orange);}
.proj-card-title{font-family:'Archivo Black',sans-serif; text-transform:uppercase; font-size:22px; line-height:1.05; transition:color .2s;}
.proj-card:hover .proj-card-title{color:var(--orange);}
.proj-card-text{font-size:15px; line-height:1.6; color:#55554f;}
.proj-empty{padding:60px 0; text-align:center; color:#55554f; font-size:17px;}

.pager{display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin-top:64px;}
.pager a,.pager span{min-width:44px; height:44px; padding:0 14px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--line-dark); font-weight:600; font-size:14px;}
.pager a:hover{border-color:var(--orange); color:var(--orange);}
.pager .cur{background:var(--ink); color:#fff; border-color:var(--ink);}

/* detail */
.detail-body{padding:70px 0 40px; background:#fff;}
.detail-text{max-width:760px; font-size:18px; line-height:1.75; color:#2a2a28; margin-bottom:56px;}
.gallery{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px;}
.gallery a{display:block; overflow:hidden; background:var(--cream-2); aspect-ratio:4/3; cursor:zoom-in; position:relative;}
.gallery img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
.gallery a:hover img{transform:scale(1.04);}
.gallery.n1 a{grid-column:1/-1; aspect-ratio:16/9;}
.gallery.n2{grid-template-columns:repeat(2, minmax(0,1fr));}
.gallery.n3 a:first-child, .gallery.n4 a:first-child, .gallery.nmany a:first-child{grid-column:span 2; grid-row:span 2; aspect-ratio:auto;}
.detail-cta{background:var(--ink); color:#fff; padding:80px 0;}
.detail-cta .wrap{display:flex; justify-content:space-between; align-items:center; gap:30px; flex-wrap:wrap;}
.detail-cta h2{font-size:clamp(26px,3.6vw,44px); max-width:640px;}
.more-section{padding:90px 0 110px; background:#fff;}
.more-section h2{font-size:clamp(26px,3.4vw,40px); margin-bottom:40px;}
.more-link{margin-top:44px;}
.preview-banner{background:var(--orange); color:#fff; text-align:center; padding:10px 16px; font-size:14px; font-weight:600;}

/* 404 */
.notfound{background:var(--ink); color:#fff; padding:130px 0 150px;}
.notfound h1{font-size:clamp(46px,9vw,120px); margin-bottom:26px;}
.notfound p{max-width:520px; color:#d9d4c8; font-size:17px; line-height:1.7; margin-bottom:36px;}
.notfound-actions{display:flex; flex-wrap:wrap; gap:14px;}

/* lightbox */
.lb{position:fixed; inset:0; z-index:500; background:rgba(8,8,8,.95); display:none; align-items:center; justify-content:center; padding:56px 64px;}
.lb.open{display:flex;}
.lb figure{max-width:100%; max-height:100%; display:flex; flex-direction:column; align-items:center; gap:12px; margin:0;}
.lb img{max-width:100%; max-height:calc(100vh - 150px); width:auto; height:auto; object-fit:contain; display:block;}
.lb figcaption{color:#c9c9c4; font-size:14px; text-align:center; max-width:760px;}
.lb button{position:absolute; background:rgba(255,255,255,.1); border:none; color:#fff; width:48px; height:48px; border-radius:50%; font-size:22px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s;}
.lb button:hover{background:var(--orange);}
.lb .lb-close{top:14px; right:14px;} .lb .lb-prev{left:12px; top:50%; transform:translateY(-50%);} .lb .lb-next{right:12px; top:50%; transform:translateY(-50%);}
.lb .lb-count{position:absolute; top:24px; left:24px; color:#8f8f8b; font-size:13px; letter-spacing:1px;}

@media (max-width:980px){
  .proj-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
  .gallery{grid-template-columns:repeat(2, minmax(0,1fr));}
  .gallery.n3 a:first-child, .gallery.n4 a:first-child, .gallery.nmany a:first-child{grid-column:1/-1; grid-row:auto; aspect-ratio:4/3;}
  .detail-body{padding:50px 0 30px;}
  .proj-section{padding:60px 0 80px;}
  .lb{padding:56px 14px 70px;}
  .lb .lb-prev{top:auto; bottom:12px; left:calc(50% - 60px); transform:none;}
  .lb .lb-next{top:auto; bottom:12px; right:calc(50% - 60px); transform:none;}
}
@media (max-width:620px){
  .proj-grid{grid-template-columns:1fr; gap:34px;}
  .detail-text{font-size:16.5px;}
  .gallery{gap:10px;}
  .detail-cta{padding:56px 0;}
  .more-section{padding:60px 0 80px;}
  .notfound{padding:80px 0 100px;}
}
