/* ============================================================================
   BVTech V94 — Mobile-First Layer
   ----------------------------------------------------------------------------
   Loaded sitewide AFTER each page's inline styles, so these win on mobile.
   Philosophy: a business owner with one hand on their phone should understand
   what BVTech does and be able to contact us within 30 seconds.
   Desktop (>768px) is intentionally untouched.
   ============================================================================ */

@media (max-width: 768px) {

  /* ---- Compression: kill the endless scroll ---- */
  .hero-v48                 { padding: 104px 0 44px !important; }
  .page-hero                { padding: 104px 0 40px !important; }
  .content-section, .services, .why, .test, .faq, .cta, .blog-feat
                            { padding: 48px 0 !important; }
  .trusted                  { padding: 32px 0 !important; }
  .sd                       { margin-bottom: 28px !important; }
  .hero-sub                 { font-size: .98rem !important; line-height: 1.7 !important;
                              margin-bottom: 24px !important; }
  .hero h1                  { font-size: clamp(1.9rem, 8vw, 2.4rem) !important;
                              margin-bottom: 14px !important; }
  .hero-badge               { margin-bottom: 16px !important; font-size: .72rem !important; }
  .hero-stats               { margin-top: 28px !important; padding-top: 20px !important; gap: 12px !important; }
  .footer                   { padding: 44px 0 24px !important; }

  /* ---- Conversion: full-width thumb-sized CTAs ---- */
  .hero-btns                { gap: 10px !important; }
  .hero-btns .btn-p, .hero-btns .btn-o,
  .cta-a .btn-p, .cta-a .btn-o, .cta-a .btn-w
                            { width: 100% !important; justify-content: center !important;
                              padding: 15px 20px !important; }

  /* ---- Tap targets & readability (accessibility) ---- */
  .header-nav a, .fl a      { padding: 6px 0; display: inline-block; }
  .fq                       { padding: 18px 0 !important; min-height: 48px; }
  button, .btn-p, .btn-o, .btn-w { min-height: 48px; }
  body                      { font-size: 16.5px; }
  .sc p, .card p            { font-size: .9rem !important; }

  /* ---- Trust marquee: slower + roomier on small screens ---- */
  .trusted-scroll           { gap: 36px !important; animation-duration: 38s !important; }
  .trusted-label            { margin-bottom: 18px !important; }

  /* ---- Room for the sticky action bar ---- */
  body.bv-bar-on            { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
}

/* ---- Sticky mobile action bar (injected by bv-mobile.js) ---- */
.bv-bar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 1200;
  display: none; grid-template-columns: 1fr 1fr 1.3fr; gap: 1px;
  background: rgba(14,13,44,.97);
  -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
  border-top: 1px solid rgba(255,255,255,.1);
  padding-bottom: env(safe-area-inset-bottom);
}
.bv-bar a {
  display: flex; align-items: center; justify-content: center; gap: 7px;
  min-height: 56px; font-family: 'Poppins', sans-serif;
  font-size: .82rem; font-weight: 700; letter-spacing: .01em;
  color: #fff; text-decoration: none;
}
.bv-bar .bvb-call { background: rgba(38,196,133,.16); color: #26C485; }
.bv-bar .bvb-text { background: rgba(255,255,255,.05); }
.bv-bar .bvb-book { background: #4440DB; }
.bv-bar a:active  { filter: brightness(1.25); }
@media (max-width: 768px) { .bv-bar { display: grid; } }

/* Reduced motion: respect the setting on our animated bits */
@media (prefers-reduced-motion: reduce) {
  .trusted-scroll, .hero-medal img, .hero-vis .security-illust { animation: none !important; }
}
