/* ============================================================
   RESPONSIVE / MOBILE POLISH  —  Tourix Group (TRG)
   Loaded LAST so it overrides inline styles where needed.
   Desktop layout is untouched (all rules are inside @media).
   ============================================================ */

/* ---- Global safety: no horizontal scroll, fluid media ---- */
html, body { overflow-x: hidden; max-width: 100%; }
img, video, iframe { max-width: 100%; height: auto; }

/* =====================  TABLET & PHONE  (<=768px)  ===================== */
@media (max-width: 768px) {

    /* ---------- Navbar: logo + hamburger on one tidy row ---------- */
    .navbar { padding: 12px 0 !important; }
    .navbar .logo img { height: 40px !important; }
    .menu-toggle {
        position: absolute !important;
        top: 50% !important;
        left: 18px !important;
        transform: translateY(-50%) !important;
        margin: 0 !important;
    }

    /* ---------- Shrink oversized section padding ---------- */
    section[style*="padding: 100px 0"] { padding: 56px 0 !important; }
    .services { padding: 56px 0 !important; }
    .section-header { margin-bottom: 40px !important; }

    /* ---------- Hero slider ---------- */
    .hero-content { padding: 90px 18px 50px !important; }
    .hero-tag { font-size: 12px !important; margin-bottom: 18px !important; }
    .hero-title { font-size: 2.2rem !important; }
    .hero-subtitle { font-size: 1.05rem !important; }
    .hero-subtitle-en { font-size: .92rem !important; margin-bottom: 28px !important; }
    .hero-buttons { gap: 12px !important; }
    .hero-buttons .btn { padding: 13px 26px !important; font-size: 14px !important; }

    /* ---------- Section headings / text ---------- */
    .section-title { font-size: 1.9rem !important; }
    .section-desc { font-size: 1rem !important; }

    /* ---------- Stats band ---------- */
    .stats-section { margin-top: -30px !important; padding: 50px 0 !important; }
    .stats { gap: 18px !important; }
    .stat { padding: 28px 20px !important; }
    .stat-number { font-size: 2.4rem !important; }

    /* ---------- "Why choose us" feature grid (was broken) ---------- */
    .why-us [style*="repeat(3, 1fr)"] {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }
    .feature-card { padding: 36px 26px !important; }

    /* Guarantee banner (last block in why-us) */
    .why-us > div > div:last-child { padding: 40px 24px !important; }
    .why-us > div > div:last-child h2 { font-size: 1.8rem !important; }
    .why-us > div > div:last-child p { font-size: 1.05rem !important; }

    /* ---------- Services & portfolio cards ---------- */
    .services-grid { grid-template-columns: 1fr !important; }
    .service-card { padding: 30px 26px !important; }

    /* ---------- Testimonials ---------- */
    .testimonials-slider > button { display: none !important; } /* off-screen arrows */
    .testimonial-slide > div { padding: 34px 22px !important; }
    .testimonial-slide p { font-size: 1.1rem !important; line-height: 1.8 !important; margin-bottom: 28px !important; }
    .testimonial-slide [style*="font-size: 5rem"] { font-size: 2.4rem !important; top: 14px !important; right: 14px !important; }
    .testimonial-slide img { width: 64px !important; height: 64px !important; }

    /* ---------- Generic: collapse 2-col grids, tame big inline padding ---------- */
    [style*="grid-template-columns: 1fr 1fr"] { grid-template-columns: 1fr !important; gap: 24px !important; }
    [style*="padding: 60px 50px"] { padding: 34px 22px !important; }
    [style*="padding: 50px"] { padding: 30px 22px !important; }

    /* Big inline headings (contact "ready to start", FAQ cta, etc.) */
    .contact-enhanced h2[style*="font-size: 3rem"] { font-size: 1.9rem !important; }
    .faq-item h3 { font-size: 1.1rem !important; }
    .faq-item [style*="padding: 30px 40px"] { padding: 22px 22px !important; }
    .faq-answer [style*="padding: 0 40px 30px 40px"] { padding: 0 22px 24px 22px !important; }

    /* Contact form / cards padding */
    .contact-enhanced form input,
    .contact-enhanced form select,
    .contact-enhanced form textarea { font-size: 16px !important; } /* avoid iOS zoom */
}

/* =====================  SMALL PHONES  (<=480px)  ===================== */
@media (max-width: 480px) {
    .container { padding: 0 16px !important; }

    .hero-title { font-size: 1.9rem !important; }
    .hero-subtitle { font-size: .98rem !important; }
    .hero-buttons { flex-direction: column !important; width: 100%; }
    .hero-buttons .btn { width: 100% !important; text-align: center; }

    .section-title { font-size: 1.6rem !important; }
    .stat-number { font-size: 2rem !important; }

    .testimonial-slide p { font-size: 1.02rem !important; }

    /* keep client-logos / trust rows from spreading too wide */
    [style*="gap: 60px"] { gap: 28px !important; }
    [style*="gap: 80px"] { gap: 28px !important; }
}
