/* ============================================================
   Luciany Hara — single post & páginas internas
   Não se aplica à landing (.lh-fullwidth).
   Depende de tokens.css + lh.css.
   ============================================================ */

/* ============================================================
   HEADER GP — páginas internas (non-landing)
   Espelha o estilo do header da landing.
   ============================================================ */
body:not(.lh-fullwidth) #masthead {
  background: var(--lh-bg);
  border-bottom: 1px solid var(--lh-border);
  position: sticky;
  top: 0;
  z-index: 100;
}

body:not(.lh-fullwidth) #masthead .inside-header {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  padding: 20px 2.5rem !important;
  max-width: none !important;
}

/* Logo no header GP */
body:not(.lh-fullwidth) #masthead .site-branding { flex-shrink: 0; }

/* Mobile: o botão hamburguer do GP ocupa o canto superior direito.
   Deslocamos o toggle de modo (◐, fixed) para a esquerda dele, evitando
   que os dois fiquem sobrepostos e o menu fique intocável. */
@media (max-width: 768px) {
  body:not(.lh-fullwidth) .lh-mode-toggle {
    right: 76px;
  }
}

/* Só o logo (imagem) no header interno — esconde o título do site em texto.
   O GP renderiza .main-title junto do logo; no mobile os dois estouram a
   largura e geram scroll horizontal. Mantemos apenas o wordmark. */
body:not(.lh-fullwidth) #masthead .main-title,
body:not(.lh-fullwidth) #masthead .site-description {
  display: none !important;
}
body:not(.lh-fullwidth) #masthead .site-branding {
  min-width: 0;
  max-width: 60vw;
}
/*body:not(.lh-fullwidth) #masthead .site-logo img,
body:not(.lh-fullwidth) #masthead .lh-site-logo img {
  max-width: 100%;
  height: auto;
}*/

/* Nav principal GP */
body:not(.lh-fullwidth) .main-navigation { background: none !important; }
body:not(.lh-fullwidth) .main-navigation .inside-navigation { padding: 0 !important; max-width: none !important; }
body:not(.lh-fullwidth) .main-nav { display: flex !important; gap: .25rem !important; margin: 0; padding: 0; }
body:not(.lh-fullwidth) .main-nav > .menu-item { float: none !important; }
body:not(.lh-fullwidth) .main-nav > .menu-item > a {
  font-family: var(--lh-font-body) !important;
  font-size: .9375rem !important;
  font-weight: 500 !important;
  color: var(--lh-muted) !important;
  text-decoration: none !important;
  padding: .35rem .75rem !important;
  border-radius: 20px !important;
  transition: color .15s !important;
  line-height: 1.4 !important;
}
body:not(.lh-fullwidth) .main-nav > .menu-item > a:hover,
body:not(.lh-fullwidth) .main-nav > .menu-item.current-menu-item > a {
  color: var(--lh-ink) !important;
}

/* ---- Breadcrumb — Space Mono, eyebrow discreto ---- */
.breadcrumb-trail,
.generate-breadcrumbs,
.woocommerce-breadcrumb {
  font-family: var(--lh-font-eyebrow);
  font-size: .625rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--lh-faint2);
  padding: .875rem 0;
  margin-bottom: 0;
}

.breadcrumb-trail a,
.generate-breadcrumbs a {
  color: var(--lh-faint2) !important;
  text-decoration: none !important;
}

.breadcrumb-trail a:hover,
.generate-breadcrumbs a:hover {
  color: var(--lh-accent) !important;
  filter: none;
}

/* ---- Container editorial: leitura em coluna estreita ---- */
.single .grid-container,
.blog .grid-container,
.archive .grid-container,
.page:not(.lh-fullwidth) .grid-container {
  max-width: 860px;
  padding-left: 2rem;
  padding-right: 2rem;
}

/* Remove sidebar: conteúdo ocupa 100% ---- */
.single .content-area,
.blog .content-area,
.archive .content-area,
.page:not(.lh-fullwidth) .content-area {
  width: 100%;
  float: none;
}

/* ============================================================
   HEADER DO ARTIGO
   ============================================================ */
