/* ============================================
   RESPONSIVE — CDA TECNIVIAL (Corporate Design)
   ============================================ */

/* Tablets (hasta 1024px) */
@media (max-width: 1024px) {
    .hero-content {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .hero-visual { order: -1; }
    .hero-features { justify-content: center; }
    .hero-buttons { justify-content: center; }
    .hero-badge { margin: 0 auto var(--sp-sm); }

    .stats-band-grid { grid-template-columns: repeat(2, 1fr); gap: var(--sp-sm); }

    .location-content { grid-template-columns: 1fr; }

    .pricing-card.featured { transform: scale(1); }
}

/* Móviles grandes (hasta 768px) */
@media (max-width: 768px) {
    :root { font-size: 15px; }

    .section-title { font-size: 2rem; }
    .hero-title { font-size: 2.2rem; }

    /* Nav colapsable */
    .header-content { flex-wrap: wrap; }
    .nav {
        order: 3;
        width: 100%;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.35s ease;
        background: var(--navy-dark);
        border-radius: 0 0 var(--radius) var(--radius);
    }
    .nav.active { max-height: 480px; }
    .nav-list {
        flex-direction: column;
        align-items: flex-start;
        padding: var(--sp-sm) 0;
        gap: 0;
    }
    .nav-link {
        width: 100%;
        padding: 10px var(--sp-sm);
        color: var(--white) !important;
        border-bottom: 1px solid rgba(255,255,255,0.08);
    }
    .nav-link::after { display: none; }
    .menu-toggle { display: flex; }
    .header-actions { margin-left: auto; }
    .phone-link span { display: none; }

    .hero-photo-wrap { max-width: 420px; margin: 0 auto; }
    .hero-stats { gap: var(--sp-sm); }

    .hero-buttons { flex-direction: column; align-items: center; }
    .hero-buttons a,
    .hero-buttons button { width: 100%; max-width: 320px; justify-content: center; }

    .stats-band-grid { grid-template-columns: repeat(2, 1fr); }

    .info-cards,
    .services-grid,
    .testimonials-grid,
    .certification-grid { grid-template-columns: 1fr; }

    .pricing-table { grid-template-columns: 1fr; }

    .footer-content { grid-template-columns: 1fr 1fr; }
    .footer-bottom { flex-direction: column; text-align: center; }

    .cta-content h2 { font-size: 2rem; }
    .cta-buttons {
        flex-direction: column;
        align-items: center;
    }
    .cta-buttons a,
    .cta-buttons button {
        width: 100%;
        max-width: 320px;
        justify-content: center;
    }

    .google-rating { flex-direction: column; text-align: center; }
    .rating-content { flex-direction: column; text-align: center; gap: var(--sp-sm); }
}

/* Móviles (hasta 600px) */
@media (max-width: 600px) {
    :root { font-size: 14px; }

    .section-title { font-size: 1.8rem; }

    .hero { padding: var(--sp-lg) 0; min-height: auto; }
    .hero-title { font-size: 1.85rem; }
    .hero-subtitle { font-size: 1rem; }

    .hero-features { flex-direction: column; gap: var(--sp-xs); align-items: flex-start; }

    .stats-band-grid { grid-template-columns: repeat(2, 1fr); gap: var(--sp-xs); }
    .stats-band-number { font-size: 1.8rem; }

    .about-revision,
    .services,
    .process,
    .requirements,
    .pricing,
    .certifications,
    .testimonials,
    .location,
    .faq,
    .cta-final { padding: var(--sp-lg) 0; }

    .step { flex-direction: column; }
    .step::before { display: none; }
    .step-number { margin: var(--sp-sm) var(--sp-sm) var(--sp-xs) var(--sp-sm); }

    .modal-content { padding: var(--sp-md); }
    .modal-content h2 { font-size: 1.5rem; }

    .whatsapp-float { width: 50px; height: 50px; font-size: 1.45rem; bottom: 20px; right: 20px; }
    .scroll-top { width: 42px; height: 42px; font-size: 1rem; bottom: 80px; right: 20px; }

    .footer-content { grid-template-columns: 1fr; }

    .hero-photo-wrap { max-width: 340px; margin: 0 auto; }

    .hero-stats { flex-direction: row; gap: var(--sp-sm); }
    .stat-number { font-size: 1.5rem; }

    /* Proceso: ocultar chevron en móvil */
    .step-card::after { display: none; }
}

/* Móviles pequeños (hasta 400px) */
@media (max-width: 400px) {
    .hero-title { font-size: 1.55rem; }
    .section-title { font-size: 1.5rem; }

    .btn-primary,
    .btn-secondary,
    .btn-whatsapp,
    .btn-call {
        padding: 11px 22px;
        font-size: 0.9rem;
    }
    .btn-large {
        padding: 14px 28px;
        font-size: 0.95rem;
    }

    .stats-band-grid { grid-template-columns: 1fr 1fr; }
    .stats-band-number { font-size: 1.6rem; }

    .hero-stats { gap: var(--sp-xs); padding: var(--sp-xs) var(--sp-sm); }
}
