/* Fleet Business Theme — shared Hutts Media / Ferrus Labs look for
   business-v1, home-services-v1 and trade-school-v1 sites.

   Opt-in per site: publisher_nav_extra.business_theme = {"accent": "#c8ee74"}
   (see partials/site-theme-head.html.j2). The head partial sets
   <html data-fbt> and an inline --fbt-accent / --fbt-accent-hover /
   --fbt-accent-ink override, so each site keeps its own accent colour.
   Dark is the default; html[data-site-theme="light"] switches to the light
   palette. Marker: fleet-business-theme-v1 */

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");

html[data-fbt] {
  --fbt-paper: #050505;
  --fbt-ink: #f5f5f5;
  --fbt-quiet: #b0b0b0;
  --fbt-line: #303030;
  --fbt-panel: #111111;
  --fbt-header: #0a0a0a;
  --fbt-forest: #181818;
  --fbt-accent: #c8ee74;
  --fbt-accent-hover: #a9d653;
  --fbt-accent-ink: #151515;
  --fbt-font: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  color-scheme: dark;
}
html[data-fbt][data-site-theme="light"] {
  --fbt-paper: #f8faf9;
  --fbt-ink: #0f1715;
  --fbt-quiet: #40524c;
  --fbt-line: #ccd6d0;
  --fbt-panel: #ffffff;
  --fbt-header: #ffffff;
  --fbt-forest: #142e29;
  color-scheme: light;
}

/* Legacy variable bridge: styles.css / fleet-site-theme.css read these. */
html[data-fbt] body {
  --accent: var(--fbt-accent);
  --accent-hover: var(--fbt-accent-hover);
  --bg: var(--fbt-paper);
  --surface: var(--fbt-paper);
  --text: var(--fbt-ink);
  --muted: var(--fbt-quiet);
  --line: var(--fbt-line);
  --card: var(--fbt-panel);
  --card-border: var(--fbt-line);
  --font: var(--fbt-font);
  --display: var(--fbt-font);
  background: var(--fbt-paper);
  color: var(--fbt-ink);
  font-family: var(--fbt-font);
}
html[data-fbt] { background: var(--fbt-paper); }

/* Headings + logo: Inter, tight tracking */
html[data-fbt] h1, html[data-fbt] h2, html[data-fbt] h3,
html[data-fbt] .logo, html[data-fbt] .fsm-brand {
  font-family: var(--fbt-font);
  color: var(--fbt-ink);
}
html[data-fbt] h1 { letter-spacing: -0.06em; line-height: 1; }
html[data-fbt] h2 { letter-spacing: -0.05em; line-height: 1.05; }
html[data-fbt] h3 { letter-spacing: -0.03em; }
html[data-fbt] .logo, html[data-fbt] .fsm-brand { font-weight: 800; letter-spacing: -0.02em; }
html[data-fbt] .logo span { color: var(--fbt-accent); }

/* Header + nav */
html[data-fbt] .site-header, html[data-fbt] .fsm-header {
  background: var(--fbt-header);
  border-bottom: 1px solid var(--fbt-line);
  box-shadow: none;
}
html[data-fbt] .nav a:not(.btn), html[data-fbt] .nav > .nav-dropdown > .nav-dropdown-trigger,
html[data-fbt] .fsm-nav a {
  color: var(--fbt-ink);
  font-weight: 700;
  letter-spacing: -0.02em;
}
html[data-fbt] .nav a:not(.btn):hover, html[data-fbt] .nav > .nav-dropdown > .nav-dropdown-trigger:hover,
html[data-fbt] .fsm-nav a:hover { color: var(--fbt-accent); }
html[data-fbt] .nav-articles-subnav {
  background: var(--fbt-panel);
  border: 1px solid var(--fbt-line);
  border-radius: 0.8rem;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.45);
}
html[data-fbt] .nav-articles-subnav a { color: var(--fbt-ink); }
html[data-fbt] .nav-articles-subnav a:hover { color: var(--fbt-accent); background: transparent; }
html[data-fbt] .site-header .nav-toggle { color: var(--fbt-ink); border-color: var(--fbt-line); }

