/* =========================================================
   GENERIC PAGE / ARCHIVE / SINGLE CONTENT
   ========================================================= */
.ff-page-header{
  background:var(--ff-black-soft);
  border-bottom:1px solid var(--ff-border);
  padding:70px 0;
  text-align:center;
}
.ff-page-header h1{
  font-size:clamp(32px,5vw,54px);
  color:var(--ff-white);
  margin-bottom:10px;
}
.ff-breadcrumb{ color:var(--ff-muted); font-size:14px; }
.ff-breadcrumb a{ color:var(--ff-lime); }

.ff-content-wrap{ padding:var(--ff-section-pad) 0; }
.ff-content-wrap .ff-container{
  max-width:820px;
}
.ff-content-wrap.has-sidebar .ff-container{
  max-width:var(--ff-container);
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:56px;
  align-items:start;
}

.entry-content{ color:#d6d6d6; font-size:16.5px; }
.entry-content h2,.entry-content h3,.entry-content h4{ color:var(--ff-white); margin-top:1.4em; }
.entry-content p{ color:#d6d6d6; }
.entry-content a{ color:var(--ff-lime); text-decoration:underline; }
.entry-content ul,.entry-content ol{ margin:0 0 1.2em 1.3em; color:#d6d6d6; }
.entry-content ul{ list-style:disc; }
.entry-content ol{ list-style:decimal; }
.entry-content img{ border-radius:var(--ff-radius); margin:1.4em 0; }
.entry-content blockquote{
  border-left:3px solid var(--ff-lime);
  margin:1.6em 0; padding:6px 0 6px 22px;
  color:var(--ff-white); font-style:italic;
}

.ff-post-header{ margin-bottom:30px; }
.ff-post-meta{ color:var(--ff-muted-dark); font-size:13.5px; margin-bottom:14px; }
.ff-post-meta span:not(:last-child)::after{ content:"•"; margin:0 8px; }
.ff-post-thumb{ border-radius:var(--ff-radius); overflow:hidden; margin-bottom:36px; }

.ff-archive-list{ display:grid; gap:var(--ff-gap); }

.ff-pagination{ display:flex; gap:10px; margin-top:44px; flex-wrap:wrap; }
.ff-pagination a, .ff-pagination span{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:40px; height:40px; padding:0 8px;
  border:1px solid var(--ff-border); border-radius:4px;
  font-size:14px; color:var(--ff-white);
}
.ff-pagination .current{ background:var(--ff-lime); color:var(--ff-black); border-color:var(--ff-lime); }
.ff-pagination a:hover{ border-color:var(--ff-lime); color:var(--ff-lime); }

.widget{
  background:var(--ff-card);
  border:1px solid var(--ff-border);
  border-radius:var(--ff-radius);
  padding:26px;
  margin-bottom:28px;
}
.widget-title{ font-size:19px; color:var(--ff-white); margin-bottom:16px; }
.widget ul li{ padding:8px 0; border-bottom:1px solid var(--ff-border); font-size:14.5px; color:var(--ff-muted); }
.widget ul li:last-child{ border-bottom:none; }
.widget a:hover{ color:var(--ff-lime); }

.ff-comments{ margin-top:56px; }
.comment-list{ list-style:none; margin:0 0 34px; padding:0; }
.comment-list .comment{ border-bottom:1px solid var(--ff-border); padding:20px 0; }
.comment-author{ font-weight:600; color:var(--ff-white); }
.comment-meta{ font-size:12.5px; color:var(--ff-muted-dark); margin-bottom:8px; }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea{
  width:100%; background:var(--ff-black-soft); border:1px solid var(--ff-border);
  border-radius:4px; padding:12px 14px; color:var(--ff-white); font-family:var(--ff-font-body);
  margin-bottom:16px;
}
.comment-form label{ display:block; font-size:13.5px; color:var(--ff-muted); margin-bottom:6px; }

.ff-404{ text-align:center; padding:100px 0; }
.ff-404 h1{ font-size:clamp(70px,14vw,160px); color:var(--ff-lime); margin-bottom:0; }

@media (max-width:900px){
  .ff-content-wrap.has-sidebar .ff-container{ grid-template-columns:1fr; }
}