.single .entry-header,
.page:not(.lh-fullwidth) .entry-header {
  /*padding: 3.5rem 0 2rem;*/
  border-bottom: 1px solid var(--lh-border);
  margin-bottom: 2.5rem;
}

/* Categoria acima do título — eyebrow em Space Mono */
.single .entry-header .post-categories,
.single .cat-links {
  list-style: none;
  padding: 0;
  margin: 0 0 1rem;
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
}

.single .entry-header .post-categories li,
.single .cat-links { margin: 0; }

.single .cat-links a,
.single .entry-header .post-categories a {
  font-family: var(--lh-font-eyebrow);
  font-size: .8rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--lh-muted) !important;
  text-decoration: none !important;
  padding: .3rem .8rem;
  border: 1px solid var(--lh-accent-soft);
  border-radius: 40px;
  background: var(--lh-accent-soft);
  transition: background .15s;
}

.single .cat-links a:hover,
.single .entry-header .post-categories a:hover {
  filter: brightness(.92);
}

/* Título do post */
.single .entry-title,
.page:not(.lh-fullwidth) .entry-title {
  font-family: var(--lh-font-display);
  font-size: clamp(2rem, 6vw, 1.25rem);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -.025em;
  color: var(--lh-ink);
  margin: 0 0 1.25rem;
  max-width: 24ch;
}

/* Meta: data, autor — Space Mono, eyebrow style */
.single .entry-meta,
.single .posted-on,
.single .byline {
  font-family: var(--lh-font-eyebrow);
  font-size: .8rem;
  letter-spacing: .06em;
  color: var(--lh-faint);
  display: flex;
  align-items: center;
  gap: .875rem;
  flex-wrap: wrap;
  margin-top: .25rem;
}

.single .entry-meta a,
.single .posted-on a,
.single .byline a {
  color: var(--lh-faint) !important;
  text-decoration: none !important;
}

.single .entry-meta .sep { opacity: .3; }

/* ============================================================
   IMAGEM DESTACADA
   ============================================================ */
.single .post-thumbnail,
.single .featured-image {
  margin: 0 0 2.25rem;
  display: block;
  border-radius: 10px;
  overflow: hidden;
  background: var(--lh-imgph);
}

.single .post-thumbnail img,
.single .featured-image img {
  width: 100%;
  display: block;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 10px;
}

/* GeneratePress coloca a imagem dentro de .generate-featured-image */
.single .generate-featured-image {
  margin: 0 0 2.25rem;
  border-radius: 10px;
  overflow: hidden;
}

