/* ============================================================
   Blog (noticias): post, listagem, categorias e 404.
   Usa os tokens e os cards (.news-item, .news-grid, .nf-btn) do style.css;
   aqui so o que e proprio destas paginas.
   ============================================================ */

  .screen-reader-text{position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap;}

  /* ---- Faixa navy do topo (mesma linguagem do hero do Canal) ---- */
  .blog-hero{position:relative; overflow:hidden; color:#fff;
    background:linear-gradient(130deg, #14293f 0%, var(--navy) 42%, var(--blue) 135%);
    padding:170px 0 80px;}
  .blog-hero::before{content:''; position:absolute; right:-6%; top:-34%; width:560px; height:560px; border-radius:50%;
    background:radial-gradient(circle at 32% 32%, rgba(255,255,255,.16), rgba(255,255,255,0) 68%); pointer-events:none;}
  .blog-hero::after{content:''; position:absolute; left:-12%; bottom:-45%; width:460px; height:460px; border-radius:50%;
    background:radial-gradient(circle, rgba(0,150,215,.35), rgba(0,150,215,0) 70%); pointer-events:none;}
  .blog-hero .container{position:relative; z-index:1;}
  .blog-hero h1{color:#fff; font-size:clamp(2rem,4.4vw,3.2rem); max-width:22ch;}
  .blog-hero .lead{margin-top:18px; font-size:clamp(1.02rem,1.8vw,1.2rem); color:rgba(255,255,255,.88); max-width:52ch;}
  .blog-eyebrow{display:inline-flex; align-items:center; gap:8px; text-transform:uppercase; letter-spacing:.14em;
    font-size:.78rem; font-weight:700; color:rgba(255,255,255,.72); font-family:var(--font-display); margin-bottom:18px;}
  .blog-eyebrow::before{content:''; width:26px; height:2px; background:var(--blue); display:inline-block;}
  .blog-hero-cta{margin-top:32px; display:flex; gap:14px; flex-wrap:wrap;}

  /* ---- Post: topo ---- */
  .post-hero{padding-bottom:64px;}
  .post-hero .container{max-width:980px;}
  .post-hero h1{font-size:clamp(1.8rem,3.8vw,2.8rem); max-width:none;}
  .post-back{display:inline-block; margin-bottom:22px; font-family:var(--font-display); font-size:.85rem; font-weight:600;
    color:rgba(255,255,255,.78); transition:color .2s ease;}
  .post-back:hover{color:#fff;}
  .post-chips{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px;}
  .post-chip{background:rgba(255,255,255,.94); color:var(--navy); font-family:var(--font-display); font-size:.7rem; font-weight:700;
    letter-spacing:.03em; text-transform:uppercase; padding:6px 12px; border-radius:999px; transition:background .2s ease, color .2s ease;}
  .post-chip:hover{background:var(--blue); color:#fff;}
  .post-date{margin-top:18px; color:rgba(255,255,255,.75); font-size:.95rem;}

  /* ---- Post: texto + lateral ---- */
  .post-main{padding:64px 0 90px;}
  .post-layout{display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:56px; align-items:start;}
  .post-cover{margin:0 0 36px; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-soft);}
  .post-cover img{width:100%; height:auto;}

  .post-content{font-size:1.08rem; line-height:1.75; color:rgba(0,0,0,.82); overflow-wrap:break-word;}
  .post-content > *{margin:0 0 1.2em;}
  .post-content > *:last-child{margin-bottom:0;}
  .post-content p{line-height:1.75; color:inherit;}
  .post-content h2{font-size:clamp(1.4rem,2.6vw,1.8rem); margin:1.6em 0 .6em;}
  .post-content h3{font-size:clamp(1.2rem,2.2vw,1.45rem); margin:1.5em 0 .6em;}
  .post-content h4,.post-content h5,.post-content h6{font-size:1.1rem; margin:1.4em 0 .5em;}
  .post-content a{color:var(--blue); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px;}
  .post-content a:hover{color:var(--navy);}
  .post-content strong{color:var(--black);}
  .post-content ul,.post-content ol{padding-left:1.4em;}
  .post-content ul{list-style:disc;}
  .post-content ol{list-style:decimal;}
  .post-content li{margin:.35em 0;}
  .post-content li::marker{color:var(--blue);}
  .post-content img{height:auto; border-radius:var(--radius-md);}
  .post-content figure{margin-left:0; margin-right:0; max-width:100%;}
  .post-content figcaption,.post-content .wp-caption-text{margin-top:10px; font-size:.86rem; color:rgba(0,0,0,.55); text-align:center;}
  .post-content .wp-caption{max-width:100%;}
  .post-content .aligncenter{margin-left:auto; margin-right:auto;}
  .post-content .alignleft{float:left; margin:.3em 1.4em 1em 0; max-width:50%;}
  .post-content .alignright{float:right; margin:.3em 0 1em 1.4em; max-width:50%;}
  .post-content::after{content:''; display:table; clear:both;}
  .post-content blockquote{margin-left:0; margin-right:0; padding:18px 24px; border-left:4px solid var(--blue);
    background:var(--gray); border-radius:0 var(--radius-sm) var(--radius-sm) 0; font-style:italic;}
  .post-content blockquote p{margin:0;}
  .post-content iframe,.post-content video,.post-content embed{display:block; max-width:100%; border:0; border-radius:var(--radius-md);}
  .post-content iframe[src*="youtube"],.post-content iframe[src*="vimeo"]{width:100%; height:auto; aspect-ratio:16/9;}
  .post-content .wp-block-embed__wrapper{position:relative;}
  .post-content table{width:100%; border-collapse:collapse; font-size:.95rem; display:block; overflow-x:auto;}
  .post-content th,.post-content td{border:1px solid rgba(28,58,91,.15); padding:10px 12px; text-align:left;}
  .post-content hr{border:0; height:1px; background:rgba(28,58,91,.15);}
  .post-content .wp-block-image,.post-content .wp-block-gallery{margin-bottom:1.6em;}
  .post-content .wp-block-gallery{display:flex; flex-wrap:wrap; gap:12px; padding:0; list-style:none;}
  .post-content .wp-block-gallery figure{flex:1 1 220px; margin:0;}
  .post-content .wp-block-columns{display:flex; flex-wrap:wrap; gap:24px;}
  .post-content .wp-block-column{flex:1 1 240px; min-width:0;}
  .post-content .wp-block-button__link{display:inline-block; background:var(--navy); color:#fff; text-decoration:none;
    padding:12px 24px; border-radius:999px; font-family:var(--font-display); font-weight:600; font-size:.9rem;}
  .post-content .wp-block-button__link:hover{background:var(--blue); color:#fff;}

  .post-aside{position:sticky; top:110px; display:flex; flex-direction:column; gap:24px;}
  .aside-box{background:var(--gray); border-radius:var(--radius-lg); padding:26px;}
  .aside-box h3{font-size:1.05rem; margin-bottom:16px; padding-bottom:12px; border-bottom:2px solid var(--blue); display:inline-block;}
  .aside-cats li + li{border-top:1px solid rgba(28,58,91,.1);}
  .aside-cats a{display:flex; justify-content:space-between; gap:12px; padding:10px 0; color:var(--navy); font-weight:600; transition:color .2s ease;}
  .aside-cats a:hover{color:var(--blue);}
  .aside-cats span{font-size:.78rem; font-weight:700; color:rgba(28,58,91,.55); background:#fff; border-radius:999px; padding:2px 9px; align-self:center;}
  .aside-recent{display:flex; flex-direction:column; gap:16px;}
  .aside-recent a{display:grid; grid-template-columns:72px 1fr; gap:12px; align-items:center;}
  .aside-thumb{width:72px; height:72px; border-radius:var(--radius-sm); overflow:hidden; background:linear-gradient(150deg, var(--navy), var(--blue));}
  .aside-thumb img{width:100%; height:100%; object-fit:cover;}
  .aside-txt strong{display:block; font-family:var(--font-display); font-size:.86rem; line-height:1.35; color:var(--navy); font-weight:600;
    display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; transition:color .2s ease;}
  .aside-recent a:hover strong{color:var(--blue);}
  .aside-txt time{display:block; margin-top:4px; font-size:.75rem; color:rgba(0,0,0,.5);}

  .post-related{padding:90px 0 110px; background:var(--gray);}
  .post-related .section-head{margin-bottom:40px;}

  /* ---- Listagem / categorias ---- */
  .blog-list{padding:56px 0 110px; background:var(--gray);}
  .blog-filter{margin-bottom:36px;}
  .blog-filter .nf-btn{display:inline-block;}
  .blog-pagination{margin-top:48px;}
  .blog-pagination ul{display:flex; justify-content:center; flex-wrap:wrap; gap:8px;}
  .blog-pagination .page-numbers{display:inline-flex; align-items:center; justify-content:center; min-width:44px; height:44px; padding:0 12px;
    border-radius:999px; border:1.5px solid rgba(28,58,91,.2); background:#fff; color:var(--navy);
    font-family:var(--font-display); font-weight:600; font-size:.9rem; transition:all .2s ease;}
  .blog-pagination a.page-numbers:hover{border-color:var(--blue); color:var(--blue);}
  .blog-pagination .page-numbers.current{background:var(--navy); border-color:var(--navy); color:#fff;}
  .blog-pagination .page-numbers.dots{border:0; background:transparent;}

  @media (max-width:980px){
    .post-layout{grid-template-columns:1fr; gap:48px;}
    .post-aside{position:static;}
  }
  @media (max-width:640px){
    .blog-hero{padding:130px 0 56px;}
    .post-hero{padding-bottom:48px;}
    .post-main{padding:40px 0 64px;}
    .post-cover{margin-bottom:28px; border-radius:var(--radius-md);}
    .post-content{font-size:1.02rem;}
    .post-content .alignleft,.post-content .alignright{float:none; margin:0 0 1.2em; max-width:100%;}
    .aside-box{padding:22px;}
    .post-related{padding:64px 0 80px;}
    .blog-list{padding:40px 0 80px;}
  }
