/* ═══════════════════════════════════════════════════════════════════════
   FastFixCell.com — Responsive v3.0
   Consolidated Media Queries — Mobile-First Optimizations
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Tablet: 768px+ ─────────────────────────────────────────── */
@media (min-width: 768px) {
  .hide-desktop { display: none !important; }
}

/* ── Mobile: < 768px ────────────────────────────────────────── */
@media (max-width: 767px) {
  .hide-mobile { display: none !important; }

  :root {
    --section-gap: var(--space-16);
    --nav-height: 56px;
  }

  h1 { font-size: var(--text-4xl); }
  h2 { font-size: var(--text-3xl); }
  .section-title { font-size: var(--text-3xl); }
  .section-sub { font-size: var(--text-base); }

  .container { padding: 0 var(--space-4); }

  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .grid-auto { grid-template-columns: 1fr; }

  .hero { text-align: center; }
  .hero-actions { justify-content: center; }
  .hero-trust { justify-content: center; }

  .booking-container { grid-template-columns: 1fr; }
  .booking-steps { flex-direction: column; }

  .services-grid { grid-template-columns: 1fr; }

  .testimonials-grid { grid-template-columns: 1fr; }

  .shop-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }

  .modal { width: 95%; padding: var(--space-6); }
  .modal-actions { flex-direction: column; }
  .modal-actions .btn { width: 100%; }

  .drawer { width: 100%; max-width: 100%; }
}

/* ── Small Mobile: < 480px ──────────────────────────────────── */
@media (max-width: 479px) {
  h1 { font-size: var(--text-3xl); }
  h2 { font-size: var(--text-2xl); }

  .hero-title { font-size: clamp(2rem, 8vw, 2.5rem); }
  .hero-subtitle { font-size: var(--text-base); }
  .hero-actions { flex-direction: column; width: 100%; }
  .hero-actions .btn { width: 100%; justify-content: center; }

  .hero-trust { flex-direction: column; gap: var(--space-4); }

  .btn { width: 100%; justify-content: center; }
  .btn-xl { font-size: var(--text-base); padding: var(--space-4) var(--space-6); }

  .service-card { padding: var(--space-6) var(--space-4); }
  .service-card .service-icon { width: 56px; height: 56px; font-size: 1.5rem; }

  .shop-grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-3); }
  .shop-card-body { padding: var(--space-3); }

  .footer-social { justify-content: center; }
}

/* ── Large Desktop: 1400px+ ─────────────────────────────────── */
@media (min-width: 1400px) {
  .container { max-width: var(--container-wide); }
  .hero-title { font-size: var(--text-7xl); }
}

/* ── Print ──────────────────────────────────────────────────── */
@media print {
  .ff-header, .superchat-widget, .modal-overlay, .drawer-overlay,
  .hero-bg-glow, .hero-scanlines, .footer-bg-video { display: none !important; }
  body { background: white; color: black; }
  .container { max-width: 100%; padding: 0; }
}

/* ── Mobile Animation Overrides (30% faster per ux-ui-mastery) ── */
@media (max-width: 767px) {
  :root {
    --transition-fast: 100ms cubic-bezier(0.22, 1, 0.36, 1);
    --transition-base: 175ms cubic-bezier(0.22, 1, 0.36, 1);
    --transition-slow: 280ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  /* Mobile bottom action bar */
  .mobile-action-bar {
    display: flex;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    z-index: var(--z-sticky);
    padding: var(--space-3) var(--space-4);
    padding-bottom: max(var(--space-3), env(safe-area-inset-bottom));
    background: var(--glass-bg);
    backdrop-filter: var(--glass-blur-heavy);
    -webkit-backdrop-filter: var(--glass-blur-heavy);
    border-top: var(--border-default);
    gap: var(--space-3);
  }
  .mobile-action-bar .btn { flex: 1; }
}

@media (min-width: 768px) {
  .mobile-action-bar { display: none; }
}
