/*
Theme Name:       Flipper-SV Austria
Theme URI:        https://flipper-sv.schimek.com
Description:      Modernes Child-Theme für den Union Flipper Sportverein Austria, basierend auf Kadence. Dunkle Ink-Palette, Austria-Rot (#E73B35), Big Shoulders Display + Instrument Serif + Geist + JetBrains Mono. Liefert wiederverwendbare CSS-Klassen für Hero, Schnellzugriffs-Karten, News-Grid, Multiball-CTA und Footer.
Author:           Schimek
Author URI:       https://schimek.com
Template:         kadence
Version:          1.0.0
Requires at least: 6.0
Requires PHP:     7.4
License:          GPL-2.0-or-later
License URI:      https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:      flipper-sv
Tags:             dark, sport, club, kadence-child
*/

/* =========================================================
   Flipper-SV Austria — Kadence Child Theme
   Design-Tokens, Globale Typo, Komponentenklassen
   ========================================================= */

/* ---------- 1) DESIGN TOKENS ---------- */
:root {
  --fsv-bg:        #080706;
  --fsv-bg-2:      #14110f;
  --fsv-ink:       #f4eee4;
  --fsv-ink-dim:   #cab9a7;
  --fsv-ink-mute:  #8f7769;
  --fsv-line:      rgba(244, 238, 228, 0.10);
  --fsv-accent:    #f44537;
  --fsv-accent-2:  #f3bf23;
  --fsv-paper:     #f2ede5;

  /* Kadence palette overrides — wirkt theme-weit */
  --global-palette1: var(--fsv-accent);
  --global-palette2: var(--fsv-ink-dim);
  --global-palette3: var(--fsv-ink);
  --global-palette4: var(--fsv-ink-dim);
  --global-palette5: var(--fsv-ink-mute);
  --global-palette6: #67574f;
  --global-palette7: var(--fsv-bg-2);
  --global-palette8: var(--fsv-bg);
  --global-palette9: var(--fsv-ink);
}

/* ---------- 2) BASE / GLOBALS ---------- */
body,
.kadence-body {
  background: var(--fsv-bg);
  color: var(--fsv-ink);
  font-family: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.site-title,
.fsv-display {
  font-family: "Big Shoulders Display", "Geist", sans-serif;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: -0.005em;
  line-height: 0.95;
  color: var(--fsv-ink);
}

a { color: inherit; }
a:hover { color: var(--fsv-accent); }

.fsv-shell {
  width: min(1360px, calc(100% - 64px));
  margin: 0 auto;
}

body.fsv-theme,
body.fsv-theme .site,
body.fsv-theme .site-content,
body.fsv-theme .content-wrap,
body.fsv-theme .content-bg,
body.fsv-theme.content-style-boxed .site {
  background: var(--fsv-bg);
  color: var(--fsv-ink);
}

body.fsv-theme .content-area {
  margin-top: 4.25rem;
  margin-bottom: 4.5rem;
}

body.fsv-theme .entry-content-wrap,
body.fsv-theme .entry.single-entry,
body.fsv-theme .entry.loop-entry,
body.fsv-theme .archive .content-container article,
body.fsv-theme .search .content-container article,
body.fsv-theme .single .content-container article,
body.fsv-theme .page .entry {
  background: var(--fsv-bg-2);
  border: 1px solid var(--fsv-line);
  box-shadow: none;
}

body.fsv-theme .entry-content-wrap {
  padding: 2.5rem;
}

body.fsv-theme .entry-content,
body.fsv-theme .entry-content p,
body.fsv-theme .entry-content li,
body.fsv-theme .archive .entry-summary,
body.fsv-theme .archive .entry-content p {
  color: var(--fsv-ink-dim);
}

body.fsv-theme .entry-content,
body.fsv-theme .entry-content > *,
body.fsv-theme .entry-content .wp-block-group,
body.fsv-theme .entry-content .wp-block-kadence-rowlayout,
body.fsv-theme .entry-content .wp-block-cover {
  background: transparent !important;
}

body.fsv-theme .entry-content strong,
body.fsv-theme .entry-summary strong {
  color: var(--fsv-ink);
}

body.fsv-theme .entry-content a:not(.fsv-btn),
body.fsv-theme .entry-summary a {
  color: var(--fsv-ink);
  text-decoration-color: rgba(244, 238, 228, 0.34);
}

body.fsv-theme .entry-content a:not(.fsv-btn):hover,
body.fsv-theme .entry-summary a:hover {
  color: var(--fsv-accent);
  text-decoration-color: var(--fsv-accent);
}

body.fsv-theme .loop-entry,
body.fsv-theme .loop-entry .entry-content-wrap,
body.fsv-theme .loop-entry .entry-content,
body.fsv-theme .loop-entry .entry-summary {
  background: var(--fsv-bg-2) !important;
}

body.fsv-theme .loop-entry .entry-content-wrap {
  border-top: 0;
}

body.fsv-theme .loop-entry .entry-title,
body.fsv-theme .loop-entry .entry-title a {
  color: var(--fsv-ink) !important;
}

/* Subtle film grain overlay (optional — auf <body class="fsv-grain">) */
body.fsv-grain::before {
  content: "";
  position: fixed; inset: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.08 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  opacity: .5;
  mix-blend-mode: overlay;
  z-index: 9999;
}

/* ---------- 3) HEADER / NAV (Kadence Header Builder) ---------- */
.site-header,
.site-header-wrap {
  background: rgba(9, 8, 7, 0.94) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--fsv-line);
  border-top: 4px solid var(--fsv-accent);
}

