/*

 Theme Name:   GeneratePress Child

 Theme URI:    https://generatepress.com

 Description:  Default GeneratePress child theme

 Author:       Tom Usborne

 Author URI:   https://tomusborne.com

 Template:     generatepress

 Version:      0.1

*/



@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Zalando+Sans+Expanded:ital,wght@0,200..900;1,200..900&display=swap');

:root {

    --c-primario: #222222;
    --c-secundario: #e02b20;
    --c-gris: #c6c6c6;
    --c-grisclaro: #f7f7f7;
    --c-blanco: #fff;
    --c-negro: #000;

    --f-titulos: 'Zalando Sans Expanded', sans-serif;
    --f-general: 'Montserrat', sans-serif;

}

body:not(.wp-admin) {
    font-family: var(--f-general);
    font-size: 1rem;
    line-height: 1.3em;

    p {
        margin-top: 0;
        margin-bottom: 20px;

        &:last-child {
            margin-bottom: 0;
        }
    }
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--f-titulos);
    line-height: 1.2em;
}

.tit {
    h1 {
        font-size: clamp(36px, 5vw, 50px) !important;
        font-weight: 300;
    }

    h2 {
        font-size: clamp(28px, 4vw, 40px) !important;
        font-weight: 300;
    }

    h3 {
        font-size: clamp(22px, 3vw, 26px) !important;
        font-weight: 400;
        text-transform: uppercase;
    }

    h4 {
        font-size: clamp(21px, 2vw, 24px) !important;
        font-weight: 600;
    }

    h5 {
        font-size: clamp(19px, 1.5vw, 22px) !important;
        font-weight: 400;
    }

    h6 {
        font-size: clamp(18px, 1vw, 20px) !important;
        font-weight: 600;
        text-transform: uppercase;
    }
}

.subtit {
    h2 {
        font-size: clamp(24px, 4vw, 28px) !important;
        font-weight: 300;
    }

    h3 {
        font-size: clamp(20px, 3vw, 22px) !important;
        font-weight: 400;
    }
}

.f300 {
    font-weight: 300;
}

.f400 {
    font-weight: 400;
}

.f500 {
    font-weight: 500;
}

.f600 {
    font-weight: 600;
}

.c-rojo {
    color: var(--c-secundario);
}

.c-blanco {
    color: var(--c-blanco);
}

.lista ul {
    margin: 0 0 0 30px;
}

.lista ul li::marker {
    color: transparent;
}

.lista ul li {
    position: relative;
}

.lista ul li::before {
    content: "";
    position: absolute;
    left: -20px;
    top: 7px;
    width: 10px;
    height: 10px;
    background-color: var(--c-primario);
    border-radius: 50px;
}

.lista.blanca ul li::before {
    background-color: var(--c-secundario);
}

/* -- HEADER -- */
header {
    .main-navigation {
        .menu-item {
            & > a {
                font-size: 1.125rem;
                font-weight: 400;
                line-height: 1.25em !important;
                color: var(--c-primario);
                padding: 10px 15px !important;
                margin: 0 10px !important;
                position: relative;
                transition: all 0.4s ease;

                &::before, &::after {
                    content: "";
                    background-color: var(--c-secundario);
                    position: absolute;
                    height: 2px;
                    width: 0;
                    transition: all 0.4s ease;
                }

                &::before {
                    top: 0;
                    left: 0;
                }
            
                &::after {
                    bottom: 0;
                    right: 0;
                }

                &:hover {
                    color: var(--c-primario);

                    &::before, &::after {
                        width: 100%;
                    }
                }

                .dropdown-menu-toggle {
                    padding-right: 0;
                }
            }

            .sub-menu {
                width: 250px;

                .menu-item {
                    & > a {
                        font-size: 1rem;
                    }
                }
            }

            &:last-child {
                .sub-menu {
                    width: 100px;
                }
            }
        }

        .current-menu-item {
            & > a {
                color: var(--c-primario);

                &::before, &::after {
                    width: 100%;
                }
            }
        }
    }

    .menu-toggle {
        background-color: transparent !important;
        color: var(--c-primario);
        font-size: 30px;
        transform: scaleY(0.75);
        transform-origin: center;
    }
}

#generate-slideout-menu {
    max-width: 100dvh;

    .menu-item {
        & > a {
            font-size: 1.125rem;
            font-weight: 400;
            line-height: 1.25em !important;
            color: var(--c-primario);
            padding: 10px 15px !important;
            margin: 0 !important;
            position: relative;
            transition: all 0.4s ease;

            &::before, &::after {
                content: "";
                background-color: var(--c-secundario);
                position: absolute;
                height: 2px;
                width: 0;
                transition: all 0.4s ease;
            }

            &::before {
                top: 0;
                left: 0;
            }
        
            &::after {
                bottom: 0;
                right: 0;
            }

            &:hover {
                color: var(--c-primario);

                &::before, &::after {
                    width: 100%;
                }
            }
        }

        .sub-menu {
            width: 250px;

            .menu-item {
                & > a {
                    font-size: 1rem;
                }
            }
        }
    }

    .current-menu-item {
        & > a {
            color: var(--c-blanco);
            background-color: var(--c-secundario);

            &::before, &::after {
                width: 100%;
            }
        }
    }
}

@media screen and (min-width: 768px) {
    body.home {
        header {
            .site-logo {
                display: none;
            }
            
            #site-navigation {
                margin: auto;
            }
        }
    }
}

@media screen and (max-width: 768px) {
    header {
        .inside-header {
            padding: 0 10px;
        }
        .site-logo {
            img {
                content: url(/wp-content/uploads/2025/11/favicon-anolivda.webp);
                max-width: 80px;
            }
        }
    }     
}

/* -- FOOTER -- */
.tit-footer {
    font-size: clamp(20px, 3vw, 24px) !important;
    font-weight: 500;
}

/* -- FORMULARIO -- */
.formulario {
    form {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-start;
        gap: 20px;

        div {
            width: 100%;
        }

        .nombre, .email, .direccion, .poblacion  {
            width: 47%;

            @media screen and (max-width: 375px) {
                width: 100%;
            }
        }

        input:not([type="submit"]), textarea, select {
            font-family: var(--f-general);
            width: 100%;
            padding: 8px;
            background-color: var(--c-blanco);
            border: 1px solid var(--c-gris);
            border-bottom: 3px solid var(--c-primario);
            border-radius: 0;
            margin-top: 5px;
        }

        textarea {
            max-height: 150px;
        }
        
        input[type="checkbox"] {
            width: fit-content;
        }

        input[type="submit"] {
            color: var(--c-blanco) !important;
            background-color: var(--c-secundario) !important;
            padding: 15px 40px;
            border-radius: 0;
            cursor: pointer;
            text-decoration: none;
            text-transform: uppercase;
            transition: all 0.4s ease-in-out;
            font-size: 1rem;
            line-height: 1.3em;
            font-weight: 500;

            &:hover {
                background-color: var(--c-primario);
            }
        }

        .wpcf7-list-item {
            margin-left: 0;
        }
    }
}

/*recaptcha*/
.grecaptcha-badge {
    display: none;
}

