/* Blog da NS. Mesma linguagem da Home: título-pôster em dois tons, faixa da marca e colunas abertas com linhas verticais. */

/* Cabeçalho da lista */
.ns-bl { padding-block: calc(var(--ns-header-h) + clamp(2rem, 6vw, 4.5rem)) var(--ns-section-space); }
.ns-bl__head { display: grid; gap: var(--ns-s-6); }
.ns-bl__title {
  display: grid; margin: 0;
  font-family: var(--ns-font-display); font-weight: 500; color: var(--ns-text);
  font-size: clamp(2.75rem, 14vw, 8rem); line-height: 0.95; letter-spacing: -0.05em;
}
.ns-bl__title-mark { color: var(--ns-blue); }
.ns-bl__ribbon { display: block; inline-size: 100%; block-size: clamp(5.5rem, 16vw, 11rem); margin-block: clamp(1.5rem, 4vw, 3rem) clamp(2rem, 5vw, 4rem); }
.ns-bl__ribbon path { fill: none; stroke-linecap: butt; }
.ns-bl__ribbon-green { stroke: var(--ns-green); stroke-width: 38; }
.ns-bl__ribbon-blue { stroke: var(--ns-blue); stroke-width: 26; opacity: 0.09; }

/* Item da lista */
.ns-bl__item { display: grid; gap: var(--ns-s-6); align-content: start; min-inline-size: 0; }
.ns-bl__media { display: block; overflow: hidden; border-radius: var(--ns-r-md); aspect-ratio: 16 / 10; background: var(--ns-night); }
.ns-bl__img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; transition: transform 600ms var(--ns-ease-out); }
.ns-bl__ph { display: grid; place-items: center; block-size: 100%; }
.ns-bl__ph img { inline-size: 30%; block-size: auto; }
.ns-bl__body { display: grid; gap: var(--ns-s-3); align-content: start; min-inline-size: 0; }
.ns-bl__name { margin: 0; font-size: var(--ns-fs-h3); line-height: 1.2; letter-spacing: -0.015em; font-weight: 500; overflow-wrap: anywhere; }
.ns-bl__name a { color: inherit; text-decoration: none; }
.ns-bl__excerpt { margin: 0; color: var(--ns-text-2); }
.ns-bl__meta { margin: 0; font-size: var(--ns-fs-small); color: var(--ns-text-2); }
@media (hover: hover) and (pointer: fine) {
  .ns-bl__item:hover .ns-bl__img { transform: scale(1.03); }
  .ns-bl__name a:hover { color: var(--ns-blue); }
}

/* Destaque do topo */
.ns-bl__item--lead { padding-block-end: clamp(2.5rem, 5vw, 4rem); }
.ns-bl__item--lead .ns-bl__name { font-size: var(--ns-fs-h2); line-height: 1.05; letter-spacing: -0.03em; }
.ns-bl__item--lead .ns-bl__excerpt { font-size: var(--ns-fs-lead); }
@media (min-width: 1024px) {
  .ns-bl__item--lead { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); column-gap: var(--ns-s-16); align-items: center; }
}

/* Colunas abertas: linhas verticais entre os artigos no desktop, horizontais no celular. */
.ns-bl__grid { display: grid; border-block-start: 1px solid var(--ns-line); }
.ns-bl__grid .ns-bl__item { padding-block: var(--ns-s-8); }
.ns-bl__grid .ns-bl__item + .ns-bl__item { border-block-start: 1px solid var(--ns-line); }
@media (min-width: 640px) {
  .ns-bl__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--ns-s-8); }
  .ns-bl__grid .ns-bl__item + .ns-bl__item { border-block-start: 0; }
  .ns-bl__grid .ns-bl__item:nth-child(n + 3) { border-block-start: 1px solid var(--ns-line); }
  .ns-bl__grid .ns-bl__item:nth-child(2n) { border-inline-start: 1px solid var(--ns-line); padding-inline-start: var(--ns-s-8); }
}
@media (min-width: 1024px) {
  .ns-bl__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ns-bl__grid .ns-bl__item:nth-child(n) { border-inline-start: 0; padding-inline-start: 0; border-block-start: 0; }
  .ns-bl__grid .ns-bl__item:nth-child(n + 4) { border-block-start: 1px solid var(--ns-line); }
  .ns-bl__grid .ns-bl__item:not(:nth-child(3n + 1)) { border-inline-start: 1px solid var(--ns-line); padding-inline-start: var(--ns-s-8); }
}