#masthead,
#masthead .site-header-row-container-inner,
.transparent-header #wrapper #masthead,
.transparent-header .site-main-header-wrap .site-header-row-container-inner,
.mobile-transparent-header #masthead,
.mobile-transparent-header .site-main-header-wrap .site-header-row-container-inner {
  background: rgba(9, 8, 7, 0.94) !important;
}

.site-branding img.custom-logo {
  height: 48px;
  width: auto;
}

.site-branding .site-title,
.site-branding .site-description {
  display: none;
}

.site-header-row-container-inner > .site-container {
  max-width: 1380px;
}

.fsv-stage-nav {
  position: sticky;
  top: 0;
  z-index: 120;
  background: rgba(10, 8, 7, 0.92);
  border-bottom: 1px solid rgba(246, 241, 232, 0.12);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.fsv-stage-nav__inner {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.fsv-stage-nav__brand {
  display: inline-flex;
  align-items: center;
}

.fsv-stage-nav__brand img.custom-logo,
.fsv-stage-nav__brand img {
  display: block;
  height: 48px;
  width: auto;
}

.fsv-stage-nav__menu {
  display: none;
  flex: 1 1 auto;
  justify-content: center;
}

.fsv-stage-nav__list {
  display: flex;
  align-items: center;
  gap: 26px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fsv-stage-nav__list a {
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--fsv-ink-dim);
  text-decoration: none;
}

.fsv-stage-nav__list .current-menu-item > a,
.fsv-stage-nav__list a:hover {
  color: var(--fsv-accent);
}

.fsv-stage-nav__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 22px;
  border-radius: 999px;
  background: var(--fsv-paper);
  color: #11100f;
  font-family: "JetBrains Mono", monospace;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  text-decoration: none;
}

.fsv-stage-nav__cta::after {
  content: "\2192";
  margin-left: 10px;
  font-size: 14px;
}

.header-navigation .menu > li > a {
  font-family: "JetBrains Mono", monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--fsv-ink-dim) !important;
  font-weight: 500 !important;
}
.header-navigation .menu > li > a:hover,
.header-navigation .menu > li.current-menu-item > a {
  color: var(--fsv-accent) !important;
}
.header-navigation .menu > li.current-menu-item > a {
  box-shadow: inset 0 -2px 0 var(--fsv-accent);
}

.main-navigation .primary-menu-container > ul > li.menu-item > a {
  color: var(--fsv-ink-dim);
}

.main-navigation .primary-menu-container > ul > li.menu-item > a:hover {
  color: var(--fsv-ink);
}

.main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item > a {
  color: var(--fsv-accent);
}

