/* =======================
   MENU HAMBURGUESA
======================= */

.menu-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 30px;
    color: var(--primary);
}


/* =======================
   TABLET
======================= */
@media (max-width: 1024px) {

    /* NAVBAR */

    .menu-toggle {
        display: block;
        position: relative;
        z-index: 2000;
    }

    .btn {
        display: none;
    }

    .menu {
        position: fixed;
        top: 85px;
        left: -100%;
        width: 100%;
        height: calc(100vh - 85px);
        background: #fff;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 25px;
        padding-top: 40px;
        transition: .3s ease;
        z-index: 999;
    }

    .menu.active {
        left: 0;
    }

    .menu a {
        color: var(--dark);
        font-size: 18px;
        font-weight: 600;
        text-decoration: none;
    }

    /* HOME */

    .home {
        padding: 130px 0 80px;
    }

    .home-content {
        grid-template-columns: 1fr;
        gap: 50px;
        text-align: center;
    }

    .home h1 {
        font-size: 3rem;
    }

    .home p {
        text-align: center;
    }

    .home-image {
        max-width: 700px;
        margin: auto;
    }

    .bubble-4 {
        display: none;
    }

    .home-shape {
        width: 500px;
        height: 500px;
        right: -180px;
    }

    /* STATS */

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

    /* PRODUCTS */

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

    .product img {
        height: 300px;
    }

    /* PLATFORM */

    .devices-wrapper {
        flex-direction: column;
    }

    .web-device {
        width: 100%;
    }

    .phone-device {
        position: relative;
        right: auto;
        bottom: auto;
        width: 280px;
        margin-top: -40px;
        transform: none;
    }

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

    .section-heading h2 {
        font-size: 2.4rem;
    }
}

/* =======================
   MOBILE
======================= */

@media (max-width: 768px) {

    .home {
        padding: 110px 0 70px;
    }

    .home-content {
        gap: 40px;
    }

    .home h1 {
        font-size: 2.4rem;
        line-height: 1.15;
    }

    .home p {
        font-size: 1rem;
        text-align: center;
    }

    .home-badge {
        font-size: .8rem;
        padding: 8px 15px;
    }

    .home-image::before {
        display: none;
    }

    .home-shape {
        width: 400px;
        height: 400px;
        right: -150px;
        top: -80px;
    }

    .home::before {
        width: 250px;
        height: 250px;
    }

    .home::after {
        width: 180px;
        height: 180px;
    }

    .bubble-3,
    .bubble-4 {
        display: none;
    }

    .bubble-1 {
        width: 50px;
        height: 50px;
    }

    .bubble-2 {
        width: 35px;
        height: 35px;
    }

    .restau-devices {

        background-size: cover;
        background-position: center center;

        padding: 80px 15px;
    }

    .stats {
        grid-template-columns: 1fr;
    }

    .stat h3 {
        font-size: 2.8rem;
    }

    .stat {
        padding: 35px 20px;
    }

    .features,
    .modules,
    .pricing {
        grid-template-columns: 1fr;
    }

    .section-features {
        padding: 80px 0;
    }

    .section-header {
        margin-bottom: 50px;
    }

    .section-description {
        font-size: 1rem;
    }

    .card {
        padding: 30px;
    }

    .card i {
        width: 65px;
        height: 65px;

        font-size: 28px;
    }

    .products {
        grid-template-columns: 1fr;
    }

    .products-section {
        padding: 80px 0;
    }

    .section-header {
        margin-bottom: 50px;
    }

    .section-description {
        font-size: 1rem;
    }

    .product img {
        height: 280px;
    }

    .product-info h3 {
        font-size: 1.3rem;
    }

    .testimonial-card {

        width: 300px;

        padding: 25px;
    }

    .testimonials-section {

        padding: 80px 0;
    }

    .footer {

        text-align: center;
    }

    .footer-column ul li {

        justify-content: center;
    }

    .footer-social {

        justify-content: center;
    }

    .footer-certifications {

        justify-content: center;
    }

    .footer-map {

        justify-content: center;
    }


    .clients-section {
        padding: 80px 15px;
    }

    .clients-header h2 {
        font-size: 2rem;
    }

    .logo-item {
        min-width: 180px;
        height: 130px;
    }

    .logo-item img {
        max-width: 170px;
    }
}

@media (max-width: 576px) {

    .restau-devices {
        padding: 80px 15px;
    }

    .section-heading h2 {
        font-size: 2rem;
    }

    .section-heading p {
        font-size: .95rem;
    }

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

    .mesa {
        min-height: 85px;
        padding: 12px;
    }

    .mesa strong {
        font-size: .85rem;
    }

    .phone-device {

        width: 220px;

        margin-top: -60px;
    }
}

/* =======================
   SMALL MOBILE
======================= */

@media (max-width: 480px) {

    .logo img {
        height: 45px;
    }

    .container {
        width: 95%;
    }

    .home {
        padding: 95px 0 60px;
    }

    .home h1 {
        font-size: 2rem;
    }

    .home p {
        font-size: .95rem;
        line-height: 1.7;
    }

    .home-badge {
        font-size: .75rem;
        padding: 7px 12px;
    }

    .bubble {
        opacity: .4;
    }

    .bubble-2,
    .bubble-3,
    .bubble-4 {
        display: none;
    }

    .home-shape {
        width: 300px;
        height: 300px;
        right: -120px;
    }

    .home::before {
        width: 180px;
        height: 180px;
    }

    .home::after {
        width: 120px;
        height: 120px;
    }

    .title {
        font-size: 1.8rem;
    }

    .card,
    .module,
    .plan {
        padding: 25px;
    }

    .contact-content {
        padding: 60px 20px;
    }

    .contact-content h2 {
        font-size: 1.8rem;
    }

    .section-badge {
        font-size: .8rem;
    }

    .section-description {
        font-size: .95rem;
    }

    .card {
        padding: 25px;
    }

    .card h3 {
        font-size: 1.15rem;
    }



    .products {
        gap: 25px;
    }

    .product {
        border-radius: 20px;
    }

    .product img {
        height: 240px;
    }

    .product-info {
        padding: 20px;
    }

    .product-info h3 {
        font-size: 1.2rem;
    }

    .product-info p {
        font-size: .95rem;
    }

    .product-btn {
        width: 100%;
    }

    .stat h3 {
        font-size: 2.5rem;
    }

    .stat i {
        font-size: 40px;
    }

    /* MODAL CONTACTO*/

    .modal-content {
        padding: 25px;
    }

    .modal-content h2 {
        font-size: 1.5rem;
    }

    .modal-actions {
        flex-direction: column;
    }
}