:root {
  /* background */
  --background-primary: #F4F5FB;
  --background-secondary: #FFFFFF;

  /* Colors */
  --color-brand: #CA3884;
  --color-brand-hover: #A52C6B;
  --color-danger: #C93847;

  /* Content */
  --content-primary: #080B12;
  --content-secondary: #374151;
  --content-tertiary: #9CA3AF;
  --always-white: #FFFFFF;

  /* Border */
  --border-primary: #D1D5DB;
  --border-hover: #B9C2D0;

  /* Font */
  --title: 700 1.5rem/32px "Inter";
  --label: 600 1rem/20px "Inter";
  --paragraph: 500 1rem/20px "Inter";
  --link: 500 .875rem/16px "Inter";
}

body {
  background: var(--background-primary);
  max-width: 627px;
  margin: 0 auto;
}

#main {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-inline: 2rem;
}

.logo {
  margin-top: 25px;
}

.arrow-left {
  align-self: start;
  margin-top: 62px;
}

.main-title {
  align-self: start;
  line-height: 32px;
  margin-top: 16px;
  font: var(--title);
}

/* ### Formulário de Adicionar Item ### */
#form-item {
  align-self: stretch;
  display: flex;
  gap: 16px;
  margin-top: 44px;
  white-space: nowrap;
}

#form-item input {
  width: 451px;
  padding: 12px;
  border: 2px solid var(--border-primary);
  border-radius: 12px;
}

#form-item input::placeholder {
  color: var(--content-tertiary);
}

#form-item input:hover {
  border: 2px solid var(--border-hover);
}

#form-item input:focus {
  outline: none;
  border: 2px solid var(--color-brand);
}

/* Estilização do botão do formulário */
#form-item button {
  width: 160px;
  background-color: var(--color-brand);
  border: none;
  border-radius: 12px;
  color: var(--always-white);
  font: var(--label);
}

#form-item button:hover {
  background-color: var(--color-brand-hover);
}

/* ### Container dos produtos da lista */
.container-items {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  margin-top: 40px;
}

.item {
  background-color: var(--background-secondary);
  border-radius: 12px;
  display: flex;
  align-items: center;
  padding: 12px;
  width: 100%;
}

.item .check {
 width: 16px;
 height: 16px;
 margin-right: 12px;
}

.item label {
  font: var(--paragraph);
  width: 90%;
}

.delete {
  border: none;
  background: none;
  cursor: pointer;
  display: flex;
}

.alert {
  margin-top: 36px;
  display: none;
  white-space: nowrap;
  padding: 12px;
  width: 100%;
  background-color: var(--color-danger);
  border-radius: 12px;
  align-items: center;
}

.alert.show {
  display: flex;       
}

.alert > svg {
  margin-right: 9px;
}

.alert-message {
  font: var(--label);
  color: var(--always-white);   
  box-sizing: border-box;
  width: 100%;
}

.alert-close {
  border: none;
  display: flex;
  outline: none;
  background: none;
  cursor: pointer;
}

@media(min-width: 0px) and (max-width: 767px) {
  #form-item {
    flex-direction: column;
  }

  #form-item input {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
  }

  #form-item button {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    height: 44px;
  }

  .container-items {
    max-width: 480px;
  }

  .alert {
    max-width: 480px;
  }
}