/* ═══════════════════════════════════════════════════════════════
   Conexão Cosmópolis — single.css v1.6.1
   Layout profissional para artigos individuais e comentários.
   ═══════════════════════════════════════════════════════════════ */

/* ── Scroll fix: conteúdo do artigo rola dentro do painel central ── */
.single .nos-content {
  height: calc(100dvh - var(--nos-navbar-h));
  overflow-y: auto;
  overflow-x: hidden;
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: var(--nos-border) transparent;
}

@media (max-width: 1024px) {
  .single .nos-content {
    height: calc(100dvh - var(--nos-navbar-h));
  }
}

@media (max-width: 768px) {
  /* Em mobile a página inteira rola, não o painel */
  .single .nos-content {
    height: auto;
    overflow-y: visible;
  }
}

/* ── Barra de progresso de leitura ──────────────────────────── */
.nos-reading-progress {
  position: fixed;
  top: var(--nos-navbar-h);
  left: 0;
  right: 0;
  height: 3px;
  background: transparent;
  z-index: 500;
  pointer-events: none;
}

.nos-reading-progress__bar {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, var(--nos-accent), var(--nos-secondary));
  transition: width 80ms linear;
  border-radius: 0 2px 2px 0;
}

/* ── Artigo: estrutura geral ────────────────────────────────── */
.nos-article {
  padding: 0;
}

.nos-article__body {
  max-width: 100%;
}

/* ── Breadcrumb ─────────────────────────────────────────────── */
.nos-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .25rem .375rem;
  font-size: .75rem;
  color: var(--nos-text-faint);
  margin-bottom: 1.5rem;
  padding: .75rem 0;
  border-bottom: 1px solid var(--nos-border);
}

.nos-breadcrumb a {
  color: var(--nos-text-muted);
  transition: color var(--nos-transition);
}

.nos-breadcrumb a:hover { color: var(--nos-accent); }

.nos-breadcrumb svg { color: var(--nos-text-faint); flex-shrink: 0; }

.nos-breadcrumb span[aria-current] {
  color: var(--nos-text);
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 18rem;
}

/* ── Header do artigo ───────────────────────────────────────── */
.nos-article__header {
  margin-bottom: 1.5rem;
}

.nos-article__category-row {
  display: flex;
  flex-wrap: wrap;
  gap: .375rem;
  margin-bottom: .875rem;
}

.nos-article__category-badge {
  display: inline-block;
  padding: .25rem .75rem;
  border-radius: var(--nos-radius-full);
  background: var(--nos-accent-light);
  color: var(--nos-accent);
  font-size: .6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  transition: background var(--nos-transition), color var(--nos-transition);
}

.nos-article__category-badge:hover {
  background: var(--nos-accent);
  color: #fff;
}

.nos-article__category-badge--secondary {
  background: var(--nos-secondary-lt);
  color: var(--nos-secondary);
}

.nos-article__category-badge--secondary:hover {
  background: var(--nos-secondary);
  color: #fff;
}

.nos-article__title {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: clamp(1.625rem, 4vw, 2.25rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.025em;
  color: var(--nos-text);
  margin-bottom: 1rem;
}

.nos-article__excerpt {
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--nos-text-muted);
  margin-bottom: 1.125rem;
  font-style: italic;
  border-left: 3px solid var(--nos-accent);
  padding-left: .875rem;
}

.nos-article__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .75rem;
  padding-bottom: 1rem;
  border-bottom: 1.5px solid var(--nos-border);
}

.nos-article__author {
  display: flex;
  align-items: center;
  gap: .625rem;
  text-decoration: none;
}

.nos-article__author:hover .nos-article__author-name { color: var(--nos-accent); }

.nos-article__avatar {
  width: 2.75rem !important;
  height: 2.75rem !important;
  border-radius: 50% !important;
  object-fit: cover;
  border: 2px solid var(--nos-border);
  flex-shrink: 0;
}

.nos-article__author-info {
  display: flex;
  flex-direction: column;
  gap: .125rem;
}

.nos-article__author-name {
  font-size: .9rem;
  font-weight: 600;
  color: var(--nos-text);
  transition: color var(--nos-transition);
  line-height: 1.2;
}

.nos-article__date {
  font-size: .75rem;
  color: var(--nos-text-faint);
}

.nos-article__meta-right {
  display: flex;
  align-items: center;
  gap: .875rem;
}

.nos-article__read-time,
.nos-article__views {
  display: flex;
  align-items: center;
  gap: .3rem;
  font-size: .75rem;
  color: var(--nos-text-faint);
  font-weight: 500;
}

