/* ============================================================
   INSIGHTS (blog) — estilos das páginas /insights/ e /insights/<slug>/
   Depende dos tokens do DS (colors_and_type.css) + styles.css.
   ============================================================ */

/* ---------- comuns ---------- */
.ins-back {
  display: inline-flex; align-items: center; gap: .5rem;
  font-family: var(--font-mono); font-size: var(--fs-caption); color: var(--fg3);
  text-decoration: none; margin-bottom: var(--space-4);
  transition: color var(--dur-fast) var(--ease-soft), gap var(--dur-fast) var(--ease-glide);
}
.ins-back:hover { color: var(--sc-verde); gap: .75rem; }
[data-theme="light"] .ins-back:hover { color: var(--sc-verde-deep); }
.ins-cat {
  display: inline-flex; align-items: center; padding: .3rem .8rem;
  border-radius: var(--radius-pill); font-family: var(--font-mono);
  font-size: var(--fs-caption); letter-spacing: .04em;
  color: var(--sc-verde); background: color-mix(in srgb, var(--sc-verde) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--sc-verde) 28%, transparent);
}
[data-theme="light"] .ins-cat { color: var(--sc-verde-deep); }
.ins-meta {
  display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .9rem;
  font-family: var(--font-mono); font-size: var(--fs-caption); color: var(--fg4);
}
.ins-meta .dot { width: 3px; height: 3px; border-radius: 50%; background: var(--fg4); }

/* ============================================================
   ÍNDICE  /insights/
   ============================================================ */
.ins-hero { padding: calc(var(--space-6) + 56px) 0 var(--space-5); position: relative; }
.ins-hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background: radial-gradient(ellipse 70% 60% at 70% 0%, color-mix(in srgb, var(--sc-lilas) 14%, transparent) 0%, transparent 70%);
}
.ins-hero .wrap { position: relative; z-index: 1; }
.ins-hero .ins-lead { max-width: 620px; color: var(--fg2); font-weight: 300; margin-top: var(--space-2); }

.ins-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: var(--space-4); padding-bottom: var(--space-7);
}
@media (max-width: 900px) { .ins-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .ins-grid { grid-template-columns: 1fr; } }

/* card de post */
.ins-card {
  display: flex; flex-direction: column; overflow: hidden;
  border: 1px solid var(--border); border-radius: var(--radius-lg);
  background: color-mix(in srgb, var(--sc-ink-700) 45%, transparent);
  backdrop-filter: var(--glass-blur); text-decoration: none; color: inherit;
  transition: transform var(--dur-med) var(--ease-glide), border-color var(--dur-med) var(--ease-soft), box-shadow var(--dur-med) var(--ease-soft);
}
[data-theme="light"] .ins-card { background: var(--surface); }
.ins-card:hover {
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--sc-verde) 35%, var(--border));
  box-shadow: 0 24px 50px rgba(0, 0, 0, .4);
}
.ins-card-cover { aspect-ratio: 16 / 9; overflow: hidden; background: var(--sc-ink-800); }
.ins-card-cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform var(--dur-slow) var(--ease-glide); }
.ins-card:hover .ins-card-cover img { transform: scale(1.05); }
.ins-card-body { padding: var(--space-4); display: flex; flex-direction: column; gap: .7rem; flex: 1; }
.ins-card-cat { font-family: var(--font-mono); font-size: var(--fs-caption); color: var(--sc-verde); letter-spacing: .04em; }
[data-theme="light"] .ins-card-cat { color: var(--sc-verde-deep); }
.ins-card h3 { font-family: var(--font-display); font-size: 1.25rem; font-weight: 600; line-height: 1.25; color: var(--fg1); }
.ins-card-dek { font-size: var(--fs-small); color: var(--fg3); line-height: 1.55; }
.ins-card-meta { margin-top: auto; font-family: var(--font-mono); font-size: var(--fs-caption); color: var(--fg4); }

