.nav-link {
  position: relative;
  color: #1f2937;
  font-weight: 600;
  transition: color 0.3s;
  padding-bottom: 4px;
}

.nav-link::after {
  content: '';
    position: absolute;
    bottom: -1px;
    right: 0;
    height: 1px;
    width: 0;
    background-color: #2563eb;
  transition: width 0.3s ease-in-out, left 0.3s ease-in-out;
}

.nav-link:hover {
  color: #2563eb;
}

.nav-link:hover::after {
  width: 100%;
  left: 0;
  right: auto;
}

.nav-link.active {
  color: #2563eb;
}

.nav-link.active::after {
  width: 100%;
  left: 0;
  right: auto;
}

.prose {
  max-width: 65ch;
  margin-left: auto;
  margin-right: auto;
  font-size: 1rem;
  line-height: 1.75;
  color: #374151;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen,
    Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
  word-spacing: normal;
  font-weight: 400; /* texto normal mais leve */
}

/* Força o negrito a ser realmente mais forte */
.prose strong {
  color: #000000;
  font-weight: 600;
}

.prose .trix-content > div,
.prose .trix-content > h1,
.prose .trix-content > ul,
.prose .trix-content > blockquote {
  margin-bottom: 1.5em; /* espaço entre blocos */
}
.prose .trix-content > pre {
  margin-bottom: 1.5em;
}

/* Opcional: espaçamento maior entre listas e o conteúdo acima */
.prose .trix-content > ul {
  padding-left: 1.25em;
}

/* Se quiser, ajuste links */
.prose .trix-content a {
  color: #2563eb; /* azul para links */
  text-decoration: underline;
}

.prose h1 {
  font-size: 2.25rem; /* 36px */
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 1rem;
}

.prose h2 {
  font-size: 1.5rem; /* 24px */
  font-weight: 600;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
}

.prose h3 {
  font-size: 1.25rem; /* 20px */
  font-weight: 600;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
}

.prose p {
  margin-bottom: 1rem;
}

.prose ul {
  list-style-type: disc;
  list-style-position: inside;
  padding-left: 1.25rem;
  margin-bottom: 1.25rem;
  color: inherit;
}

.prose li {
  margin-bottom: 0.5rem;
  position: relative;
  color: #111827;
}

.prose li::marker {
  color: #6b7280; /* cinza na bolinha */
}

.prose a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(59, 130, 246, 0.4);
  transition: text-decoration-color 0.3s ease;
}

.prose a:hover,
.prose a:focus {
  text-decoration-color: rgba(59, 130, 246, 0.8);
  outline: none;
}

.prose img {
  max-width: 100%;
  height: auto;
  margin: 1rem 0;
  border-radius: 0.375rem; /* 6px arredondado */
}

.prose blockquote {
  border-left: 4px solid #d1d5db; /* cinza claro */
  padding-left: 1rem;
  font-style: italic;
  color: #6b7280;
  margin: 1.5rem 0;
}

trix-editor {
  display: block;
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.05);
  border-radius: 0.375rem;
  border: 1px solid #e5e7eb;
  outline: none;
  padding: 0.5rem 0.75rem;
  background-color: #ffffff;
  width: 100%;
  font-family: inherit;
}

trix-editor .trix-content {
  max-width: 65ch;
  margin-left: auto;
  margin-right: auto;
  font-size: 1rem;
  line-height: 1.75;
  color: #111827;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen,
    Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
}

trix-attachment .attachment__caption {
  display: none;
}

figure.attachment figcaption.attachment__caption {
  display: none !important;
}

figure.attachment img {
  width: 95%;
  height: auto;
  display: block;
  object-fit: contain;
}

.prose ul li a {
  text-decoration: none;
}

.prose pre {
  background-color: #1f2937; /* cinza bem escuro */
  color: #f9fafb;            /* texto quase branco */
  padding: 1rem;
  border-radius: 0.375rem;
  overflow-x: auto;
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
  border: 1px solid #374151;
}

.prose code {
  font-family: 'SFMono-Regular', Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
  background-color: transparent;
  color: inherit;
  font-size: 0.95em;
}