.nos-article__actions {
  margin-top: .875rem;
}

/* ── Imagem de destaque ─────────────────────────────────────── */
.nos-article__thumbnail {
  margin: 1.5rem 0;
  border-radius: var(--nos-radius-lg);
  overflow: hidden;
  box-shadow: var(--nos-shadow);
  background: var(--nos-bg);
  position: relative;
}

.nos-article__thumbnail-img {
  width: 100%;
  height: auto;
  display: block;
  max-height: 28rem;
  object-fit: cover;
  transition: transform 400ms ease;
}

.nos-article__thumbnail:hover .nos-article__thumbnail-img {
  transform: scale(1.015);
}

.nos-article__caption {
  padding: .5rem .875rem;
  font-size: .75rem;
  color: var(--nos-text-faint);
  background: var(--nos-surface-2);
  border-top: 1px solid var(--nos-border);
  font-style: italic;
}

/* ── Prosa (conteúdo do artigo) ─────────────────────────────── */
.nos-prose {
  font-size: 1.0625rem;
  line-height: 1.8;
  color: var(--nos-text);
  max-width: 100%;
}

.nos-prose p {
  margin-bottom: 1.375rem;
}

.nos-prose p:last-child { margin-bottom: 0; }

.nos-prose h2,
.nos-prose h3,
.nos-prose h4 {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 2rem;
  margin-bottom: .75rem;
  color: var(--nos-text);
  letter-spacing: -.02em;
}

.nos-prose h2 { font-size: 1.5rem; }
.nos-prose h3 { font-size: 1.25rem; }
.nos-prose h4 { font-size: 1.0625rem; font-family: 'Inter', system-ui, sans-serif; font-weight: 700; }

.nos-prose a {
  color: var(--nos-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  transition: color var(--nos-transition);
}

.nos-prose a:hover { color: var(--nos-accent-hover); }

.nos-prose strong, .nos-prose b { font-weight: 700; color: var(--nos-text); }
.nos-prose em, .nos-prose i { font-style: italic; }

.nos-prose ul,
.nos-prose ol {
  padding-left: 1.5rem;
  margin-bottom: 1.375rem;
  list-style: revert;
}

.nos-prose ul li,
.nos-prose ol li {
  margin-bottom: .5rem;
  line-height: 1.7;
}

.nos-prose blockquote {
  margin: 1.75rem 0;
  padding: 1rem 1.25rem 1rem 1.5rem;
  border-left: 4px solid var(--nos-accent);
  background: var(--nos-accent-light);
  border-radius: 0 var(--nos-radius) var(--nos-radius) 0;
  font-style: italic;
  color: var(--nos-text-muted);
  font-size: 1.05rem;
}

.nos-prose blockquote p { margin-bottom: 0; }
.nos-prose blockquote cite {
  display: block;
  margin-top: .5rem;
  font-size: .8125rem;
  font-style: normal;
  font-weight: 600;
  color: var(--nos-accent);
}

.nos-prose figure {
  margin: 1.75rem 0;
}

.nos-prose figure img {
  border-radius: var(--nos-radius);
  box-shadow: var(--nos-shadow-sm);
  width: 100%;
  height: auto;
}

.nos-prose figcaption {
  font-size: .75rem;
  color: var(--nos-text-faint);
  text-align: center;
  margin-top: .5rem;
  font-style: italic;
}

.nos-prose table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.75rem 0;
  font-size: .9375rem;
  border-radius: var(--nos-radius);
  overflow: hidden;
  box-shadow: var(--nos-shadow-xs);
}

.nos-prose th {
  background: var(--nos-accent);
  color: #fff;
  padding: .625rem .875rem;
  text-align: left;
  font-weight: 600;
  font-size: .875rem;
}

.nos-prose td {
  padding: .5rem .875rem;
  border-bottom: 1px solid var(--nos-border);
  color: var(--nos-text-muted);
}

.nos-prose tr:last-child td { border-bottom: none; }
.nos-prose tr:nth-child(even) td { background: var(--nos-surface-2); }

.nos-prose pre {
  background: #0f172a;
  color: #e2e8f0;
  padding: 1.25rem 1.5rem;
  border-radius: var(--nos-radius);
  overflow-x: auto;
  font-size: .875rem;
  line-height: 1.6;
  margin: 1.75rem 0;
  box-shadow: var(--nos-shadow);
}

