/* Shared styles for individual business detail pages. Extends css/style.css tokens. */

/* ---------- BREADCRUMB ---------- */
.breadcrumb-bar{
  padding:130px 0 20px;background:var(--bg-alt);
}
.breadcrumb-bar ol{display:flex;flex-wrap:wrap;gap:8px;font-size:12.5px;letter-spacing:.03em;color:var(--text-soft);}
.breadcrumb-bar a{color:var(--text-soft);}
.breadcrumb-bar a:hover{color:var(--gold);}
.breadcrumb-bar li:not(:last-child)::after{content:'/';margin-left:8px;color:var(--stone);}
.breadcrumb-bar li[aria-current]{color:var(--gold);}

/* ---------- DETAIL HERO ---------- */
.detail-hero{
  position:relative;height:78vh;min-height:480px;display:flex;align-items:flex-end;
  overflow:hidden;color:#fff;
}
.detail-hero .hero-media{position:absolute;inset:0;z-index:0;background:var(--charcoal);}
.detail-hero.concept .hero-media{background:linear-gradient(160deg,#12201a,#3A5A40 50%,#8C7A3E 100%);}

/* ---------- PLAN / ZONE TABLE (upcoming ventures) ---------- */
.plan-table{width:100%;border-collapse:collapse;margin-top:20px;font-size:14px;}
.plan-table th,.plan-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--border);vertical-align:top;}
.plan-table th{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-weight:500;}
.plan-table td{color:var(--text-soft);line-height:1.6;}
.plan-table td:first-child{color:var(--text);font-weight:500;white-space:nowrap;}
.table-scroll{overflow-x:auto;}