.single .featured-image.page-header-image-single {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.single .generate-featured-image img {
  width: 100%;
  display: block;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

/* ============================================================
   CONTEÚDO DO ARTIGO — tipografia de prosa (17px / 1.72)
   ============================================================ */
.single .entry-content,
.page:not(.lh-fullwidth) .entry-content {
  font-size: 1.0625rem;
  line-height: 1.72;
  color: var(--lh-ink);
  max-width: 100%;
}

/* Primeiro parágrafo: lead levemente mais suave */
.single .entry-content > p:first-of-type {
  font-size: 1.125rem;
  line-height: 1.7;
  color: var(--lh-muted);
}

.single .entry-content p,
.page:not(.lh-fullwidth) .entry-content p {
  margin-bottom: 1rem;
}

/* H2 dentro do conteúdo */
.single .entry-content h2,
.page:not(.lh-fullwidth) .entry-content h2 {
  font-size: clamp(1.375rem, 3.2vw, 1.875rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.015em;
  margin-top: 2rem;
  margin-bottom: .4rem;
  color: var(--lh-ink);
}

/* H3 dentro do conteúdo */
.single .entry-content h3,
.page:not(.lh-fullwidth) .entry-content h3 {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.01em;
  margin-top: .4rem;
  margin-bottom: .4rem;
  color: var(--lh-ink);
}

/* H4 */
.single .entry-content h4,
.page:not(.lh-fullwidth) .entry-content h4 {
  font-size: 1rem;
  font-weight: 600;
  margin-top: 1.75rem;
  margin-bottom: .5rem;
}

/* Blockquote de destaque */
.single .entry-content blockquote,
.page:not(.lh-fullwidth) .entry-content blockquote {
  border-left: 3px solid var(--lh-accent);
  padding: .375rem 0 .375rem 1.375rem;
  margin: 2rem 0;
  color: var(--lh-muted);
  font-size: 1.0625rem;
  line-height: 1.65;
}

.single .entry-content blockquote p { margin-bottom: 0; }

/* Listas */
.single .entry-content ul,
.single .entry-content ol,
.page:not(.lh-fullwidth) .entry-content ul,
.page:not(.lh-fullwidth) .entry-content ol {
  padding-left: 1.5rem;
  margin-bottom: 1.375rem;
}

.single .entry-content li,
.page:not(.lh-fullwidth) .entry-content li {
  margin-bottom: .4375rem;
  line-height: 1.65;
}

/* OL com números em vermelho */
.single .entry-content ol { list-style: none; padding-left: 0; counter-reset: lh-ol; }
.single .entry-content ol li {
  counter-increment: lh-ol;
  padding-left: 2.25rem;
  position: relative;
}
.single .entry-content ol li::before {
  content: counter(lh-ol);
  position: absolute;
  left: 0;
  top: .05em;
  font-family: var(--lh-font-num);
  font-size: .8125rem;
  font-weight: 500;
  color: var(--lh-accent);
  background: var(--lh-accent-soft);
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* HR */
.single .entry-content hr,
.page:not(.lh-fullwidth) .entry-content hr {
  border: 0;
  border-top: 1px solid var(--lh-line);
  margin: 2.75rem 0;
}

/* strong / em */
.single .entry-content strong { font-weight: 600; }
.single .entry-content em { font-style: italic; color: var(--lh-accent); }

/* código inline */
.single .entry-content code,
.page:not(.lh-fullwidth) .entry-content code {
  font-family: var(--lh-font-mono);
  font-size: .875em;
  background: var(--lh-surface);
  border: 1px solid var(--lh-border-soft);
  border-radius: 4px;
  padding: .1em .4em;
}

/* bloco de código */
.single .entry-content pre,
.page:not(.lh-fullwidth) .entry-content pre {
  background: var(--lh-surface);
  border: 1px solid var(--lh-border-soft);
  border-radius: 8px;
  padding: 1.125rem 1.375rem;
  overflow-x: auto;
  font-size: .875rem;
  line-height: 1.65;
  margin-bottom: 1.5rem;
}

.single .entry-content pre code {
  background: none;
  border: none;
  padding: 0;
  font-size: inherit;
}

/* Imagens dentro do conteúdo */
.single .entry-content img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  display: block;
  margin: 1.5rem auto;
}

/* Tabelas */
.single .entry-content table,
.page:not(.lh-fullwidth) .entry-content table {
  width: 100%;
  border-collapse: collapse;
  font-size: .9375rem;
  margin-bottom: 1.5rem;
}

.single .entry-content th,
.single .entry-content td {
  padding: .625rem .875rem;
  border: 1px solid var(--lh-border-soft);
  text-align: left;
}

.single .entry-content th {
  font-weight: 600;
  background: var(--lh-surface);
  font-size: .8125rem;
  letter-spacing: .04em;
}

.single .entry-content tr:nth-child(even) td { background: var(--lh-surface); }

/* ============================================================
   RODAPÉ DO ARTIGO — tags + compartilhar
   ============================================================ */
.single .entry-footer {
  margin-top: 3rem;
  padding-top: 1.375rem;
  border-top: 1px solid var(--lh-line);
  font-size: .8125rem;
  color: var(--lh-faint);
}

.single .tags-links {
  display: flex;
  gap: .4375rem;
  flex-wrap: wrap;
  align-items: center;
}

.single .tags-links a {
  font-family: var(--lh-font-eyebrow);
  background: var(--lh-surface);
  border: 1px solid var(--lh-border);
  border-radius: 40px;
  padding: .25rem .75rem;
  font-size: .8rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--lh-muted) !important;
  text-decoration: none !important;
  transition: border-color .15s, color .15s;
}

.single .tags-links a:hover { border-color: var(--lh-accent); color: var(--lh-accent) !important; filter: none; }

/* ============================================================
   NAVEGAÇÃO PREV / NEXT
   ============================================================ */
.post-navigation {
  margin: 2.75rem 0 0;
  padding: 1.75rem 0 0;
  border-top: 1px solid var(--lh-border-soft);
}

.post-navigation .nav-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}

.post-navigation .nav-previous a,
.post-navigation .nav-next a {
  display: block;
  text-decoration: none !important;
  color: inherit !important;
  padding: 1.125rem 1.25rem;
  border: 1px solid var(--lh-border);
  border-radius: 4px;
  transition: border-color .15s, background .15s;
}

.post-navigation .nav-previous a:hover,
.post-navigation .nav-next a:hover {
  border-color: var(--lh-accent);
  background: var(--lh-surface);
  filter: none;
}

.post-navigation .meta-nav {
  font-family: var(--lh-font-eyebrow);
  font-size: .5625rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--lh-faint2);
  margin-bottom: .5rem;
  display: block;
}

