/* =====================================================================
   GVSX Mod — blog: índice (/blog/, categorias) e artigo. O corpo do artigo reaproveita .gvsx-legal__content de pages.css.
   ===================================================================== */

/* índice: grade de cards */
.gvsx-blog .gvsx-section__head { margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.gvsx-blog .gvsx-section__head .wp-block-query-title { font-size: clamp(2rem, 3.4vw, 3rem); line-height: 1.05; letter-spacing: -0.04em; margin: 0 0 0.5rem; }
.gvsx-blog .gvsx-section__head .wp-block-term-description p { margin: 0; color: var(--gvsx-text-2); font-size: 1.125rem; }
.gvsx-blog__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.gvsx-blog__grid > li { margin: 0; }
.gvsx-post-card { height: 100%; display: flex; flex-direction: column; gap: 0.55rem; padding: 1rem; border: 1px solid var(--gvsx-line); border-radius: var(--gvsx-radius-l); background: var(--gvsx-surface); transition: border-color var(--gvsx-dur-2) var(--gvsx-ease-out), transform var(--gvsx-dur-2) var(--gvsx-ease-out); }
@media (hover: hover) and (pointer: fine) { .gvsx-post-card:hover { border-color: var(--gvsx-line-strong); transform: translateY(-2px); } }
.gvsx-post-card__img { margin: 0; }
.gvsx-post-card__img img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--gvsx-radius-m); background: var(--gvsx-surface-2); }
.gvsx-post-card__cat, .gvsx-post__meta { display: flex; flex-wrap: wrap; gap: 0.35rem 0.9rem; font-family: var(--gvsx-font-mono); font-size: 0.78rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--gvsx-text-3); }
.gvsx-post-card__cat a, .gvsx-post__meta a { color: var(--gvsx-accent-text); text-decoration: none; }
.gvsx-post-card__cat .wp-block-post-terms__separator { display: none; }
.gvsx-post-card__title { margin: 0; font-family: var(--gvsx-font-text); font-size: 1.15rem; font-weight: 700; letter-spacing: -0.015em; line-height: 1.25; }
.gvsx-post-card__title a { color: var(--gvsx-text); text-decoration: none; }
.gvsx-post-card__title a:hover { color: var(--gvsx-accent-text); }
.gvsx-post-card__excerpt { color: var(--gvsx-text-2); font-size: 0.95rem; line-height: 1.5; }
.gvsx-post-card__excerpt p { margin: 0; }
.gvsx-post-card__excerpt .wp-block-post-excerpt__more-text { margin-top: 0.4rem; }
.gvsx-post-card__excerpt .wp-block-post-excerpt__more-link { color: var(--gvsx-accent-text); font-weight: 600; text-decoration: none; }
.gvsx-post-card__date { margin-top: auto; padding-top: 0.4rem; font-size: 0.85rem; color: var(--gvsx-text-3); }
.gvsx-blog__query .wp-block-query-pagination { margin-top: clamp(1.5rem, 3vw, 2.5rem); font-size: 0.95rem; }
.gvsx-blog__query .wp-block-query-pagination a { color: var(--gvsx-text); text-decoration: none; }
.gvsx-blog__query .wp-block-query-pagination a:hover, .gvsx-blog__query .page-numbers.current { color: var(--gvsx-accent-text); }
.gvsx-blog__query .wp-block-query-pagination-numbers .page-numbers { margin-inline: 0.35rem; }

/* artigo */
.gvsx-post .gvsx-post__meta { margin: 0 auto 0.9rem; }
.gvsx-post .gvsx-legal__title { font-size: clamp(2rem, 3.6vw, 2.9rem); line-height: 1.05; letter-spacing: -0.03em; }
.gvsx-post__cover { margin: 1.5rem auto 2rem; }
.gvsx-post__cover img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--gvsx-radius-l); }
.gvsx-post .gvsx-legal__content > p:first-child { margin: 0 0 1.4rem; padding-bottom: 0; border-bottom: 0; font-size: 1.15rem; line-height: 1.6; color: var(--gvsx-text-2); }
.gvsx-post .gvsx-legal__content img { max-width: 100%; height: auto; border-radius: var(--gvsx-radius-m); }
.gvsx-post .gvsx-legal__content figure { margin: 0 0 1.4rem; }
.gvsx-post .gvsx-legal__content figcaption { margin-top: 0.4rem; font-size: 0.85rem; color: var(--gvsx-text-3); }
.gvsx-post .gvsx-legal__content table { width: 100%; border-collapse: collapse; font-size: 0.93rem; line-height: 1.55; }
.gvsx-post .gvsx-legal__content th, .gvsx-post .gvsx-legal__content td { padding: 0.65rem 0.9rem; text-align: left; border-bottom: 1px solid var(--gvsx-line); vertical-align: top; }
.gvsx-post .gvsx-legal__content th { color: var(--gvsx-text); background: rgb(var(--gvsx-fg-rgb) / 0.04); }
.gvsx-post .gvsx-legal__content blockquote { margin: 0 0 1.4rem; padding: 0.2rem 0 0.2rem 1rem; border-left: 3px solid var(--gvsx-accent); color: var(--gvsx-text-2); }
.gvsx-post .gvsx-legal__content code { font-family: var(--gvsx-font-mono); font-size: 0.9em; padding: 0.1em 0.35em; border-radius: var(--gvsx-radius-s); background: var(--gvsx-surface-2); }
.gvsx-post__author { gap: 1rem; margin: 2.5rem auto 0; padding: 1.25rem; border: 1px solid var(--gvsx-line); border-radius: var(--gvsx-radius-l); background: var(--gvsx-surface-2); }
.gvsx-post__author .gvsx-post__avatar img { display: block; width: 64px; height: 64px; border-radius: 50%; }
.gvsx-post__author-name { margin: 0 0 0.25rem; font-weight: 700; color: var(--gvsx-text); }
.gvsx-post__author-bio { margin: 0; font-size: 0.93rem; line-height: 1.5; color: var(--gvsx-text-2); }
.gvsx-post__more { padding-top: 0; }
.gvsx-post__more h2 { margin: 0 0 1.25rem; font-size: clamp(1.6rem, 2.6vw, 2.2rem); }

@media (max-width: 899px) { .gvsx-blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .gvsx-blog__grid { grid-template-columns: minmax(0, 1fr); } .gvsx-post__author { flex-wrap: wrap; } }
