/* ===== Base / background ===== */
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica,Arial,sans-serif;color:#f3f4f6;line-height:1.6}
body.has-bg{
  background:
    linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0.65)),
    url('assets/img/background.jpg') center/cover no-repeat fixed;
}
.wrap{max-width:1100px;margin:0 auto;padding:1.25rem}

/* ===== Header / nav ===== */
.site-header{position:sticky;top:0;z-index:10;backdrop-filter:blur(6px);background:rgba(10,10,10,.55);border-bottom:1px solid rgba(255,255,255,.08)}
.site-header .wrap{display:flex;align-items:center;gap:1rem;justify-content:space-between}
.site-title{margin:0;font-size:1.4rem;font-weight:700;letter-spacing:.4px}
.site-title a{color:#fff;text-decoration:none}
.nav a{color:#e5e7eb;text-decoration:none;margin-left:1rem}
.nav a:hover{text-decoration:underline}

/* ===== Intro / footer ===== */
.intro h2{margin-top:1rem;font-size:2rem}
.intro p{max-width:60ch;opacity:.95}
.site-footer{background:rgba(10,10,10,.65);border-top:1px solid rgba(255,255,255,.08)}
.site-footer a{color:#cbd5e1}

/* ===== Homepage grid of article cards ===== */
.grid-cards{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));
  gap:1rem;
  margin-top:1rem;
  align-items:start;
}
.card{
  width:100%;
  background:rgba(17,17,17,.8);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  box-shadow:0 4px 12px rgba(0,0,0,.25);
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  display:flex;
  flex-direction:column;
  transition:transform .15s ease;
}
.card:hover{transform:translateY(-4px)}
.thumb {
  width: 100%;
  height: auto;
  max-height: 200px;   /* stops huge images */
  object-fit: contain; /* keep full image visible */
  background: #222;    /* adds a background so empty space isn’t white */
  border-radius: 8px 8px 0 0;
  display: block;
}
.card-body{padding:.6rem .8rem 1rem;text-align:center}
.card-body h3{font-size:1rem;margin:.25rem 0;line-height:1.2}
.card-body .meta{font-size:.8rem;color:#cbd5e1;margin:0 0 .25rem}
.card-body .excerpt{
  margin:0;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:3.6em;
}

/* ===== Article pages ===== */
.article{max-width:860px;margin:0 auto;padding:1rem}
.breadcrumbs a{color:#cbd5e1;text-decoration:none}
.hero{background:rgba(10,10,10,.5);border-radius:10px;padding:.75rem 1rem;margin-bottom:.75rem}
.article h1{margin:.25rem 0 .5rem;font-size:1.8rem}
.meta{color:#cbd5e1;font-size:.9rem;margin-top:0}
.prose p{margin:.5rem 0}

/* Responsive video */
.video{position:relative;width:100%;padding-top:56.25%;margin:.6rem 0;border-radius:10px;overflow:hidden}
.video iframe{position:absolute;inset:0;width:100%;height:100%}

/* ===== NEW: single-column step images with captions ===== */
.steps{
  display:flex;
  flex-direction:column;
  gap:1rem;
  margin:1rem 0 2rem;
}
.step{max-width:760px;margin:0 auto}
.caption{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  padding:.6rem .75rem;
  border-radius:10px;
  margin:0 0 .5rem;
  font-size:.95rem;
}
.step a{display:block}
.step img{
  width:100%;height:auto;display:block;border-radius:12px;
  box-shadow:0 6px 18px rgba(0,0,0,.35);
}

/* If any old .gallery grid remains in an article, neutralize it */
.gallery{display:block}

/* ===== Hyperlink styling ===== */

/* Default links (for prose, captions, notes, etc.) */
.prose a,
.caption a {
  display: inline;       /* make links flow with text */
  font-weight: 500;
  color: #4da6ff;
  text-decoration: underline;
}

.prose a:hover,
.caption a:hover,
.note a:hover {
  color: #82c7ff;            /* brighter on hover */
  text-decoration: none;
}

/* Nav + footer keep existing styling */
.nav a,
.site-footer a {
  color: inherit;
  text-decoration: none;
}
.nav a:hover,
.site-footer a:hover {
  text-decoration: underline;
}