.post-navigation .nav-title {
  font-family: var(--lh-font-display);
  font-weight: 600;
  font-size: .9375rem;
  color: var(--lh-ink);
  line-height: 1.3;
  transition: color .15s;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.post-navigation .nav-next { text-align: right; }

.post-navigation a:hover .nav-title { color: var(--lh-accent); }

/* ============================================================
   LISTA DE POSTS (blog / archive)
   ============================================================ */
.blog .site-main,
.archive .site-main {
  /*padding: 2.5rem 0;*/
}

.blog article,
.archive article {
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid var(--lh-border-soft);
}

.blog article:last-of-type,
.archive article:last-of-type {
  border-bottom: 0;
}

article.post .gp-icon svg {height: 1.5em;
  width: 1.5em;}

.blog .entry-title,
.archive .entry-title {
  font-size: clamp(1.25rem, 3vw, 1.625rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.015em;
  margin-bottom: .5rem;
}

.blog .entry-title a,
.archive .entry-title a {
  color: var(--lh-ink) !important;
  text-decoration: none !important;
  transition: color .15s;
}

.blog .entry-title a:hover,
.archive .entry-title a:hover { color: var(--lh-accent) !important; filter: none; }

.blog .entry-summary,
.archive .entry-summary {
  font-size: .9375rem;
  line-height: 1.65;
  color: var(--lh-muted);
  margin-top: .625rem;
}

/* Paginação */
.pagination {
  margin-top: 2rem;
  display: flex;
  gap: .375rem;
  align-items: center;
}

.pagination .page-numbers {
  padding: .4375rem .875rem;
  border: 1px solid var(--lh-border-soft);
  border-radius: 6px;
  font-size: .875rem;
  color: var(--lh-ink) !important;
  text-decoration: none !important;
  transition: border-color .15s, background .15s;
}

.pagination .page-numbers:hover { border-color: var(--lh-accent); color: var(--lh-accent) !important; filter: none; }
.pagination .current { background: var(--lh-accent); border-color: var(--lh-accent); color: #fff !important; }

/* ============================================================
   COMENTÁRIOS
   ============================================================ */
#comments {
  /*margin-top: 3.25rem;
  padding-top: 2rem;
  border-top: 1px solid var(--lh-line);*/
}

.comments-title {
  font-family: var(--lh-font-display);
  font-weight: 700;
  font-size: 1.375rem;
  letter-spacing: -.01em;
  color: var(--lh-ink);
  margin-bottom: 1.75rem;
}

/* Lista de comentários */
.comment-list {
  list-style: none;
  padding: 0;
  margin: 0 0 2.5rem;
}

.comment-list .comment {
  padding: 1.375rem 0;
  border-bottom: 1px solid var(--lh-border-soft);
}

.comment-list .comment:last-child { border-bottom: 0; }

/* Avatar + nome + data */
.comment-author {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: .625rem;
}

.comment-author img {
  border-radius: 50% !important;
  width: 36px !important;
  height: 36px !important;
  margin: 0 !important;
}

.comment-author .fn {
  font-weight: 600;
  font-size: .9375rem;
  color: var(--lh-ink);
  font-style: normal;
}

.comment-metadata {
  font-size: .75rem;
  color: var(--lh-faint2);
  margin-top: .125rem;
}

.comment-metadata a {
  color: var(--lh-faint2) !important;
  text-decoration: none !important;
}

.comment-content p {
  font-size: .9375rem;
  line-height: 1.65;
  color: var(--lh-ink);
  margin-bottom: .625rem;
}

/* Formulário de resposta */
.comment-respond {
  margin-top: 2rem;
}

.comment-reply-title {
  font-family: var(--lh-font-display);
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: -.01em;
  color: var(--lh-ink);
  margin-bottom: 1.375rem;
}

/* Pequeno link "cancelar resposta" ao lado do título */
.comment-reply-title small {
  font-family: var(--lh-font-body);
  font-size: .75rem;
  font-weight: 400;
  margin-left: .75rem;
}

.comment-reply-title small a {
  color: var(--lh-faint2) !important;
  text-decoration: none !important;
}

.comment-form label {
  display: block;
  font-size: .8125rem;
  font-weight: 500;
  color: var(--lh-muted);
  margin-bottom: .375rem;
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
  width: 100%;
  background: var(--lh-field);
  border: 1px solid var(--lh-field-b);
  border-radius: 6px;
  padding: .625rem .75rem;
  font-family: var(--lh-font-body);
  font-size: .9375rem;
  color: var(--lh-ink);
  transition: border-color .15s;
  box-sizing: border-box;
  margin-bottom: 1rem;
}

.comment-form input[type="text"]:focus,
.comment-form input[type="email"]:focus,
.comment-form input[type="url"]:focus,
.comment-form textarea:focus {
  outline: none;
  border-color: var(--lh-accent);
  box-shadow: 0 0 0 3px var(--lh-accent-soft);
}

.comment-form textarea {
  min-height: 140px;
  resize: vertical;
  margin-bottom: .875rem;
}

.comment-form .form-submit { margin-top: .25rem; }

.comment-form .submit {
  background: var(--lh-ink);
  color: #fff;
  border: none;
  border-radius: 40px;
  padding: .875rem 1.75rem;
  font-family: var(--lh-font-body);
  font-size: .9375rem;
  font-weight: 600;
  cursor: pointer;
  transition: filter .15s;
}

.comment-form .submit:hover { filter: brightness(1.2); }

/* Campos nome/email/url em linha (2 colunas em desktop) */
.comment-form-author,
.comment-form-email,
.comment-form-url {
  display: inline-block;
  width: calc(50% - .5rem);
}

.comment-form-author,
.comment-form-url {
  margin-right: 1rem;
}

/* Aviso de privacidade */
.comment-form .comment-notes,
.comment-form .logged-in-as {
  font-size: .8125rem;
  color: var(--lh-faint2);
  margin-bottom: 1rem;
}

/* ============================================================
   RESPONSIVO
   ============================================================ */
@media (max-width: 680px) {
  /* Header interno mais enxuto no mobile */
  body:not(.lh-fullwidth) #masthead .inside-header {
    padding: 12px 1.125rem !important;
  }

  /* Container editorial: margens laterais menores para ganhar largura de leitura */
  .single .grid-container,
  .blog .grid-container,
  .archive .grid-container,
  .page:not(.lh-fullwidth) .grid-container {
    padding-left: 1.125rem;
    padding-right: 1.125rem;
  }

  /* Header do artigo: menos respiro vertical no mobile */
  .single .entry-header,
  .page:not(.lh-fullwidth) .entry-header {
    padding: 1.75rem 0 1.25rem;
    margin-bottom: 1.5rem;
  }

  .single .entry-title,
  .page:not(.lh-fullwidth) .entry-title {
    font-size: clamp(1.5rem, 7vw, 2rem);
  }

  .post-navigation .nav-links {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .post-navigation .nav-next { text-align: left; }

  .comment-form-author,
  .comment-form-email,
  .comment-form-url {
    display: block;
    width: 100%;
    margin-right: 0;
  }

  .single .entry-content ol li::before {
    width: 1.375rem;
    height: 1.375rem;
    font-size: .8rem;
  }
}

.entry-content:not(:first-child),
.entry-summary:not(:first-child),
.page-content:not(:first-child),
.separate-containers .site-main {
  margin-top: 0;
}
/*.site-content .inside-article {
  padding-top: 1.8rem !important;
}*/

#post-239 .entry-header {margin-bottom: 0;}