@media all and (min-width: 1025px) {
  .main-navigation .primary-menu-container > ul > li:nth-child(5) > a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 20px;
    border-radius: 999px;
    background: var(--fsv-paper);
    color: #11100f !important;
    letter-spacing: 0.1em;
  }

  .main-navigation .primary-menu-container > ul > li:nth-child(5) > a:hover {
    background: #fffaf2;
    color: #11100f !important;
  }
}

/* Header CTA button (use class .header-button or Kadence Button) */
.header-button,
.kb-button.kb-button-style-fsv-cta {
  display: inline-flex !important;
  align-items: center !important; gap: 8px !important;
  padding: 10px 16px !important;
  background: var(--fsv-ink) !important;
  color: var(--fsv-bg) !important;
  border-radius: 999px !important;
  font-family: "JetBrains Mono", monospace !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  border: 0 !important;
}

body.fsv-theme:not(.fsv-front-page) .site-header,
body.fsv-theme:not(.fsv-front-page) .site-header-wrap,
body.fsv-theme:not(.fsv-front-page) #masthead,
body.fsv-theme:not(.fsv-front-page) .site-main-header-wrap,
body.fsv-theme:not(.fsv-front-page) .site-top-header-wrap,
body.fsv-theme:not(.fsv-front-page) .site-bottom-header-wrap {
  display: none !important;
}

/* ---------- 4) TICKER (Marquee oben) ---------- */
.fsv-ticker {
  background: var(--fsv-accent);
  color: #0c0a09;
  overflow: hidden;
  font-family: "JetBrains Mono", monospace;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.fsv-ticker .fsv-ticker__track {
  display: flex;
  gap: 48px;
  padding: 10px 0;
  animation: fsv-scroll 40s linear infinite;
  white-space: nowrap;
  width: max-content;
}
.fsv-ticker span { display: inline-flex; align-items: center; gap: 14px; }
.fsv-ticker .fsv-dot {
  width: 6px; height: 6px;
  background: #0c0a09;
  border-radius: 999px;
}
@keyframes fsv-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ---------- 5) HERO ---------- */
.fsv-hero {
  padding: 80px 0 100px;
  border-bottom: 1px solid var(--fsv-line);
  position: relative;
  overflow: hidden;
}
.fsv-hero::before {
  content: ""; position: absolute;
  right: -10%; top: -20%;
  width: 60vw; height: 60vw;
  background: radial-gradient(closest-side, color-mix(in oklab, var(--fsv-accent) 18%, transparent), transparent 70%);
  pointer-events: none;
}
.fsv-hero h1 {
  font-size: clamp(72px, 11vw, 184px);
  line-height: 0.85;
  margin: 0 0 24px;
}
.fsv-hero h1 .fsv-accent { color: var(--fsv-accent); }
.fsv-hero h1 .fsv-small {
  font-family: "Instrument Serif", serif;
  font-style: italic;
  font-weight: 400;
  font-size: 0.22em;
  text-transform: none;
  color: var(--fsv-ink-dim);
}
.fsv-hero p {
  max-width: 480px;
  font-size: 18px;
  line-height: 1.5;
  color: var(--fsv-ink-dim);
}

/* ---------- 6) EYEBROW / NUM TAGS ---------- */
.fsv-eyebrow,
.fsv-num {
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--fsv-ink-mute);
}