/* Buttons */
html[data-fbt] .btn-primary, html[data-fbt] .btn-primary:link, html[data-fbt] .btn-primary:visited,
html[data-fbt] .site-header .nav a.btn-primary.header-cta, html[data-fbt] .fsm-button {
  background: var(--fbt-accent);
  border-color: var(--fbt-accent);
  color: var(--fbt-accent-ink);
  font-weight: 800;
  border-radius: 0.62rem;
}
html[data-fbt] .btn-primary:hover, html[data-fbt] .fsm-button:hover {
  background: var(--fbt-accent-hover);
  border-color: var(--fbt-accent-hover);
  color: var(--fbt-accent-ink);
}
html[data-fbt] .btn-outline, html[data-fbt] .btn-outline:link, html[data-fbt] .btn-outline:visited {
  background: transparent; color: var(--fbt-ink); border: 1px solid var(--fbt-line); border-radius: 0.62rem; font-weight: 700;
}
html[data-fbt] .btn-outline:hover { border-color: var(--fbt-accent); color: var(--fbt-accent); }
html[data-fbt] .btn-ghost { color: var(--fbt-ink); border-color: var(--fbt-line); border-radius: 0.62rem; }
html[data-fbt] .btn-ghost:hover { border-color: var(--fbt-accent); }

/* Inner pages (article-page body class: products, about, contact, articles, legal) */
html[data-fbt] body.article-page { background: var(--fbt-paper); color: var(--fbt-ink); }
html[data-fbt] .article-main, html[data-fbt] .article-body { color: var(--fbt-ink); }
html[data-fbt] .article-body p, html[data-fbt] .article-body li { color: var(--fbt-quiet); }
html[data-fbt] .article-body strong { color: var(--fbt-ink); }
html[data-fbt] .article-body h2, html[data-fbt] .article-body h3 { color: var(--fbt-ink); }
html[data-fbt] .article-body a, html[data-fbt] .article-main a:not(.btn) { color: var(--fbt-accent); }
html[data-fbt] .article-main h1 { font-size: clamp(2.4rem, 5vw, 4rem); letter-spacing: -0.07em; }
html[data-fbt] .article-body hr, html[data-fbt] .article-main hr { border-color: var(--fbt-line); }
html[data-fbt] .article-body table, html[data-fbt] .article-body th, html[data-fbt] .article-body td { border-color: var(--fbt-line); }

