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

:root {
  --font: "Outfit", sans-serif;

  --cor01: hsl(0, 0%, 100%);
  --cor02: hsl(212, 45%, 89%);
  --cor03: hsl(216, 15%, 48%);
  --cor04: hsl(218, 44%, 22%);
}

* {
  padding: 0px;
  margin: 0px;
  box-sizing: border-box;
  /* Adicionado para melhor controle de tamanhos */
}

body {
  font-family: var(--font);
  background-color: var(--cor02);
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
}

main {
  width: 450px;
  background-color: var(--cor01);
  border-radius: 20px;
  padding: 20px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

img {
  display: block;
  margin: 0 auto 20px;
  padding: 25px 25px 25px 25px;
  width: 100%;
  max-width: 350px;
  border-radius: 15px;
}

h1,
p {
  text-align: center;
}

h1 {
  color: var(--cor04);
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 15px;
  padding: 0px 10px;
}

p {
  font-size: 15px;
  font-weight: 100;
  color: var(--cor03);
  margin-bottom: 20px;
  padding: 0px 10px;
}

div {
  margin-top: 20px;
}

.attribution {
  font-size: 11px;
  text-align: center;
  margin-top: 20px;
}

.attribution a {
  color: hsl(228, 45%, 44%);
  text-decoration: none;
}

.attribution a:hover {
  color: var(--cor04);
  text-decoration: underline;
}

body {
  flex-direction: column;
  /* Garante empilhamento vertical */
  padding: 10px;
  /* Padding mínimo para mobile */
}

main {
  width: 100%;
  max-width: 320px;
  /* Limita largura máxima em mobile */
  padding: 15px;
}

img {
  margin-bottom: 15px;
}

h1 {
  font-size: 18px;
  /* Levemente menor para mobile */
  padding: 0 5px;
  margin-bottom: 10px;
}

p {
  font-size: 14px;
  padding: 0 5px;
  margin-bottom: 15px;
}

.attribution {
  display: none;
}