/* ---------- 7) BUTTONS ---------- */
.fsv-btn,
.wp-block-button__link.fsv-btn,
.kb-button.fsv-btn {
  display: inline-flex !important;
  align-items: center; gap: 10px;
  padding: 14px 22px !important;
  border-radius: 999px !important;
  font-family: "JetBrains Mono", monospace !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border: 0 !important;
  transition: transform .2s ease;
  cursor: pointer;
}
.fsv-btn--primary { background: var(--fsv-accent) !important; color: #0c0a09 !important; }
.fsv-btn--ghost   { background: transparent !important; color: var(--fsv-ink) !important; border: 1px solid var(--fsv-line) !important; }
.fsv-btn:hover    { transform: translateY(-2px); }
.fsv-btn--ghost:hover { border-color: var(--fsv-ink) !important; }

/* ---------- 8) METRIC STRIP ---------- */
.fsv-metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--fsv-line);
  border-bottom: 1px solid var(--fsv-line);
}
.fsv-metric {
  padding: 28px 24px;
  border-right: 1px solid var(--fsv-line);
  display: flex; flex-direction: column; gap: 8px;
}
.fsv-metric:last-child { border-right: 0; }
.fsv-metric .fsv-metric__num {
  font-family: "Big Shoulders Display", sans-serif;
  font-weight: 800;
  font-size: 56px;
  line-height: 1;
}
.fsv-metric .fsv-metric__num .fsv-unit {
  font-size: 0.45em;
  color: var(--fsv-ink-mute);
  margin-left: 6px;
}
.fsv-metric .fsv-metric__lbl {
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fsv-ink-mute);
}

/* ---------- 9) SECTION HEADER ---------- */
.fsv-section {
  padding: 100px 0;
  border-bottom: 1px solid var(--fsv-line);
}

body.fsv-theme:not(.fsv-front-page) .content-area {
  margin-top: 0;
  margin-bottom: 4.5rem;
}