/* post em destaque (featured) */
.ins-featured {
  display: grid; grid-template-columns: 1.1fr 1fr; gap: 0; overflow: hidden;
  border: 1px solid var(--border); border-radius: var(--radius-lg);
  background: color-mix(in srgb, var(--sc-ink-700) 45%, transparent);
  text-decoration: none; color: inherit; margin-bottom: var(--space-5);
  transition: border-color var(--dur-med) var(--ease-soft), box-shadow var(--dur-med) var(--ease-soft);
}
[data-theme="light"] .ins-featured { background: var(--surface); }
.ins-featured:hover { border-color: color-mix(in srgb, var(--sc-verde) 35%, var(--border)); box-shadow: 0 24px 50px rgba(0,0,0,.4); }
.ins-featured-cover { overflow: hidden; min-height: 280px; background: var(--sc-ink-800); }
.ins-featured-cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform var(--dur-slow) var(--ease-glide); }
.ins-featured:hover .ins-featured-cover img { transform: scale(1.04); }
.ins-featured-body { padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-2); justify-content: center; }
.ins-featured-body h2 { font-family: var(--font-display); font-size: clamp(1.5rem, 3vw, 2.1rem); font-weight: 600; line-height: 1.2; color: var(--fg1); }
.ins-featured-body p { color: var(--fg3); line-height: 1.6; max-width: 46ch; }
@media (max-width: 760px) { .ins-featured { grid-template-columns: 1fr; } .ins-featured-cover { aspect-ratio: 16/9; min-height: 0; } }

/* ============================================================
   POST  /insights/<slug>/
   ============================================================ */
.post-hero { padding: calc(var(--space-6) + 56px) 0 var(--space-3); position: relative; }
.post-hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background: radial-gradient(ellipse 65% 55% at 50% 0%, color-mix(in srgb, var(--sc-lilas) 12%, transparent) 0%, transparent 70%);
}
.post-hero .wrap { position: relative; z-index: 1; max-width: 760px; }
.post-hero h1 { margin: var(--space-3) 0 var(--space-3); }
.post-dek { font-size: var(--fs-lead); color: var(--fg2); font-weight: 300; line-height: 1.5; max-width: 60ch; }
.post-byline { display: flex; align-items: center; gap: .8rem; margin-top: var(--space-4); }
.post-byline .avatar {
  width: 42px; height: 42px; border-radius: 50%; flex-shrink: 0;
  display: grid; place-items: center; font-family: var(--font-display); font-weight: 700; font-size: .85rem;
  color: var(--sc-ink-900); background: var(--sc-grad-verde-lilas);
}
.post-byline .who { display: flex; flex-direction: column; gap: 2px; }
.post-byline .who strong { font-size: var(--fs-small); color: var(--fg1); font-weight: 600; }

.post-cover { max-width: 980px; margin: var(--space-5) auto 0; padding: 0 var(--space-4); }
.post-cover img { width: 100%; height: auto; display: block; border-radius: var(--radius-lg); border: 1px solid var(--border); }

/* corpo do artigo (prose) */
.post-prose { max-width: 720px; margin: var(--space-6) auto 0; padding: 0 var(--space-4); }
.post-prose > * + * { margin-top: 1.35em; }
.post-prose p, .post-prose li {
  font-family: var(--font-body); font-size: var(--fs-lead); line-height: 1.75;
  color: var(--fg2); font-weight: 300;
}
.post-prose h2 {
  font-family: var(--font-display); font-size: clamp(1.4rem, 2.6vw, 1.9rem); font-weight: 600;
  color: var(--fg1); line-height: 1.25; margin-top: 2em; letter-spacing: -0.01em; scroll-margin-top: 90px;
}
.post-prose h3 {
  font-family: var(--font-display); font-size: clamp(1.15rem, 2vw, 1.4rem); font-weight: 600;
  color: var(--fg1); line-height: 1.3; margin-top: 1.6em; scroll-margin-top: 90px;
}
.post-prose strong { color: var(--fg1); font-weight: 600; }
.post-prose a { color: var(--sc-verde); text-underline-offset: 3px; text-decoration: underline; text-decoration-thickness: 1px; }
[data-theme="light"] .post-prose a { color: var(--sc-verde-deep); }
.post-prose ul, .post-prose ol { padding-left: 1.4rem; display: flex; flex-direction: column; gap: .55em; }
.post-prose ul li::marker { color: var(--sc-verde); }
.post-prose ol li::marker { color: var(--sc-verde); font-family: var(--font-mono); }
[data-theme="light"] .post-prose ul li::marker, [data-theme="light"] .post-prose ol li::marker { color: var(--sc-verde-deep); }
.post-prose blockquote {
  margin-left: 0; padding: .4rem 0 .4rem var(--space-4);
  border-left: 3px solid var(--sc-verde);
  font-family: var(--font-display); font-size: clamp(1.25rem, 2.4vw, 1.6rem); font-weight: 500;
  line-height: 1.35; color: var(--fg1); font-style: normal;
}
[data-theme="light"] .post-prose blockquote { border-left-color: var(--sc-verde-deep); }
.post-prose figure { margin: 2em 0; }
.post-prose figure img { width: 100%; height: auto; border-radius: var(--radius-md, 14px); border: 1px solid var(--border); display: block; }
.post-prose figcaption { margin-top: .6rem; font-family: var(--font-mono); font-size: var(--fs-caption); color: var(--fg4); text-align: center; }
.post-prose code {
  font-family: var(--font-mono); font-size: .9em; padding: .15em .4em; border-radius: 6px;
  background: color-mix(in srgb, var(--fg1) 8%, transparent); color: var(--sc-verde);
}
[data-theme="light"] .post-prose code { color: var(--sc-verde-deep); }
.post-prose pre {
  background: var(--sc-ink-800); border: 1px solid var(--border); border-radius: var(--radius-md, 14px);
  padding: var(--space-3); overflow-x: auto;
}
.post-prose pre code { background: none; color: var(--fg2); padding: 0; }
.post-prose hr { border: 0; height: 1px; background: var(--border); margin: 2.4em 0; }