.nos-prose code {
  background: var(--nos-bg);
  border: 1px solid var(--nos-border);
  padding: .125rem .375rem;
  border-radius: .25rem;
  font-size: .875em;
  font-family: 'Fira Code', 'Cascadia Code', monospace;
  color: var(--nos-secondary);
}

.nos-prose pre code {
  background: transparent;
  border: none;
  padding: 0;
  color: inherit;
  font-size: inherit;
}

.nos-prose hr {
  border: none;
  border-top: 2px solid var(--nos-border);
  margin: 2rem 0;
}

/* Embeds responsivos */
.nos-prose iframe,
.nos-prose .wp-block-embed,
.nos-prose .wp-block-video video {
  max-width: 100%;
  border-radius: var(--nos-radius);
}

.nos-prose .wp-block-embed__wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.nos-prose .wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
}

/* ── Tags do artigo ─────────────────────────────────────────── */
.nos-article__tags {
  display: flex;
  align-items: flex-start;
  gap: .625rem;
  flex-wrap: wrap;
  margin-top: 2rem;
  padding-top: 1.25rem;
  border-top: 1.5px solid var(--nos-border);
}

.nos-article__tags > svg {
  margin-top: .2rem;
  flex-shrink: 0;
  color: var(--nos-text-faint);
}

.nos-article__tags-list {
  display: flex;
  flex-wrap: wrap;
  gap: .375rem;
}

/* ── Reações rodapé ─────────────────────────────────────────── */
.nos-article__reactions-footer {
  margin-top: 1.5rem;
  padding: 1.25rem 1.5rem;
  background: linear-gradient(135deg, var(--nos-accent-light), var(--nos-secondary-lt));
  border: 1.5px solid var(--nos-border);
  border-radius: var(--nos-radius-lg);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .75rem;
}

.nos-article__reactions-label {
  font-size: .9375rem;
  font-weight: 600;
  color: var(--nos-text);
}

/* ── Barra de reações ───────────────────────────────────────── */
.nos-reactions {
  display: flex;
  align-items: center;
  gap: .25rem;
  flex-wrap: wrap;
}

.nos-reactions__right {
  display: flex;
  align-items: center;
  gap: .25rem;
  margin-left: auto;
}

.nos-reactions__btn {
  display: inline-flex;
  align-items: center;
  gap: .3125rem;
  padding: .375rem .625rem;
  border-radius: var(--nos-radius-full);
  border: 1.5px solid var(--nos-border);
  background: var(--nos-white);
  color: var(--nos-text-muted);
  font-size: .8125rem;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--nos-transition);
  white-space: nowrap;
}

.nos-reactions__btn:hover {
  border-color: var(--nos-accent);
  color: var(--nos-accent);
  background: var(--nos-accent-light);
}

.nos-reactions__btn--like.active,
.nos-reactions__btn--like[aria-pressed="true"] {
  background: var(--nos-accent-light);
  border-color: var(--nos-accent);
  color: var(--nos-accent);
}

.nos-reactions__btn--dislike.active,
.nos-reactions__btn--dislike[aria-pressed="true"] {
  background: #fff1f2;
  border-color: var(--nos-live);
  color: var(--nos-live);
}

.nos-reactions__btn--bookmark.active,
.nos-reactions__btn--bookmark[aria-pressed="true"] {
  background: var(--nos-secondary-lt);
  border-color: var(--nos-secondary);
  color: var(--nos-secondary);
}

/* ── Box do autor ───────────────────────────────────────────── */
.nos-article__author-box {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-top: 2rem;
  padding: 1.25rem;
  background: var(--nos-white);
  border: 1.5px solid var(--nos-border);
  border-radius: var(--nos-radius-lg);
  box-shadow: var(--nos-shadow-xs);
}

.nos-article__author-box-avatar {
  flex-shrink: 0;
}

.nos-article__author-box-img {
  width: 4rem !important;
  height: 4rem !important;
  border-radius: 50% !important;
  object-fit: cover;
  border: 2px solid var(--nos-border);
  display: block;
}

.nos-article__author-box-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.nos-article__author-box-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .375rem;
}

.nos-article__author-box-label {
  display: block;
  font-size: .6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--nos-text-faint);
  margin-bottom: .125rem;
}

.nos-article__author-box-name {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  color: var(--nos-text);
  transition: color var(--nos-transition);
  line-height: 1.2;
}

.nos-article__author-box-name:hover { color: var(--nos-accent); }

