/* ===========================
   ALLCORE SOLUTION - RESPONSIVE CSS
   =========================== */

/* ===== LARGE DESKTOP (1400px+) ===== */
@media (min-width: 1400px) {
    .container { max-width: 1320px; }
    .hero-title { font-size: 4.5rem; }
    .hero-img-container { width: 440px; height: 440px; }
}

/* ===== LAPTOP (1200px and below) ===== */
@media (max-width: 1200px) {
    .hero-grid { gap: 40px; }
    .hero-img-container { width: 320px; height: 320px; }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
    .packages-grid { gap: 18px; }
    .pkg-card { padding: 28px 20px; }
}

/* ===== TABLET LANDSCAPE (1024px and below) ===== */
@media (max-width: 1024px) {
    section { padding: 70px 0; }

    /* Navbar */
    .nav-menu {
        position: fixed;
        top: 0;
        right: -100%;
        width: 300px;
        height: 100vh;
        background: var(--white);
        flex-direction: column;
        align-items: flex-start;
        padding: 80px 30px 40px;
        gap: 4px;
        box-shadow: -10px 0 40px rgba(0,0,0,0.12);
        transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        z-index: 999;
        overflow-y: auto;
    }
    .nav-menu.open { right: 0; }
    .nav-link { padding: 10px 0; font-size: 0.95rem; width: 100%; border-bottom: 1px solid var(--border); }
    .nav-link::after { display: none; }
    .btn-nav-cta { width: 100%; text-align: center; margin-top: 12px; }
    .hamburger { display: flex; z-index: 1001; }

    /* Dropdown - mobile */
    .dropdown-menu {
        position: static;
        width: 100%;
        transform: none !important;
        box-shadow: none;
        border: none;
        border-radius: var(--radius-sm);
        background: var(--light-bg);
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        display: none;
        overflow: hidden;
        margin-top: 4px;
    }
    .dropdown-menu::before { display: none; }
    .nav-dropdown.mobile-open .dropdown-menu { display: block; }
    .dropdown-grid { grid-template-columns: 1fr; gap: 2px; padding: 8px; }
    .dropdown-item { padding: 10px 12px; font-size: 0.82rem; }
    .dropdown-footer { display: none; }
    .dropdown-arrow { float: right; margin-top: 2px; }
    .nav-dropdown.mobile-open .dropdown-arrow { transform: rotate(180deg); }


    .nav-overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,0.5);
        z-index: 998;
        backdrop-filter: blur(4px);
    }
    .nav-overlay.active { display: block; }

    /* Hero */
    .hero-grid { grid-template-columns: 1fr; text-align: center; gap: 50px; }
    .hero-content { order: 1; }
    .hero-image-wrap { order: 2; justify-content: center; }
    .hero-badge { margin: 0 auto 24px; }
    .hero-desc { margin: 0 auto 32px; }
    .hero-stats { justify-content: center; }
    .hero-btns { justify-content: center; }
    .hero-social-side {
        position: relative;
        right: auto;
        top: auto;
        transform: none;
        flex-direction: row;
        justify-content: center;
        margin-top: 24px;
    }
    .social-line { display: none; }

    /* About */
    .about-grid { grid-template-columns: 1fr; gap: 50px; }
    .about-img-wrap { order: 1; }
    .about-content { order: 2; }
    .about-img-container { max-width: 480px; margin: 0 auto; }

    /* Projects */
    .projects-grid { grid-template-columns: repeat(2, 1fr); }

    /* Contact */
    .contact-grid { grid-template-columns: 1fr; gap: 40px; }

    /* Packages */
    .packages-grid { grid-template-columns: 1fr; max-width: 420px; margin: 0 auto; }
    .pkg-card.featured { transform: scale(1); }
    .pkg-card.featured:hover { transform: translateY(-6px); }

    /* Top bar */
    .top-bar-left a:last-child { display: none; }
}

