/* ── WhatsApp float ── */
.wa-float { display: flex; align-items: center; gap: 8px; background: linear-gradient(135deg,#25D366,#128C7E); color: #fff; padding: 12px 20px; border-radius: 50px; box-shadow: 0 4px 20px rgba(37,211,102,0.4); font-weight: 600; font-size: 14px; text-decoration: none; transition: all .3s ease; animation: wa-pulse 2.5s infinite; }
.wa-float:hover { transform: translateY(-3px); box-shadow: 0 8px 30px rgba(37,211,102,0.55); color: #fff; }
@keyframes wa-pulse { 0%,100% { box-shadow: 0 4px 20px rgba(37,211,102,0.3); } 50% { box-shadow: 0 6px 28px rgba(37,211,102,0.6); } }

/* ════════════════════════════════════════════════
   MOBILE OPTIMIZATIONS (< 768px)
   ════════════════════════════════════════════════ */
@media (max-width: 768px) {
    html, body { overflow-x: hidden !important; max-width: 100vw !important; }

    /* ── Global ── */
    h1, .display-4, .display-5 { font-size: 1.8rem !important; line-height: 1.25 !important; }
    h2 { font-size: 1.5rem !important; }
    .py-6 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
    .container { padding-left: 16px; padding-right: 16px; }

    /* ── Hero ── */
    .pl-hero { min-height: 80vh; }
    .pl-hero-content { padding: 1rem; }
    .pl-hero-content h1 { font-size: 2.8rem !important; line-height: 1.1 !important; letter-spacing: -0.5px; }
    .pl-hero-content .hero-sub { font-size: 1.1rem !important; line-height: 1.6 !important; }
    .pl-hero-content .hero-tag { font-size: 0.65rem !important; padding: 4px 12px !important; }
    .hero-features { gap: 0.5rem !important; }
    .hero-features span { font-size: 0.8rem !important; }
    .pl-hero-content .d-flex.gap-3 { display: flex; flex-direction: column; align-items: center; gap: 0.75rem !important; width: 100%; }
    .pl-hero-content .btn { display: inline-flex; align-items: center; width: auto !important; padding: 10px 22px !important; font-size: 0.9rem !important; margin: 0 !important; }

    /* ── Trust strip ── */
    .trust-badge { padding: 0.4rem 0.75rem !important; font-size: 0.7rem !important; }

    /* ── About section ── */
    #about .row { flex-direction: column-reverse; }
    #about .col-lg-5 img { max-height: 300px; width: 100%; object-fit: cover; border-radius: 12px; }

    /* ── Culture cards ── */
    .myc-card { margin-bottom: 0.5rem; }

    /* ── Why Us ── */
    .why-us-icon { font-size: 1.8rem !important; }

    /* ── Destinations ── */
    .dest-card { height: 280px !important; min-height: 280px !important; }
    .dest-card img { height: 280px !important; }
    .dest-card .dest-overlay { padding: 1.2rem !important; }
    .dest-card .dest-overlay h3 { font-size: 1.6rem !important; }

    /* ── Reviews ── */
    .review-card { padding: 1.5rem !important; }

    /* ── Packages CTA ── */
    .packages-cta-card { padding: 1.5rem !important; }

    /* ── FAQ ── */
    .faq-magazine .faq-grid { grid-template-columns: 1fr !important; gap: 0.5rem !important; }
    .faq-magazine .faq-item { padding: 1rem 1.2rem !important; }
    .faq-magazine .faq-q { font-size: 0.9rem !important; }
    .faq-magazine .faq-a { font-size: 0.85rem !important; }

    /* ── Inquiry form ── */
    #form .row.g-0 { flex-direction: column !important; border-radius: 14px !important; }
    #form .col-lg-6:first-child { min-height: 220px !important; }
    #form .col-lg-6:last-child { padding: 1.5rem !important; }
    #form .col-lg-6:first-child .contact-info-overlay { padding: 1.2rem !important; bottom: 0 !important; }

    /* ── Footer ── */
    .gms-footer { padding: 3rem 0 0 !important; }
    .gms-footer .row.g-4 { --bs-gutter-x: 1rem; }
    .gms-footer .col {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        margin-bottom: 1.5rem !important;
        text-align: center;
    }
    .gms-footer .social-links { justify-content: center; }
    .gms-footer .brand-desc { max-width: 100% !important; margin-left: auto; margin-right: auto; }
    .gms-footer .contact-list { align-items: center; }
    .gms-footer .contact-list a, .gms-footer .contact-list span { justify-content: center; }
    .gms-footer .links a { justify-content: center; }
    .gms-footer .cta-card { margin-top: 1rem; }

    /* ── Gallery marquee ── */
    .gallery-marquee-item { width: 200px !important; }
    .gallery-marquee-item img { width: 200px !important; height: 280px !important; }

    /* ── Exit intent popup ── */
    .exit-popup-content { padding: 2rem 1.5rem !important; width: 92% !important; }
}

/* ════════════════════════════════════════════════
   SMALL PHONES (< 400px)
   ════════════════════════════════════════════════ */
@media (max-width: 400px) {
    html, body { overflow-x: hidden !important; }
    .pl-hero-content h1 { font-size: 2.2rem !important; }
    .pl-hero-content .hero-sub { font-size: 1rem !important; }
    .pl-hero-content .btn { padding: 8px 16px !important; font-size: 0.82rem !important; }
    .dest-card { height: 220px !important; min-height: 220px !important; }
    .dest-card img { height: 220px !important; }
    .faq-magazine .faq-item { padding: 0.8rem 1rem !important; }
    .faq-magazine .faq-q { font-size: 0.82rem !important; }
    .inquiry-section .col-lg-6:last-child { padding: 1.2rem !important; }
    .gms-footer { padding: 2.5rem 0 0 !important; font-size: 0.82rem; }
    .gms-footer .cta-card { padding: 1rem !important; }
}

/* ── Tap target minimum (accessibility) ── */
@media (pointer: coarse) {
    a, button, .btn, input[type="submit"], .faq-q {
        min-height: 44px;
        min-width: 44px;
    }
    input, select, textarea {
        font-size: 16px !important; /* prevents iOS zoom on focus */
    }
}