.nos-article__author-box-posts {
  font-size: .75rem;
  color: var(--nos-text-faint);
  background: var(--nos-bg);
  border: 1px solid var(--nos-border);
  border-radius: var(--nos-radius-full);
  padding: .1875rem .5rem;
  font-weight: 500;
  white-space: nowrap;
}

.nos-article__author-box-bio {
  font-size: .875rem;
  color: var(--nos-text-muted);
  line-height: 1.55;
}

.nos-article__author-box-link {
  align-self: flex-start;
}

/* ── Posts relacionados ─────────────────────────────────────── */
.nos-article__related {
  margin-top: 2rem;
}

.nos-article__related-title {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: 1rem;
  font-weight: 700;
  color: var(--nos-text);
  margin-bottom: 1rem;
  padding-bottom: .75rem;
  border-bottom: 1.5px solid var(--nos-border);
  letter-spacing: -.01em;
}

.nos-article__related-grid {
  display: grid;
  grid-template-columns: repeat( auto-fill, minmax( 12rem, 1fr ) );
  gap: .75rem;
}

.nos-related-card {
  display: flex;
  flex-direction: column;
  border: 1.5px solid var(--nos-border);
  border-radius: var(--nos-radius-lg);
  overflow: hidden;
  background: var(--nos-white);
  box-shadow: var(--nos-shadow-xs);
  transition: box-shadow var(--nos-transition-md), transform var(--nos-transition-md);
  text-decoration: none;
  color: inherit;
}

.nos-related-card:hover {
  box-shadow: var(--nos-shadow);
  transform: translateY(-2px);
}

.nos-related-card__thumb {
  height: 6rem;
  overflow: hidden;
  background: var(--nos-bg);
  flex-shrink: 0;
}

.nos-related-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 350ms ease;
  display: block;
}

.nos-related-card:hover .nos-related-card__thumb img { transform: scale(1.05); }

.nos-related-card__thumb--empty {
  background: linear-gradient(135deg, var(--nos-accent-light), var(--nos-secondary-lt));
}

.nos-related-card__body {
  padding: .75rem;
  display: flex;
  flex-direction: column;
  gap: .25rem;
  flex: 1;
}

.nos-related-card__cat {
  font-size: .625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--nos-accent);
}

.nos-related-card__title {
  font-size: .875rem;
  font-weight: 700;
  color: var(--nos-text);
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color var(--nos-transition);
}

.nos-related-card:hover .nos-related-card__title { color: var(--nos-accent); }

.nos-related-card__date {
  font-size: .6875rem;
  color: var(--nos-text-faint);
  margin-top: auto;
  padding-top: .375rem;
}

/* ── Paginação interna (<!--nextpage-->) ────────────────────── */
.nos-article__page-links {
  display: flex;
  align-items: center;
  gap: .375rem;
  flex-wrap: wrap;
  margin: 1.5rem 0;
  font-size: .875rem;
  color: var(--nos-text-muted);
}

.nos-article__page-links .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  border-radius: var(--nos-radius-sm);
  border: 1.5px solid var(--nos-border);
  background: var(--nos-white);
  color: var(--nos-text-muted);
  font-size: .8125rem;
  font-weight: 600;
  transition: all var(--nos-transition);
  padding: 0 .375rem;
  text-decoration: none;
}

.nos-article__page-links .page-numbers:hover,
.nos-article__page-links .page-numbers.current {
  background: var(--nos-accent);
  border-color: var(--nos-accent);
  color: #fff;
}

/* ── Comentários ────────────────────────────────────────────── */
.nos-comments {
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 2px solid var(--nos-border);
}

.nos-comments-protected {
  display: flex;
  align-items: center;
  gap: .625rem;
  padding: 1.25rem;
  background: var(--nos-surface-2);
  border: 1.5px solid var(--nos-border);
  border-radius: var(--nos-radius-lg);
  color: var(--nos-text-muted);
  font-size: .9375rem;
}

.nos-comments__header {
  margin-bottom: 1.5rem;
}

.nos-comments__title {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--nos-text);
  letter-spacing: -.015em;
}

.nos-comments__count {
  color: var(--nos-accent);
}

.nos-comments__closed {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .875rem 1rem;
  background: var(--nos-surface-2);
  border: 1.5px solid var(--nos-border);
  border-radius: var(--nos-radius);
  font-size: .875rem;
  color: var(--nos-text-faint);
  margin-bottom: 1.5rem;
}

/* Lista de comentários */
.nos-comment-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
}

