/* Media Query para pantallas móviles (max-width: 800px) */

@media (max-width: 800px) {
    body {
        font-size: 12px;
    }

    .wrap {
        width: 100%;
        padding: 0 20px;
        box-sizing: border-box;
    }

    header {
        background-position: left center;
        .wrap {
            padding: 20px 0;
            > div {
                display:grid;
                grid-template-rows:auto 1fr auto;
                min-height: 400px;
                h2 {
                    font-size: 40px;
                    padding: 0 20px;
                    position: relative;
                }
                button {
                    position: relative;
                    margin-top: 27px;
                    font-size: 16px;
                    padding: 15px 30px;
                    box-sizing: border-box;
                    float:right;
                    width: fit-content;
                    margin: 0 auto;
                }
                .logo {
                    text-align: center;
                    float: left;
                    width: 100%;
                    position: relative;
                    img {
                        float: none;
                        height: 120px;
                    }
                }
                /* Botón hamburguesa */
                .menu-toggle{
                    position: absolute;
                    top: 50%;
                    right: 20px;
                    transform: translateY(-50%);
                    background: none;
                    border: none;
                    color: #fff;
                    font-size: 28px;
                    cursor: pointer;
                    padding: 10px;
                    z-index: 1001;
                    transition: color 0.3s ease;
                    &:hover{
                        color: var(--beig);
                    }
                }
                .main-menu{
                    width: 100%;
                    margin: 0;
                    position: fixed;
                    top: 0;
                    right: -100%;
                    height: 100vh;
                    background-color: var(--vosc);
                    z-index: 999;
                    transition: right 0.3s ease;
                    overflow-y: auto;
                    padding-top: 80px;
                    /* Menú activo (visible) */
                    &.active{
                        right: 0;
                    }
                    .menu-list,
                    .menu{
                        display:flex;
                        flex-direction:column;
                        align-items:stretch;
                        gap:0;
                        list-style:none;
                        margin:0;
                        padding:0;
                        li{
                            margin: 0;
                            padding: 0;
                            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
                            a{
                                color:#fff;
                                font-size:16px;
                                text-transform:uppercase;
                                text-decoration:none;
                                font-weight:bold;
                                display: block;
                                padding: 18px 30px;
                            }
                            /* Submenús en móvil */
                            &.menu-item-has-children{
                                > a{
                                    position: relative;
                                    padding-right: 50px;
                                    &::after{
                                        content: '\f078'; /* FontAwesome chevron down */
                                        font-family: 'Font Awesome 6 Free';
                                        font-weight: 900;
                                        position: absolute;
                                        right: 30px;
                                        top: 50%;
                                        transform: translateY(-50%);
                                        transition: transform 0.3s ease;
                                    }
                                }
                                &.submenu-open > a::after{
                                    transform: translateY(-50%) rotate(180deg);
                                }
                            }
                            .sub-menu{
                                display: none;
                                list-style: none;
                                margin: 0;
                                padding: 0;
                                background-color: rgba(0, 0, 0, 0.2);
                                li{
                                    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
                                    a{
                                        padding: 15px 30px 15px 50px;
                                        font-size: 14px;
                                    }
                                }
                            }
                            &.submenu-open .sub-menu{
                                display: block;
                            }
                        }
                    }
                }
            }
        }
    }

    .home2 {
        font-size: 16px;
        > div {
            grid-template-columns: 1fr !important;
            .uno {
                padding: 40px 20px;
                text-align:center;
                img{
                    max-height:20dvh;
                    width:auto;
                    margin: 0 auto;
                }
            }
            .tres {
                padding: 40px 20px;
                grid-template-columns: 1fr !important;
                gap: 20px;
                figure {
                    figcaption {
                        font-size: 20px;
                        bottom: 10px;
                        left: 10px;
                    }
                }
            }
        }
    }

    .home3 {
        padding: 20px 0;
        > .wrap {
            h2 {
                font-size: 36px;
                padding: 0 20px;
            }
            > div {
                grid-template-columns: 1fr !important;
                padding: 40px 20px;
                gap: 30px;
                > a:not(.centro_alto) {
                    text-decoration: none;
                    color: inherit;
                }
                > :is(div, a):not(.centro_alto) {
                    figure {
                        figcaption {
                            font-size: 20px;
                            bottom: 10px;
                        }
                    }
                    p {
                        font-size: 16px;
                        padding-right: 50px;
                        i {
                            width: 35px;
                            height: 35px;
                            font-size: 14px;
                        }
                    }
                }
                > div.centro_alto {
                    order: -1;
                    img {
                        max-height: 200px;
                    }
                }
            }
        }
    }

    .home4 {
        padding: 40px 0 60px;
        > .wrap {
            h2 {
                font-size: 32px;
                padding: 0 20px;
            }
            div.resenyas {
                grid-template-columns: 1fr !important;
                gap: 20px;
                > div {
                    padding: 15px;
                    .estrellas {
                        font-size: 16px;
                    }
                    p {
                        font-size: 16px;
                    }
                    .autor {
                        font-size: 16px;
                    }
                }
            }
        }
    }

    .home5 {
        padding: 20px 0;
        .wrap {
            .logo {
                max-height: 80px;
                margin-bottom: 20px;
            }
            div {
                border-radius: 10px;
                aspect-ratio: 3 / 2;
                h3 {
                    font-size: 32px;
                    padding: 0 20px;
                }
            }
        }
    }

    footer {
        padding: 30px 0;
        > .wrap {
            grid-template-columns: 1fr !important;
            gap: 30px;
            .contacto {
                text-align: center;
                > a {
                    float: none;
                    clear: none;
                    display: block;
                    font-size: 16px;
                }
            }
            .rrss {
                font-size: 32px;
            }
            .colaboradores {
                text-align: center;
                img {
                    float: none;
                    height: 50px;
                }
            }
        }
    }
}