body.fsv-theme:not(.fsv-front-page) .entry-hero.page-hero-section,
body.fsv-theme:not(.fsv-front-page) .entry-hero.post-hero-section,
body.fsv-theme:not(.fsv-front-page) .entry-hero.archive-hero-section {
  background:
    radial-gradient(circle at 18% 20%, rgba(126, 18, 12, 0.20), transparent 24%),
    linear-gradient(90deg, #090807 0%, #15100d 50%, #100d0c 100%) !important;
  border-top: 1px solid var(--fsv-line);
  border-bottom: 1px solid var(--fsv-line);
}

body.fsv-theme:not(.fsv-front-page) .entry-hero.page-hero-section::before,
body.fsv-theme:not(.fsv-front-page) .entry-hero.post-hero-section::before,
body.fsv-theme:not(.fsv-front-page) .entry-hero.archive-hero-section::before,
body.fsv-theme:not(.fsv-front-page) .entry-hero .hero-section-overlay {
  background: transparent !important;
  opacity: 0 !important;
}

body.fsv-theme:not(.fsv-front-page) .entry-hero .entry-hero-container-inner {
  background:
    radial-gradient(circle at 18% 20%, rgba(126, 18, 12, 0.20), transparent 24%),
    linear-gradient(90deg, #090807 0%, #15100d 50%, #100d0c 100%) !important;
}

body.fsv-theme:not(.fsv-front-page) .entry-hero .entry-hero-container-inner {
  padding-top: 0 !important;
}

body.fsv-theme:not(.fsv-front-page) .entry-hero.page-hero-section .entry-header,
body.fsv-theme:not(.fsv-front-page) .entry-hero.post-hero-section .entry-header,
body.fsv-theme:not(.fsv-front-page) .entry-hero.archive-hero-section .entry-header {
  min-height: 240px;
  padding: clamp(5.5rem, 8vw, 7.5rem) 0 clamp(2.5rem, 4vw, 4rem);
}

body.fsv-theme:not(.fsv-front-page) .entry-hero h1.entry-title {
  color: var(--fsv-ink);
  font-family: "Big Shoulders Display", "Geist", sans-serif;
  font-size: clamp(64px, 8vw, 112px);
  font-weight: 800;
  line-height: 0.9;
  letter-spacing: -0.01em;
  text-transform: uppercase;
}
.fsv-section-head {
  display: flex; justify-content: space-between; align-items: end;
  gap: 40px; margin-bottom: 56px;
}
.fsv-section-head h2 {
  font-size: clamp(40px, 6vw, 88px);
  margin: 0;
}
.fsv-section-head .fsv-desc {
  max-width: 380px;
  color: var(--fsv-ink-dim);
  font-size: 16px;
  line-height: 1.5;
}

.fsv-section-header {
  margin-bottom: 36px;
}

.fsv-section-header h1,
.fsv-section-header h2 {
  margin: 0 0 12px;
}

.fsv-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.fsv-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  border-radius: 18px;
  overflow: hidden;
  background: var(--fsv-bg-2);
  border: 1px solid var(--fsv-line);
}

.fsv-card-image {
  display: block;
  aspect-ratio: 4 / 3;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.fsv-card-body {
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 22px;
  background: var(--fsv-bg-2);
}

.fsv-card-body time {
  color: var(--fsv-accent);
  font-family: "JetBrains Mono", monospace;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.fsv-card-body h3 {
  margin: 0;
  font-size: 34px;
  line-height: 0.95;
}

.fsv-card-body h3 a {
  color: var(--fsv-ink);
  text-decoration: none;
}

.fsv-card-body p {
  margin: 0;
  color: var(--fsv-ink-dim);
}

/* ---------- 10) QUICK CARDS ---------- */
.fsv-cards-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.fsv-qcard {
  position: relative;
  padding: 28px;
  border-radius: 16px;
  background: var(--fsv-bg-2);
  border: 1px solid var(--fsv-line);
  min-height: 320px;
  display: flex; flex-direction: column; justify-content: space-between;
  overflow: hidden;
  transition: transform .25s ease, border-color .25s ease;
}
.fsv-qcard:hover { transform: translateY(-4px); border-color: var(--fsv-ink-mute); }
.fsv-qcard .fsv-kicker {
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--fsv-accent);
}
.fsv-qcard h3 {
  font-size: 42px;
  line-height: 0.95;
  margin: 0 0 12px;
}
.fsv-qcard p {
  color: var(--fsv-ink-dim);
  line-height: 1.5;
  font-size: 15px;
  margin: 0;
}
.fsv-qcard .fsv-go {
  margin-top: 28px;
  display: inline-flex; align-items: center; gap: 8px;
  font-family: "JetBrains Mono", monospace;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.fsv-qcard .fsv-bignum {
  position: absolute;
  top: 18px; right: 22px;
  font-family: "Big Shoulders Display", sans-serif;
  font-weight: 800;
  font-size: 120px;
  line-height: 1;
  color: #ffffff08;
  pointer-events: none;
}

/* ---------- 11) NEWS GRID ---------- */
.fsv-news-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.fsv-news {
  background: var(--fsv-bg-2);
  border: 1px solid var(--fsv-line);
  border-radius: 16px;
  padding: 28px;
  display: flex; flex-direction: column;
  transition: transform .25s ease, border-color .25s ease;
  min-height: 360px;
}
.fsv-news:hover { transform: translateY(-4px); border-color: var(--fsv-accent); }
.fsv-news--feature {
  background: var(--fsv-accent);
  color: #0c0a09;
  border-color: var(--fsv-accent);
}
.fsv-news h3 {
  font-size: 32px;
  line-height: 0.98;
  margin: 24px 0 12px;
}
.fsv-news--feature h3 { font-size: 48px; }
.fsv-news p {
  color: var(--fsv-ink-dim);
  line-height: 1.5;
  font-size: 14px;
  margin: 0;
  flex: 1;
}
.fsv-news--feature p { color: #0c0a09cc; }
.fsv-news__meta {
  display: flex; justify-content: space-between; align-items: center;
}
.fsv-news__date,
.fsv-news__cat {
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.06em;
}
.fsv-news__date { color: var(--fsv-ink-mute); }
.fsv-news__cat  { color: var(--fsv-accent); letter-spacing: 0.14em; text-transform: uppercase; }
.fsv-news--feature .fsv-news__date,
.fsv-news--feature .fsv-news__cat { color: #0c0a09cc; }

/* ---------- 12) MULTIBALL CTA ---------- */
.fsv-multiball {
  background: var(--fsv-accent);
  color: #0c0a09;
  padding: 120px 0;
  position: relative;
  overflow: hidden;
}
.fsv-multiball::before {
  content: "MULTIBALL · MULTIBALL · MULTIBALL · MULTIBALL · MULTIBALL · ";
  position: absolute;
  white-space: nowrap;
  font-family: "Big Shoulders Display", sans-serif;
  font-weight: 900;
  font-size: 240px;
  line-height: 1;
  color: #00000010;
  top: 50%; left: 0;
  transform: translateY(-50%);
  pointer-events: none;
  animation: fsv-scroll 60s linear infinite;
}
.fsv-multiball h2 {
  font-size: clamp(64px, 9vw, 160px);
  line-height: 0.85;
  margin: 0;
  color: #0c0a09;
}
.fsv-multiball h2 em {
  font-family: "Instrument Serif", serif;
  font-style: italic;
  font-weight: 400;
  text-transform: none;
}
.fsv-multiball__panel {
  background: #0c0a09;
  color: var(--fsv-ink);
  padding: 32px;
  border-radius: 16px;
}

/* ---------- 13) FOOTER ---------- */
.site-footer,
.site-footer-wrap {
  background: var(--fsv-bg) !important;
  color: var(--fsv-ink-dim) !important;
  border-top: 1px solid var(--fsv-line);
}
.site-footer a { color: var(--fsv-ink-dim); }
.site-footer a:hover { color: var(--fsv-ink); }
.site-footer h4,
.site-footer .widget-title {
  font-family: "JetBrains Mono", monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--fsv-ink-mute) !important;
  font-weight: 500 !important;
}

/* ---------- 14) RESPONSIVE ---------- */
@media (max-width: 960px) {
  .fsv-cards-3,
  .fsv-news-grid,
  .fsv-card-grid { grid-template-columns: 1fr; }
  .fsv-metrics   { grid-template-columns: repeat(2, 1fr); }
  .fsv-section-head { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 1024px) {
  .site-branding img.custom-logo {
    height: 42px;
  }

  body.fsv-theme .entry-content-wrap {
    padding: 2rem;
  }

  .entry-hero h1.entry-title {
    font-size: clamp(46px, 10vw, 76px);
  }
}

@media (min-width: 1025px) {
  .fsv-stage-nav__menu {
    display: flex;
  }
}

@media (max-width: 760px) {
  .fsv-shell {
    width: min(1280px, calc(100% - 28px));
  }

  .fsv-stage-nav__inner {
    min-height: 72px;
  }

  .fsv-stage-nav__brand img.custom-logo,
  .fsv-stage-nav__brand img {
    height: 42px;
  }

  .fsv-stage-nav__cta {
    min-height: 40px;
    padding: 0 16px;
    font-size: 11px;
  }
}

/* ---------- 15) MOBILE NAV TOGGLE + DRAWER ---------- */
.fsv-nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 10px;
  background: transparent;
  border: 1px solid var(--fsv-line);
  border-radius: 8px;
  cursor: pointer;
  flex-shrink: 0;
}

.fsv-nav-toggle span {
  display: block;
  width: 100%;
  height: 2px;
  background: var(--fsv-ink);
  border-radius: 2px;
  transition: transform .2s ease, opacity .2s ease;
}

.fsv-nav-toggle[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.fsv-nav-toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}
.fsv-nav-toggle[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.fsv-mobile-nav {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 200;
  padding: 96px 32px 40px;
  background: rgba(8, 7, 6, 0.97);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  flex-direction: column;
  align-items: flex-start;
  overflow-y: auto;
}

.fsv-mobile-nav.is-open {
  display: flex;
}

body.fsv-nav-open {
  overflow: hidden;
}

/* Lift the sticky nav bar above the open drawer so the hamburger stays clickable */
body.fsv-nav-open .fsv-stage-nav {
  z-index: 201;
}

.fsv-mobile-nav__list {
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
  width: 100%;
}

.fsv-mobile-nav__list li {
  border-bottom: 1px solid var(--fsv-line);
}

.fsv-mobile-nav__list a {
  display: block;
  padding: 16px 0;
  font-family: "Big Shoulders Display", "Geist", sans-serif;
  font-size: clamp(36px, 8vw, 52px);
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1;
  color: var(--fsv-ink);
  text-decoration: none;
  transition: color .15s ease;
}

.fsv-mobile-nav__list a:hover {
  color: var(--fsv-accent);
}

@media (max-width: 1024px) {
  .fsv-nav-toggle {
    display: flex;
    margin-left: auto;
  }
}
