/* =========================================================
   EKIPA BLOG — estilos das páginas do blog
   Usa os mesmos tokens do site (base.css): --bg, --panel,
   --blue-bright, --ink... Detalhe próprio: textura de pontos
   de painel de LED no topo das páginas e na faixa de contato.
   ========================================================= */
:root{
  --entry-ink:#d6dbef;
  --led-dot:rgba(0,156,223,.22);
  --wrap-narrow:780px;
  color-scheme:dark;
}

.skip-link{
  position:absolute;left:16px;top:-60px;z-index:400;
  background:var(--blue-bright);color:#03101c;
  padding:10px 16px;border-radius:3px;font-weight:700;
}
.skip-link:focus{top:12px;}
.screen-reader-text{
  position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);white-space:nowrap;
}

.nav-links a.is-current{color:var(--ink);}
.nav-links a.is-current::after{width:100%;}

.wrap--narrow{max-width:calc(var(--wrap-narrow) + 64px);}

/* ---------- Topo das listas (blog, categoria, busca) ---------- */
.blog-hero{
  position:relative;
  padding:160px 0 56px;
  background:radial-gradient(110% 120% at 85% -20%,#122040 0%,var(--void) 60%);
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.blog-hero::before,
.cta-band::before{
  /* pontos de painel de LED */
  content:"";
  position:absolute;inset:0;
  background-image:radial-gradient(circle,var(--led-dot) 1.2px,transparent 1.6px);
  background-size:14px 14px;
  -webkit-mask-image:linear-gradient(105deg,transparent 45%,#000 100%);
          mask-image:linear-gradient(105deg,transparent 45%,#000 100%);
  pointer-events:none;
}
.blog-hero .wrap{position:relative;}
.blog-hero h1{
  font-size:clamp(2.3rem,5vw,3.6rem);
  line-height:1.08;
  max-width:16ch;
  text-wrap:balance;
}
.blog-lead{
  color:var(--ink-dim);
  font-size:1.12rem;
  max-width:56ch;
  margin:18px 0 0;
}
.blog-tools{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:16px 24px;
  margin-top:40px;
}

.crumbs{
  display:flex;flex-wrap:wrap;gap:8px;
  font-size:.82rem;color:var(--ink-faint);
  margin-bottom:22px;
}
.crumbs a{color:var(--ink-dim);}
.crumbs a:hover{color:var(--blue-bright);}
.crumbs .separator{margin:0 2px;}

/* Filtros de categoria */
.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chip{
  font-size:.86rem;font-weight:600;
  padding:9px 16px;
  border:1px solid var(--line-strong);
  border-radius:3px;
  color:var(--ink-dim);
  background:rgba(255,255,255,.02);
  transition:border-color .2s ease,color .2s ease,background .2s ease;
}
.chip:hover{border-color:var(--blue-bright);color:var(--ink);}
.chip.is-active{background:var(--blue-bright);border-color:var(--blue-bright);color:#03101c;}

/* Busca */
.search{
  display:flex;
  border:1px solid var(--line-strong);
  border-radius:3px;
  background:rgba(0,0,0,.25);
  min-width:0;
  width:min(100%,300px);
}
.search input{
  flex:1;min-width:0;
  background:transparent;border:0;
  color:var(--ink);font-size:.92rem;
  padding:11px 14px;
}
.search input::placeholder{color:var(--ink-faint);}
.search input:focus{outline:none;}
.search:focus-within{border-color:var(--blue-bright);}
.search button{
  background:transparent;border:0;color:var(--ink-dim);
  padding:0 14px;display:flex;align-items:center;
}
.search button:hover{color:var(--blue-bright);}

/* ---------- Lista de posts ---------- */
.blog-list{padding:64px 0 112px;}
.post-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.post-card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--panel);
  overflow:hidden;
  transition:transform .25s ease,border-color .25s ease;
}
.post-card:hover{transform:translateY(-4px);border-color:var(--line-strong);}
.post-card-link{display:flex;flex-direction:column;height:100%;color:inherit;}
.post-thumb{
  position:relative;
  aspect-ratio:760/460;
  max-width:100%;
  overflow:hidden;
  background:linear-gradient(135deg,#16224a,#0b0e19);
}
.post-thumb img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s ease;
}
.post-card:hover .post-thumb img{transform:scale(1.04);}
.post-thumb--empty{display:flex;align-items:center;justify-content:center;}
.post-thumb--empty .post-thumb-logo{width:42%;height:auto;object-fit:contain;opacity:.35;}
.post-card:hover .post-thumb--empty .post-thumb-logo{transform:none;}

.post-body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1;}
.post-meta{
  display:flex;flex-wrap:wrap;gap:6px 12px;
  font-size:.78rem;font-weight:600;
  color:var(--blue-bright);
  margin-bottom:10px;
}
.post-meta time{color:var(--ink-faint);font-weight:400;}
.post-body h3{font-size:1.1rem;line-height:1.35;margin-bottom:8px;text-wrap:balance;}
.post-body p{
  color:var(--ink-dim);font-size:.9rem;margin:0 0 18px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.post-more{margin-top:auto;font-size:.85rem;font-weight:600;color:var(--blue-bright);}
.post-more span{display:inline-block;transition:transform .2s ease;}
.post-card:hover .post-more span{transform:translateX(4px);}

/* Destaque (primeiro post da página inicial do blog) */
.post-card--featured{margin-bottom:24px;}
.post-card--featured .post-card-link{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);
}
.post-card--featured .post-thumb{aspect-ratio:auto;min-height:340px;}
.post-card--featured .post-body{padding:40px 44px;justify-content:center;}
.post-card--featured h2{
  font-size:clamp(1.5rem,2.4vw,2.1rem);
  line-height:1.18;
  margin-bottom:14px;
  text-wrap:balance;
}
.post-card--featured .post-body p{font-size:1rem;-webkit-line-clamp:4;}
.post-card--featured .post-more{margin-top:8px;}

/* Paginação */
.pager{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:48px;}
.pager .page-numbers,
.pager > a, .pager > span{
  min-width:42px;padding:10px 14px;
  border:1px solid var(--line-strong);border-radius:3px;
  text-align:center;font-size:.9rem;color:var(--ink-dim);
}
.pager a:hover{border-color:var(--blue-bright);color:var(--ink);}
.pager .current{background:var(--blue-bright);border-color:var(--blue-bright);color:#03101c;font-weight:700;}
.pager .dots{border-color:transparent;}

.empty-state{
  text-align:center;max-width:520px;margin:0 auto;padding:40px 0;
}
.empty-state h2{font-size:1.6rem;margin-bottom:10px;}
.empty-state p{color:var(--ink-dim);margin:0 0 24px;}

/* ---------- Post ---------- */
.article-head{
  padding:160px 0 8px;
  background:radial-gradient(90% 100% at 85% -30%,#122040 0%,transparent 60%);
}
.article-head .kicker{margin-bottom:14px;}
.article-head h1{
  font-size:clamp(2rem,4.4vw,3.1rem);
  line-height:1.1;
  text-wrap:balance;
}
.article-lead{
  font-size:1.2rem;line-height:1.55;
  color:var(--ink-dim);
  margin:20px 0 0;
}
.article-meta{
  display:flex;flex-wrap:wrap;gap:6px 0;
  margin-top:26px;padding-top:18px;
  border-top:1px solid var(--line);
  font-size:.86rem;color:var(--ink-faint);
}
.article-meta > *:not(:last-child)::after{content:"·";margin:0 10px;color:var(--line-strong);}
.article-meta strong{color:var(--ink-dim);font-weight:600;}

.article-cover{margin:40px auto 8px;}
.article-cover img{
  width:100%;height:auto;aspect-ratio:16/8.4;object-fit:cover;
  border-radius:var(--radius);
  border:1px solid var(--line);
}
.article-cover figcaption{font-size:.82rem;color:var(--ink-faint);margin-top:10px;}

/* Texto do post */
.entry{
  font-size:1.08rem;
  line-height:1.78;
  color:var(--entry-ink);
  padding-top:32px;
}
.entry > * {margin-top:0;margin-bottom:1.35em;}
.entry h2{font-size:clamp(1.45rem,2.6vw,1.85rem);line-height:1.22;margin:2.1em 0 .7em;text-wrap:balance;}
.entry h3{font-size:1.3rem;line-height:1.3;margin:1.8em 0 .6em;}
.entry h4{font-size:1.08rem;margin:1.6em 0 .5em;}
.entry a{color:var(--blue-bright);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.entry a:hover{text-decoration-thickness:2px;}
.entry strong{color:var(--ink);}
.entry ul,.entry ol{padding-left:1.3em;}
.entry ul{list-style:disc;}
.entry ol{list-style:decimal;}
.entry li{margin-bottom:.45em;}
.entry li::marker{color:var(--blue-bright);}
.entry blockquote,
.entry .wp-block-quote{
  margin-left:0;margin-right:0;
  padding:18px 24px;
  border-left:3px solid var(--blue-bright);
  background:var(--panel);
  border-radius:0 var(--radius) var(--radius) 0;
  color:var(--ink);
  font-size:1.12rem;
}
.entry blockquote p:last-child{margin-bottom:0;}
.entry blockquote cite{display:block;margin-top:8px;font-size:.85rem;color:var(--ink-faint);font-style:normal;}
.entry img{height:auto;border-radius:var(--radius);}
.entry figure{margin-left:0;margin-right:0;}
.entry figcaption,.entry .wp-element-caption{font-size:.84rem;color:var(--ink-faint);margin-top:10px;text-align:left;}
.entry hr{border:0;border-top:1px solid var(--line-strong);margin:2.4em 0;}
.entry code{background:var(--panel);padding:.15em .4em;border-radius:3px;font-size:.92em;}
.entry pre{background:var(--void);border:1px solid var(--line);padding:18px;border-radius:var(--radius);overflow-x:auto;font-size:.9rem;}
.entry .wp-block-table{overflow-x:auto;}
.entry table{width:100%;border-collapse:collapse;font-size:.95rem;}
.entry th,.entry td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;}
.entry .wp-block-table table,.entry .wp-block-table thead,.entry .wp-block-table tfoot{border:0;}
.entry .wp-block-table th,.entry .wp-block-table td{border:0;border-bottom:1px solid var(--line);}
.entry th{color:var(--ink);background:var(--panel);font-weight:700;}
.entry .wp-block-button__link{
  background:linear-gradient(135deg,var(--blue-bright),var(--blue) 70%);
  color:#03101c;text-decoration:none;font-weight:600;font-size:.95rem;
  border-radius:3px;padding:15px 28px;
}
.entry .is-style-outline .wp-block-button__link{background:transparent;color:var(--ink);border:1px solid var(--line-strong);}
.entry .alignwide{margin-left:-80px;margin-right:-80px;max-width:none;}
.entry .alignfull{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:100vw;}
.entry .alignfull img,.entry .alignwide img{width:100%;}
.entry .alignleft{float:left;margin:.3em 1.5em 1em 0;max-width:50%;}
.entry .alignright{float:right;margin:.3em 0 1em 1.5em;max-width:50%;}
.entry .aligncenter{margin-left:auto;margin-right:auto;}
.entry::after{content:"";display:table;clear:both;}
.entry iframe{max-width:100%;}
.entry .wp-block-embed__wrapper{border-radius:var(--radius);overflow:hidden;}

/* Tags, compartilhar e chamada de orçamento */
.article-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.article-tags a{font-size:.84rem;color:var(--ink-dim);border:1px solid var(--line);padding:6px 12px;border-radius:3px;}
.article-tags a:hover{border-color:var(--blue-bright);color:var(--blue-bright);}

.article-share{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;
  margin-top:32px;padding:18px 0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  font-size:.88rem;
}
.article-share > span{color:var(--ink-faint);font-weight:600;margin-right:4px;}
.article-share a,.article-share button{color:var(--ink-dim);font-weight:600;background:none;border:0;padding:0;font-size:inherit;}
.article-share a:hover,.article-share button:hover{color:var(--blue-bright);}

.article-cta{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;gap:20px;
  margin:40px 0 96px;
  padding:24px 28px;
  background:var(--panel);
  border:1px solid var(--line-strong);
  border-radius:var(--radius);
}
.article-cta img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--blue-bright);}
.article-cta strong{display:block;font-size:1.1rem;color:var(--ink);margin-bottom:4px;}
.article-cta p{margin:0;color:var(--ink-dim);font-size:.92rem;}

/* Leia também */
.related{background:var(--panel);padding:88px 0;border-top:1px solid var(--line);}
.related .post-card{background:var(--bg);}
.related-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:16px;margin-bottom:32px;}
.related-head h2{font-size:clamp(1.7rem,3vw,2.3rem);}

/* ---------- Faixa de contato ---------- */
.cta-band{
  position:relative;overflow:hidden;
  background:linear-gradient(120deg,var(--indigo) 0%,#0b1f4d 45%,var(--void) 100%);
  padding:88px 0;
  border-top:1px solid var(--line);
}
.cta-band::before{
  -webkit-mask-image:linear-gradient(90deg,transparent 30%,#000 100%);
          mask-image:linear-gradient(90deg,transparent 30%,#000 100%);
}
.cta-band-inner{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px;}
.cta-band h2{font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.15;max-width:18ch;text-wrap:balance;}
.cta-band p{color:var(--ink-dim);max-width:52ch;margin:14px 0 0;}
.cta-band-actions{display:flex;flex-wrap:wrap;gap:12px;}

/* 404 */
.blog-hero--404{padding-bottom:96px;}

/* ---------- Responsivo ---------- */
@media (max-width:1100px){
  .entry .alignwide{margin-left:0;margin-right:0;}
}
@media (max-width:900px){
  .post-grid{grid-template-columns:minmax(0,1fr);}
  .post-card--featured .post-card-link{grid-template-columns:minmax(0,1fr);}
  .post-card--featured .post-thumb{min-height:0;aspect-ratio:760/460;}
  .post-card--featured .post-body{padding:24px;}
  .article-cta{grid-template-columns:auto minmax(0,1fr);}
  .article-cta .btn{grid-column:1 / -1;}
  .search{width:100%;}
}
@media (min-width:600px) and (max-width:900px){
  .post-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:720px){
  .blog-hero,.article-head{padding-top:124px;}
  .blog-list{padding:40px 0 80px;}
  .entry{font-size:1.03rem;}
  .entry .alignleft,.entry .alignright{float:none;margin:0 0 1.35em;max-width:100%;}
  .cta-band,.related{padding:64px 0;}
}
@media (prefers-reduced-motion: reduce){
  .post-card,.post-thumb img,.post-more span{transition:none;}
  .post-card:hover{transform:none;}
  .post-card:hover .post-thumb img{transform:none;}
}