/* ===== TABLET PORTRAIT (768px and below) ===== */
@media (max-width: 768px) {
    section { padding: 60px 0; }
    .section-title { font-size: 1.7rem; }

    /* Top bar */
    .top-bar .container { flex-direction: column; gap: 8px; text-align: center; }
    .top-bar-left { justify-content: center; }
    .top-bar-left a:last-child { display: none; }

    /* Hero */
    .hero { padding: 60px 0 40px; min-height: auto; }
    .hero-img-container { width: 280px; height: 280px; }
    .hero-title { font-size: clamp(2rem, 6vw, 2.8rem); }
    .badge-1, .badge-2 { display: none; }
    .badge-3 { bottom: 40px; left: -10px; }
    .badge-4 { bottom: 40px; right: -10px; }

    /* About features */
    .about-features { grid-template-columns: 1fr; }
    .about-btns { flex-direction: column; gap: 12px; }
    .about-btns .btn-primary,
    .about-btns .btn-outline { width: 100%; text-align: center; justify-content: center; }

    /* Services */
    .services-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }

    /* Blogs */
    .blogs-grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }

    /* Projects */
    .projects-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .projects-filter { gap: 8px; }
    .filter-btn { padding: 7px 16px; font-size: 0.8rem; }

    /* Footer */
    .footer-grid { grid-template-columns: 1fr; gap: 32px; }
    .footer-bottom .container { flex-direction: column; text-align: center; gap: 10px; }

    /* Contact form */
    .form-row { grid-template-columns: 1fr; }
    .contact-form { padding: 28px 20px; }

    /* Fixed buttons */
    .fixed-btn span { display: none; }
    .fixed-btn { width: 50px; height: 50px; padding: 0; justify-content: center; border-radius: 50%; }
    .fixed-actions { bottom: 80px; }

    /* Testimonial */
    .swiper-button-prev, .swiper-button-next { display: none !important; }
}

/* ===== MOBILE (480px and below) ===== */
@media (max-width: 480px) {
    .container { padding: 0 16px; }
    section { padding: 50px 0; }

    /* Top bar */
    .top-bar { display: none; }

    /* Navbar */
    .navbar { padding: 10px 0; }
    .nav-brand-text > span { font-size: 1.1rem; }
    .nav-menu { width: 280px; padding: 70px 24px 36px; }

    /* Hero */
    .hero { padding: 50px 0 40px; }
    .hero-title { font-size: 2.2rem; }
    .hero-img-container { width: 240px; height: 240px; }
    .hero-stats { gap: 16px; }
    .stat-num { font-size: 1.5rem; }
    .hero-btns { flex-direction: column; }
    .hero-btns .btn-primary,
    .hero-btns .btn-outline { width: 100%; text-align: center; justify-content: center; }
    .float-badge { display: none; }

    /* Services */
    .services-grid { grid-template-columns: 1fr; }
    .service-card { padding: 28px 22px; }

    /* Projects */
    .projects-grid { grid-template-columns: 1fr; }
    .proj-card { aspect-ratio: 16/10; }

    /* About */
    .about-exp-badge { right: 0; bottom: -16px; padding: 14px 18px; }
    .about-clients-badge { left: 0; top: -12px; }

    /* Packages */
    .packages-grid { max-width: 100%; }

    /* Contact form */
    .contact-form { padding: 24px 16px; }
    .contact-form h3 { font-size: 1.1rem; }

    /* Section head */
    .section-head { margin-bottom: 40px; }
    .section-title { font-size: 1.5rem; }

    /* Footer */
    .footer-top { padding: 50px 0 30px; }
    .footer-bottom-links { flex-direction: column; align-items: center; gap: 8px; }

    /* Ticker */
    .ticker-track { gap: 30px; }

    /* Fixed actions */
    .fixed-actions { right: 14px; bottom: 70px; }
    #scrollTop { right: 14px; bottom: 14px; width: 42px; height: 42px; font-size: 0.9rem; }

    /* Testimonials */
    .testi-card { padding: 24px 20px; }
    .testi-text { font-size: 0.88rem; }
}

/* ===== SMALL MOBILE (360px and below) ===== */
@media (max-width: 360px) {
    .hero-title { font-size: 1.9rem; }
    .hero-img-container { width: 200px; height: 200px; }
    .nav-brand-text > span { font-size: 1rem; }
    .logo-circle { width: 38px; height: 38px; font-size: 0.85rem; }
    .hero-stats { flex-wrap: wrap; justify-content: center; }
    .stat-divider { display: none; }
}

/* ===== TOUCH DEVICE OPTIMIZATIONS ===== */
@media (hover: none) {
    .service-card:hover { transform: none; }
    .service-card:hover .sc-bg { opacity: 0; }
    .service-card:hover h3 { color: var(--dark); }
    .service-card:hover p { color: var(--text-light); }
    .service-card:hover .sc-link { color: var(--primary); }
    .service-card:hover .sc-icon { background: linear-gradient(135deg, rgba(26, 86, 219, 0.12), rgba(0, 180, 255, 0.08)); color: var(--primary); }
    .proj-card:hover { transform: none; }
    .proj-card .proj-overlay { transform: translateY(0); opacity: 1; }
    .blog-card:hover { transform: none; }
    .pkg-card:hover { transform: none; }
}

/* ===== PRINT STYLES ===== */
@media print {
    .top-bar, .navbar, .ticker-wrap, .fixed-actions, #scrollTop, #loader, #scroll-progress { display: none !important; }
    .hero { min-height: auto; padding: 40px 0; }
    section { page-break-inside: avoid; }
}