:root {
  --tft-near-black: #14150F;
  --tft-olive-black: #1B1D14;
  --tft-surface: #1E2118;
  --tft-green: #6B7A4B;
  --tft-ink: #FFFFFF;
  --tft-muted: #C7C8BE;
  --tft-border: #2E3123;
}

body.blog, body.single-post {
  background: var(--tft-near-black) !important;
}
body.blog #primary, body.blog .site-main, body.blog article,
body.single-post #primary, body.single-post .site-main {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

.tft-blog-archive, .tft-blog-single {
  color: var(--tft-ink);
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}
.tft-blog-archive :where(h1,h2,p), .tft-blog-single :where(h1,h2,p) { margin: 0; padding: 0; color: inherit; }

.tft-eyebrow {
  font-size: 12px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--tft-green); margin-bottom: 14px !important;
}

/* ---------- Archive ---------- */
.tft-blog-archive__hero {
  padding: 100px min(6vw, 88px) 60px;
  border-bottom: 1px solid var(--tft-border);
}
.tft-blog-archive__hero h1 {
  font-family: 'Bahnschrift', 'Arial Narrow', 'Segoe UI Condensed', sans-serif;
  font-weight: 700; font-size: clamp(32px, 4.4vw, 52px); text-transform: uppercase;
  margin-bottom: 16px !important;
}
.tft-blog-archive__sub { font-size: 17px; color: var(--tft-muted); max-width: 520px; }

.tft-blog-archive__grid { padding: 60px min(6vw, 88px) 100px; }
.tft-blog-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; max-width: 1200px; margin: 0 auto;
}
.tft-blog-card {
  display: flex; flex-direction: column; text-decoration: none; color: inherit;
  background: var(--tft-surface); border: 1px solid var(--tft-border);
  transition: border-color 150ms ease;
}
.tft-blog-card:hover { border-color: var(--tft-green); }
.tft-blog-card__thumb {
  aspect-ratio: 16 / 10; background: #2b2d22; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.tft-blog-card__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tft-blog-card__thumb-label {
  color: rgba(232,232,229,0.4); font-size: 12px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase;
  border: 1px dashed rgba(232,232,229,0.3); padding: 8px 14px;
}
.tft-blog-card__body { padding: 22px; }
.tft-blog-card__date { font-size: 12px; color: var(--tft-muted); margin-bottom: 8px !important; }
.tft-blog-card__title {
  font-family: 'Bahnschrift', 'Arial Narrow', 'Segoe UI Condensed', sans-serif;
  font-weight: 700; font-size: 19px; text-transform: uppercase; margin-bottom: 10px !important; line-height: 1.25;
}
.tft-blog-card__excerpt { font-size: 14px; line-height: 1.6; color: var(--tft-muted); margin-bottom: 14px !important; }
.tft-blog-card__link { font-size: 13px; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; color: var(--tft-green); }

.tft-blog-archive__pagination { text-align: center; margin-top: 50px; }
.tft-blog-archive__pagination .nav-links { display: flex; justify-content: center; gap: 20px; }
.tft-blog-archive__pagination a, .tft-blog-archive__pagination span {
  color: var(--tft-muted); text-decoration: none; font-size: 14px; text-transform: uppercase; letter-spacing: 0.5px;
}
.tft-blog-archive__pagination a:hover { color: var(--tft-green); }
.tft-blog-archive__empty { text-align: center; color: var(--tft-muted); padding: 60px 0; }

/* ---------- Single post ---------- */
.tft-blog-single__video { width: 100%; }
.tft-blog-single__video-frame {
  position: relative; width: 100%; padding-top: 42%; background: #000;
}
.tft-blog-single__video-frame iframe {
  position: absolute; inset: 0; width: 100%; height: 100%; border: 0;
}
.tft-blog-single__video-placeholder {
  width: 100%; aspect-ratio: 21 / 9; background: #1E2118;
  background-image: repeating-linear-gradient(135deg, rgba(232,232,229,0.05) 0 2px, transparent 2px 14px);
  display: flex; align-items: center; justify-content: center; text-align: center;
  border-bottom: 1px solid var(--tft-border);
}
.tft-blog-single__video-placeholder span {
  color: rgba(232,232,229,0.45); font-size: 13px; max-width: 360px; padding: 10px 16px;
  border: 1px dashed rgba(232,232,229,0.3);
}

