/* Projects showcase — landing + detail. Component styles from the HTML
   prototypes (solar_projects.html / solar_project_details.html). Site nav and
   footer come from _layout; only the project components live here. */

.proj{--navy:#0F2E5D;--gold:#D3AB44;--gold-dark:#b8922e;--gray:#A5A6A5;--gray-light:#f4f3ef;--radius:10px;--radius-lg:16px;}
.proj,.proj *{box-sizing:border-box;}
.proj img{max-width:100%;display:block;}
.proj a{text-decoration:none;color:inherit;}

/* Buttons */
.proj .btn{display:inline-flex;align-items:center;gap:8px;font-family:'Outfit',sans-serif;font-size:14px;font-weight:600;padding:12px 24px;border-radius:var(--radius);transition:all .2s;cursor:pointer;border:none;}
.proj .btn--gold{background:var(--gold);color:var(--navy);}.proj .btn--gold:hover{background:var(--gold-dark);}
.proj .btn--navy{background:var(--navy);color:#fff;}.proj .btn--navy:hover{background:#0a2040;}
.proj .btn--outline{border:1.5px solid var(--navy);color:var(--navy);}.proj .btn--outline:hover{background:var(--navy);color:#fff;}
.proj .btn--outline-white{border:1.5px solid rgba(255,255,255,.35);color:#fff;}.proj .btn--outline-white:hover{background:rgba(255,255,255,.08);}
.proj .btn--lg{padding:14px 32px;font-size:15px;}

/* Section helpers */
.proj .section-inner{max-width:1160px;margin:0 auto;padding:0 40px;}
.proj .section-tag{font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--gray);text-transform:uppercase;margin-bottom:10px;}
.proj .section-heading{font-family:'Outfit',sans-serif;font-size:26px;font-weight:700;color:var(--navy);line-height:1.2;margin-bottom:10px;text-transform:uppercase;letter-spacing:.04em;}
.proj .section-subheading{font-size:15px;color:var(--gray);line-height:1.7;margin-bottom:32px;}
.proj .gold-bar{height:4px;background:linear-gradient(90deg,var(--gold),var(--gold-dark));}

/* Page hero (landing) */
.proj .page-hero{background:var(--navy);padding:72px 40px 60px;}
.proj .page-hero .section-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap;padding:0;}
.proj .page-hero__title{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(32px,5vw,56px);font-weight:800;color:#fff;line-height:1.08;margin-bottom:14px;}
.proj .page-hero__sub{color:rgba(255,255,255,.6);font-size:16px;line-height:1.75;max-width:520px;}
.proj .page-hero .section-tag{color:var(--gold);}

/* Filter bar */
.proj .filter-bar{padding:28px 0;background:#fff;border-bottom:1px solid #eee;}
.proj .filter-bar__inner{max-width:1160px;margin:0 auto;padding:0 40px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.proj .filter-bar__label{font-size:12px;font-weight:600;color:var(--gray);text-transform:uppercase;letter-spacing:.08em;margin-right:6px;}
.proj .filter-btn{font-family:'Outfit',sans-serif;font-size:13px;font-weight:500;padding:8px 18px;border-radius:20px;border:1.5px solid #e0dfd9;background:#fff;color:var(--gray);cursor:pointer;transition:all .2s;}
.proj .filter-btn.is-active,.proj .filter-btn:hover{background:var(--navy);color:#fff;border-color:var(--navy);}

/* Projects grid + cards */
.proj .projects-section{padding:56px 0 80px;background:#fff;}
.proj .projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px;}
.proj .project-card{border:1px solid #e8e7e3;border-radius:var(--radius-lg);overflow:hidden;transition:transform .2s,box-shadow .2s;background:#fff;}
.proj .project-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(15,46,93,.1);}
.proj .project-card.hidden{display:none;}
.proj .project-card__image{height:200px;background:var(--navy);display:flex;align-items:center;justify-content:center;font-size:64px;position:relative;overflow:hidden;}
.proj .project-card__image img{width:100%;height:100%;object-fit:cover;}
.proj .project-card__image::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(15,46,93,.4));pointer-events:none;}
.proj .project-card__body{padding:22px;}
.proj .project-card__meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.proj .project-card__tag{font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;background:rgba(211,171,68,.12);color:var(--gold-dark);text-transform:capitalize;}
.proj .project-card__location{font-size:12px;color:var(--gray);}
.proj .project-card__title{font-family:'Plus Jakarta Sans',sans-serif;font-size:19px;font-weight:700;color:var(--navy);margin-bottom:8px;}
.proj .project-card__desc{font-size:13px;color:var(--gray);line-height:1.6;margin-bottom:16px;}
.proj .project-card__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:14px 0;border-top:1px solid #f0efeb;border-bottom:1px solid #f0efeb;margin-bottom:14px;}
.proj .project-card__stat{text-align:center;}
.proj .project-card__stat-num{font-family:'Plus Jakarta Sans',sans-serif;font-size:18px;font-weight:800;color:var(--navy);display:block;}
.proj .project-card__stat-label{font-size:10px;color:var(--gray);text-transform:uppercase;letter-spacing:.06em;}
.proj .project-card__cta{font-size:13px;font-weight:600;color:var(--gold-dark);}
.proj .no-results{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--gray);font-size:15px;}

/* Landing bottom CTA (navy) */
.proj .cta-section{background:var(--navy);padding:72px 0;}
.proj .cta-section__inner{max-width:1160px;margin:0 auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.proj .cta-section__heading{font-family:'Plus Jakarta Sans',sans-serif;font-size:32px;font-weight:800;color:#fff;margin-bottom:8px;}
.proj .cta-section__sub{color:rgba(255,255,255,.55);font-size:15px;}
.proj .cta-section__actions{display:flex;gap:12px;flex-wrap:wrap;flex-shrink:0;}

/* Breadcrumb (detail) */
.proj .breadcrumb{padding:16px 0;background:#fff;border-bottom:1px solid #eee;}
.proj .breadcrumb__inner{max-width:1160px;margin:0 auto;padding:0 40px;display:flex;gap:8px;align-items:center;font-size:13px;color:var(--gray);}
.proj .breadcrumb__link{color:var(--navy);transition:color .2s;}.proj .breadcrumb__link:hover{color:var(--gold);}
.proj .breadcrumb__sep{color:#ddd;}

/* Project hero (detail) */
.proj .project-hero{background:var(--navy);padding:64px 40px 56px;}
.proj .project-hero__inner{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1fr 380px;gap:60px;align-items:center;}
.proj .project-hero__tag{display:inline-block;font-size:11px;font-weight:600;padding:4px 12px;border-radius:20px;background:rgba(211,171,68,.2);color:var(--gold);margin-bottom:16px;text-transform:capitalize;}
.proj .project-hero__title{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(32px,5vw,52px);font-weight:800;color:#fff;line-height:1.08;margin-bottom:14px;}
.proj .project-hero__location{font-size:14px;color:rgba(255,255,255,.5);margin-bottom:20px;}
.proj .project-hero__desc{font-size:16px;color:rgba(255,255,255,.65);line-height:1.75;}
.proj .project-hero__card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:28px;}
.proj .project-hero__card-title{font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--gold);text-transform:uppercase;margin-bottom:18px;}
.proj .project-stat{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.07);}
.proj .project-stat:last-child{border-bottom:none;padding-bottom:0;}
.proj .project-stat:first-of-type{padding-top:0;}
.proj .project-stat__label{font-size:13px;color:rgba(255,255,255,.45);}
.proj .project-stat__value{font-family:'Plus Jakarta Sans',sans-serif;font-size:16px;font-weight:700;color:#fff;}
.proj .project-stat__value em{color:var(--gold);font-style:normal;}

/* Overview + specs */
.proj .overview-section{padding:72px 0;background:var(--gray-light);}
.proj .overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;margin-top:36px;}
.proj .overview-body p{font-size:15px;color:#333;line-height:1.8;margin-bottom:16px;}
.proj .spec-list{display:flex;flex-direction:column;gap:0;}
.proj .spec-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid #e4e3df;}
.proj .spec-row:last-child{border-bottom:none;}
.proj .spec-label{font-size:13px;color:var(--gray);}
.proj .spec-value{font-size:14px;font-weight:600;color:var(--navy);}

/* Results */
.proj .results-section{padding:72px 0;background:#fff;}
.proj .results-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px;}
.proj .result-card{background:var(--gray-light);border-radius:var(--radius-lg);padding:24px;text-align:center;border-top:3px solid var(--gold);}
.proj .result-card__num{font-family:'Plus Jakarta Sans',sans-serif;font-size:36px;font-weight:800;color:var(--navy);display:block;margin-bottom:4px;}
.proj .result-card__label{font-size:13px;color:var(--gray);}
.proj .result-card__sub{font-size:11px;color:var(--gold-dark);margin-top:4px;font-weight:600;}

/* Gallery */
.proj .gallery-section{padding:72px 0;background:var(--gray-light);}
.proj .gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px;}
.proj .gallery-item{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/3;background:var(--navy);display:flex;align-items:center;justify-content:center;font-size:56px;transition:transform .2s;}
.proj .gallery-item:hover{transform:scale(1.02);}
.proj .gallery-item img{width:100%;height:100%;object-fit:cover;}
.proj .gallery-item--large{grid-column:span 2;font-size:80px;}

/* Testimonial */
.proj .testimonial-section{background:var(--navy);padding:72px 0;text-align:center;}
.proj .testimonial-quote{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(18px,3vw,26px);font-weight:600;color:#fff;line-height:1.5;max-width:680px;margin:0 auto 24px;font-style:italic;}
.proj .testimonial-name{color:var(--gold);font-size:15px;font-weight:700;}
.proj .testimonial-role{color:rgba(255,255,255,.4);font-size:13px;margin-top:4px;}

/* Related */
.proj .related-section{padding:72px 0;background:#fff;}
.proj .related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px;}

/* Detail bottom CTA (gold) */
.proj .project-cta{background:var(--gold);padding:60px 0;}
.proj .project-cta__inner{max-width:1160px;margin:0 auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;}
.proj .project-cta__heading{font-family:'Plus Jakarta Sans',sans-serif;font-size:28px;font-weight:800;color:var(--navy);margin-bottom:6px;}
.proj .project-cta__sub{color:rgba(15,46,93,.65);font-size:15px;}
.proj .project-cta__actions{display:flex;gap:12px;flex-shrink:0;flex-wrap:wrap;}

/* Responsive */
@media(max-width:960px){
  .proj .section-inner,.proj .filter-bar__inner,.proj .breadcrumb__inner{padding-left:24px;padding-right:24px;}
  .proj .page-hero,.proj .project-hero{padding-left:24px;padding-right:24px;}
  .proj .projects-grid{grid-template-columns:repeat(2,1fr);}
  .proj .project-hero__inner{grid-template-columns:1fr;gap:32px;}
  .proj .results-grid{grid-template-columns:repeat(2,1fr);}
  .proj .overview-grid{grid-template-columns:1fr;gap:36px;}
  .proj .gallery-grid{grid-template-columns:1fr 1fr;}
  .proj .related-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
  .proj .section-inner,.proj .filter-bar__inner,.proj .breadcrumb__inner{padding-left:16px;padding-right:16px;}
  .proj .page-hero,.proj .project-hero{padding-left:16px;padding-right:16px;}
  .proj .projects-grid,.proj .gallery-grid,.proj .related-grid{grid-template-columns:1fr;}
  .proj .results-grid{grid-template-columns:1fr 1fr;}
  .proj .gallery-item--large{grid-column:span 1;}
  .proj .cta-section__inner,.proj .project-cta__inner{flex-direction:column;text-align:center;}
  .proj .cta-section__actions,.proj .project-cta__actions{justify-content:center;}
}
