/* ============================================================
   GLOBAL FONT IMPROVEMENTS — DieselDealsOS
   Bumps font sizes ~2px across the board + text crispness
   ============================================================ */

/* --- Font smoothing (add once, applies everywhere) --- */
*, *::before, *::after {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* --- Base font bump (body baseline) --- */
body {
  font-size: 17px;
}

/* ---- INDEX.HTML ---- */
/* Hero */
.hero-sub {
  font-size: 1.2rem;
}
.hero-cta {
  font-size: 1.0625rem;
}
.hero-label {
  font-size: 0.8125rem;
}
/* Metric bar */
.metric-label {
  font-size: 0.875rem;
}
.metric-value {
  font-size: 2.125rem;
}
/* Feature cards */
.feature-card p {
  font-size: 0.9375rem;
}
.feature-card h3 {
  font-size: 1.3125rem;
}
/* Footer */
footer {
  font-size: 0.875rem;
}
/* Nav */
.nav-tag {
  font-size: 0.8125rem;
}
.nav-cta {
  font-size: 0.9375rem;
}
/* Closing */
.closing p {
  font-size: 1.0625rem;
}

/* ---- INVENTORY.HTML ---- */
/* Nav */
.nav-tag {
  font-size: 0.8125rem;
}
.nav-link {
  font-size: 0.9375rem;
}
.nav-cta {
  font-size: 0.9375rem;
}
/* Page header */
.page-header p {
  font-size: 1.0625rem;
}
/* Inventory count */
.inventory-count {
  font-size: 0.9375rem;
}
.inventory-count .count {
  font-size: 0.875rem;
}
/* Filters */
.filter-label {
  font-size: 0.875rem;
}
.filter-select {
  font-size: 0.9375rem;
}
/* Truck card */
.truck-image-label {
  font-size: 0.8125rem;
}
.truck-photo-count {
  font-size: 0.8125rem;
}
.truck-title {
  font-size: 1.25rem;
}
.truck-engine {
  font-size: 1rem; /* 16px — minimum for mobile body text */
}
/* Spec values — !important beats inline <style> blocks in inventory.html */
.spec-label {
  font-size: 0.875rem !important;
}
.spec-value {
  font-size: 1rem !important;
}
/* Price */
.truck-price {
  font-size: 1.625rem;
}
/* CTA — must be 18px+ on mobile */
.truck-cta {
  font-size: 1.125rem !important;
  padding: 12px 20px;
}
/* CTA banner */
.cta-banner-text p {
  font-size: 1rem;
}
.cta-banner-text h3 {
  font-size: 1.5rem;
}
.cta-phone {
  font-size: 1.125rem;
}
/* Empty/loading */
.empty-state p,
.loading p {
  font-size: 1rem;
}
.empty-state h3 {
  font-size: 1.375rem;
}
/* Footer */
footer {
  font-size: 0.875rem;
}

/* ---- LOT-BOARD.HTML ---- */
.stat-label {
  font-size: 0.8125rem;
}
.stat-value {
  font-size: 1.6875rem;
}
.nav-link {
  font-size: 0.9375rem;
}
.btn-primary {
  font-size: 0.9375rem;
}
.btn-secondary {
  font-size: 0.9375rem;
}
.btn-danger {
  font-size: 0.875rem;
}
.nav-breadcrumb {
  font-size: 0.9375rem;
}
.nav-badge {
  font-size: 0.75rem;
}
.filter-label {
  font-size: 0.875rem;
}
.filter-select,
.price-input {
  font-size: 0.9375rem;
}
/* Table cells */
.table-header {
  font-size: 0.8125rem;
}
.table-cell {
  font-size: 0.9375rem;
}
.table-name {
  font-size: 1rem;
}
.table-price {
  font-size: 1.0625rem;
}
.table-badge {
  font-size: 0.75rem;
}
.footer {
  font-size: 0.875rem;
}

/* ---- INQUIRIES.HTML ---- */
.stat-label {
  font-size: 0.8125rem;
}
.stat-value {
  font-size: 1.6875rem;
}
.nav-link {
  font-size: 0.9375rem;
}
.btn-primary {
  font-size: 0.9375rem;
}
.btn-secondary {
  font-size: 0.9375rem;
}
.nav-breadcrumb {
  font-size: 0.9375rem;
}
.filter-label {
  font-size: 0.875rem;
}
.filter-select {
  font-size: 0.9375rem;
}
.inquiry-name {
  font-size: 1rem;
}
.inquiry-meta {
  font-size: 0.8125rem;
}
.inquiry-status-badge {
  font-size: 0.8125rem;
}
.footer {
  font-size: 0.875rem;
}

/* ---- TRUCK-DETAIL.HTML ---- */
.nav-cta {
  font-size: 0.9375rem;
}
.back-link {
  font-size: 0.9375rem;
}
.truck-title {
  font-size: 1.75rem;
}
.truck-price {
  font-size: 2rem;
}
.truck-engine {
  font-size: 1rem; /* 16px — minimum for mobile body text */
}
.detail-label {
  font-size: 0.8125rem;
}
.detail-value {
  font-size: 1rem; /* 16px — specs on truck detail page */
}
/* Spec grid on detail page — bumped from 0.75rem/1.1rem defaults */
.spec-item-label {
  font-size: 0.875rem !important;
}
.spec-item-value {
  font-size: 1.125rem !important;
}
/* Notes body text */
.notes-text {
  font-size: 1rem !important;
  line-height: 1.75 !important;
}
/* Inquiry form */
.inquiry-field label {
  font-size: 0.875rem !important;
}
.inquiry-field input,
.inquiry-field textarea {
  font-size: 1rem !important;
}
.cta-phone {
  font-size: 1.125rem;
}
.cta-banner-text p {
  font-size: 1rem;
}
.footer {
  font-size: 0.875rem;
}

/* ============================================================
   MOBILE FONT OVERRIDES (max-width: 768px)
   Ensures body text and CTAs meet minimum sizes on mobile
   ============================================================ */
@media (max-width: 768px) {
  /* Body text: ensure 16px+ minimum */
  body {
    font-size: 16px;
  }
  /* Page header body copy */
  .page-header p {
    font-size: 1.0625rem; /* ~17px */
  }
  /* Truck card body text */
  .truck-engine {
    font-size: 1rem; /* 16px */
  }
  /* Spec values: ensure 16px+ on mobile (overrides inline style too) */
  .spec-value {
    font-size: 1.0625rem !important; /* 17px — above 16px minimum */
  }
  .spec-label {
    font-size: 0.875rem !important; /* 14px */
  }
  /* CTAs must be 18px+ on mobile */
  .truck-cta {
    font-size: 1.1875rem !important; /* 19px */
    padding: 14px 22px;
  }
  /* CTA banner text */
  .cta-banner-text p {
    font-size: 1.0625rem; /* ~17px body text */
  }
  .cta-phone {
    font-size: 1.125rem; /* 18px */
  }
  /* Sticky call bar */
  .sticky-call-bar {
    font-size: 1.0625rem; /* 17px — but it's a prominent bar */
  }
  /* Trust strip */
  .trust-badge {
    font-size: 0.875rem; /* 14px */
  }
  /* Filter inputs — 16px to prevent iOS zoom (already in inline but confirm) */
  .filter-select,
  .price-input,
  .year-input {
    font-size: 16px;
  }
  /* Footer */
  footer {
    font-size: 0.875rem;
  }
}

/* Small mobile */
@media (max-width: 480px) {
  .spec-value {
    font-size: 1rem !important;
  }
  .truck-cta {
    font-size: 1.125rem !important; /* 18px minimum */
  }
  .truck-price {
    font-size: 1.4rem;
  }
}

/* ---- TRUCK-DETAIL.HTML MOBILE ---- */
@media (max-width: 768px) {
  /* Spec grid items — ensure readable on small screens */
  .spec-item-label {
    font-size: 0.875rem !important; /* 14px */
  }
  .spec-item-value {
    font-size: 1.125rem !important; /* 18px */
  }
  /* Price on detail page */
  .detail-price {
    font-size: 2rem !important;
  }
  /* CTA phone button */
  .cta-phone {
    font-size: 1.125rem !important; /* 18px */
    padding: 16px 28px !important;
  }
  /* Inquiry form inputs prevent iOS zoom */
  .inquiry-field input,
  .inquiry-field textarea {
    font-size: 16px !important;
  }
  /* Notes body */
  .notes-text {
    font-size: 1rem !important;
  }
}

/* ── SEO LANDING PAGES ───────────────────────────────────────────── */
/* styles.css must use !important to override seo-landing.html's inline <style> blocks */
.truck-card-cta {
  font-size: 1.125rem !important; /* 18px — CTA minimum on all pages */
}
.truck-card-engine {
  font-size: 1rem !important; /* 16px — body text minimum */
}
.truck-card-img {
  object-fit: cover;
  background: var(--steel, #1a1d23);
}