/* ============================================================
   Digital Kalki — Responsive Stylesheet
   ============================================================ */

/* ---- Tablet: ≤1024px ---- */
@media (max-width: 1024px) {
    .hero-grid { grid-template-columns: 1fr; gap: 48px; }
    .hero-visual { justify-content: center; }
    .hero-cards { max-width: 440px; }
    .industries-grid { grid-template-columns: repeat(2, 1fr); }
    .services-grid { grid-template-columns: repeat(2, 1fr); }
    .why-grid { grid-template-columns: repeat(2, 1fr); }
    .portfolio-grid { grid-template-columns: repeat(2, 1fr); }
    .testimonials-grid { grid-template-columns: repeat(2, 1fr); }
    .process-steps { grid-template-columns: repeat(2, 1fr); gap: 32px; }
    .process-steps::before { display: none; }
    .packages-grid { grid-template-columns: repeat(2, 1fr); }
    .contact-grid { grid-template-columns: 1fr; gap: 40px; }
    .about-grid { grid-template-columns: 1fr; gap: 48px; }
    .skills-grid { grid-template-columns: repeat(2, 1fr); }
    .tools-grid { grid-template-columns: 1fr; }
    .stat-cards { grid-template-columns: repeat(2, 1fr); }
    .admin-sidebar { width: 200px; }
    .admin-main { margin-left: 200px; }
}

/* ---- Mobile: ≤768px ---- */
@media (max-width: 768px) {
    .section-pad { padding: 64px 0; }
    .section-pad-sm { padding: 48px 0; }
    .container { padding: 0 16px; }

    /* Header */
    .main-nav {
        position: fixed;
        top: 70px; right: -100%;
        width: 280px;
        height: calc(100vh - 70px);
        background: var(--white);
        box-shadow: var(--shadow-lg);
        padding: 24px 0;
        transition: right 0.35s cubic-bezier(0.4, 0, 0.2, 1);
        overflow-y: auto;
        z-index: 998;
    }
    .main-nav.open { right: 0; }
    .main-nav ul { flex-direction: column; gap: 0; }
    .main-nav a {
        display: block;
        padding: 14px 24px;
        border-radius: 0;
        font-size: 16px;
        border-bottom: 1px solid var(--border);
    }
    .header-ctas { display: none; }
    .hamburger { display: flex; }

    /* Hero */
    .hero { padding: 110px 0 64px; }
    .hero-title { font-size: clamp(1.8rem, 6vw, 2.5rem); }
    .hero-sub { font-size: 16px; }
    .hero-ctas { flex-direction: column; width: 100%; }
    .hero-ctas .btn-primary, .hero-ctas .btn-outline { width: 100%; justify-content: center; }
    .hero-cards { grid-template-columns: 1fr 1fr; max-width: 100%; }
    .hero-trust { flex-wrap: wrap; gap: 8px; }
    .hero-trust-item { font-size: 12px; }
    .trust-divider { display: none; }

    /* Trust strip */
    .trust-strip-inner { justify-content: flex-start; overflow-x: auto; padding-bottom: 4px; flex-wrap: nowrap; gap: 8px; }
    .trust-badge { flex-shrink: 0; font-size: 13px; }

    /* Grids */
    .industries-grid { grid-template-columns: 1fr; gap: 16px; }
    .services-grid { grid-template-columns: 1fr; }
    .why-grid { grid-template-columns: 1fr; }
    .portfolio-grid { grid-template-columns: 1fr; }
    .testimonials-grid { grid-template-columns: 1fr; }
    .process-steps { grid-template-columns: 1fr; }
    .packages-grid { grid-template-columns: 1fr; }
    .skills-grid { grid-template-columns: 1fr; }
    .about-values { grid-template-columns: 1fr; }
    .form-grid { grid-template-columns: 1fr; }

    /* Final CTA */
    .final-cta { padding: 72px 0; }
    .final-cta-btns { flex-direction: column; align-items: center; }
    .final-cta-btns .btn-primary, .final-cta-btns .btn-outline-white { width: 100%; max-width: 340px; justify-content: center; }

    /* Admin */
    .admin-sidebar { display: none; }
    .admin-main { margin-left: 0; padding: 20px 16px; }
    .stat-cards { grid-template-columns: repeat(2, 1fr); }

    /* Page hero */
    .page-hero { padding: 110px 0 56px; }

    /* Contact */
    .contact-form-wrap { padding: 24px 20px; }

    /* WA float */
    .wa-float { bottom: 20px; right: 20px; width: 52px; height: 52px; }
    .scroll-top { bottom: 84px; right: 20px; }

    /* Portfolio */
    .portfolio-filter { gap: 8px; }
    .filter-btn { font-size: 12px; padding: 6px 16px; }

    /* Table responsive */
    .table-responsive { overflow-x: auto; }
    table { min-width: 600px; }

    .section-title { font-size: clamp(1.7rem, 5vw, 2.2rem); }
    .btn-lg { padding: 14px 24px; font-size: 15px; }
}

