* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* === body === */
body {
    background-color: #edecec;
    font-family: 'inconsolata';
}

/* === header === */
header {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    width: 100dvw;
    height: 15dvh;
}

header h1 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    height: 60%;
    width: 100%;
    background-color: #edecec;
}

header nav {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    height: 40%;
    width: 100%;
    background-color: #edecec;

    text-align: center;
    border: 1px dotted black;
}

header nav button#nuevo{
      font-weight: bold;
    padding: 0.4rem 0.4rem;
    border: none;
    border-radius: 4px;
    cursor: pointer;
     background-color: rgb(98, 131, 222);
}

header nav button#nuevo:hover{
    color: #edecec;
}


/* === Main === */
main {
    display: flex;
    flex-direction: row;

    width: 90dvw;
    margin: 0 auto;
    height: 75dvh;
}

/* === Main aside.izquierda === */
aside.izquierda {
    display: flex;
    flex-direction: column;
    align-items: center;

    padding-top: 1rem;


    background-color: white;
    width: 65%;
    height: 100%;
    overflow-y: auto;

}


aside.izquierda .campo,
aside.izquierda .campo2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.3rem;

    width: 60%;
    margin: 0.5rem 0;
}

aside.izquierda input[type="text"],
aside.izquierda input[type="number"] {
    flex: 1;
    padding: 0.3rem;
}

aside.izquierda .campo2 span {
    white-space: nowrap;
}

.campo3 button{
    font-weight: bold;
    padding: 0.4rem 0.4rem;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.campo3 button:hover{
    background-color: rgb(98, 131, 222);
}


main aside.izquierda .campo3{
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

main aside.izquierda .error {
    border: 2px solid red;
    border-radius: 5px;
    box-shadow: 1px 1px 4px black;
}


/* === main aside.derecha === */
main aside.derecha {
    background-color: white;
    width: 35%;
    height: 100%;

    border: 1px dotted black;
    text-align: center;
    overflow-y: auto;
}

main aside.derecha h2{
    margin-top: 1rem;
    text-align: center;
}

main aside.derecha div#contenedor-lista-productos{
    display: flex;
    flex-direction: column;


    width: 90%;
    text-align: left;
    margin-left: 1rem;
}

main aside.derecha div.producto{
    display: flex;
    flex-direction: column;
    justify-content: center;
    
    margin-top: 0.5rem;
    border: 2px solid rgb(33, 104, 202);
    border-radius: 4px;

}
main aside.derecha div.producto p{

    cursor: pointer;
}

main aside.derecha div.producto p:hover{
    cursor: pointer;
    background-color: rgb(98, 131, 222);
}

.seleccionado{
    background-color: rgb(110, 168, 255);
}

/* === footer === */
footer.pie-pagina {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    width: 100dvw;
    height: 10dvh;

    background-color: rgb(48, 45, 45);
}


footer.pie-pagina a {
    /* Tipografia */
    text-decoration: none;

    /* colores y apariencia */
    color: white;
}

footer.pie-pagina a {
    /* Tipografia */
    text-decoration: none;

    /* colores y apariencia */
    color: white;
}

footer.pie-pagina a:hover{
    color: rgb(64, 96, 239);

}