
/* ===== PORTFOLIO DETAIL PAGE ===== */
.project-single{background:var(--white);padding:70px 0 90px;}
.project-header{max-width:760px;margin-bottom:40px;}
.project-category-badge{
  display:inline-block;background:var(--red);color:var(--white);
  font-family:'Oswald';font-size:11.5px;font-weight:600;
  letter-spacing:1px;text-transform:uppercase;
  padding:6px 16px;border-radius:2px;margin-bottom:16px;
}
.project-header h1{font-size:clamp(26px,3.5vw,38px);margin-bottom:14px;color:var(--black);}

.project-meta-row{
  display:flex;gap:32px;flex-wrap:wrap;
  padding:20px 0;margin:24px 0 36px;
  border-top:1px solid rgba(0,0,0,0.1);
  border-bottom:1px solid rgba(0,0,0,0.1);
}
.project-meta-item{font-size:13.5px;}
.project-meta-item b{
  display:block;font-family:'Oswald';font-size:11px;color:var(--red);
  letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;
}
.project-meta-item span{color:var(--black);font-weight:500;}

.project-gallery{
  display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:48px;
}
.project-gallery img{
  width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px;
}
.project-gallery.single-photo{grid-template-columns:1fr;}
.project-gallery.single-photo img{aspect-ratio:16/9;}

/* Main image + thumbnail strip gallery */
.project-gallery-main{margin-bottom:48px;}
.gallery-main-frame{
  width:100%;aspect-ratio:16/9;border-radius:2px;overflow:hidden;
  margin-bottom:14px;background:var(--cream);
}
.gallery-main-frame img{
  width:100%;height:100%;object-fit:cover;
  display:block;
  transition:opacity .2s ease;
}
.gallery-thumbs{
  display:flex;gap:12px;overflow-x:auto;padding-bottom:4px;
}
.gallery-thumb{
  flex:0 0 auto;width:96px;aspect-ratio:4/3;border-radius:2px;overflow:hidden;
  cursor:pointer;border:2px solid transparent;opacity:0.6;
  transition:opacity .2s ease, border-color .2s ease;
  background:none;padding:0;
}
.gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.gallery-thumb:hover{opacity:0.9;}
.gallery-thumb.active{opacity:1;border-color:var(--red);}

@media(max-width:860px){
  .gallery-thumb{width:76px;}
}

.project-description{max-width:760px;}
.project-description h2{font-size:22px;margin-bottom:16px;color:var(--black);}
.project-description p{font-size:15.5px;color:#2a2a2a;line-height:1.75;margin-bottom:18px;}

.project-cta{
  max-width:760px;margin-top:48px;
  background:var(--black);color:var(--white);
  padding:36px 32px;border-radius:2px;
  display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;
}
.project-cta h3{color:var(--white);font-size:19px;margin-bottom:6px;}
.project-cta p{color:#c4c4bf;font-size:14px;}

.related-projects{background:var(--cream);padding:70px 0;margin-top:0;}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.related-card{
  display:block;position:relative;overflow:hidden;border-radius:2px;aspect-ratio:4/3;
}
.related-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.related-card:hover img{transform:scale(1.06);}
.related-caption{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(0deg, rgba(13,13,13,0.92), transparent);
  padding:18px 16px 12px;
}
.related-caption span{color:var(--yellow);font-size:10.5px;font-family:'Oswald';letter-spacing:1px;text-transform:uppercase;}
.related-caption h4{color:var(--white);font-size:14px;margin-top:4px;}

@media(max-width:860px){
  .project-gallery{grid-template-columns:1fr;}
  .related-grid{grid-template-columns:1fr;}
  .project-cta{flex-direction:column;align-items:flex-start;}
  .project-cta .btn{width:100%;justify-content:center;}
}
