/*
 * Casca nova: página de autor (/author/<slug>/), design editorial 06/10/2026.
 * Só seletores cp-author-*. Tokens: design/README.md.
 * Texto #16142B; corpo #33314A; mudo #6B6A80; linhas #E6E4EF; regra forte #16142B;
 * roxo #614BC3 (hover #4A36A3); placeholder de foto #EFEDF5.
 * Os cards de guia usam as classes cp-home-card* (shell-home.css); as variáveis --cp-home-*
 * que elas consomem são declaradas aqui no escopo .cp-author.
 */

.cp-author {
  --cp-home-text: #16142B;
  --cp-home-text-2: #4B4A63;
  --cp-home-muted: #6B6A80;
  --cp-home-line: #E6E4EF;
  --cp-home-rule: #16142B;
  --cp-home-accent: #614BC3;
  --cp-home-accent-hover: #4A36A3;
  --cp-home-placeholder: #EFEDF5;
  --cp-home-radius: 8px;

  display: block;
  background: #FFFFFF;
  color: #16142B;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  min-width: 0;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
}

.cp-author *,
.cp-author *::before,
.cp-author *::after {
  box-sizing: border-box;
}

.cp-author-wrap {
  max-width: 1240px;
  margin: 0 auto;
  padding: 48px 24px 96px;
}

/* Trilha ----------------------------------------------------------- */

.cp-author-trail {
  font-size: 13px;
  line-height: 1.4;
  color: #6B6A80;
}

.cp-author-trail-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0 6px;
}

.cp-author-trail-item { margin: 0; }
.cp-author-trail-sep { margin-right: 6px; }

.cp-author-trail .cp-author-trail-link,
.cp-author-trail .cp-author-trail-link:hover {
  color: #6B6A80;
  text-decoration: none;
}
.cp-author-trail .cp-author-trail-link:hover { color: #16142B; }

/* Cabeçalho -------------------------------------------------------- */

.cp-author-head {
  margin-top: 20px;
  display: flex;
  align-items: flex-start;
  gap: 28px;
  padding-bottom: 40px;
  border-bottom: 1px solid #E6E4EF;
}

.cp-author-photo {
  display: block;
  flex-shrink: 0;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  object-fit: cover;
  background: #EFEDF5;
}

.cp-author-head-body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cp-author-kicker {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #614BC3;
}

.cp-author-name {
  margin: 0;
  font-family: inherit;
  font-size: 48px;
  line-height: 1.0;
  font-weight: 800;
  letter-spacing: -0.04em;
  color: #16142B;
  overflow-wrap: anywhere;
}

.cp-author-bio {
  margin: 6px 0 0;
  max-width: 680px;
  font-size: 17px;
  line-height: 1.7;
  color: #33314A;
}

.cp-author-meta {
  margin: 2px 0 0;
  font-size: 14px;
  line-height: 1.5;
  color: #6B6A80;
}

/* Perfis, "Como avalio" e link de metodologia (07/10/2026) ------------- */

.cp-author-links {
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.cp-author-links-item { margin: 0; }

.cp-author .cp-author-link {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 6px 14px;
  border: 1px solid #E6E4EF;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  color: #16142B;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.cp-author .cp-author-link:hover {
  border-color: #614BC3;
  color: #614BC3;
  text-decoration: none;
}

.cp-author-method {
  margin-top: 8px;
  max-width: 680px;
  padding: 16px 20px;
  background: #F7F6FB;
  border-radius: 8px;
}
.cp-author-method-title {
  margin: 0 0 6px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6B6A80;
}
.cp-author-method-text {
  font-size: 15px;
  line-height: 1.65;
  color: #4B4A63;
}
.cp-author-method-text p { margin: 0 0 8px; }
.cp-author-method-text p:last-child { margin-bottom: 0; }

.cp-author .cp-author-howlink {
  align-self: flex-start;
  margin-top: 2px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  color: #614BC3;
  text-decoration: none;
}
.cp-author .cp-author-howlink:hover {
  color: #4A36A3;
  text-decoration: underline;
}

/* Seção de guias --------------------------------------------------- */

.cp-author-section { margin-top: 56px; }

.cp-author-section-head {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 32px;
  align-items: baseline;
  justify-content: space-between;
  border-bottom: 1px solid #16142B;
  padding-bottom: 14px;
}

.cp-author-h2 {
  margin: 0;
  font-family: inherit;
  font-size: 26px;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #16142B;
}

.cp-author-section-note { font-size: 14px; color: #6B6A80; }

.cp-author-grid {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(340px, 100%), 1fr));
  gap: 36px 28px;
}

.cp-author-grid .cp-home-card,
.cp-author-grid .cp-home-card:hover,
.cp-author-grid .cp-home-card:focus {
  color: #16142B;
  text-decoration: none;
}

.cp-author-empty {
  margin: 28px 0 0;
  font-size: 16px;
  color: #6B6A80;
}

/* Paginação (links de texto) --------------------------------------- */

.cp-author-pagination { margin-top: 48px; font-size: 15px; }

.cp-author-pagination .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.cp-author-pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  align-items: baseline;
}

.cp-author-pagination .page-numbers {
  padding: 0;
  border: 0;
  background: none;
  font-weight: 600;
  color: #614BC3;
  text-decoration: none;
}

.cp-author-pagination a.page-numbers:hover { color: #4A36A3; text-decoration: underline; }

.cp-author-pagination .page-numbers.current {
  color: #16142B;
  font-weight: 800;
}

.cp-author-pagination .page-numbers.dots {
  color: #6B6A80;
  font-weight: 400;
}

/* Responsivo ------------------------------------------------------- */

@media (max-width: 640px) {
  .cp-author-wrap { padding: 32px 16px 64px; }
  .cp-author-head {
    flex-direction: column;
    gap: 16px;
    padding-bottom: 32px;
  }
  .cp-author-photo { width: 72px; height: 72px; }
  .cp-author-name { font-size: 36px; line-height: 1.02; }
  .cp-author-bio { font-size: 16px; line-height: 1.65; }
  .cp-author-section { margin-top: 40px; }
  .cp-author-h2 { font-size: 24px; }
  .cp-author-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}
