/* ============================================
   NESTPRO - Responsive Design
   Breakpoints: 1400, 1200, 992, 768, 576, 400
   ============================================ */

/* ===== 1400px - Large Desktops ===== */
@media (max-width: 1400px) {
    .container { max-width: 1200px; }
    .hero-slide-content h2 { font-size: 2.8rem; }
}

/* ===== 1200px - Desktops ===== */
@media (max-width: 1200px) {
    .container { max-width: 1000px; }
    .hero-slide-content h2 { font-size: 2.4rem; }
    .hero-slide-content p { font-size: 1rem; }

    /* Header */
    .main-nav a { font-size: 0.9rem; padding: 8px 12px; }

    /* Footer */
    .footer-grid { grid-template-columns: repeat(2, 1fr); gap: 30px; }

    /* Homepage Sections */
    .kpi-grid { grid-template-columns: repeat(3, 1fr); }
    .services-grid { grid-template-columns: repeat(2, 1fr); }
    .projects-grid { grid-template-columns: repeat(2, 1fr); }
    .approach-grid { grid-template-columns: repeat(2, 1fr); }

    /* About */
    .timeline-item { padding: 20px; }

    /* Services */
    .service-detail-layout { grid-template-columns: 1fr; }
    .service-sidebar { position: static; }

    /* Projects */
    .project-detail-layout { grid-template-columns: 1fr; }

    /* Blog */
    .blog-layout { grid-template-columns: 1fr; }
    .blog-sidebar { order: -1; }
    .blog-detail-layout { grid-template-columns: 1fr; }
    .blog-detail-sidebar { position: static; }

    /* Vendor */
    .upload-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ===== 992px - Tablets ===== */
@media (max-width: 992px) {
    .container { max-width: 90%; }
    :root { --fs-4xl: 2.2rem; --fs-3xl: 1.8rem; --fs-2xl: 1.5rem; }

    /* Header - Hide desktop nav, show hamburger */
    .desktop-nav { display: none; }
    .header-cta { display: none; }
    .hamburger { display: flex; }

    /* Hero */
    .hero-slide-content h2 { font-size: 2rem; }
    .hero-slide-content p { font-size: 0.95rem; }
    .hero-slide-content .btn { padding: 12px 28px; font-size: 0.9rem; }
    .hero-arrows { display: none; }

    /* Footer */
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-bottom { flex-direction: column; gap: 12px; text-align: center; }

    /* Page Header */
    .page-header h1 { font-size: 2rem; }
    .page-header p { font-size: 0.95rem; }

    /* Homepage */
    .kpi-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
    .kpi-card { padding: 24px 16px; }
    .kpi-card h3 { font-size: 2rem; }
    .about-preview-layout { grid-template-columns: 1fr; gap: 30px; }
    .about-preview-image { order: -1; }
    .special-layout { grid-template-columns: 1fr; gap: 30px; }
    .approach-grid { grid-template-columns: repeat(2, 1fr); }
    .testimonial-grid { grid-template-columns: 1fr; }

    /* Services */
    .services-sidebar-layout { grid-template-columns: 1fr; }
    .services-sidebar { position: static; order: -1; }
    .service-card-grid { grid-template-columns: repeat(2, 1fr); }

    /* Projects */
    .project-card-grid { grid-template-columns: repeat(2, 1fr); }
    .project-filter-bar { flex-direction: column; align-items: stretch; }

    /* Gallery */
    .gallery-grid { grid-template-columns: repeat(2, 1fr); }

    /* Contact */
    .contact-layout { grid-template-columns: 1fr; }
    .contact-info-grid { grid-template-columns: repeat(2, 1fr); }

    /* Career */
    .career-grid { grid-template-columns: 1fr; }

    /* Vendor */
    .vendor-form-wrapper { padding: 20px; }
    .form-row { grid-template-columns: 1fr; }
    .upload-grid { grid-template-columns: 1fr 1fr; }
    .vendor-progress { flex-wrap: wrap; justify-content: center; gap: 8px; }
    .progress-line { display: none; }

    /* Quotation */
    .category-grid { grid-template-columns: repeat(2, 1fr); }

    /* Blog */
    .blog-grid { grid-template-columns: repeat(2, 1fr); }

    /* Floating Buttons */
    .floating-buttons { bottom: 16px; right: 12px; }
    .floating-btn { width: 48px; height: 48px; }

    /* Policy */
    .policy-content { padding: 24px; }
}

/* ===== 768px - Large Phones ===== */
@media (max-width: 768px) {
    .container { max-width: 92%; padding: 0 16px; }
    :root { --fs-4xl: 1.8rem; --fs-3xl: 1.5rem; --fs-2xl: 1.3rem; --fs-xl: 1.15rem; }

    /* Header */
    .header-logo-img { height: 44px; max-width: 170px; }

    /* Hero */
    .hero-section { height: 70vh; min-height: 400px; }
    .hero-slide-content { padding: 20px; }
    .hero-slide-content h2 { font-size: 1.6rem; line-height: 1.2; }
    .hero-slide-content p { font-size: 0.85rem; }
    .hero-slide-content .btn { padding: 10px 24px; }
    .hero-dots { bottom: 16px; }
    .hero-counter { display: none; }
    .hero-glass-tagline { padding: 12px 20px; font-size: 0.8rem; }

    /* Footer */
    .footer-grid { grid-template-columns: 1fr; gap: 24px; }
    .footer-newsletter { flex-direction: column; }
    .footer-social { justify-content: center; }

    /* Page Header */
    .page-header { padding: 80px 0 40px; }
    .page-header h1 { font-size: 1.6rem; }

    /* Homepage */
    .kpi-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .kpi-card { padding: 20px 12px; }
    .kpi-card h3 { font-size: 1.6rem; }
    .kpi-card p { font-size: 0.75rem; }
    .services-grid { grid-template-columns: 1fr; }
    .projects-grid { grid-template-columns: 1fr; }
    .approach-grid { grid-template-columns: 1fr; }
    .section-padding { padding: 50px 0; }
    .section-header h2 { font-size: 1.6rem; }
    .client-carousel-track img { height: 40px; }

    /* About */
    .timeline { padding-left: 20px; }
    .timeline-item { padding: 16px; }
    .vmv-grid { grid-template-columns: 1fr; }
    .awards-grid { grid-template-columns: repeat(2, 1fr); }

    /* Services */
    .service-card-grid { grid-template-columns: 1fr; }

    /* Projects */
    .project-card-grid { grid-template-columns: 1fr; }
    .project-gallery-grid { grid-template-columns: repeat(2, 1fr); }
    .project-info-grid { grid-template-columns: 1fr; }

    /* Gallery */
    .gallery-grid { grid-template-columns: 1fr; }
    .gallery-filters { flex-wrap: wrap; gap: 8px; }

    /* Contact */
    .contact-info-grid { grid-template-columns: 1fr; }
    .contact-map { height: 250px; }

    /* Career */
    .job-card { padding: 16px; }
    .job-meta { flex-wrap: wrap; gap: 8px; }

    /* Quotation */
    .category-grid { grid-template-columns: 1fr 1fr; }
    .quote-step { padding: 20px 16px; }

    /* Blog */
    .blog-grid { grid-template-columns: 1fr; }
    .blog-card-image img { height: 200px; }
    .related-posts .blog-grid { grid-template-columns: 1fr; }

    /* Search */
    .search-bar-lg { padding: 12px 16px; }
    .search-input-lg { font-size: 1rem; }
    .search-quick-links { flex-wrap: wrap; }

    /* Floating Buttons */
    .floating-buttons { gap: 8px; }
    .floating-btn { width: 44px; height: 44px; font-size: 18px; }

    /* Lightbox */
    .lightbox-close { top: 10px; right: 10px; font-size: 28px; }
    .lightbox-nav { width: 40px; height: 40px; }

    /* Custom Cursor - hide on touch devices */
    .custom-cursor, .cursor-follower { display: none !important; }
}

/* ===== 576px - Phones ===== */
@media (max-width: 576px) {
    .container { max-width: 100%; padding: 0 12px; }
    :root { --fs-4xl: 1.5rem; --fs-3xl: 1.3rem; --fs-2xl: 1.15rem; }

    /* Header */
    .header-logo-img { height: 36px; max-width: 150px; }
    .mobile-overlay .mobile-nav a { font-size: 1rem; padding: 14px 24px; }

    /* Hero */
    .hero-section { height: 60vh; min-height: 360px; }
    .hero-slide-content h2 { font-size: 1.3rem; }
    .hero-slide-content p { font-size: 0.8rem; }
    .hero-glass-tagline { font-size: 0.7rem; padding: 10px 16px; }

    /* Page Header */
    .page-header { padding: 70px 0 30px; }
    .page-header h1 { font-size: 1.4rem; }
    .breadcrumb { font-size: 0.75rem; }

    /* Sections */
    .section-padding { padding: 40px 0; }
    .section-header h2 { font-size: 1.4rem; }
    .section-header p { font-size: 0.85rem; }

    /* KPI */
    .kpi-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .kpi-card { padding: 16px 10px; }
    .kpi-card h3 { font-size: 1.3rem; }

    /* Footer */
    .footer-section { padding: 40px 0 20px; }

    /* Buttons */
    .btn { padding: 10px 20px; font-size: 0.85rem; }
    .btn-lg { padding: 12px 28px; }

    /* Forms */
    .form-row { grid-template-columns: 1fr; gap: 12px; }

    /* Cards */
    .card-glass, .card-glass-light { padding: 20px; }

    /* FAQ */
    .faq-item { padding: 14px; }
    .faq-question { font-size: 0.9rem; }

    /* Vendor */
    .upload-grid { grid-template-columns: 1fr; }
    .review-grid { grid-template-columns: 1fr; }

    /* Policy */
    .policy-content { padding: 16px; }
    .policy-content h2 { font-size: 1.2rem; }
    .policy-content h3 { font-size: 1rem; }

    /* Search */
    .search-result-item { padding: 12px; }
    .sr-title { font-size: 0.9rem; }

    /* Pagination */
    .pagination { gap: 4px; }
    .pagination a, .pagination span { padding: 6px 10px; font-size: 0.8rem; }
}

/* ===== 400px - Small Phones ===== */
@media (max-width: 400px) {
    .container { padding: 0 8px; }

    /* Hero */
    .hero-section { height: 55vh; min-height: 320px; }
    .hero-slide-content h2 { font-size: 1.1rem; }
    .hero-slide-content .btn { padding: 8px 18px; font-size: 0.8rem; }

    /* KPI */
    .kpi-card h3 { font-size: 1.1rem; }
    .kpi-card p { font-size: 0.7rem; }

    /* Cards */
    .category-grid { grid-template-columns: 1fr; }

    /* Buttons */
    .btn { padding: 8px 16px; font-size: 0.8rem; }

    /* Floating Buttons */
    .floating-btn { width: 40px; height: 40px; font-size: 16px; }
}

/* ===== Landscape Orientation ===== */
@media (max-height: 500px) and (orientation: landscape) {
    .hero-section { height: 80vh; }
    .mobile-overlay { overflow-y: auto; }
    .preloader { padding: 20px; }
}

/* ===== Print Styles ===== */
@media print {
    .header, .footer-section, .floating-buttons, .back-to-top,
    .preloader, .custom-cursor, .cursor-follower, .hero-arrows,
    .hero-dots, .client-carousel, .newsletter-section,
    .cookie-consent, .breadcrumb, .page-header { display: none !important; }
    body { font-size: 12pt; color: #000; }
    .container { max-width: 100%; }
    a { color: #000; text-decoration: underline; }
    .section-padding { padding: 20px 0; }
}

/* ===== High DPI / Retina ===== */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .hero-slide-content h2 { -webkit-font-smoothing: antialiased; }
}

/* ===== Reduced Motion ===== */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    .hero-slider-track { transition: none !important; }
    .client-carousel-track { animation: none !important; }
}
