/* ============================================================
   DETALHE DO PROJETO (PROFISSIONAL) — Construtora Portellanato
   Extraído de portfolio/project_detail_professional.html
   ============================================================ */

.detail-hero { padding: 4.5rem 0 2.5rem; }
.detail-hero-card {
  position: relative; overflow: hidden; padding: 3rem; border-radius: 2rem;
  background: linear-gradient(135deg, rgba(15,36,30,0.96), rgba(24,58,48,0.92)), url('../images/obra_fundo.jpg') center/cover no-repeat;
  color: #fff; box-shadow: 0 28px 70px rgba(18,29,25,0.16);
}
.detail-breadcrumb { margin-bottom: 1rem; color: rgba(255,255,255,0.72); font-size: 0.92rem; }
.detail-breadcrumb a { color: rgba(255,255,255,0.72); text-decoration: none; }
.detail-tag {
  display: inline-flex; margin-bottom: 1rem; padding: 0.55rem 0.95rem; border-radius: 999px;
  background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.15);
  font-size: 0.8rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
}
.detail-hero-card h1, .detail-hero-card p, .detail-hero-card li { color: #fff; }
.detail-hero-meta { display: flex; flex-wrap: wrap; gap: 0.9rem 1.4rem; margin-top: 1.4rem; color: rgba(255,255,255,0.8); }
.detail-hero-meta span { display: inline-flex; align-items: center; gap: 0.45rem; }
.detail-section { padding: 3rem 0 6rem; }
.content-card, .sidebar-card, .gallery-card {
  border-radius: 1.7rem; border: 1px solid rgba(22,53,44,0.08);
  background: rgba(255,255,255,0.88); box-shadow: 0 22px 58px rgba(18,29,25,0.07);
}
.cover-media { min-height: 26rem; background: linear-gradient(180deg, rgba(17,30,26,0.05), rgba(17,30,26,0.44)); }
.cover-media img { width: 100%; height: 100%; object-fit: cover; }
.content-body, .sidebar-card { padding: 2rem; }
.content-body p { color: rgba(22,53,44,0.74); line-height: 1.85; }
.section-divider { width: 70px; height: 4px; border-radius: 999px; margin: 0 0 1.4rem; background: linear-gradient(90deg, var(--accent-color), rgba(200,90,84,0.2)); }
.sidebar-card { position: sticky; top: 100px; }
.sidebar-list { display: grid; gap: 1rem; }
.sidebar-item small { display: block; margin-bottom: 0.3rem; color: rgba(22,53,44,0.55); font-size: 0.74rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.sidebar-item strong, .sidebar-item span { color: #16352c; }
.service-pill-list { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.service-pill { display: inline-flex; padding: 0.65rem 0.9rem; border-radius: 999px; background: rgba(22,53,44,0.06); color: #16352c; font-size: 0.84rem; font-weight: 700; }

/* Carousel */
.gallery-slide { position: relative; cursor: zoom-in; }
.gallery-slide-img { width: 100%; height: 28rem; object-fit: cover; display: block; }
.gallery-slide-hint {
  position: absolute; top: 1rem; right: 1rem; width: 2.5rem; height: 2.5rem;
  border-radius: 50%; background: rgba(255,255,255,0.18); border: 1px solid rgba(255,255,255,0.28);
  display: flex; align-items: center; justify-content: center; color: #fff; font-size: 0.9rem;
  opacity: 0; transition: opacity 0.25s;
}
.gallery-slide:hover .gallery-slide-hint { opacity: 1; }
.carousel-caption { background: linear-gradient(transparent, rgba(0,0,0,0.56)); padding: 1.2rem 1rem 0.9rem; }
.carousel-caption p { font-size: 0.95rem; margin: 0; }

/* Thumbnail strip */
.thumb-strip { display: flex; gap: 0.5rem; overflow-x: auto; padding-bottom: 0.25rem; scrollbar-width: thin; }
.thumb-item { flex: 0 0 5rem; height: 3.6rem; border-radius: 0.5rem; overflow: hidden; cursor: pointer; opacity: 0.55; border: 2px solid transparent; transition: opacity 0.2s, border-color 0.2s; }
.thumb-item img { width: 100%; height: 100%; object-fit: cover; }
.thumb-item:hover { opacity: 0.82; }
.thumb-item.active { opacity: 1; border-color: var(--accent-color); }

/* Lightbox */
.lightbox-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 9999;
  background: rgba(8,16,14,0.96);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  box-sizing: border-box;
}
.lightbox-inner {
  max-width: min(960px, 95vw);
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.lightbox-img { max-height: 82vh; max-width: 90vw; object-fit: contain; }
.lightbox-caption { color: rgba(255,255,255,0.8); }
.lightbox-counter { color: rgba(255,255,255,0.5); font-size: 0.82rem; }
.flex-center { display: flex; align-items: center; justify-content: center; }

.video-card {
  overflow: hidden; border-radius: 1.5rem; border: 1px solid rgba(22,53,44,0.08);
  background: rgba(255,255,255,0.88); box-shadow: 0 20px 50px rgba(18,29,25,0.07);
}
.video-card h4 { padding: 1.25rem 1.25rem 0; }
.video-card p { padding: 0 1.25rem 1.25rem; margin: 0; color: rgba(22,53,44,0.7); }
.detail-cta { margin-top: 1.75rem; padding: 1.4rem; border-radius: 1.35rem; background: linear-gradient(145deg, rgba(200,90,84,0.12), rgba(45,95,79,0.08)); }

@media (max-width: 991px) { .sidebar-card { position: static; } }
@media (max-width: 767px) {
  .detail-hero-card, .content-body, .sidebar-card { padding: 1.6rem; }
  .gallery-grid { grid-template-columns: 1fr; }
}
