@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');

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

:root{
    --White: hsl(0, 0%, 100%);
    --Slate_300: hsl(212, 45%, 89%);
    --Slate_500: hsl(216, 15%, 48%);
    --Slate_900: hsl(218, 44%, 22%);
}

body{
  font-family: "Outfit", sans-serif;
  background-color: var(--Slate_300);
  min-height: 100vh; /* ! */
  display: flex;
  flex-direction: column; /* ! */
  align-items: center;
  justify-content: center;
  padding: 20px; /* ! */
  gap: 20px; /* ! */
}

main{
    background-color: var(--White);
    max-width: 320px;
    width: 100%; /* ! */
    border-radius: 20px; /* ! */
    padding: 16px; /* ! */
    text-align: center;
    box-shadow: 0 25px 25px rgba(0, 0, 0, 0.05);
}

img{
    width: 100%;
    height: auto;
    display: block;
    border-radius: 10px;
    margin-bottom: 24px;
}

h1{
    font-weight: 700;
    font-size: 22px;
    color: var(--Slate_900);
    line-height: 1.27; /* ! */
    margin-bottom: 16px; /* ! */
    padding: 0 8px; /* ! */
}

p{
    font-weight: 400;
    font-size: 15px; /* ! */
    color: var(--Slate_500);
    line-height: 1.4; /* ! */
    padding: 0 8px; /* ! */
    margin-bottom: 8px; /* ! */
}

/* Estilos do Footer */
.attribution {
    font-size: 11px;
    text-align: center;
    color: var(--Slate_500);
    max-width: 320px;
    width: 100%;
    padding: 0 16px;
    line-height: 1.4;
}
.attribution a {
    color: var(--Slate_900);
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s ease;
}
.attribution a:hover {
    color: var(--Slate_500);
    text-decoration: underline;
}

/* Responsividade para telas maiores */
@media (min-width: 768px) {
    main {
        max-width: 320px;
    }
}