/**
 * Module CSS: 39-responsive.css
 * Trích nguyên văn dòng 2713-2866 của pctech-homepage.css gốc.
 * Không đổi nội dung — chỉ tách file theo đúng marker sẵn có trong code gốc.
 */
    /* ── Responsive ── */
    @media (max-width: 1100px) {
      .side-rail, .deco-strip { display: none; }
      .container { width: min(1200px, 92vw); }
    }
    @media (max-width: 1024px) {
      .hero-grid, .about-grid, .ai-grid { grid-template-columns: 1fr; }
      .hero-visual { order: -1; }
      .stats-grid { grid-template-columns: repeat(2, 1fr); }
      .stat-item:nth-child(2) { border-right: none; }
      .why-grid { grid-template-columns: repeat(2, 1fr); }
      .process-v2-steps { grid-template-columns: repeat(3, 1fr); }
      .process-infographic { grid-template-columns: 1fr; }
      .trust-bar-grid { grid-template-columns: repeat(2, 1fr); }
      .recovery-showcase { grid-template-columns: 1fr; }
      .recovery-gallery { grid-template-columns: 1fr 1fr; }
      .recovery-grid { grid-template-columns: repeat(3, 1fr); }
      .cases-grid, .testi-grid { grid-template-columns: 1fr 1fr; }
      .areas-grid { grid-template-columns: repeat(2, 1fr); }
      .footer-grid { grid-template-columns: 1fr 1fr; }
      .services-grid.services-bento { grid-template-columns: repeat(2, 1fr); }
      .services-bento .service-remote-featured { grid-column: span 2; grid-row: span 1; }
      .highlight-band-inner { justify-content: center; }
    }
    @media (max-width: 768px) {
      :root {
        --header-h: 64px;
        --fab-w: 50px;
      }
      .nav-links, .nav-cta { display: none; }
      .nav-toggle { display: flex; }
      .nav-drawer { display: block; }
      .logo img { height: 40px; }
      section { padding: 36px 0; }
      .hero { padding-top: 40px; padding-bottom: 56px; }
      .hero-grid { gap: 28px; }
      .hero-float-card { display: none; }
      .hero-img-main { border-width: 2px; }
      .hero-cta .btn { width: 100%; justify-content: center; }
      .hero-trust { flex-direction: column; }
      .trust-pill { width: 100%; justify-content: center; }
      .stats { margin-top: -24px; padding: 32px 0; }
      .stats-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
      .stat-num { font-size: 2rem; }
      .stat-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.1); padding: 14px; }
      .why-grid, .cases-grid, .testi-grid, .areas-grid { grid-template-columns: 1fr; }
      .recovery-gallery { grid-template-columns: 1fr; }
      .recovery-grid { grid-template-columns: repeat(2, 1fr); }
      .process-v2-steps { grid-template-columns: 1fr 1fr; }
      .trust-bar-grid { grid-template-columns: 1fr; }
      .fab-label { display: none; }
      /* Sticky CTA đã có Gọi + Zalo — ẩn FAB phải trên mobile */
      .fab-dock { display: none; }
      .back-to-top {
        bottom: calc(62px + env(safe-area-inset-bottom, 0px));
        right: 12px;
        width: 42px; height: 42px;
        font-size: 1rem;
      }
      .booking-toasts {
        top: auto;
        bottom: calc(76px + env(safe-area-inset-bottom, 0px));
        left: auto;
        right: 12px;
        max-width: 280px;
        align-items: flex-end;
        z-index: 9995;
      }
      .booking-toast {
        max-width: 280px;
        width: calc(100vw - 24px);
        padding: 10px 14px;
        gap: 10px;
        border-left-width: 3px;
        border-radius: 10px;
        box-shadow: 0 4px 18px rgba(13, 61, 122, 0.14);
        transform: translateX(calc(100% + 20px));
      }
      .booking-toast.show { transform: translateX(0); }
      .booking-toast.hide { transform: translateX(calc(100% + 20px)); }
      .booking-toast-icon { width: 34px; height: 34px; font-size: 1rem; }
      .booking-toast-body strong {
        font-size: 0.8rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      }
      .booking-toast-body span {
        font-size: 0.74rem;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        overflow: hidden;
      }
      .booking-toast-time { display: none; }
      .faq-layout { grid-template-columns: 1fr; }
      .faq-contact-card { position: static; }
      .services-grid.services-bento { grid-template-columns: 1fr; }
      .services-bento .service-remote-featured { grid-column: span 1; }
      .showcase-mosaic { grid-template-columns: 1fr; grid-template-rows: auto; }
      .showcase-mosaic .mosaic-large { grid-row: span 1; }
      .showcase-mosaic img { height: 200px; }
      .footer-grid {
          grid-template-columns: 1fr 1fr;
          row-gap: 32px;
          column-gap: 24px;
        }
      .footer-brand { grid-column: 1 / -1; }
      .footer-bottom { flex-direction: column; gap: 8px; text-align: center; }
      .section-desc { margin-bottom: 32px; }
      .highlight-band { padding: 24px 0; }
      .highlight-band-inner { flex-direction: column; align-items: flex-start; gap: 16px; }
      .highlight-item { width: 100%; }
      .cta-buttons { flex-direction: column; align-items: stretch; }
      .cta-buttons .btn { justify-content: center; }
      .cta-hotline { font-size: 1.15rem; }
      .recovery-showcase-img img { height: 240px; }
      .ticker-item { font-size: 0.78rem; }
      .process-infographic img { border-width: 2px; }
      .about-features { grid-template-columns: 1fr; }
      .about-grid { gap: 28px; }
      .pricing-grid, .blog-grid { grid-template-columns: 1fr; }
      .pricing-card.featured { transform: none; }
      .ba-slider { height: 260px; }
      .form-row { grid-template-columns: 1fr; }
      .promo-inner { flex-direction: column; text-align: center; }
      .remote-50k-dock {
        bottom: calc(54px + env(safe-area-inset-bottom, 0px));
        max-width: 160px;
      }
      .map-wrap { height: 280px; }
    }
    @media (max-width: 480px) {
      .container { width: 94vw; }
      .hero h1 { font-size: 1.65rem; }
      .hero-desc { font-size: 0.95rem; }
      .section-title { font-size: 1.45rem; }
      .process-v2-steps { grid-template-columns: 1fr; }
      .recovery-grid { grid-template-columns: 1fr 1fr; }
      .stat-num { font-size: 1.75rem; }
      .nav-cta-mobile { font-size: 0.8rem; padding: 8px 14px; }
      .service-card { padding: 20px; }
      .testi-card { padding: 0; }
      .testi-body { padding: 18px 20px 20px; }
      .faq-q { padding: 16px 18px; font-size: 0.88rem; }
    }
    @media (hover: none) and (pointer: coarse) {
      .service-card:hover { transform: none; }
      .fab:hover { transform: none; }
    }
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
      }
      .ticker-track, .partners-track, .brands-track, .reviews-track { animation: none; }
    }

