/* =================== FONTS =================== */
@import url("https://fonts.googleapis.com/css2?family=Rubik:wght@400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;700&display=swap");

/* =================== CSS =================== */
@import url("./perfil_box.css");
@import url("./lateral_bar.css");
@import url("./section_box.css");
@import url("./animations.css");

/* =================== SECTIONS =================== */
@import url("./sections/home.css");
@import url("./sections/aboutme.css");
@import url("./sections/skills.css");
@import url("./sections/projects.css");
@import url("./sections/contact.css");

/* =============== VARIABLES & RESET =============== */

/* =============== VARIABLES =============== */
:root {
  --color-bg: #121212;
  --color-surface: #1e1e1f;
  --color-text: #e0e0e0;
  --color-text-secondary: #a1a1a1;
  --color-border: #2a2a2a;
  --color-tertiary: #525252;

  --color-primary: #bb86fc;
  --color-secondary: #03dac6;
  --color-error: #cf6679;

  box-sizing: border-box;

  --border-gradient-onyx: linear-gradient(
    to bottom right,
    hsl(0, 0%, 41%) 0%,
    hsla(0, 0%, 25%, 0) 50%
  );

  --color-correct: rgba(11, 146, 22, 0.452);
}

/* =============== RESET =============== */
* {
  margin: 0;
  padding: 0;
  box-sizing: inherit;
}

/* =============== LAYOUT GENERAL =============== */
body {
  display: flex;
  box-sizing: border-box;
  background-position: center;
  background-size: cover;
  padding: 3rem;
  gap: 2rem;
  background-image: url("../src/backgrounds/background.svg");
  color: var(--color-text);
  font-family: "Rubik", sans-serif;
  height: 100vh;
  overflow: hidden;
}

/* =============== MEDIA QUERIES =============== */
@media (max-width: 550px) {
  body {
    flex-direction: column;
    align-items: center;
    justify-content: start;
    padding: 0.5rem;
    margin: 0;
    gap: 0.5rem;
    height: 90vh;
  }

  .perfil-box {
    position: relative;
    top: 0;
    width: 100%;
    margin: 0;
    gap: 1rem;
    height: fit-content;
    padding: 0.5rem;
    border-radius: 0.5rem;
    flex-direction: row;
  }

  .perfil {
    flex-direction: column;
    gap: 0.5rem;
  }

  .perfil-text {
    flex: 1;
    gap: 0.25rem;
  }

  .perfil-box h2 {
    font-size: 1em;
  }

  .perfil-text p {
    font-size: 0.7em;
  }

  .perfil-img-box {
    width: 5rem;
    height: 5rem;
    padding: 0.25rem;
    margin: 0;
  }

  .perfil-img-box img {
    width: 100%;
    height: 100%;
    transform: scale(1.3) translateY(-10%);
  }

  .icon-box {
    width: 35px;
    height: 35px;
    font-size: 12px;
  }

  .contact {
    gap: 0.25rem;
  }

  .contact-box {
    flex: 1;
  }

  .contact h3 {
    font-size: 0.7rem;
  }

  .contact p {
    font-size: 0.7rem;
  }

  .hrone {
    display: none;
  }

  .social-media-buttons a {
    font-size: 0.6rem;
  }

  .section-box {
    padding: 1rem;
    overflow: auto;
    flex: 1;
    display: flex;
    border-radius: 0.5rem;
  }

  .section-home h1 {
    font-size: 1.5em;
  }

  .section-home p {
    font-size: 0.8em;
    width: 70%;
  }

  .line-decoration {
    width: 30px;
    height: 3px !important;
    margin: 0.5rem 0;
  }

  .section-home img {
    width: 70%;
    bottom: -1rem;
    right: -1rem;
  }
  .section-home .button-about {
    padding: 0.5rem 1rem;
    font-size: 0.8em;
  }

  .button-cv {
    transform: scale(0.8);
  }
  .section-aboutme {
    flex-direction: column;
    padding: 0;
    gap: 0.5rem;
    overflow: auto;
  }

  .services {
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
  }

  .about-me-text h2 {
    font-size: 1.5em;
  }
  .about-me-text p {
    font-size: 0.8em;
    margin-bottom: 1rem;
  }

  .section-skills {
    overflow: auto;
  }

  .skills-info {
    flex-direction: column;
    padding: 1rem;
    gap: 0.5rem;
  }

  .img-skill-pc {
    display: none;
  }

  .img-skill-mobile {
    display: block;
    width: 5rem;
    height: 5rem;
  }

  .skill-details {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    flex: 1;
  }

  .skills-info img {
    width: 2rem;
    height: 2rem;
  }

  .skills-info h3 {
    font-size: 0.8em;
  }
  .skills-bar {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
  }

  .navbar-lateral {
    display: flex;
    height: fit-content;
    flex-direction: row;
    gap: 0.5rem;
  }

  .section-contact {
    padding: 1rem;
    overflow: auto;
  }

  .contact-info {
    flex-direction: column;
    gap: 1rem;
  }

  .contact-form {
    width: 100%;
    margin-left: 0;
  }

  .input-group input {
    padding: 0.8rem;
  }
}