/* Paginação e estado vazio */
.ns-bl__pages { margin-block-start: var(--ns-s-8); }
.ns-bl__pages .nav-links { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ns-s-2) var(--ns-s-4); }
.ns-bl__pages .page-numbers { padding: var(--ns-s-2); font-weight: 600; color: var(--ns-text); text-decoration: none; }
.ns-bl__pages .page-numbers.current { color: var(--ns-blue); border-block-end: 2px solid var(--ns-blue); }
.ns-bl__empty { display: grid; gap: var(--ns-s-3); padding-block-start: var(--ns-s-8); max-inline-size: 40rem; border-block-start: 1px solid var(--ns-line); }
.ns-bl__empty h2, .ns-bl__empty p { margin: 0; }
.ns-bl__empty p { color: var(--ns-text-2); }

/* Chamada final */
.ns-bl-cta { padding-block: clamp(3.5rem, 7vw, 6rem); }
.ns-bl-cta__inner { display: grid; gap: var(--ns-s-8); justify-items: start; }
.ns-bl-cta h2 { margin: var(--ns-s-3) 0 0; }
@media (min-width: 1024px) {
  .ns-bl-cta__inner { grid-template-columns: minmax(0, 1fr) auto; align-items: end; column-gap: var(--ns-s-16); }
}
@media (max-width: 767px) { .ns-bl-cta .ns-btn { inline-size: 100%; } }

/* Artigo */
.ns-post { padding-block: calc(var(--ns-header-h) + clamp(1.5rem, 4vw, 3rem)) var(--ns-section-space); }
.ns-post__head { display: grid; gap: var(--ns-s-4); justify-items: start; }
.ns-post__back { margin-block-end: var(--ns-s-4); }
.ns-post__head .ns-eyebrow { margin: 0; }
.ns-post__head .ns-eyebrow a { color: inherit; text-decoration: none; }
.ns-post__title {
  margin: 0; max-inline-size: 22ch; color: var(--ns-text); overflow-wrap: anywhere;
  font-size: clamp(2.25rem, 1.4rem + 4vw, 4.75rem); line-height: 1.02; letter-spacing: -0.04em;
}
.ns-post__cover { margin-block: clamp(2rem, 4vw, 3.5rem) 0; }
.ns-post__cover img { display: block; inline-size: 100%; block-size: auto; border-radius: var(--ns-r-lg); }

.ns-prose { max-inline-size: 42rem; margin-inline: auto; margin-block-start: clamp(2rem, 4vw, 3.5rem); font-size: 1.125rem; line-height: 1.7; color: var(--ns-text); overflow-wrap: break-word; }
.ns-prose > * { margin-block: 0 1.25em; }
.ns-prose > :last-child { margin-block-end: 0; }
.ns-prose h2 { margin-block: 2em 0.6em; font-size: clamp(1.625rem, 1.3rem + 1.2vw, 2.25rem); line-height: 1.15; letter-spacing: -0.025em; }
.ns-prose h3 { margin-block: 1.75em 0.5em; font-size: var(--ns-fs-h3); line-height: 1.25; letter-spacing: -0.015em; }
.ns-prose a { color: var(--ns-blue); text-underline-offset: 0.15em; }
.ns-prose ul, .ns-prose ol { padding-inline-start: 1.25em; }
.ns-prose li + li { margin-block-start: 0.4em; }
.ns-prose blockquote { margin-inline: 0; padding-inline-start: 1.25em; border-inline-start: 3px solid var(--ns-green); color: var(--ns-text-2); }
.ns-prose img { max-inline-size: 100%; block-size: auto; border-radius: var(--ns-r-md); }
.ns-prose figure { margin-inline: 0; }
.ns-prose figcaption { margin-block-start: 0.5em; font-size: var(--ns-fs-small); color: var(--ns-text-2); }
.ns-prose table { inline-size: 100%; border-collapse: collapse; font-size: 1rem; }
.ns-prose th, .ns-prose td { padding: 0.625rem 0.75rem; border-block-end: 1px solid var(--ns-line); text-align: start; vertical-align: top; }
.ns-prose .wp-block-table { overflow-x: auto; }

/* Continue lendo */
.ns-post-more { padding-block: var(--ns-section-space); }
.ns-post-more h2 { margin: 0 0 clamp(2rem, 4vw, 3rem); }
