/* ============================================================
   MBB Refinement Pass — appended after base styles.
   Strips saas-y decoration. Elevates to consulting-grade polish.
   ============================================================ */

/* Kill decorative noise globally */
.vm2-bg-orb, .sm2-root::before, .sm2-root::after,
.home-hero::after, .home-hero::before,
.mpm2-card--recommended::after, .mpm2-card--recommended::before {
  display: none !important;
}

/* Tighten page heads */
.page-head h1 {
  font-size: clamp(22px, 2.6vw, 32px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.015em !important;
  font-family: "Charter", "Iowan Old Style", Georgia, serif !important;
  border-bottom: 1px solid #1a1a1a !important;
  padding-bottom: 14px !important;
}
.page-head .eyebrow {
  letter-spacing: 0.08em !important;
  font-weight: 500 !important;
  font-size: 11px !important;
  color: #737373 !important;
}
.page-head .lede {
  color: #404040 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  max-width: 70ch !important;
}

/* Tighten home hero — remove glow */
.home-hero {
  background: #1a1a1a !important;
  padding: 36px 32px !important;
}
.home-hero h1 {
  font-family: "Charter", "Iowan Old Style", Georgia, serif !important;
  font-weight: 500 !important;
  font-size: clamp(28px, 3.6vw, 44px) !important;
  letter-spacing: -0.02em !important;
}
.home-hero-stat .val {
  color: #c4520f !important;
  font-family: "JetBrains Mono", ui-monospace, monospace !important;
  font-weight: 500 !important;
  font-size: 22px !important;
  letter-spacing: -0.02em !important;
}

/* Tighten sidebar */
.sidebar { border-right: 1px solid #e5e5e5 !important; }
.sidebar-brand-mark {
  background: #1a1a1a !important;
  border-radius: 2px !important;
  width: 28px !important; height: 28px !important;
  box-shadow: none !important;
  font-family: "Charter", Georgia, serif !important;
}
.sidebar-version-pill {
  background: transparent !important;
  border: 1px solid #e5e5e5 !important;
  color: #737373 !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
}
.nav-group-title {
  font-size: 10px !important;
  letter-spacing: 0.08em !important;
  font-weight: 500 !important;
  color: #9a9a9a !important;
}
.nav-item {
  border-radius: 0 !important;
  border-left: 2px solid transparent !important;
  padding: 7px 12px !important;
  font-weight: 400 !important;
}
.nav-item.active {
  background: transparent !important;
  border-left: 2px solid #1a1a1a !important;
  color: #1a1a1a !important;
  font-weight: 500 !important;
}
.nav-item.active .nav-icon { color: #c4520f !important; }
.nav-item .nav-meta {
  background: transparent !important;
  border: 1px solid #e5e5e5 !important;
  color: #737373 !important;
  font-weight: 500 !important;
}
.nav-item.active .nav-meta { background: transparent !important; color: #737373 !important; }

/* Tighten tables across the site */
table.data thead th {
  background: transparent !important;
  border-bottom: 1px solid #1a1a1a !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
  color: #737373 !important;
  padding: 10px 14px !important;
}
table.data td {
  padding: 8px 14px !important;
  border-bottom: 1px solid #e5e5e5 !important;
  font-size: 13px !important;
}
table.data tr.is-mozilla {
  background: transparent !important;
  border-left: 2px solid #c4520f !important;
}
table.data tr.is-mozilla td:first-child { padding-left: 12px !important; }

/* Tighten card hover */
.card, [class*="-card"] {
  border-radius: 4px !important;
  box-shadow: none !important;
}
.card:hover, [class*="-card"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
}

/* Mute the orange in vm2 cards — keep only on Mozilla */
.vm2-card { box-shadow: none !important; }
.vm2-card:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important; transform: translateY(-2px) !important; }
.vm2-card--moz {
  background: #1a1a1a !important;
  border: 1px solid #1a1a1a !important;
  box-shadow: none !important;
}
.vm2-card--moz::before, .vm2-card--moz::after { display: none !important; }
.vm2-card--moz:hover { transform: translateY(-2px) !important; }

/* Sidebar search button — minimal */
.sidebar-search-btn {
  background: transparent !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 2px !important;
}

/* Buttons — restrained */
.btn-primary {
  background: #c4520f !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}
.btn-primary:hover { background: #a8430c !important; transform: none !important; }
.btn-ghost {
  background: transparent !important;
  border: 1px solid #1a1a1a !important;
  border-radius: 2px !important;
  color: #1a1a1a !important;
  font-weight: 500 !important;
}
.btn-ghost:hover { background: #1a1a1a !important; color: white !important; }

/* Anchor stat tiles on home — restrained */
.anchor-stat {
  border-radius: 2px !important;
  box-shadow: none !important;
}
.anchor-stat.is-primary {
  background: #1a1a1a !important;
  border-radius: 2px !important;
}
.anchor-stat .value {
  font-family: "JetBrains Mono", ui-monospace, monospace !important;
  font-weight: 500 !important;
  font-size: 24px !important;
}

/* Strip warm cream → paper white */
body { background: #fafafa !important; }

/* Mute battle card top accent */
.bc-card::before {
  background: #1a1a1a !important;
  height: 2px !important;
}

/* Tighten tool tiles */
.tool-tile {
  border-radius: 2px !important;
  box-shadow: none !important;
}
.tool-tile:hover {
  transform: translateY(-2px) !important;
  border-color: #1a1a1a !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
}
.tool-tile .tile-icon {
  background: #1a1a1a !important;
  color: white !important;
  border-radius: 2px !important;
  border: 0 !important;
}

/* Chat avatar — minimal */
.chat-msg.assistant .chat-avatar {
  background: #1a1a1a !important;
  box-shadow: none !important;
}

/* Print summary heading - serif */
.print-doc-h1 { font-family: "Charter", Georgia, serif !important; }

/* v2.13 · P2-12 — kill remaining gratuitous animation */
.mpm2-card--recommended::after { animation: none !important; background: none !important; filter: none !important; }
.mpm2-card { opacity: 1 !important; transform: none !important; animation: none !important; }
#vendors-v2 .vm2-eyebrow-dot { animation: none !important; box-shadow: none !important; }
#vendors-v2 .vm2-card { animation: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.04) !important; }
.wf2-col { animation: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.04) !important; }
.sm2-line--strong, .sm2-line--strongest, .sm2-line--supporting { stroke-dashoffset: 0 !important; animation: none !important; filter: none !important; }

/* v2.14 — Discreet V1 archive link in sidebar bottom */
.sidebar-v1-link {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 10px 12px 14px 12px;
  padding: 10px 12px;
  background: transparent;
  border: 1px dashed rgba(10, 14, 39, 0.18);
  border-radius: 3px;
  color: rgba(10, 14, 39, 0.55);
  text-decoration: none;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 11px;
  line-height: 1.35;
  transition: all 0.15s ease;
  cursor: pointer;
}

.sidebar-v1-link:hover {
  border-color: rgba(10, 14, 39, 0.35);
  background: rgba(10, 14, 39, 0.03);
  color: rgba(10, 14, 39, 0.78);
}

.sidebar-v1-arrow {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 400;
  color: rgba(10, 14, 39, 0.45);
  background: rgba(10, 14, 39, 0.04);
  border-radius: 2px;
}

.sidebar-v1-link:hover .sidebar-v1-arrow { color: rgba(10, 14, 39, 0.7); }

.sidebar-v1-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.sidebar-v1-line1 {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: inherit;
}

.sidebar-v1-line2 {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: rgba(10, 14, 39, 0.4);
  text-transform: uppercase;
}

.sidebar-v1-link:hover .sidebar-v1-line2 { color: rgba(10, 14, 39, 0.55); }

/* Hide entirely on the (now empty) topbar */
.version-switcher, .ver-pill { display: none !important; }

/* Topbar actions container can shrink to nothing without distorting layout */
.topbar-actions:empty { min-width: 0; }

/* v3.0.3 — FIX Gabor-Granger bars uniform-height bug.
   Old structure had bar height:X% inside a slot with no defined height,
   so % collapsed. New structure: slot stretches to full row height,
   track is flex-grow with align-items:flex-end, bar takes %-of-track. */
.gg-row {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 16px;
  align-items: stretch !important;
  padding: 14px 0;
  border-bottom: 1px solid #f4ede1;
}
.gg-row:last-child { border-bottom: none; }
.gg-curve {
  display: flex !important;
  align-items: stretch !important;
  gap: 6px;
  height: 96px !important;
  padding-bottom: 0 !important;
}
.gg-bar-slot {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  height: 100%;
  min-width: 36px;
}
.gg-bar-track {
  width: 100%;
  flex: 1 1 auto;
  display: flex;
  align-items: flex-end;
  background: rgba(10, 14, 39, 0.04);
  border-radius: 2px 2px 0 0;
  min-height: 0;
}
.gg-bar {
  width: 100%;
  background: var(--gg-c, #c4520f);
  border-radius: 2px 2px 0 0;
  min-height: 3px;
  transition: height 0.2s ease;
}
.gg-bar-v {
  flex: 0 0 auto;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: #555b7a;
  line-height: 1;
}

/* =====================================================================
   v3.1.1 — Cosmetic fixes from Lovable QA
   1) Lane 2 axis label overlap → zigzag stagger
   2) CFO Q&A dark panel not applying → !important
   3) Structural-advantages headlines not serif → !important
   ===================================================================== */

/* 1) Stagger every other vendor label down by 60px so adjacent ones don't collide */
.cmp-lane-vendor.cmp-lane-vendor-stagger { transform: translateX(-50%) translateY(72px) !important; }
.cmp-lane-vendor.cmp-lane-vendor-stagger .cmp-lane-vendor-pin {
  position: relative;
}
.cmp-lane-vendor.cmp-lane-vendor-stagger .cmp-lane-vendor-pin::before {
  content: '';
  position: absolute;
  left: 50%;
  top: -72px;
  width: 1px;
  height: 72px;
  background: rgba(10, 14, 39, 0.18);
  transform: translateX(-50%);
}
.cmp-lane-track { height: 220px !important; }

/* Tighten name labels so a 140px box doesn't bleed into neighbours */
.cmp-lane-vendor { width: 110px !important; }
.cmp-lane-vendor-name { font-size: 10.5px !important; line-height: 1.2 !important; }
.cmp-lane-vendor-moz .cmp-lane-vendor-name { font-size: 11.5px !important; }

/* 2) Dark CFO Q&A panel — force the dark theme */
.cmp-cfo {
  background: #1a1a1a !important;
  color: #fdf9ef !important;
  border-radius: 4px !important;
  border: none !important;
  padding: 28px 32px !important;
  margin-top: 28px !important;
}
.cmp-cfo .cmp-cfo-q { color: #fdf9ef !important; }
.cmp-cfo .cmp-cfo-a { color: #fdf9ef !important; }
.cmp-cfo .cmp-cfo-v {
  color: #fdf9ef !important;
  background: rgba(196, 82, 15, 0.18) !important;
  border-left: 3px solid #c4520f !important;
  font-style: italic !important;
}
.cmp-cfo .cmp-cfo-q::before,
.cmp-cfo .cmp-cfo-a::before,
.cmp-cfo .cmp-cfo-v::before {
  color: #c4520f !important;
}

/* 3) Structural advantages headlines — force Charter serif */
.cmp-adv-h {
  font-family: "Charter", "Iowan Old Style", Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  color: #c4520f !important;
  text-transform: none !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 18px 0 !important;
}

/* Make sure the small kicker labels above each text are clearly secondary, not competing with the headline */
.cmp-adv-k {
  font-family: "JetBrains Mono", monospace !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #c4520f !important;
  margin-bottom: 8px !important;
}

/* =====================================================================
   v3.2.1 — Lovable v3.2 QA cosmetic fixes
   1) Profile card titles → Charter serif (not bold sans uppercase)
   2) Ecosystem table column 1 → Charter serif
   3) Anchor the Chrome positioning lead strong sentence visually so the
      Google-replacement framing reads as the page anchor
   ===================================================================== */

/* 1) Profile card titles — force Charter serif */
.gr-profile-name {
  font-family: "Charter", "Iowan Old Style", Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #0a0e27 !important;
  text-transform: none !important;
  letter-spacing: -0.005em !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}
.gr-profile-seg {
  font-family: "JetBrains Mono", monospace !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #c4520f !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin-bottom: 4px !important;
}

/* 2) Ecosystem table column 1 — Charter serif layer name */
.gr-eco-tbl .gr-eco-layer {
  font-family: "Charter", "Iowan Old Style", Georgia, serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #0a0e27 !important;
  text-transform: none !important;
  letter-spacing: -0.005em !important;
}
.gr-eco-tbl .gr-eco-moz {
  font-family: "Inter", system-ui, sans-serif !important;
  color: #c4520f !important;
  font-weight: 600 !important;
}

/* 3) Anchor the lead strong sentence in any vendor teardown Positioning section.
   Whichever sentence the data file marks with the FIRST <strong> inside the
   first <p> becomes the visual page-anchor — orange, slightly larger, tighter
   line so it reads as a lead, not just emphasis. */
.td-positioning p:first-child strong:first-of-type {
  color: #c4520f !important;
  font-weight: 700 !important;
  font-size: 1.06em !important;
  letter-spacing: -0.005em !important;
  display: inline-block !important;
  padding-bottom: 2px !important;
  border-bottom: 2px solid rgba(196, 82, 15, 0.25) !important;
}
