/* ===========================
   ClicPro Mx - responsive.css
=========================== */

/* Laptops medianos */
@media (max-width: 1200px) {
    .cp-container {
        max-width: 1000px;
    }
}

/* Tablets horizontales */
@media (max-width: 1024px) {
    .cp-hero-grid {
        gap: 2rem;
    }
}

/* Tablets verticales y móviles grandes */
@media (max-width: 768px) {

    .cp-header-inner {
        height: 64px;
    }

    .cp-nav-toggle {
        display: flex;
    }

    .cp-nav {
        position: fixed;
        top: 64px;
        right: 0.7rem;
        left: 0.7rem;
        flex-direction: column;
        align-items: flex-start;
        background: rgba(5, 7, 22, 0.98);
        border-radius: 16px;
        padding: 0.8rem;
        border: 1px solid rgba(255, 255, 255, 0.12);
        transform: translateY(-12px);
        opacity: 0;
        pointer-events: none;
        gap: 0.3rem;
    }

    .cp-nav a {
        width: 100%;
        padding: 0.45rem 0.6rem;
    }

    .cp-nav.cp-nav-open {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
    }

    .cp-section {
        padding: 4rem 0;
    }

    .cp-hero {
        padding-top: 5rem;
    }

    .cp-hero-grid {
        grid-template-columns: 1fr;
    }

    .cp-hero-media {
        order: -1;
        justify-content: flex-start;
    }

    .cp-two-cols {
        grid-template-columns: 1fr;
    }
}

/* Móviles medianos */
@media (max-width: 600px) {

    .cp-container {
        padding: 0 1.1rem;
    }

    .cp-section h2 {
        font-size: 1.8rem;
    }

    .cp-hero-text h1 {
        font-size: 2rem;
    }

    .cp-hero-cta {
        flex-direction: column;
    }

    .cp-btn-primary,
    .cp-btn-ghost {
        width: 100%;
        justify-content: center;
    }

    .cp-hero-metrics {
        flex-direction: column;
    }

    .cp-service-card,
    .cp-portfolio-item,
    .cp-testimonial,
    .cp-location-card,
    .cp-step {
        padding: 1.3rem 1.1rem;
    }

    .cp-contact-form {
        padding: 1.3rem 1.1rem;
    }

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

/* Móviles pequeños */
@media (max-width: 460px) {

    .cp-hero-text h1 {
        font-size: 1.7rem;
    }

    .cp-section {
        padding: 3.3rem 0;
    }

    .cp-footer-bottom {
        font-size: 0.75rem;
    }
}

