* {
    font-family: "Playwrite HU", cursive;
    font-optical-sizing: auto;
    font-style: normal;
    margin: 0;
    box-sizing: border-box;
}

:root {
    /* colores principales */
    --principal: #ff6f00;
    --secundario: #ffa040;

    /* colores neutros */
    --fondo: #e0e0e0;
    --texto: #333333;
    --parrafo: #555555;

    /* extras */
    --acento: #ffcc80;
    --blanco: #ffffff;
    --negro: #000000;
}

body {
    background-color: var(--fondo);
}

h1 {
    color: var(--principal);
}

h2 {
    color: var(--principal);
}

h3 {
    color: var(--secundario);
}

/* ========== Navegación ========== */
nav {
    color: white;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    background-color: var(--blanco);
    padding: 10px 20px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    z-index: 999;
}

nav a {
    color: var(--principal);
    text-decoration: none;
    padding: 10px;
    font-size: 22px;
}

/* ========== About Me ========== */
#about-me {
    margin: 6rem 1.5rem 1.5rem;
    opacity: 0;
    animation: fadeInsection 2s ease forwards;
}

@keyframes fadeInsection {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

#about-me img {
    margin: 100px;
    width: 200px;
    height: auto;
    border-radius: 10%;
}

#about-me > div {
    display: flex;
    justify-content: space-around;
}

#about-me > div > div {
    display: flex;
    flex-direction: column;
    align-self: center;
    color: var(--principal);
}

#about-me > div > div p,
#about-me > div > div li {
    color: var(--negro);
}

/* ========== Projects ========== */
#projects {
    margin: 1.5rem;
}

#projects > div {
    border: 2px solid var(--acento);
    padding: 30px;
    display: flex;
    align-items: center;
}

#projects div > div {
    display: flex;
    flex-direction: column;
    justify-content: end;
    margin: 50px;
    gap: 50px;
}

#projects img {
    max-width: 100%;
    height: auto;
}

#projects table {
    width: 80%;
    text-align: center;
    border-collapse: collapse;
    margin: 20px auto;
}

#projects table th {
    color: var(--principal);
    border: 1px solid var(--secundario);
}

#projects table td {
    color: var(--texto);
    border: 1px solid var(--secundario);
}

#projects table td a {
    color: rgb(104, 17, 155);
    text-decoration: none;
}


#contact-me {
    margin: 1.5rem;
}

#contact-me > div {
    gap: 1rem;
    display: flex;
    justify-content: space-around;
    align-items: end;
}

form input,
form textarea,
form button {
    margin-top: 5px;
    padding: 8px;
    border: 1px solid var(--secundario);
    border-radius: 5px;
    font-size: 16px;
}


footer {
    background-color: var(--principal);
    color: var(--blanco);
    text-align: center;
    padding: 20px;
    position: static;
    bottom: 0;
    width: 100%;
    margin: 0;
}

 /* RESPONSIVE  */
@media (max-width: 768px) {
    nav {
        flex-direction: column;
        align-items: center;
        position: static;
        margin: 0;
    }

    nav a {
        font-size: 18px;
        padding: 8px;
    }

    section {
        padding: 0 1rem;
    }

    #about-me > div,
    #contact-me > div,
    #projects > div {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    #about-me img {
        margin: 20px 0;
        width: 150px;
    }

    #about-me > div > div,
    #projects div > div {
        margin: 10px 0;
        gap: 20px;
    }

    #projects table,
    #contact-me table {
        width: 100%;
        font-size: 14px;
    }

    form input,
    form textarea,
    form button {
        width: 100%;
        max-width: 300px;
    }

    h1, h2, h3 {
        font-size: 1.2rem;
    }

    p, li {
        font-size: 1rem;
    }

    footer {
        font-size: 14px;
        padding: 10px;
    }
}