/* ============================================
   RESPONSIVE STYLES
============================================ */
@media (max-width: 768px) {
    body {
        padding-top: 70px;
    }

    .site-header.scrolled .site-logo img {
        height: 35px;
    }

    .wp-block-group,
    .wp-block-columns {
        padding-left: 15px;
        padding-right: 15px;
    }

    .wp-block-group {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .wp-block-columns {
        gap: 20px;
    }

    .wp-block-group h2 {
        font-size: 2rem;
    }

    .wp-block-group h3 {
        font-size: 1.6rem;
    }

    nav.main-navigation {
        padding: 10px 0;
    }

    .menu-toggle {
        margin-left: 20px;
        order: 1;
    }

    .site-logo {
        order: 2;
        margin-left: auto;
        margin-right: 20px;
    }

    .main-navigation .menu {
        display: none;
    }

    .page-content,
    .entry-content {
        max-width: 95%;
        padding: 15px;
    }

    .hero-section,
    .hero-banner,
    .wp-block-cover {
        height: 300px;
    }

    .wp-block-cover h1,
    .hero-section h1,
    .hero-banner h1 {
        font-size: 3rem;
    }

    .swiper-desktop {
        display: none !important;
    }

    .swiper-mobile {
        display: block !important;
    }

    .swiper-mobile .swiper-slide img {
        height: 400px;
        object-fit: cover;
    }

    .side-menu {
        padding-top: 60px;
    }

    .footer-widgets-container {
        flex-direction: column;
        text-align: center;
    }

    .footer-column {
        max-width: 100%;
        padding-bottom: 20px;
    }
}

@media (min-width: 769px) {
    .menu-toggle,
    .side-menu,
    .menu-overlay {
        display: none;
    }

    .menu {
        display: flex !important;
        justify-content: flex-end;
    }

    .site-logo {
        margin-right: auto;
    }

    nav.main-navigation {
        justify-content: flex-start;
    }

    .swiper-desktop {
        display: block !important;
    }

    .swiper-mobile {
        display: none !important;
    }
}

/* Media queries para la página de contacto */
@media (max-width: 768px) {
    .contact-hero h1 {
        font-size: 2.5rem;
        padding: 0 2rem;
    }

    .contact-info-container {
        grid-template-columns: 1fr;
        gap: 2rem;
        padding: 1rem;
    }

    .contact-box {
        padding: 1.5rem;
    }

    .map-container {
        height: 300px;
    }
}