/* Cabeçalho compacto; conteúdo com o layout original do blog. */
.blog-page .blog-hero { position:relative; overflow:hidden; padding:140px 0 42px; color:#fff; background:radial-gradient(circle at 76% 28%,rgba(89,188,255,.52),transparent 29%),linear-gradient(135deg,var(--blue-dark),var(--blue) 50%,var(--blue-bright)); }
.blog-page .blog-hero::after { content:""; position:absolute; inset:0; opacity:.16; background-image:linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(to right,transparent,black 55%,black); }
.blog-page .hero-content { position:relative; z-index:1; }
.blog-page h1 { max-width:none; margin:0 0 12px; font-size:clamp(2rem,4vw,3rem); line-height:1.12; letter-spacing:-.035em; }
.blog-page .hero-copy { max-width:none; margin:0; color:rgba(255,255,255,.82); font-size:1rem; line-height:1.6; }
.blog-page .site-nav-link[aria-current="page"]::after { right:0; }
.blog-page main { background:linear-gradient(#fff,#f8faff 60%,#fff); }
.blog-page .content-section { padding:84px 0 96px; content-visibility:auto; contain-intrinsic-size:auto 720px; }
.blog-page .section-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:32px; }
.blog-page .section-kicker { margin-bottom:8px; color:var(--blue); font-size:.76rem; font-weight:600; letter-spacing:.09em; text-transform:uppercase; }
.blog-page h2 { margin:0; font-size:clamp(2rem,4vw,3.5rem); line-height:1.02; letter-spacing:-.045em; }
.blog-page .categories { display:flex; flex-wrap:wrap; gap:8px; }
.blog-page .category { padding:8px 12px; border:1px solid var(--line); border-radius:999px; color:var(--muted); background:#fff; font-size:.8rem; font-weight:500; }
.blog-page .category.active { color:#fff; border-color:var(--blue); background:var(--blue); }
.blog-page .featured { display:grid; grid-template-columns:.94fr 1.06fr; min-height:390px; overflow:hidden; border:1px solid var(--line); border-radius:30px; background:#fff; box-shadow:var(--shadow); }
.blog-page .featured-art { position:relative; min-height:320px; overflow:hidden; background:var(--soft); }
.blog-page .featured-copy { display:flex; flex-direction:column; justify-content:center; padding:48px; }
.blog-page .post-meta { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; color:var(--blue); font-size:.76rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.blog-page .featured h3 { margin:0 0 16px; font-size:clamp(1.8rem,3vw,2.7rem); line-height:1.05; letter-spacing:-.04em; }
.blog-page .featured p, .blog-page .card p { margin:0; color:var(--muted); line-height:1.65; }
.blog-page .read-more { display:inline-flex; align-items:center; gap:9px; width:fit-content; margin-top:24px; color:var(--blue); font-weight:600; }
.blog-page .posts-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:28px; }
.blog-page .card { display:flex; min-height:330px; flex-direction:column; padding:26px; border:1px solid var(--line); border-radius:24px; background:#fff; box-shadow:0 10px 34px rgba(20,51,139,.07); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.blog-page .card:hover { transform:translateY(-5px); border-color:#bdd0fa; box-shadow:0 18px 45px rgba(20,51,139,.12); }
.blog-page .card h3 { margin:0 0 12px; font-size:1.28rem; line-height:1.25; letter-spacing:-.025em; }
.blog-page .card .read-more { margin-top:auto; padding-top:22px; }
@media (max-width:900px) {
 .blog-page .featured { grid-template-columns:1fr; }
 .blog-page .posts-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
 .blog-page .blog-hero { padding:112px 0 30px; }
 .blog-page h1 { font-size:2rem; }
 .blog-page .content-section { padding:62px 0 72px; }
 .blog-page .section-head { display:block; }
 .blog-page .categories { margin-top:20px; }
 .blog-page .featured-copy { padding:28px 24px 32px; }
 .blog-page .posts-grid { grid-template-columns:1fr; }
 .blog-page .card { min-height:300px; }
}

.blog-page .card[hidden], .blog-pagination[hidden] { display:none; }
.blog-pagination { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:12px; margin-top:44px; }
.blog-page-numbers { display:flex; gap:8px; }
.blog-pagination button { min-width:44px; min-height:44px; padding:10px 16px; border:1px solid var(--line); border-radius:12px; color:var(--blue); background:white; font:inherit; font-size:.9rem; font-weight:500; cursor:pointer; }
.blog-pagination button[aria-current="page"] { color:white; border-color:var(--blue); background:var(--blue); }
.blog-pagination button:hover:not(:disabled) { border-color:var(--blue-bright); }
.blog-pagination button:focus-visible { outline:3px solid #7ed9ff; outline-offset:3px; }
.blog-pagination button:disabled { opacity:.45; cursor:default; }

.blog-page .card { overflow: hidden; }
.blog-page .post-image { display: block; flex: 0 0 auto; width: calc(100% + 52px); max-width: none; aspect-ratio: 16 / 9; object-fit: cover; margin: -26px -26px 24px; }

.blog-pagination [data-page-prev], .blog-pagination [data-page-next] { display: inline-flex; align-items: center; justify-content: center; width: 44px; padding: 10px; }

.blog-page .featured-art img { display:block; width:100%; height:100%; object-fit:cover; }

/* Página interna dos posts */
.post-blog-link { display:inline-block; margin-bottom:12px; color:white; font-size:clamp(2rem,4vw,3rem); font-weight:600; line-height:1.12; letter-spacing:-.035em; }
.post-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; align-items:start; gap:48px; padding-top:56px; padding-bottom:80px; }
.post-article { min-width:0; }
.post-page .post-article h1 { margin:0 0 18px; color:var(--ink); font-size:clamp(2rem,3.5vw,2.9rem); line-height:1.18; letter-spacing:-.035em; }
.post-byline { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:26px; color:var(--muted); font-size:.9rem; }
.post-cover { display:block; width:100%; aspect-ratio:16 / 9; object-fit:cover; border-radius:20px; margin-bottom:32px; }
.post-body { color:var(--muted); font-size:1.03rem; line-height:1.85; overflow-wrap:anywhere; }
.post-body p { margin:0 0 22px; }
.post-page .post-body h2 { margin:34px 0 16px; color:var(--ink); font-size:1.6rem; line-height:1.3; letter-spacing:-.025em; }
.post-body ul { padding-left:24px; margin:0 0 24px; }
.post-body li { padding-left:5px; margin-bottom:10px; }
.post-body li::marker { color:var(--blue-bright); }
.post-body a { color:var(--blue); text-decoration:underline; }
.post-share { display:flex; flex-wrap:wrap; align-items:center; gap:16px; padding-top:26px; margin-top:34px; border-top:1px solid var(--line); color:var(--muted); font-size:.9rem; }
.post-share-links { display:flex; flex-wrap:wrap; gap:8px; }
.post-share-links a { display:grid; place-items:center; width:42px; height:42px; border:1px solid var(--line); border-radius:12px; color:var(--blue); background:white; transition:background .2s,color .2s; }
.post-share-links a[hidden] { display:none; }
.post-share-links a:hover { background:var(--blue); color:white; }
.post-share-links .bi { display:flex; align-items:center; justify-content:center; width:18px; height:18px; font-size:17px; line-height:1; }
.post-share-links .bi::before { display:block; line-height:1; }
.post-sidebar { display:grid; gap:26px; }
.post-search label { display:block; margin-bottom:10px; font-size:.9rem; font-weight:500; }
.post-search-field { display:flex; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:white; }
.post-search input { width:100%; min-width:0; padding:14px; border:0; background:transparent; color:var(--ink); font:inherit; font-size:.92rem; }
.post-search button { display:grid; place-items:center; flex:0 0 44px; border:0; color:var(--blue); background:transparent; cursor:pointer; }
.post-search svg { width:20px; height:20px; }
.post-sidebar-card { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:white; }
.post-page .post-sidebar-card h2 { padding:20px; margin:0; border-bottom:1px solid var(--line); color:var(--ink); font-size:.95rem; letter-spacing:.04em; line-height:1.4; text-transform:uppercase; }
.post-categories { display:grid; }
.post-categories button { padding:16px 20px; border:0; border-bottom:1px solid var(--line); color:var(--muted); background:white; text-align:left; font:inherit; font-size:.95rem; cursor:pointer; }
.post-categories button:last-child { border-bottom:0; }
.post-categories button:hover, .post-categories button[aria-pressed="true"] { color:var(--blue); background:var(--soft); }
.post-recent { padding:0; margin:0; list-style:none; }
.post-recent li + li { border-top:1px solid var(--line); }
.post-recent a { display:block; padding:18px 20px; color:var(--muted); font-size:.95rem; line-height:1.55; }
.post-recent a:hover { color:var(--blue); background:var(--soft); }
.post-search-empty { margin:0; padding:20px; color:var(--muted); font-size:.9rem; }
.post-share a:focus-visible, .post-categories button:focus-visible, .post-recent a:focus-visible, .post-search input:focus-visible, .post-search button:focus-visible { outline:3px solid #7ed9ff; outline-offset:-3px; }
@media(max-width:900px) { .post-layout { grid-template-columns:minmax(0,1fr) 250px; gap:28px; } }
@media(max-width:700px) { .post-layout { grid-template-columns:1fr; padding-top:36px; padding-bottom:48px; } .post-sidebar { margin-top:12px; } .post-page .post-article h1 { font-size:2rem; } .post-cover { border-radius:14px; } }

/* Sidebar com busca em destaque, categorias com ícones e miniaturas. */
.post-sidebar { gap:22px; }
.post-search label { color:var(--ink); line-height:1.45; margin-bottom:14px; font-weight:600; }
.post-search-field { box-shadow:0 4px 12px rgba(26,53,196,.04); }
.post-search-field:focus-within { border-color:var(--blue-bright); }
.post-search input { font-size:.85rem; padding:13px 10px 13px 13px; }
.post-search button { flex-basis:38px; margin:5px; border-radius:9px; background:var(--blue); color:white; }
.post-search button:hover { background:var(--blue-dark); }
.post-sidebar-card { border-radius:20px; box-shadow:0 10px 28px rgba(26,53,196,.05); }
.post-page .post-sidebar-card h2 { display:flex; align-items:center; gap:10px; padding:20px; font-size:.85rem; font-weight:600; letter-spacing:.055em; background:linear-gradient(90deg,#f6f8ff,#fff); }
.post-categories { gap:6px; padding:12px; }
.post-categories button { display:flex; align-items:center; gap:11px; padding:10px; border:0; border-radius:12px; font-size:.88rem; transition:background .2s,color .2s; }
.category-chevron { margin-left:auto; color:var(--blue); font-size:1.3rem; }
.post-recent a { display:flex; align-items:flex-start; gap:12px; padding:18px 16px; font-size:.87rem; line-height:1.5; }
.post-recent-thumb { display:block; flex:0 0 68px; width:68px; height:68px; object-fit:cover; border-radius:11px; }
.post-recent-copy { display:grid; gap:6px; min-width:0; }

.post-search .post-search-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }

.post-categories button + button { position: relative; }
.post-categories button + button::before { content: ''; position: absolute; top: -3px; left: 10px; right: 10px; height: 1px; background: rgba(26, 53, 196, .08); pointer-events: none; }

/* Busca, categorias e paginação no servidor. */
.blog-filters { display:flex; flex-wrap:wrap; align-items:flex-end; gap:14px; margin-bottom:30px; padding:20px; border:1px solid var(--line); border-radius:18px; background:white; }
.blog-filters label { display:block; margin-bottom:7px; color:var(--muted); font-size:.85rem; }
.blog-filter-search { flex:1 1 250px; }
.blog-filters input, .blog-filters select { width:100%; min-height:44px; padding:10px 13px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:white; font:inherit; font-size:.9rem; }
.blog-filters button { min-height:44px; padding:10px 22px; border:0; border-radius:10px; color:white; background:var(--blue); font:inherit; font-weight:500; cursor:pointer; }
.blog-filter-clear { padding:12px 0; color:var(--blue); font-size:.85rem; }
.blog-page .post-image-link { display:block; margin:-26px -26px 24px; }
.blog-page .post-image-link .post-image { width:100%; margin:0; }
.blog-pagination a, .blog-pagination .blog-page-arrow { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; flex:0 0 44px; padding:0; border:1px solid var(--line); border-radius:50%; color:var(--blue); background:white; font-size:.95rem; font-weight:600; }
.blog-pagination a[aria-current="page"] { color:white; background:var(--blue); border-color:var(--blue); }
.blog-pagination .blog-page-arrow { font-size:1.5rem; line-height:1; }
.blog-pagination .is-disabled { opacity:.4; }
.blog-page-numbers { flex-wrap:wrap; justify-content:center; }
.blog-pagination a:focus-visible, .blog-filters :is(input,select,button,a):focus-visible { outline:3px solid #7ed9ff; outline-offset:3px; }
.blog-empty { padding:45px 24px; text-align:center; border:1px solid var(--line); border-radius:20px; background:white; color:var(--muted); }
.blog-page .blog-empty h2 { font-size:1.6rem; margin-bottom:15px; }
.blog-empty a { color:var(--blue); }
@media(max-width:640px) { .blog-filters > div { width:100%; } .blog-filters button { width:100%; } }

.post-categories a { position:relative; display:flex; align-items:center; gap:11px; padding:10px; border-radius:12px; color:var(--muted); font-size:.88rem; transition:background .2s,color .2s; }
.post-categories a:hover { color:var(--blue); background:var(--soft); }
.post-categories a + a::before { content:""; position:absolute; top:-3px; left:10px; right:10px; height:1px; background:rgba(26,53,196,.08); }
.post-categories a:focus-visible { outline:3px solid #7ed9ff; outline-offset:-3px; }
.post-body img { max-width:100%; height:auto; }
.post-body table { max-width:100%; }
.post-body { overflow-x:auto; }

.blog-pagination .blog-page-arrow svg { display:block; width:18px; height:18px; flex-shrink:0; }

.blog-page .post-summary { margin: 0 0 24px; color: var(--muted); font-size: 1.08rem; line-height: 1.7; }