/* Cards (product catalog, resource cards) */
html[data-fbt] .fleet-resource-card, html[data-fbt] .fsm-card {
  background: var(--fbt-panel);
  border: 1px solid var(--fbt-line);
  border-radius: 1rem;
  box-shadow: none;
  color: var(--fbt-ink);
}
html[data-fbt] .fleet-resource-card:hover, html[data-fbt] .fsm-card:hover { border-color: #3d3d3d; }
html[data-fbt] .fleet-resource-card h3, html[data-fbt] .fsm-card h3 { color: var(--fbt-ink); }
html[data-fbt] .fleet-resource-card p, html[data-fbt] .fsm-card p { color: var(--fbt-quiet); }
html[data-fbt] .fleet-resource-card a, html[data-fbt] .fsm-card a { color: var(--fbt-accent); }
html[data-fbt] .fl-badge { border-color: var(--fbt-line); color: var(--fbt-quiet); }
html[data-fbt] .fl-status--live { background: rgba(200, 238, 116, 0.14); color: var(--fbt-accent); }
html[data-fbt] .fl-status--dev { background: var(--fbt-line); color: var(--fbt-ink); }
html[data-fbt] .fleet-resource-card button, html[data-fbt] .fl-product button {
  background: var(--fbt-accent); color: var(--fbt-accent-ink); border: 0; border-radius: 0.5rem;
  font: inherit; font-weight: 800; padding: 0.45rem 0.8rem; cursor: pointer;
}

/* Contact form + inputs */
html[data-fbt] input, html[data-fbt] textarea, html[data-fbt] select {
  background: #080808; color: var(--fbt-ink); border: 1px solid var(--fbt-line); border-radius: 0.5rem;
  font-family: var(--fbt-font);
}
html[data-fbt][data-site-theme="light"] input, html[data-fbt][data-site-theme="light"] textarea,
html[data-fbt][data-site-theme="light"] select { background: #fff; }
html[data-fbt] input:focus, html[data-fbt] textarea:focus { outline: 2px solid var(--fbt-accent); outline-offset: 1px; }
html[data-fbt] label { color: var(--fbt-ink); }

/* Footer */
html[data-fbt] .site-footer, html[data-fbt] .fsm-footer {
  background: var(--fbt-paper);
  border-top: 1px solid var(--fbt-line);
  color: var(--fbt-quiet);
}
html[data-fbt] .footer-inner a, html[data-fbt] .site-footer a { color: var(--fbt-ink); }
html[data-fbt] .footer-inner a, html[data-fbt] .site-footer a { text-decoration: none; font-weight: 600; }
html[data-fbt] .footer-inner a:hover, html[data-fbt] .site-footer a:hover { color: var(--fbt-accent); }
html[data-fbt] .footer-copyright, html[data-fbt] .footer-copyright a { color: var(--fbt-quiet); }

/* FSM service-front homepage (fsm-front-v1 markup) */
html[data-fbt] .homepage-variant-fsm-service { background: var(--fbt-paper); color: var(--fbt-ink); font-family: var(--fbt-font); }
html[data-fbt] .fsm-hero { background: var(--fbt-paper); color: var(--fbt-ink); border-bottom: 1px solid var(--fbt-line); padding: clamp(3rem, 8vw, 7.5rem) 0 5rem; }
html[data-fbt] .fsm-hero h1 { font-size: clamp(3rem, 6vw, 5.4rem); line-height: 0.94; letter-spacing: -0.075em; max-width: 16ch; }
html[data-fbt] .fsm-hero .fsm-eyebrow { display: flex; align-items: center; gap: 0.45rem; color: #d0d0d0; }
html[data-fbt] .fsm-hero .fsm-eyebrow::before {
  content: ""; width: 0.65rem; height: 0.65rem; border-radius: 99px; background: var(--fbt-accent);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--fbt-accent) 16%, transparent);
}
html[data-fbt] .fsm-lead, html[data-fbt] .fsm-trust, html[data-fbt] .fsm-stats span { color: var(--fbt-quiet); }
html[data-fbt] .fsm-link { color: var(--fbt-ink); }
html[data-fbt] .fsm-link span, html[data-fbt] .fsm-trust li::before { color: var(--fbt-accent); }
html[data-fbt] .fsm-stats div { border-color: var(--fbt-line); background: var(--fbt-panel); border-radius: 0.7rem; }
html[data-fbt] .fsm-stats strong { color: var(--fbt-ink); }
html[data-fbt] .fsm-section { background: var(--fbt-paper); }
html[data-fbt] .fsm-section--muted { background: var(--fbt-header); border-top: 1px solid var(--fbt-line); border-bottom: 1px solid var(--fbt-line); }
html[data-fbt] .fsm-section h2, html[data-fbt] .fsm-closing h2, html[data-fbt] .fsm-footer h2 { letter-spacing: -0.06em; line-height: 1; }
html[data-fbt] .fsm-process li > span { background: var(--fbt-accent); color: var(--fbt-accent-ink); }
html[data-fbt] .fsm-process h3 { color: var(--fbt-ink); }
html[data-fbt] .fsm-process p { color: var(--fbt-quiet); }
html[data-fbt] .fsm-closing { background: var(--fbt-forest); color: var(--fbt-ink); border-top: 1px solid var(--fbt-line); }
html[data-fbt] .fsm-closing p { color: var(--fbt-quiet); }
html[data-fbt] .fsm-drawer { background: var(--fbt-panel); color: var(--fbt-ink); }
html[data-fbt] .fsm-drawer nav a { color: var(--fbt-ink); }
html[data-fbt] .fsm-drawer nav .fsm-button { color: var(--fbt-accent-ink); }
