/* =========================================================
   RESPONSIVE.CSS — Mobile-first breakpoints
   ========================================================= */

/* ---- Tablet: ≤1024px ---- */
@media (max-width: 1024px) {
    :root { --pn-section-pad: 70px; }

    .pn-services-grid { grid-template-columns: repeat(2, 1fr); }
    .pn-gallery-grid { grid-template-columns: repeat(3, 1fr); }
    .pn-gallery-masonry { grid-template-columns: repeat(3, 1fr); }
    .pn-blog-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
    .contact-cards-grid { grid-template-columns: repeat(2, 1fr); }
    .about-grid { gap: 50px; }
    .mission-grid { grid-template-columns: 1fr 1fr; }
    .why-us-grid { grid-template-columns: repeat(2, 1fr); }
    .services-tab-layout { grid-template-columns: 260px 1fr; gap: 24px; }
    .features-list { grid-template-columns: 1fr; }
    .single-post-grid { grid-template-columns: 1fr; }
    .blog-sidebar { display: none; }
    .related-grid { grid-template-columns: 1fr 1fr; }
    .about-stats-4 { grid-template-columns: repeat(2, 1fr); }
}

/* ---- Mobile Large: ≤768px ---- */
@media (max-width: 768px) {
    :root {
        --pn-section-pad: 55px;
        --pn-container: 100%;
    }

    html { font-size: 15px; }

    /* Header */
    .main-navigation { display: none; }
    .header-social { display: none; }
    .btn-call span { display: none; }
    .btn-call { padding: 8px 12px; }
    .btn-whatsapp span { display: none; }
    .btn-whatsapp { padding: 8px 12px; }
    .hamburger { display: flex; }
    .header-inner { height: 66px; }
    .site-content { margin-top: 66px; }
    .front-page .pn-hero { padding-top: 66px; }

    /* Hero */
    .pn-slider { height: 80vh; min-height: 500px; }
    .slide-title { font-size: 2rem; }
    .slide-desc { font-size: 0.95rem; }
    .slide-actions { flex-direction: column; align-items: center; gap: 12px; }
    .pn-slider-arrow { width: 40px; height: 40px; }
    .pn-slider-prev { left: 12px; }
    .pn-slider-next { right: 12px; }
    .pn-scroll-down { display: none; }

    /* Flash news */
    .flash-news-label { padding: 0 12px; font-size: 0.65rem; }

    /* Sections */
    .pn-section-header { margin-bottom: 40px; }

    /* About */
    .about-grid { grid-template-columns: 1fr; gap: 30px; }
    .about-grid--reverse { direction: ltr; }
    .about-image-wrap img { height: 320px; }
    .about-badge { left: 10px; bottom: 20px; padding: 12px 18px; }
    .about-text-side { padding-right: 0; }
    .about-stats { grid-template-columns: repeat(3, 1fr); padding: 20px; }
    .about-stats-4 { grid-template-columns: repeat(2, 1fr); }
    .stat-num { font-size: 1.6rem; }

    /* Services */
    .pn-services-grid { grid-template-columns: 1fr; }
    .services-tab-layout { grid-template-columns: 1fr; }
    .services-tab-nav { position: static; }
    .service-tab-btn.active { background: var(--pn-primary); }
    .service-hero-img { height: 220px; }
    .service-panel-title-wrap h1 { font-size: 1.4rem; }
    .service-gallery-grid { grid-template-columns: repeat(2, 1fr); }

    /* Gallery */
    .pn-gallery-grid { grid-template-columns: repeat(2, 1fr); }
    .pn-gallery-masonry { grid-template-columns: repeat(2, 1fr); }
    .pn-gallery-masonry .pn-gallery-item:nth-child(5n+1) .gallery-item-inner { min-height: 220px; }
    .gallery-filter-tabs { gap: 8px; }
    .gallery-filter-btn { padding: 8px 16px; font-size: 0.8rem; }

    /* Testimonials */
    .testimonial-card { padding: 32px 24px; }
    .testimonial-quote-icon { font-size: 5rem; top: 20px; left: 20px; }

    /* CTA */
    .pn-cta { padding: 70px 0; background-attachment: scroll; }
    .pn-cta-actions { flex-direction: column; align-items: center; }
    .pn-cta-actions .pn-btn { width: 100%; max-width: 320px; justify-content: center; }

    /* Blog */
    .pn-blog-grid, .pn-posts-grid { grid-template-columns: 1fr; }
    .related-grid { grid-template-columns: 1fr; }

    /* Footer — main columns: vertical + centered */
    .footer-grid { grid-template-columns: 1fr; gap: 35px; }
    .footer-col { text-align: center; }
    .footer-brand { text-align: center; }
    .footer-logo { text-align: center; display: flex; justify-content: center; }
    .footer-logo .site-logo-text { justify-content: center; }
    .footer-logo .custom-logo-link { display: flex; justify-content: center; }
    .footer-social { justify-content: center; }

    /* Center nav menu links */
    .footer-menu a { justify-content: center; }
    .footer-menu a::before { display: none; } /* hide bullet dot when centered */

    /* Center contact list items */
    .footer-contact-list li { justify-content: center; }

    /* Footer bottom — stack copyright & credit, hide desktop legal row */
    .footer-bottom-inner { flex-direction: column; align-items: center; text-align: center; gap: 6px; }
    .footer-bottom-inner .footer-legal { display: none; } /* hidden — shown in mobile ext block instead */

    /* Show mobile-only extra block and its legal nav */
    .footer-bottom-ext { display: block; text-align: center; }
    .footer-legal-mobile { display: flex; }

    /* Contact */
    .contact-cards-grid { grid-template-columns: 1fr; }
    .contact-main-grid { grid-template-columns: 1fr; }
    .form-row-2 { grid-template-columns: 1fr; }
    .whatsapp-cta-card { flex-direction: column; text-align: center; }

    /* Mission */
    .mission-grid { grid-template-columns: 1fr; }
    .why-us-grid { grid-template-columns: 1fr; }

    /* Page banner */
    .pn-page-banner { padding: 60px 0 45px; }
    .pn-page-title { font-size: 1.8rem; }

    /* Lightbox nav */
    .lightbox-prev { left: 8px; }
    .lightbox-next { right: 8px; }

    /* Admin */
    .pn-grid-2 { grid-template-columns: 1fr !important; }
    .pn-grid-3 { grid-template-columns: 1fr !important; }
    .pn-grid-4 { grid-template-columns: 1fr 1fr !important; }
}

/* ---- Mobile Small: ≤480px ---- */
@media (max-width: 480px) {
    html { font-size: 14px; }

    .pn-gallery-grid { grid-template-columns: 1fr 1fr; }
    .pn-gallery-masonry { grid-template-columns: 1fr 1fr; }
    .gallery-item-inner { height: 160px; }
    .about-stats { grid-template-columns: repeat(3, 1fr); }
    .pn-slider { height: 90vh; }
    .slide-title { font-size: 1.7rem; }
    /* WhatsApp icon already visible at ≤768px — no override needed here */
    .service-gallery-grid { grid-template-columns: repeat(2, 1fr); }

    .pn-btn-lg { padding: 14px 28px; }
    .slide-actions .pn-btn { font-size: 0.85rem; padding: 12px 24px; }
}

/* ---- Print ---- */
@media print {
    .site-header, .pn-flash-news, .pn-hero, .pn-cta,
    .site-footer, .hamburger, .mobile-menu-overlay,
    .pn-slider-arrow, .pn-slider-dots, .pn-scroll-down { display: none !important; }

    .site-content { margin-top: 0 !important; }
    body { color: #000; background: #fff; }
    a { color: #000; text-decoration: underline; }
}