.nos-comment-list .children {
  list-style: none;
  padding-left: 2.5rem;
  margin-top: 0;
  border-left: 2px solid var(--nos-border);
  margin-left: 1.25rem;
}

/* Comentário individual */
.nos-comment {
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--nos-border);
}

.nos-comment:last-child { border-bottom: none; }

.nos-comment--reply { padding-top: .875rem; }

.nos-comment__inner {
  display: flex;
  flex-direction: column;
  gap: .625rem;
}

.nos-comment__header {
  display: flex;
  align-items: center;
  gap: .625rem;
}

.nos-comment__avatar-img {
  width: 2.5rem !important;
  height: 2.5rem !important;
  border-radius: 50% !important;
  object-fit: cover;
  border: 2px solid var(--nos-border);
  flex-shrink: 0;
  display: block;
}

.nos-comment__meta {
  display: flex;
  flex-direction: column;
  gap: .125rem;
}

.nos-comment__author {
  display: flex;
  align-items: center;
  gap: .375rem;
  font-size: .9rem;
  font-weight: 700;
  color: var(--nos-text);
  line-height: 1.2;
}

.nos-comment__badge {
  display: inline-block;
  padding: .125rem .4375rem;
  border-radius: var(--nos-radius-full);
  font-size: .625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.nos-comment__badge--author {
  background: linear-gradient(135deg, var(--nos-accent), var(--nos-secondary));
  color: #fff;
}

.nos-comment__date {
  font-size: .6875rem;
  color: var(--nos-text-faint);
}

.nos-comment__pending {
  display: flex;
  align-items: center;
  gap: .375rem;
  font-size: .8125rem;
  color: #d97706;
  background: #fef3c7;
  border: 1px solid #fde68a;
  border-radius: var(--nos-radius-sm);
  padding: .375rem .625rem;
}

.nos-comment__body {
  font-size: .9375rem;
  line-height: 1.7;
  color: var(--nos-text);
  padding-left: 3.125rem;
}

.nos-comment__body p { margin-bottom: .625rem; }
.nos-comment__body p:last-child { margin-bottom: 0; }
.nos-comment__body a { color: var(--nos-accent); text-decoration: underline; }

.nos-comment__footer {
  padding-left: 3.125rem;
}

.nos-comment__actions {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
}

.nos-comment__action,
.nos-comment__action a {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  font-size: .75rem;
  font-weight: 600;
  color: var(--nos-text-faint);
  cursor: pointer;
  padding: .25rem .5rem;
  border-radius: var(--nos-radius-sm);
  transition: all var(--nos-transition);
  border: none;
  background: transparent;
  text-decoration: none;
}

.nos-comment__action a:hover,
.nos-comment__action--edit a:hover {
  color: var(--nos-accent);
  background: var(--nos-accent-light);
}

.nos-comment__like-btn {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  font-size: .75rem;
  font-weight: 600;
  color: var(--nos-text-faint);
  cursor: pointer;
  padding: .25rem .5rem;
  border-radius: var(--nos-radius-sm);
  transition: all var(--nos-transition);
  border: none;
  background: transparent;
}

.nos-comment__like-btn:hover {
  color: var(--nos-accent);
  background: var(--nos-accent-light);
}

.nos-comment__like-btn--active {
  color: var(--nos-accent);
  background: var(--nos-accent-light);
}

/* Paginação de comentários */
.nos-comments__pagination {
  margin: 1.5rem 0;
  padding-top: 1rem;
  border-top: 1px solid var(--nos-border);
}

.nos-comments__pagination-inner {
  display: flex;
  align-items: center;
  gap: .375rem;
  flex-wrap: wrap;
}

.nos-comments__pagination-inner .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  height: 2.25rem;
  border-radius: var(--nos-radius-sm);
  border: 1.5px solid var(--nos-border);
  background: var(--nos-white);
  color: var(--nos-text-muted);
  font-size: .8125rem;
  font-weight: 600;
  transition: all var(--nos-transition);
  padding: 0 .375rem;
  text-decoration: none;
}

.nos-comments__pagination-inner .page-numbers:hover,
.nos-comments__pagination-inner .page-numbers.current {
  background: var(--nos-accent);
  border-color: var(--nos-accent);
  color: #fff;
}

/* ── Formulário de comentário ───────────────────────────────── */
.nos-comment-form__wrap {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1.5px solid var(--nos-border);
}

.nos-comment-form__title {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--nos-text);
  margin-bottom: 1.25rem;
  letter-spacing: -.015em;
}

.nos-comment-form__cancel {
  margin-left: .5rem;
}