/* ---- Small Mobile: ≤480px ---- */
@media (max-width: 480px) {
    .hero-cards { grid-template-columns: 1fr; }
    .hero-card:nth-child(2), .hero-card:nth-child(4) { margin-top: 0; }
    .stat-cards { grid-template-columns: 1fr; }
    .packages-grid .package-card.featured { order: -1; }
}

/* ---- Print ---- */
@media print {
    .site-header, .site-footer, .wa-float, .scroll-top, .hamburger { display: none !important; }
    body { background: white !important; }
    .hero { padding: 40px 0; }
}

/* ---- Reduced Motion ---- */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.001ms !important;
        transition-duration: 0.001ms !important;
    }
}

/* ============================================================
   ADDITIONAL RESPONSIVE — Services & Industries detail blocks
   ============================================================ */
@media (max-width: 900px) {
    /* Services page detail blocks */
    .service-detail-block > div:first-child,
    .service-detail-block > div:last-child {
        grid-column: 1 / -1;
    }
    .service-detail-block {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    /* Industries page 2-col layout */
    .container > div[style*="grid-template-columns:1fr 1fr"] {
        display: block !important;
    }
    .contact-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 768px) {
    /* Admin responsive */
    .admin-main { padding: 16px 12px; }
    .stat-cards { grid-template-columns: 1fr 1fr; gap: 12px; }
    .admin-table-wrap { border-radius: var(--radius-sm); }
    th, td { padding: 10px 12px; }

    /* Service blocks stack on mobile */
    .service-detail-block {
        grid-template-columns: 1fr !important;
        padding: 40px 0 !important;
        gap: 20px !important;
    }

    /* Tools grid mobile */
    .tools-grid { grid-template-columns: 1fr; }
    .tool-card { padding: 24px 20px; }

    /* Portfolio card filter */
    .portfolio-filter { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; }
    .filter-btn { flex-shrink: 0; }

    /* Checklist 2-col → 1-col */
    div[style*="grid-template-columns:1fr 1fr"] {
        display: block !important;
    }
    div[style*="position:sticky"] {
        position: static !important;
        margin-top: 24px;
    }

    /* Why grid override in about page */
    .why-grid { grid-template-columns: 1fr !important; }

    /* Footer grid */
    .footer-grid { grid-template-columns: 1fr !important; gap: 32px; }

    /* Industries page sections */
    section.section-pad > .container > div {
        grid-template-columns: 1fr !important;
    }

    /* Package card featured on mobile - show first */
    .package-card.featured { order: -1; }

    /* Hero card grid */
    .hero-cards { grid-template-columns: 1fr 1fr !important; }
}

@media (max-width: 480px) {
    .stat-cards { grid-template-columns: 1fr 1fr; }
    .hero-cards { grid-template-columns: 1fr !important; }
    .hero-card:nth-child(2),
    .hero-card:nth-child(4) { margin-top: 0 !important; }
    .admin-login-box { padding: 32px 20px; }
    .contact-form-wrap { padding: 24px 16px; }
    .section-pad { padding: 48px 0; }
}
