:root {
  --color-primary: #7b0017; /* Carmim escuro - usado apenas em botões e destaques */
  --color-secondary: #c5a059; /* Dourado suave/Bronze - elegante para contrastar */
  --color-text-dark: #2d3748; /* Cinza escuro (Charcoal) - muito melhor para leitura que preto puro */
  --color-bg-light: #fbfaf8; /* Off-white bem leve para o fundo da página, descansa a vista */
  --color-white: #ffffff;
}

body {
  font-family: 'Source Sans Pro', sans-serif !important;
  color: var(--color-text-dark);
  background-color: var(--color-bg-light);
}

h1, h2, h3, h4, h5, h6, .title, .font-heading {
  font-family: 'Cormorant Garamond', serif !important;
  color: var(--color-text-dark); /* Títulos em cinza escuro para manter a sobriedade e alto contraste */
}

/* Aplicando Carmim apenas como destaque pontual */
.highlight-text {
  color: var(--color-primary);
}

.text-primary {
  color: var(--color-primary) !important;
}

.bg-primary {
  background-color: var(--color-primary) !important;
}

.text-secondary {
  color: var(--color-secondary) !important;
}

.bg-secondary {
  background-color: var(--color-secondary) !important;
}

a {
  color: var(--color-primary);
}
a:hover {
  color: var(--color-secondary);
}

/* Custom button style */
.btn-custom {
  background-color: var(--color-primary);
  color: var(--color-white);
  padding: 10px 20px;
  border-radius: 4px;
  display: inline-block;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.btn-custom:hover {
  background-color: var(--color-secondary);
  color: var(--color-white);
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(0,0,0,0.15);
}

/* Justify text for paragraphs globally inside content sections (only on desktop) */
@media (min-width: 768px) {
  .prose p, article p, .content p {
    text-align: justify;
    text-justify: inter-word;
  }

  .prose li {
    text-align: justify;
  }
}

.prose p, article p, .content p {
  line-height: 1.7;
}

/* Strip cards (features) */
.strip-card {
  background-color: var(--color-white);
  border-top: 4px solid var(--color-primary);
  box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.strip-card i {
  color: var(--color-primary);
}

/* Alert bar link override */
.alert-bar a {
  color: #ffffff !important;
  font-weight: bold !important;
  text-decoration: underline !important;
}

.alert-bar a:hover {
  color: var(--color-secondary) !important;
}