.nos-comment-form__cancel a {
  font-size: .8125rem;
  color: var(--nos-text-faint);
  font-weight: 500;
  transition: color var(--nos-transition);
}

.nos-comment-form__cancel a:hover { color: var(--nos-live); }

.nos-comment-form__logged-in {
  display: flex;
  align-items: center;
  gap: .625rem;
  padding: .75rem 1rem;
  background: var(--nos-surface-2);
  border: 1.5px solid var(--nos-border);
  border-radius: var(--nos-radius);
  margin-bottom: 1.25rem;
  font-size: .875rem;
  color: var(--nos-text-muted);
}

.nos-comment-form__avatar {
  width: 2rem !important;
  height: 2rem !important;
  border-radius: 50% !important;
  flex-shrink: 0;
}

.nos-comment-form__logged-in p { margin: 0; line-height: 1.4; }
.nos-comment-form__logged-in strong { color: var(--nos-text); }
.nos-comment-form__logout { font-size: .75rem; color: var(--nos-text-faint); text-decoration: underline; transition: color var(--nos-transition); }
.nos-comment-form__logout:hover { color: var(--nos-live); }

.nos-comment-form__login-notice {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .875rem 1rem;
  background: var(--nos-accent-light);
  border: 1.5px solid rgba(2,132,199,.2);
  border-radius: var(--nos-radius);
  font-size: .9375rem;
  color: var(--nos-text-muted);
}

.nos-comment-form__login-notice .nos-link { color: var(--nos-accent); font-weight: 600; text-decoration: underline; }

.nos-comment-form {
  display: flex;
  flex-direction: column;
  gap: .875rem;
}

.nos-comment-form__fields-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .75rem;
}

@media (max-width: 560px) {
  .nos-comment-form__fields-row { grid-template-columns: 1fr; }
}

.nos-comment-form__field {
  display: flex;
  flex-direction: column;
  gap: .375rem;
}

.nos-comment-form__label {
  font-size: .8125rem;
  font-weight: 600;
  color: var(--nos-text-muted);
}

.nos-comment-form__label span { color: var(--nos-live); }

.nos-comment-form__input {
  width: 100%;
  padding: .625rem .875rem;
  border: 1.5px solid var(--nos-border);
  border-radius: var(--nos-radius);
  background: var(--nos-white);
  font-size: .9375rem;
  color: var(--nos-text);
  font-family: inherit;
  transition: border-color var(--nos-transition), box-shadow var(--nos-transition);
}

.nos-comment-form__input:focus {
  outline: none;
  border-color: var(--nos-border-focus);
  box-shadow: 0 0 0 3px var(--nos-accent-light);
}

.nos-comment-form__textarea {
  width: 100%;
  padding: .75rem .875rem;
  border: 1.5px solid var(--nos-border);
  border-radius: var(--nos-radius);
  background: var(--nos-white);
  font-size: .9375rem;
  color: var(--nos-text);
  font-family: inherit;
  resize: vertical;
  min-height: 8rem;
  line-height: 1.6;
  transition: border-color var(--nos-transition), box-shadow var(--nos-transition);
}

.nos-comment-form__textarea:focus {
  outline: none;
  border-color: var(--nos-border-focus);
  box-shadow: 0 0 0 3px var(--nos-accent-light);
}

.nos-comment-form__field--cookie {
  margin-top: .125rem;
}

.nos-comment-form__cookie-label {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  font-size: .8125rem;
  color: var(--nos-text-muted);
  cursor: pointer;
  font-weight: normal;
  line-height: 1.45;
}

.nos-comment-form__cookie-label input[type="checkbox"] {
  margin-top: .175rem;
  accent-color: var(--nos-accent);
  flex-shrink: 0;
}

.nos-comment-form__submit {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
  margin-top: .25rem;
}

/* ── Responsive ajustes de artigo ───────────────────────────── */
@media (max-width: 640px) {
  .nos-article__title {
    font-size: 1.5rem;
  }

  .nos-article__related-grid {
    grid-template-columns: 1fr 1fr;
  }

  .nos-article__author-box {
    flex-direction: column;
    align-items: flex-start;
  }

  .nos-comment__body,
  .nos-comment__footer {
    padding-left: 0;
  }

  .nos-comment-list .children {
    padding-left: 1rem;
    margin-left: .625rem;
  }

  .nos-article__reactions-footer {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 480px) {
  .nos-article__related-grid {
    grid-template-columns: 1fr;
  }
}