.tft-blog-single__wrap { max-width: 760px; margin: 0 auto; padding: 0 min(6vw, 40px); }

.tft-blog-single__header { padding-top: 56px; padding-bottom: 30px; }
.tft-blog-single__header h1 {
  font-family: 'Bahnschrift', 'Arial Narrow', 'Segoe UI Condensed', sans-serif;
  font-weight: 700; font-size: clamp(28px, 4vw, 42px); text-transform: uppercase; line-height: 1.2;
}

.tft-blog-single__content {
  font-size: 17px; line-height: 1.75; color: var(--tft-muted); padding-bottom: 60px;
}
.tft-blog-single__content p { margin-bottom: 20px !important; }
.tft-blog-single__content h2, .tft-blog-single__content h3 {
  color: var(--tft-ink); font-family: 'Bahnschrift', 'Arial Narrow', 'Segoe UI Condensed', sans-serif;
  font-weight: 700; text-transform: uppercase; margin: 36px 0 14px !important;
}
.tft-blog-single__content ul, .tft-blog-single__content ol { color: var(--tft-muted); padding-left: 22px; margin-bottom: 20px; }
.tft-blog-single__content li { margin-bottom: 8px; }
.tft-blog-single__content strong { color: var(--tft-ink); }

/* ---------- Comments (Woostify/WP default markup, restyled) ---------- */
.tft-blog-single__comments {
  background: var(--tft-surface); border-top: 1px solid var(--tft-border); padding: 50px 0 70px;
}
#comments, .comments-area { color: var(--tft-ink); }
#comments .comments-title, .comments-area .comments-title {
  font-family: 'Bahnschrift', 'Arial Narrow', 'Segoe UI Condensed', sans-serif;
  font-weight: 700; font-size: 20px; text-transform: uppercase; margin-bottom: 24px;
}
.comment-list { list-style: none; margin: 0 0 30px; padding: 0; }
.comment-list .comment-body {
  border: 1px solid var(--tft-border); padding: 18px; margin-bottom: 16px; background: var(--tft-near-black);
}
.comment-list .comment-author .fn { color: var(--tft-ink); font-weight: 700; font-style: normal; }
.comment-list .comment-metadata { font-size: 12px; color: var(--tft-muted); margin-bottom: 10px; }
.comment-list .comment-metadata a { color: var(--tft-muted); }
.comment-list .comment-content p { color: var(--tft-muted); margin-bottom: 8px; }
.comment-reply-link { color: var(--tft-green); font-size: 13px; text-decoration: none; }

.comment-respond .comment-reply-title {
  font-family: 'Bahnschrift', 'Arial Narrow', 'Segoe UI Condensed', sans-serif;
  font-weight: 700; text-transform: uppercase; font-size: 17px; margin-bottom: 18px;
}
.comment-form p { margin-bottom: 14px; }
.comment-form label { display: block; font-size: 13px; color: var(--tft-muted); margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.3px; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea {
  width: 100%; background: var(--tft-near-black); border: 1px solid var(--tft-border); color: var(--tft-ink);
  padding: 12px 14px; font-family: inherit; font-size: 15px;
}
.comment-form input:focus, .comment-form textarea:focus { outline: none; border-color: var(--tft-green); }
.comment-form .form-submit input[type="submit"] {
  background: var(--tft-green); color: var(--tft-near-black); border: none; font-weight: 700;
  font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; padding: 14px 28px; cursor: pointer;
}
.comment-form .form-submit input[type="submit"]:hover { opacity: 0.85; }

@media (max-width: 900px) {
  .tft-blog-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
}
@media (max-width: 600px) {
  .tft-blog-grid { grid-template-columns: 1fr; }
  .tft-blog-archive__hero { padding: 70px 24px 40px; }
  .tft-blog-archive__grid { padding: 40px 24px 70px; }
}