/* =========================
   FOOTER
========================= */

.footer {
  padding: 72px 10% 28px;

  background-color: #030303;

  border-top: 1px solid var(--border);
}

/* =========================
   CONTEÚDO PRINCIPAL
========================= */

.footer-main {
  display: grid;

  grid-template-columns:
    minmax(260px, 1.4fr)
    repeat(4, minmax(150px, 1fr));

  gap: 56px;

  padding-bottom: 64px;
}

/* =========================
   MARCA
========================= */

.footer-brand {
  max-width: 420px;
}

.footer-logo {
  display: inline-flex;

  align-items: center;

  gap: 12px;

  color: var(--text);

  text-decoration: none;

  font-family: var(--font-brand);

  font-size: 1rem;

  letter-spacing: 0.18em;
}

.footer-logo img {
  width: 28px;
  height: 28px;

  object-fit: contain;
}

.footer-slogan {
  margin-top: 24px;

  color: var(--silver);

  font-size: 1rem;
}

.footer-pillars {
  margin-top: 12px;

  color: var(--muted);

  font-size: 0.75rem;

  letter-spacing: 0.12em;

  text-transform: uppercase;
}

/* =========================
   COLUNAS DO FOOTER
========================= */

.footer-column {
  min-width: 0;
}

.footer-title {
  display: block;

  margin-bottom: 20px;

  color: var(--muted);

  font-size: 0.7rem;

  letter-spacing: 0.16em;

  text-transform: uppercase;
}

/* =========================
   LINKS
========================= */

.footer-links {
  display: flex;

  flex-direction: column;

  align-items: flex-start;

  gap: 12px;
}

.footer-links a {
  position: relative;

  color: var(--muted);

  text-decoration: none;

  font-size: 0.9rem;

  transition: color var(--transition);
}

.footer-links a:hover {
  color: var(--text);
}

/* =========================
   CONTATO
========================= */

.footer-contact {
  display: flex;

  flex-direction: column;

  align-items: flex-start;

  gap: 12px;
}

.footer-contact a {
  color: var(--muted);

  text-decoration: none;

  font-size: 0.9rem;

  line-height: 1.6;

  word-break: break-word;

  transition: color var(--transition);
}

.footer-contact a:hover {
  color: var(--text);
}

/* =========================
   HORÁRIO
========================= */

.footer-hours {
  display: flex;

  flex-direction: column;

  gap: 8px;
}

.footer-hours p {
  color: var(--muted);

  font-size: 0.9rem;

  line-height: 1.6;
}

.footer-hours strong {
  color: var(--silver);

  font-family: var(--font-body);

  font-weight: normal;
}

/* =========================
   PARTE INFERIOR
========================= */

.footer-bottom {
  padding-top: 24px;

  display: flex;

  justify-content: space-between;

  align-items: center;

  gap: 32px;

  border-top: 1px solid var(--border);
}

.footer-copy {
  color: var(--muted);

  font-size: 0.8rem;
}

.footer-bottom-links {
  display: flex;

  align-items: center;

  gap: 28px;
}

.footer-domain,
.back-to-top {
  color: var(--muted);

  font-size: 0.8rem;

  text-decoration: none;

  transition: color var(--transition);
}

.footer-domain:hover,
.back-to-top:hover {
  color: var(--text);
}

/* =========================
   TABLET
========================= */

@media (max-width: 1200px) {
  .footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 48px;
  }

  .footer-brand {
    grid-column: 1 / -1;
  }
}

/* =========================
   MOBILE
========================= */

@media (max-width: 768px) {
  .footer {
    padding: 56px 6% 24px;
  }

  .footer-main {
    grid-template-columns: 1fr;

    gap: 42px;

    padding-bottom: 48px;
  }

  .footer-brand {
    grid-column: auto;
  }

  .footer-bottom {
    flex-direction: column;

    align-items: flex-start;

    gap: 20px;
  }

  .footer-bottom-links {
    width: 100%;

    justify-content: space-between;

    gap: 20px;
  }
}
