/* ==========================================================================
   Project Java — Detail Page Styles (fixed widths + single-color bg)
   ========================================================================== */

/* ---------- Page background ---------- */
body{
  background:#0e0e11;       /* one uniform color (no gradients) */
  color:#e9ecf1;
}

/* container spacing */
.wrap{
  max-width:1180px;
  margin:80px auto 160px;
  padding:0 24px;
}

/* ---------- HERO (shorter) ---------- */
.project-hero{
  position: relative; /* <- needed for absolute button */
  border:1px solid rgba(255,255,255,.06);
  border-radius:22px;
  background:#15161a;
  box-shadow:0 20px 40px rgba(0,0,0,.45);
  overflow:hidden;
  margin-bottom:56px;
}

/* keep hero two columns on desktop, stacks on mobile */
.project-hero .in-hero{
  display:grid;
  grid-template-columns: 1fr 1.15fr;
  gap:28px;
  padding:32px;
  padding-bottom:88px; /* <- space reserved for bottom-right button */
  align-items:center;
}
.hero-media img{ width:100%; display:block; border-radius:16px; }

.hero-copy .muted{
  font-size:12px; text-transform:uppercase; letter-spacing:.14em;
  color:#a2a6b0; margin-bottom:8px;
}
.project-title{ font-size:26px; line-height:1.28; margin:0 0 10px; }
.project-sub{ color:#c7ccd6; margin:0 0 18px; }

/* pills same color as LET'S TALK */
.project-meta{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:0; }
.pill{
  background:#2b2c2f; color:#fff; padding:6px 12px; font-size:13px; font-weight:700;
  border-radius:999px; box-shadow:0 4px 10px rgba(0,0,0,.3);
}

/* ---- Back button pinned bottom-right of the hero ---- */
.hero-actions{
  position:absolute;
  right:26px;
  bottom:24px;
}
.btn-back{
  appearance:none; border:0; background:#2b2c2f; color:#fff;
  padding:10px 18px; border-radius:999px; font-weight:700; cursor:pointer;
  transition:filter .2s ease, transform .08s ease, box-shadow .2s ease;
  box-shadow:0 10px 24px rgba(31, 31, 31, 0.25);
}
.btn-back:hover{ filter:brightness(1.08); }
.btn-back:active{ transform:translateY(1px); }

/* ---------- TEXT SECTIONS (centered, wide) ---------- */
/* IMPORTANT: keep these sections OUTSIDE any .grid parent. */
.project-detail{
  max-width:980px;
  margin:0 auto 120px;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:42px;
}

.project-text{
  width:100%;
  max-width:980px;
  margin:0 auto;
}

.project-text .muted{
  font-size:12px; text-transform:uppercase; letter-spacing:.14em;
  color:#8b8f96; margin-bottom:6px;
}
.project-text h2{ font-size:20px; margin:0 0 10px; }
.project-text p,
.project-text ul{ color:#c7ccd6; line-height:1.62; margin:0 0 10px; }

/* clean list styling with accent dash */
.project-text ul{ list-style:none; padding-left:0; }
.project-text ul li{ margin:0 0 8px; }
.project-text ul li::before{
  content:"–"; margin-right:8px; color:#3b82f6;
}

/* ---------- Footer (uniform) ---------- */
footer{
  background:#0e0e11;
  padding:40px 24px 80px;
  color:#9aa0ac;
}
.footer-inner{ display:flex; flex-direction:column; gap:14px; align-items:center; }
.footer-inner .logo{ font-weight:700; font-size:22px; color:#e9ecf1; }
.footer-inner .links{ display:flex; gap:34px; }
.footer-inner .links a{
  text-decoration:none; color:#9aa0ac; text-transform:uppercase;
  font-weight:400; letter-spacing:.12em;
}
.footer-inner .links a:hover{ color:#e9ecf1 }

/* ---------- Responsive ---------- */
@media (max-width: 980px){
  .project-hero .in-hero{ grid-template-columns:1fr; gap:22px; padding:24px; padding-bottom:88px; }
  .project-title{ font-size:24px; }
  .project-detail{ margin:0 auto 96px; gap:34px; }
  .hero-actions{ right:20px; bottom:20px; }
}