/* compartilhar + autor */
.post-foot { max-width: 720px; margin: var(--space-6) auto 0; padding: var(--space-5) var(--space-4) 0; border-top: var(--hairline); }
.post-share { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.post-share span.lbl { font-family: var(--font-mono); font-size: var(--fs-caption); color: var(--fg4); margin-right: .25rem; }
.share-btn {
  display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 12px;
  border: 1px solid var(--border-strong); background: color-mix(in srgb, var(--fg1) 5%, transparent);
  color: var(--fg2); font-size: 1.2rem; cursor: pointer; text-decoration: none;
  transition: color var(--dur-fast) var(--ease-soft), border-color var(--dur-fast) var(--ease-soft), transform var(--dur-fast) var(--ease-glide);
}
.share-btn:hover { color: var(--sc-verde); border-color: color-mix(in srgb, var(--sc-verde) 45%, transparent); transform: translateY(-2px); }
[data-theme="light"] .share-btn:hover { color: var(--sc-verde-deep); }
.share-copied { font-family: var(--font-mono); font-size: var(--fs-caption); color: var(--sc-verde); opacity: 0; transition: opacity .3s; }
.share-copied.on { opacity: 1; }

.post-author {
  display: flex; gap: var(--space-3); align-items: center; margin-top: var(--space-5);
  padding: var(--space-4); border: 1px solid var(--border); border-radius: var(--radius-lg);
  background: color-mix(in srgb, var(--sc-ink-700) 45%, transparent);
}
[data-theme="light"] .post-author { background: var(--surface); }
.post-author .avatar { width: 54px; height: 54px; border-radius: 50%; flex-shrink: 0; display: grid; place-items: center; font-family: var(--font-display); font-weight: 700; color: var(--sc-ink-900); background: var(--sc-grad-verde-lilas); }
.post-author .bio strong { display: block; color: var(--fg1); font-size: var(--fs-small); }
.post-author .bio span { font-size: var(--fs-caption); color: var(--fg3); }

/* CTA do post — reutiliza o cartão premium da home (.cta-card.flashlight-card,
   estilizado no styles.css): glow radial central + spotlight verde seguindo o
   cursor + moldura que acende no hover. Aqui só o espaçamento dentro do artigo. */
.ins-cta { margin-top: var(--space-7); margin-bottom: clamp(var(--space-6), 9vw, 7rem); }
.ins-cta + .post-related { margin-top: 0; }

/* relacionados */
.post-related { max-width: 1100px; margin: var(--space-7) auto 0; padding: var(--space-5) var(--space-4) var(--space-7); border-top: var(--hairline); }
.post-related h2 { font-family: var(--font-display); font-size: 1.4rem; font-weight: 600; color: var(--fg1); margin-bottom: var(--space-4); }
.post-related .ins-grid { padding-bottom: 0; }
