/*
Theme Name: 40nieki
Theme URI: https://40nieki.com
Author: Andris Gailitis
Description: Timing-sheet inspired theme for 40nieki.com — track days, racing and German performance cars. Child of Twenty Twenty-Five.
Template: twentytwentyfive
Version: 1.0.5
License: GNU General Public License v2 or later
Text Domain: fortynieki
*/

:root{
  --fn-ground:#101216;
  --fn-surface:#171A1F;
  --fn-surface-2:#1E2229;
  --fn-ink:#E8EAED;
  --fn-ink-mid:#A8AEB7;
  --fn-ink-soft:#868D97;
  --fn-rule:#292E36;
  --fn-accent:#F0BE3C;
  --fn-accent-ink:#F0BE3C;
  --fn-mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
}

body{
  background:var(--fn-ground);
  color:var(--fn-ink);
  -webkit-font-smoothing:antialiased;
}

/* ---- masthead ---- */
.fn-hero{
  border-bottom:1px solid var(--fn-rule);
  padding:clamp(2.5rem,7vw,5rem) 0 clamp(2rem,4vw,3rem);
}
.fn-kicker{
  font-family:var(--fn-mono);font-size:.72rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--fn-accent);
}
.fn-hero h1{
  font-size:clamp(2.2rem,6vw,3.8rem);font-weight:800;line-height:1.05;
  letter-spacing:-.02em;text-transform:uppercase;margin:.6rem 0 0;text-wrap:balance;
}
.fn-hero p{margin-top:1rem;max-width:52ch;color:var(--fn-ink-mid);font-size:1.05rem}

/* ---- proof strip ---- */
.fn-proof{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  gap:1px;background:var(--fn-rule);border:1px solid var(--fn-rule);
  margin:2rem 0;border-radius:3px;overflow:hidden;
}
.fn-proof div{background:var(--fn-surface);padding:.9rem 1rem}
.fn-proof .k{font-family:var(--fn-mono);font-size:.65rem;letter-spacing:.11em;text-transform:uppercase;color:var(--fn-ink-soft)}
.fn-proof .v{font-size:1.6rem;font-weight:800;font-variant-numeric:tabular-nums;margin-top:.15rem}

/* ---- video archive ---- */
.fn-filters{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.5rem 0}
.fn-filters button{
  font-family:var(--fn-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;
  padding:.35rem .7rem;border:1px solid var(--fn-rule);background:var(--fn-surface);
  color:var(--fn-ink-mid);border-radius:2px;cursor:pointer;transition:all .15s ease;
}
.fn-filters button:hover{color:var(--fn-ink);border-color:var(--fn-ink-soft)}
.fn-filters button[aria-pressed="true"]{
  background:var(--fn-accent);border-color:var(--fn-accent);color:#101216;font-weight:600;
}
.fn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.1rem}
.fn-card{
  background:var(--fn-surface);border:1px solid var(--fn-rule);border-radius:3px;
  overflow:hidden;transition:border-color .15s ease,transform .15s ease;
}
.fn-card:hover{border-color:var(--fn-accent);transform:translateY(-2px)}
.fn-card a{text-decoration:none;color:inherit;display:block}
.fn-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#000}
.fn-card .body{padding:.8rem .9rem}
.fn-card h3{font-size:.92rem;line-height:1.35;margin:0 0 .45rem;font-weight:600}
.fn-card .meta{display:flex;flex-wrap:wrap;gap:.35rem}
.fn-tag{
  font-family:var(--fn-mono);font-size:.6rem;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;padding:.14rem .4rem;border-radius:2px;
  background:var(--fn-surface-2);color:var(--fn-ink-soft);
}
.fn-tag.accent{background:rgba(240,190,60,.14);color:var(--fn-accent)}
.fn-empty{color:var(--fn-ink-soft);font-family:var(--fn-mono);font-size:.85rem;padding:2rem 0}

/* ---- news wire (core RSS block restyle) ---- */
.wp-block-rss{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.wp-block-rss__item{
  padding:.7rem 0;border-bottom:1px solid var(--fn-rule);
}
.wp-block-rss__item:last-child{border-bottom:none}
.wp-block-rss__item-title a{
  color:var(--fn-ink);text-decoration:none;font-weight:600;line-height:1.4;font-size:.95rem;
}
.wp-block-rss__item-title a:hover{color:var(--fn-accent)}
.wp-block-rss__item-publish-date{
  font-family:var(--fn-mono);font-size:.68rem;letter-spacing:.06em;
  color:var(--fn-ink-soft);display:block;margin-top:.2rem;
}
.wp-block-rss__item-excerpt{color:var(--fn-ink-mid);font-size:.85rem;margin-top:.3rem}

.fn-wire-source{
  font-family:var(--fn-mono);font-size:.68rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--fn-accent);
  border-top:2px solid var(--fn-ink);padding-top:.55rem;margin:2.2rem 0 .3rem;
}
.fn-disclaimer{
  font-size:.8rem;color:var(--fn-ink-soft);border-left:2px solid var(--fn-rule);
  padding-left:.9rem;margin:1.2rem 0;
}

/* ---- front page: hero replaces the page title ---- */
body.home .wp-block-post-title,
body.page-id-10 .wp-block-post-title{ display:none !important }
.home .fn-hero{ padding-top:1.5rem }

/* ---- keep the hero tight to the top of every landing page ---- */
.fn-hero h1{ margin-bottom:0 }
