@import url('footer.css'); 
@import url('https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Rubik+Doodle+Shadow&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lemon&display=swap');

:root{ --categorias: #303634; }

*{
    color: black;
    margin: 0;
    padding: 0;
    font-family: "Barlow", sans-serif;
    font-size: 22px;
    box-sizing: border-box;
}
body{ max-width: 100%; }
a{ text-decoration: none; }
textarea{ resize: none; }

/* HEADER */

header{
    display: flex;
    justify-content: space-around;
    align-items: center;
    width: 100%;
    padding: 0.8rem;
    border-bottom: solid 1px;

    .logo{ width: clamp(11rem, 2vw + 1rem, 12rem); }

    .articulos{
        position: relative;
        display: flex;
        gap: 1rem;
        p{ font-size: 0.7rem; padding: 0.6rem; position: relative; }
        
        .categoria::after, .categoria:hover::after{
            content: "";
            position: absolute;
            border: solid 0px;
            width: 0;
            bottom: 0;
            left: 50%;
            transform: translate(-50%, -50%);
            transition: all 0.25s linear;
        }
        .contacto::after, .categoria:hover::after{
            border: solid 1px;
            width: 100%;
        }
        .contacto, .categoria:hover{ font-weight: bold; }
        .fa-bars{ font-size: 1.3rem; }
    }
    .sidebar{
        position: fixed;
        top: 0;
        right: 0;
        height: 100vh;
        width: 180px;
        z-index: 999;
        background-color: rgba(255, 255, 255, 0.5);
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
        box-shadow: -10px 0 10px rgba(0, 0, 0, 0.1);
        display: none;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;

        p{ width: 100%; }
        a{ width: 100%; }
    }
}

@media (max-width: 600px){ /* celulares */
    html, body{ overflow-x: hidden; }
    .Nav_compu{ display: none; }
}
@media (min-width: 601px) and (max-width: 821px){ /* tablets */
    html, body{ overflow-x: hidden; }
    .Nav_compu{ display: none; }
}
@media (min-width: 801px) and (max-width: 900px){
    body, html{ overflow-x: hidden; }
    .Nav_compu{ display: block; }
    .barra{ display: none; }
}
@media (min-width: 901px) and (max-width: 1200px) { /* Computadoras */
    body, html{ overflow-x: hidden; }
    .barra{ display: none; }
}
@media (min-width: 1201px) { /* Televisiones */
    body, html{ overflow-x: hidden; }
    .barra{ display: none; }
}

hr{
    border-color: black;
    opacity: 0.1;
}

.seccion-contacto{
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.5rem;
    padding: 2rem 0;

    .div-info-contacto{
        width: 100%;

        h1{
            text-shadow: 0 2px 10px rgba(255, 255, 255, 0.5);
            font-size: 2rem;
            background: linear-gradient(to right, lightblue, #B8E5C1, lightgreen); 
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            text-align: center;
            font-family: 'Rubik Doodle Shadow', system-ui;
        }
    }
    form{
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.3rem;

        .formulario__grupo{
            width: 50%;
            display: flex;
            flex-direction: column;
            gap: 0.3rem;

            .formulario__label{
                font-size: 0.7rem;
                margin-top: 0.5rem;
            }
            .formulario__grupo-input{
                position: relative;
                display: flex;
                align-items: center;

                .formulario__input{
                    height: 1.5rem;
                    font-size: 0.6rem;
                    padding: 0 0.5rem;
                    width: 100%;
                    border: solid 2px black; /* Cambiar con JS si es necesario */
                    border-radius: 0.1875rem;
                    line-height: 1.5rem;
                    transition: all 0.3s ease;
                }
                .formulario__input:focus, .formulario__textarea:focus{
                    border: 2px solid #B8E5C1;
                    outline: none;
                    box-shadow: 3px 0 10px rgba(163, 163, 163, 0.4);
                }
                .formulario__textarea{
                    width: 100%;
                    height: 5rem;
                    font-size: 0.6rem;
                    padding: 0.5rem;
                    margin: 0.2rem 0;
                    border: solid 2px black;
                    border-radius: 0.1875rem;
                    transition: all 0.3s ease;
                }
                .formulario__validacion-estado{
                    position: absolute;
                    font-size: 0.7rem;
                    right: 0.625rem;
                    top: 30%;
                    z-index: 100;
                    opacity: 0;
                }
            }
            .formulario__input-error{
                font-size: 0.5rem;
                margin-bottom: 0.5rem;
                display: none;
            }
            .formulario__input-error-activo{ display: block; }
        }
        .formulario__grupo-correcto .formulario__validacion-estado{
            color: #1ed12d;
            opacity: 1;
        }
        .formulario__grupo-incorrecto .formulario__label{ color: #bb2929; }
        .formulario__grupo-incorrecto .formulario__validacion-estado{
            color: #bb2929;
            opacity: 1;
        }
        .formulario__grupo-incorrecto .formulario__input{ border: 2px solid #bb2929; }
        .formulario__mensaje{
            height: 2rem;
            line-height: 2rem;
            background: #F66060;
            padding: 0 0.9rem;
            border-radius: 3px;
            display: none;

            p, i, b{ font-size: 0.5rem; }
        }
        .formulario__mensaje-activo{ display: block; }
        .obras, option{
            display: flex;
            flex-direction: column;
            font-size: 0.7rem;
            width: 100%;
            padding: 0.4rem;
            /* height: 30px; */
        }
        .obras:focus{ border: 2px solid #B8E5C1; }
        .enviar{
            padding: 0.75rem 2rem;
            font-size: 0.8rem;
            border: none;
            border-radius: 10px;
            background: transparent;
            cursor: pointer;
            font-weight: 600;
            transition: all 0.3s ease;
            margin-top: 1rem;
            background: linear-gradient(to right, lightblue, lightgreen);
            box-shadow: 0 2px 10px 1px rgba(50, 50, 50, 0.5);
        }
        .enviar:hover{ 
            color: white; 
            background: linear-gradient(to left, lightblue, lightgreen); 
            scale: 1.05;
        }
    }
}
@keyframes glowing{
    0%{ background-position: 0 0; }
    50%{ background-position: 400% 0; }
    100%{ background-position: 0 0; }
}


@media (max-width: 400px){
    html, body{ overflow-x: hidden; }
    .Nav_compu{ display: none; }
}
@media (min-width: 401px) and (max-width: 600px){ /* celulares */
    html, body{ overflow-x: hidden; }
    .Nav_compu{ display: none; }
}
@media (min-width: 601px) and (max-width: 800px){ /* tablets */
    html, body{ overflow-x: hidden; }
    .Nav_compu{ display: none; }
}
@media (min-width: 801px) and (max-width: 900px){
    body, html{ overflow-x: hidden; }
    .barra{ display: none; }
}
@media (min-width: 901px) and (max-width: 1200px) { /* Computadoras */
    body, html{ overflow-x: hidden; }
    .barra{ display: none; }
}
@media (min-width: 1201px) { /* Televisiones */
    body, html{ overflow-x: hidden; }
    .barra{ display: none; }
}