/* Containers */
.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--spacing-lg);
}

.container-sm {
  max-width: 800px;
}

/* Seções */
section {
  padding: var(--spacing-3xl) 0;
}

.bg-light {
  background-color: var(--color-bg-alt);
}

/* Header */
.site-header {
  background-color: var(--color-bg-main);
  padding: var(--spacing-md) 0;
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid var(--color-border);
}

.header-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo {
  display: flex;
  align-items: center;
}

.site-logo {
  max-height: 40px; /* Altura ideal para o header */
  width: auto;
  object-fit: contain;
}

/* Hero Section */
.hero-section {
  padding: var(--spacing-4xl) 0 var(--spacing-3xl);
  text-align: center;
  position: relative;
  overflow: hidden;
}

/* Grid Geral */
.grid {
  display: grid;
  gap: var(--spacing-xl);
}

.grid-cols-2 {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.grid-cols-3 {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

/* Footer */
.site-footer {
  background-color: var(--color-text-main);
  color: var(--color-bg-main);
  padding: var(--spacing-2xl) 0;
  text-align: center;
  margin-top: var(--spacing-4xl);
}

.site-footer p {
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 0;
}

.site-footer a {
  color: var(--color-primary-light);
}

/* Espaçamentos Utilitários */
.mt-1 { margin-top: var(--spacing-sm); }
.mt-2 { margin-top: var(--spacing-md); }
.mt-3 { margin-top: var(--spacing-lg); }
.mt-4 { margin-top: var(--spacing-xl); }
.mt-5 { margin-top: var(--spacing-2xl); }

.mb-1 { margin-bottom: var(--spacing-sm); }
.mb-2 { margin-bottom: var(--spacing-md); }
.mb-3 { margin-bottom: var(--spacing-lg); }
.mb-4 { margin-bottom: var(--spacing-xl); }
.mb-5 { margin-bottom: var(--spacing-2xl); }