/* ---------- PATHWAY CARDS ---------- */
.pathway-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:40px;}
.pathway-card{padding:32px;border:1px solid var(--border);border-radius:8px;background:var(--bg);}
.pathway-card h3{font-size:19px;margin-bottom:10px;color:var(--forest);}
[data-theme="dark"] .pathway-card h3{color:var(--gold);}
.pathway-card p{font-size:14px;color:var(--text-soft);line-height:1.75;}
@media (max-width:768px){.pathway-grid{grid-template-columns:1fr;}}
.detail-hero .hero-media img,
.detail-hero .hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.detail-hero .hero-media video{opacity:0;transition:opacity 1.2s ease;}
.detail-hero .hero-media video.is-ready{opacity:1;}
.detail-hero .hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,10,8,.15) 0%,rgba(10,10,8,.55) 65%,rgba(10,10,8,.85) 100%);
}
.detail-hero-content{position:relative;z-index:2;padding:0 0 64px;max-width:760px;}
.detail-hero .industry-tag{
  display:inline-block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);border:1px solid rgba(255,255,255,.4);padding:6px 16px;border-radius:30px;margin-bottom:18px;
}
.detail-hero h1{font-size:clamp(34px,5.6vw,64px);margin-bottom:14px;color:#fff;}
.detail-hero p{font-size:clamp(14px,1.4vw,17px);color:#EDE8DA;max-width:560px;line-height:1.7;margin-bottom:28px;}
.detail-cta-row{display:flex;flex-wrap:wrap;gap:14px;}
.btn-outline{border:1px solid rgba(255,255,255,.7);color:#fff;}
.btn-outline:hover{background:#fff;color:var(--charcoal);}

.btn-secondary{border:1px solid var(--gold);color:var(--text);}
.btn-secondary:hover{background:var(--gold);color:var(--charcoal);}

/* ---------- OVERVIEW ---------- */
.detail-overview{padding:100px 0 60px;}
.detail-overview .container{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;}
.detail-overview h2{font-size:clamp(28px,3.4vw,40px);margin-bottom:18px;}
.detail-overview p{color:var(--text-soft);line-height:1.85;margin-bottom:16px;}
.overview-meta{display:grid;gap:22px;}
.overview-meta .meta-item{border-left:2px solid var(--gold);padding-left:18px;}
.overview-meta .meta-item span{display:block;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:4px;}
.overview-meta .meta-item strong{font-size:16px;font-weight:500;}

/* ---------- GALLERY ---------- */
.detail-gallery{padding:60px 0;}
.gallery-masonry{
  column-count:3;column-gap:16px;
}
.gallery-masonry figure{
  break-inside:avoid;margin:0 0 16px;border-radius:8px;overflow:hidden;cursor:zoom-in;position:relative;
}
.gallery-masonry img{width:100%;display:block;transition:transform .6s var(--ease);}
.gallery-masonry figure:hover img{transform:scale(1.06);}

#lightbox{
  position:fixed;inset:0;background:rgba(10,10,8,.94);z-index:2000;
  display:none;align-items:center;justify-content:center;padding:40px;
}
#lightbox.open{display:flex;}
#lightbox img{max-width:90vw;max-height:85vh;border-radius:6px;}
#lightbox-close{position:absolute;top:26px;right:34px;color:#fff;font-size:30px;cursor:pointer;background:none;border:0;}

/* ---------- SERVICES ---------- */
.detail-services{padding:60px 0;background:var(--bg-alt);}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border);border:1px solid var(--border);margin-top:44px;}
.service-item{background:var(--bg);padding:38px 30px;transition:background .35s;}
.service-item:hover{background:var(--bg-alt);}
.service-item .num{font-family:var(--font-serif);font-size:26px;color:var(--gold);margin-bottom:14px;display:block;}
.service-item h3{font-size:19px;margin-bottom:8px;}
.service-item p{font-size:13.5px;color:var(--text-soft);line-height:1.7;}

/* ---------- ACHIEVEMENTS / STATS STRIP ---------- */
.detail-stats{padding:70px 0;background:var(--charcoal);color:var(--ivory);}
.detail-stats .stats-grid{grid-template-columns:repeat(4,1fr);}

/* ---------- AWARDS / RECOGNITION ---------- */
.detail-awards{padding:80px 0;}
.awards-list{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:40px;}
.award-item{
  display:flex;gap:18px;align-items:flex-start;padding:26px;border:1px solid var(--border);border-radius:8px;
}
.award-item .award-icon{color:var(--gold);font-size:22px;line-height:1;}
.award-item h3{font-size:16.5px;margin-bottom:6px;}
.award-item p{font-size:13px;color:var(--text-soft);line-height:1.6;}

/* ---------- LOCATION ---------- */
.detail-location{padding:80px 0;background:var(--bg-alt);}
.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--border);border:1px solid var(--border);margin-top:40px;border-radius:8px;overflow:hidden;}
.location-card{background:var(--bg);padding:36px;}
.location-card h3{font-size:19px;margin-bottom:10px;}
.location-card p{font-size:13.5px;color:var(--text-soft);line-height:1.75;margin-bottom:14px;}
.location-card iframe{width:100%;height:100%;min-height:280px;border:0;filter:grayscale(.3);display:block;}

/* ---------- FINAL CTA ---------- */
.detail-final-cta{padding:90px 0;text-align:center;}
.detail-final-cta h2{font-size:clamp(26px,3.2vw,38px);margin-bottom:18px;}
.detail-final-cta p{color:var(--text-soft);max-width:560px;margin:0 auto 30px;line-height:1.8;}
.detail-final-cta .btn{margin:0 8px;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1024px){
  .detail-overview .container{grid-template-columns:1fr;gap:40px;}
  .service-grid{grid-template-columns:repeat(2,1fr);}
  .detail-stats .stats-grid{grid-template-columns:repeat(2,1fr);row-gap:34px;}
  .gallery-masonry{column-count:2;}
}
@media (max-width:768px){
  .service-grid,.awards-list,.location-grid{grid-template-columns:1fr;}
  .gallery-masonry{column-count:1;}
  .detail-hero{height:64vh;}
}
