/*
Theme Name: CPISRPA
Theme URI: https://cpisrpa.ba.gov.br
Author: Renan Afonso
Author URI: https://cpisrpa.ba.gov.br
Description: Tema institucional do Consórcio Público Interfederativo de Saúde da Região de Paulo Afonso (CPISRPA). Layout escuro/claro com acesso rápido aos sistemas, notícias e acessibilidade (e-MAG).
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cpisrpa
*/

/* ============================================================
   CPISRPA — Consórcio Público Interfederativo de Saúde
   ============================================================ */
:root{
  --primary:#0083BA;
  --primary-dark:#00699A;
  --primary-light:#EAF6FC;
  --secondary:#00B087;
  --secondary-bright:#1CD9A8;
  --secondary-light:#E3F8F1;
  --ink:#0B2B4A;
  --navy-950:#061527;
  --navy-900:#081E38;
  --navy-800:#0E2E50;
  --navy-700:#123A63;
  --text:#1E293B;
  --muted:#5B7186;
  --faint:#94A3B8;
  --bg:#F7FAFD;
  --surface:#FFFFFF;
  --line:#E7EEF6;

  --font:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;

  --radius-sm:12px;
  --radius-md:18px;
  --radius-lg:24px;
  --shadow-sm:0 4px 16px rgba(11,43,74,0.05);
  --shadow-md:0 16px 40px rgba(11,43,74,0.09);
  --shadow-primary:0 10px 28px rgba(0,131,186,0.22);
  --container:1240px;
}

html{font-size:100%;}
html[data-a11y-font="2"]{font-size:112.5%;}
html[data-a11y-font="3"]{font-size:125%;}

*,*::before,*::after{box-sizing:border-box;}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}

body{
  margin:0;
  font-family:var(--font);
  color:var(--text);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
}

h1,h2,h3{
  font-family:var(--font);
  color:var(--ink);
  margin:0;
  letter-spacing:-0.01em;
}

p{margin:0;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
img{max-width:100%;display:block;}

.container{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding:0 24px;
}

.ic{width:1.1em;height:1.1em;flex-shrink:0;}

.skip-link{
  position:absolute;
  left:-999px;
  top:0;
  background:var(--ink);
  color:#fff;
  padding:12px 20px;
  z-index:200;
  border-radius:0 0 8px 0;
}
.skip-link:focus{left:0;}

:focus-visible{
  outline:3px solid var(--secondary);
  outline-offset:2px;
  border-radius:4px;
}

/* ============================ Buttons ============================ */
.btn-primary,.btn-outline{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--font);
  font-weight:600;
  font-size:1rem;
  padding:14px 30px;
  border-radius:999px;
  cursor:pointer;
  text-decoration:none;
  border:2px solid transparent;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}
.btn-primary{
  background:var(--primary);
  color:#fff;
  box-shadow:var(--shadow-primary);
}
.btn-primary:hover{background:var(--primary-dark); transform:translateY(-2px);}
.btn-outline{
  background:transparent;
  color:var(--primary);
  border-color:var(--primary);
}
.btn-outline:hover{background:var(--primary); color:#fff; transform:translateY(-2px);}

/* ============================ Header ============================ */
.header{
  position:sticky;
  top:0;
  z-index:100;
  border-bottom:1px solid var(--line);
}
.header::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  z-index:-1;
  box-shadow:var(--shadow-sm);
}

.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  height:76px;
}
.brand{display:flex; align-items:center;}
.brand-logo{height:44px; width:auto;}

.nav-links{
  display:flex;
  align-items:center;
  gap:28px;
}
.nav-links > li:first-child,
.nav-links > li:nth-child(2),
.nav-links > li:nth-child(3){
  font-weight:600;
  font-size:0.95rem;
}
.nav-links a:not(.btn-nav){
  color:var(--text);
  position:relative;
  padding:4px 0;
}
.nav-links a:not(.btn-nav)::after{
  content:"";
  position:absolute;
  left:0; right:100%;
  bottom:-4px;
  height:2.5px;
  border-radius:4px;
  background:var(--primary);
  transition:right .22s ease;
}
.nav-links a:not(.btn-nav):hover::after{right:0;}
.nav-links a:not(.btn-nav):hover{color:var(--primary);}

.nav-links .btn-nav{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--primary);
  color:#fff;
  padding:9px 20px;
  border-radius:999px;
  font-weight:600;
  font-size:0.92rem;
  transition:background .18s ease, transform .18s ease;
}
.nav-links .btn-nav:hover{background:var(--primary-dark); transform:scale(1.03);}

.search-form{
  display:flex;
  align-items:center;
  gap:4px;
  background:#F1F5F9;
  border-radius:999px;
  padding:4px 4px 4px 16px;
  transition:background .18s ease, box-shadow .18s ease;
}
.search-form:focus-within{background:#fff; box-shadow:0 0 0 2px var(--primary);}
.search-field{
  border:none;
  background:transparent;
  font-family:var(--font);
  font-size:0.9rem;
  width:120px;
  padding:6px 0;
  outline:none;
  color:var(--text);
}
.search-field::placeholder{color:var(--faint);}
.search-submit{
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--primary);
  color:#fff;
  border:none;
  border-radius:999px;
  width:34px; height:34px;
  cursor:pointer;
  transition:background .18s ease;
}
.search-submit:hover{background:var(--primary-dark);}

.menu-toggle{
  display:none;
  width:42px; height:42px;
  align-items:center; justify-content:center;
  background:transparent;
  border:1.5px solid var(--line);
  border-radius:999px;
  cursor:pointer;
  color:var(--ink);
  position:relative;
}
.ham-close{display:none;}
.menu-toggle[aria-expanded="true"] .ham-open{display:none;}
.menu-toggle[aria-expanded="true"] .ham-close{display:block;}

/* ============================ Hero ============================ */
.hero{
  position:relative;
  background:linear-gradient(160deg, var(--navy-950) 0%, var(--navy-900) 45%, var(--navy-700) 100%);
  padding:100px 0 88px;
  overflow:hidden;
  isolation:isolate;
}
.hero-bg{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}
.hero-blob{
  position:absolute;
  border-radius:50%;
  filter:blur(70px);
  opacity:0.55;
}
.hero-blob-a{
  width:560px; height:560px;
  top:-220px; right:-140px;
  background:radial-gradient(circle, var(--primary) 0%, transparent 70%);
}
.hero-blob-b{
  width:460px; height:460px;
  bottom:-220px; left:-120px;
  background:radial-gradient(circle, var(--secondary) 0%, transparent 70%);
  opacity:0.35;
}
.hero-grain{
  position:absolute;
  inset:0;
  background-image:radial-gradient(rgba(255,255,255,0.045) 1px, transparent 1px);
  background-size:3px 3px;
  mix-blend-mode:overlay;
}
.hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:52px;
  align-items:center;
}
.hero .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:0.8rem;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--secondary-bright);
  background:rgba(28,217,168,0.12);
  border:1px solid rgba(28,217,168,0.3);
  padding:7px 16px;
  border-radius:999px;
  margin-bottom:22px;
}
.hero h1{
  color:#fff;
  font-size:clamp(2.2rem, 3.6vw, 3.1rem);
  font-weight:800;
  line-height:1.14;
  margin-bottom:20px;
  letter-spacing:-0.02em;
}
.hero h1 span{color:var(--secondary-bright);}
.hero p{
  font-size:1.14rem;
  color:#B9CBDE;
  max-width:480px;
  margin-bottom:34px;
}
.hero-actions{display:flex; flex-wrap:wrap; gap:16px;}
.hero .btn-outline{
  color:#fff;
  border-color:rgba(255,255,255,0.4);
}
.hero .btn-outline:hover{background:#fff; color:var(--navy-900); border-color:#fff;}

.hero-image{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:center;
  align-items:center;
  max-width:480px;
  margin:0 auto;
}
.hero-image-glow{
  position:absolute;
  inset:-14% -10%;
  background:radial-gradient(circle at 30% 25%, rgba(0,131,186,0.55), transparent 60%),
             radial-gradient(circle at 78% 78%, rgba(28,217,168,0.45), transparent 55%);
  filter:blur(18px);
  z-index:0;
  border-radius:40%;
}
.hero-image img{
  position:relative;
  z-index:1;
  width:100%;
  max-width:480px;
  height:auto;
  aspect-ratio:3/2;
  object-fit:cover;
  border-radius:var(--radius-lg);
  box-shadow:0 24px 60px rgba(0,0,0,0.45);
  border:1px solid rgba(255,255,255,0.18);
}
.hero-badge{
  position:absolute;
  z-index:2;
  right:-8px;
  bottom:20px;
  max-width:220px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:rgba(255,255,255,0.9);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  padding:12px 18px;
  border-radius:20px;
  box-shadow:0 16px 40px rgba(0,0,0,0.3);
  font-size:0.86rem;
  font-weight:600;
  color:var(--ink);
}
.hero-badge .ic{color:var(--secondary); width:1.3em; height:1.3em;}

/* ============================ Sections ============================ */
.section{padding:72px 0;}
.section-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:36px;
}
.section-header h2{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:1.9rem;
  font-weight:800;
}
.section-header h2 .ic{color:var(--primary); width:0.85em; height:0.85em;}
.section-header a{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--primary);
  font-weight:600;
  transition:gap .18s ease;
}
.section-header a:hover{gap:13px;}
.section-note{color:var(--muted); font-size:0.9rem;}

/* ============================ News ============================ */
.section-news{
  position:relative;
  background:linear-gradient(180deg, #EEF6FB 0%, var(--bg) 100%);
  overflow:hidden;
}
.section-blob{
  position:absolute;
  top:-180px;
  right:-160px;
  width:520px;
  height:520px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(0,131,186,0.16) 0%, transparent 70%);
  filter:blur(10px);
  z-index:0;
}
.section-news .container{position:relative; z-index:1;}

.news-grid{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.news-card{
  background:var(--surface);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  border:1px solid var(--line);
  border-left:4px solid var(--primary);
  transition:transform .25s ease, box-shadow .25s ease;
}
.news-card:hover{transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,131,186,0.16);}
.news-link{display:flex; flex-direction:row; align-items:stretch;}
.news-link:hover h3{color:var(--primary);}
.news-card .thumb{
  width:280px;
  flex-shrink:0;
  background:linear-gradient(145deg, var(--primary-light), var(--secondary-light));
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--primary);
}
.news-card .thumb .ic{width:2.6rem; height:2.6rem;}
.news-card .thumb img{width:100%; height:100%; object-fit:cover;}
.news-card .body{
  flex:1;
  min-width:0;
  padding:24px 28px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.news-card .tag{
  align-self:flex-start;
  display:inline-block;
  font-size:0.75rem;
  font-weight:700;
  color:var(--primary);
  background:var(--primary-light);
  padding:5px 14px;
  border-radius:999px;
  margin-bottom:12px;
}
.news-card h3{
  font-size:1.22rem;
  font-weight:700;
  margin-bottom:8px;
  transition:color .18s ease;
}
.news-card p{color:var(--muted); font-size:0.95rem;}
.news-card .meta{
  margin-top:16px;
  display:flex;
  align-items:center;
  gap:16px;
  font-size:0.84rem;
  color:var(--faint);
}
.news-card .meta span{display:flex; align-items:center; gap:6px;}

@media (max-width:680px){
  .news-link{flex-direction:column;}
  .news-card .thumb{width:100%; height:180px;}
  .news-card .body{padding:20px 22px 24px;}
}
.news-empty{
  background:var(--surface);
  border:1px dashed var(--line);
  border-radius:var(--radius-lg);
  padding:40px;
  text-align:center;
  color:var(--muted);
}

/* ============================ Acesso rápido ============================ */
.acesso-rapido{
  position:relative;
  background:linear-gradient(150deg, var(--primary-light) 0%, var(--secondary-light) 55%, #DCF3FA 100%);
  overflow:hidden;
}
.grid-acesso{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(170px, 1fr));
  gap:20px;
}
.acesso-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  background:var(--surface);
  border-radius:var(--radius-md);
  padding:26px 18px;
  border:1px solid rgba(255,255,255,0.7);
  box-shadow:0 6px 20px rgba(11,43,74,0.06);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.acesso-item:hover{
  transform:translateY(-5px);
  box-shadow:0 16px 34px rgba(0,131,186,0.2);
  border-color:var(--primary);
}
.acesso-item .icon{
  width:58px; height:58px;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--primary-light), var(--secondary-light));
  color:var(--primary);
  border-radius:16px;
  margin-bottom:14px;
  transition:background .2s ease, color .2s ease, transform .2s ease;
}
.acesso-item:nth-child(3n+2) .icon{
  background:linear-gradient(135deg, var(--secondary-light), var(--primary-light));
  color:var(--secondary);
}
.acesso-item .icon .ic{width:1.6rem; height:1.6rem;}
.acesso-item:hover .icon{background:var(--primary); color:#fff; transform:scale(1.08);}
.acesso-item:nth-child(3n+2):hover .icon{background:var(--secondary);}
.acesso-item .label{font-weight:700; font-size:0.94rem; color:var(--text);}
.acesso-item .sub{font-size:0.78rem; color:var(--faint); margin-top:4px;}

/* ============================ Contato ============================ */
.section-dark{
  position:relative;
  background:linear-gradient(160deg, var(--navy-950) 0%, var(--navy-900) 50%, var(--navy-700) 100%);
  overflow:hidden;
  isolation:isolate;
}
.section-dark .hero-bg{position:absolute; inset:0; z-index:0;}
.section-dark .hero-blob-a{top:auto; bottom:-240px; right:-160px;}
.section-dark .hero-blob-b{bottom:auto; top:-200px; left:-140px;}
.section-dark .container{position:relative; z-index:1;}
.section-dark .section-header h2,
.section-dark .section-header h2 .ic{color:#fff;}
.section-dark .section-note{color:#9DB6CD;}

.contato-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:stretch;
}
.contato-grid > *{min-width:0;}
.contato-info{
  background:rgba(255,255,255,0.06);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-radius:var(--radius-lg);
  padding:36px 40px;
  border:1px solid rgba(255,255,255,0.12);
}
.contato-info h3{
  color:#fff;
  font-size:1.32rem;
  font-weight:800;
  margin-bottom:22px;
  line-height:1.3;
}
.contato-info p{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:16px;
  color:#D6E3EE;
  font-size:0.98rem;
  overflow-wrap:anywhere;
}
.contato-info p .ic{color:var(--secondary-bright); width:1.2em; height:1.2em; flex-shrink:0;}
.contato-info p a:hover{color:var(--secondary-bright);}

.social-links{display:flex; gap:14px; margin:22px 0 26px;}
.social-links a{
  width:44px; height:44px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,0.1);
  color:#fff;
  border-radius:50%;
  transition:background .18s ease, color .18s ease;
}
.social-links a:hover{background:var(--secondary); color:#fff;}

.img-rodape{padding-top:20px; border-top:1px solid rgba(255,255,255,0.14);}
.img-rodape img{max-width:100%; height:auto; border-radius:8px; background:#fff; padding:10px;}

.contato-mapa{
  border-radius:var(--radius-lg);
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.12);
  min-height:320px;
  box-shadow:0 20px 50px rgba(0,0,0,0.35);
}
.contato-mapa iframe{width:100%; height:100%; min-height:320px; border:0; filter:saturate(0.85) brightness(0.94);}

/* ============================ Footer ============================ */
footer{
  background:var(--navy-950);
  color:#CDDBE9;
  padding:30px 0;
  border-top:1px solid rgba(255,255,255,0.08);
}
footer .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:14px;
}
footer p{font-size:0.9rem;}
.footer-legal{display:flex; gap:22px;}
.footer-legal a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#A0C4E8;
  transition:color .18s ease;
}
.footer-legal a:hover{color:#fff;}

/* ============================ Acessibilidade ============================ */
.a11y-bar{
  background:var(--navy-950);
  color:#fff;
}
.a11y-bar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:8px 24px;
}
.a11y-bar-label{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:0.8rem;
  font-weight:600;
  color:#B9CBDE;
  white-space:nowrap;
}
.a11y-bar-label .ic{color:var(--secondary-bright); width:1rem; height:1rem;}

.a11y-bar-controls{display:flex; align-items:center; gap:18px;}

.a11y-controls{display:flex; align-items:center; gap:4px;}
.a11y-controls button{
  display:flex; align-items:center; justify-content:center;
  width:26px; height:26px;
  background:rgba(255,255,255,0.08);
  color:#fff;
  border:1px solid rgba(255,255,255,0.14);
  border-radius:7px;
  cursor:pointer;
  transition:background .15s ease, color .15s ease;
}
.a11y-controls button .ic{width:0.85rem; height:0.85rem;}
.a11y-controls button:hover{background:var(--primary); border-color:var(--primary);}

.a11y-switch{
  display:flex;
  align-items:center;
  gap:8px;
  background:transparent;
  border:none;
  cursor:pointer;
  padding:0;
}
.a11y-switch-label{font-size:0.8rem; font-weight:600; color:#B9CBDE;}
.a11y-switch-dot{
  position:relative;
  width:36px; height:20px;
  background:rgba(255,255,255,0.16);
  border:1px solid rgba(255,255,255,0.2);
  border-radius:999px;
  transition:background .18s ease;
  flex-shrink:0;
}
.a11y-switch-dot::after{
  content:"";
  position:absolute;
  top:2px; left:2px;
  width:14px; height:14px;
  background:#fff;
  border-radius:50%;
  transition:transform .18s ease;
}
.a11y-switch[aria-pressed="true"] .a11y-switch-dot{background:var(--secondary);}
.a11y-switch[aria-pressed="true"] .a11y-switch-dot::after{transform:translateX(16px);}

@media (max-width:640px){
  .a11y-bar-label span:last-child{display:none;}
  .a11y-switch-label{display:none;}
  .a11y-bar-inner{padding:8px 16px;}
  .a11y-bar-controls{gap:12px;}
}

/* ============================ Post único / Página / Arquivo ============================ */
.page-hero{
  position:relative;
  background:linear-gradient(160deg, var(--navy-950) 0%, var(--navy-900) 45%, var(--navy-700) 100%);
  padding:56px 0;
  overflow:hidden;
  isolation:isolate;
}
.page-hero .hero-bg{position:absolute; inset:0; z-index:0;}
.page-hero .container{position:relative; z-index:1;}
.page-hero .breadcrumb{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:0.84rem;
  color:#9DB6CD;
  margin-bottom:14px;
}
.page-hero .breadcrumb a{color:#B9CBDE;}
.page-hero .breadcrumb a:hover{color:#fff;}
.page-hero h1{
  color:#fff;
  font-size:clamp(1.8rem, 3.2vw, 2.5rem);
  font-weight:800;
  line-height:1.2;
}
.page-hero .single-meta{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin-top:18px;
  font-size:0.92rem;
  color:#B9CBDE;
}
.page-hero .single-meta span{display:flex; align-items:center; gap:7px;}
.page-hero .single-meta .ic{color:var(--secondary-bright);}
.page-hero .tag{
  background:rgba(28,217,168,0.14);
  border:1px solid rgba(28,217,168,0.3);
  color:var(--secondary-bright);
}

.content-wrap{padding:64px 0;}
.single-thumb{
  border-radius:var(--radius-lg);
  overflow:hidden;
  margin-bottom:36px;
  box-shadow:var(--shadow-md);
}
.single-content,.page-content{
  font-size:1.05rem;
  line-height:1.85;
  color:var(--text);
  max-width:76ch;
}
.single-content h2,.single-content h3,
.page-content h2,.page-content h3{
  margin-top:34px;
  margin-bottom:14px;
  color:var(--ink);
}
.single-content p,.page-content p{margin-bottom:18px;}
.single-content img,.page-content img{
  border-radius:var(--radius-md);
  margin:22px 0;
}
.single-content ul,.single-content ol,
.page-content ul,.page-content ol{
  margin:0 0 18px 22px;
  list-style:revert;
}
.single-content a,.page-content a{color:var(--primary); text-decoration:underline;}

.single-footer{
  margin-top:44px;
  padding-top:26px;
  border-top:1px solid var(--line);
  max-width:76ch;
}
.tags{font-size:0.94rem; margin-bottom:18px; display:flex; flex-wrap:wrap; gap:8px; align-items:center;}
.tag-label{font-weight:700; color:var(--ink); margin-right:4px;}
.tags a{
  background:var(--primary-light);
  color:var(--primary);
  padding:5px 14px;
  border-radius:999px;
  font-size:0.85rem;
  font-weight:600;
}
.tags a:hover{background:var(--primary); color:#fff;}

.post-nav{
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-weight:600;
  flex-wrap:wrap;
}
.post-nav a{color:var(--primary); transition:color .18s ease;}
.post-nav a:hover{color:var(--primary-dark);}

.sidebar-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:28px;
  box-shadow:var(--shadow-sm);
}
.sidebar-card h4{
  font-size:1rem;
  font-weight:800;
  color:var(--ink);
  margin-bottom:16px;
}
.sidebar-card ul{display:flex; flex-direction:column; gap:12px;}
.sidebar-card a{color:var(--text); font-size:0.94rem;}
.sidebar-card a:hover{color:var(--primary);}

.pagination{margin-top:48px; display:flex; justify-content:center; gap:8px;}
.pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:38px;
  padding:0 10px;
  border-radius:10px;
  background:var(--surface);
  border:1px solid var(--line);
  color:var(--text);
  font-weight:600;
  transition:background .15s ease, color .15s ease;
}
.pagination .page-numbers.current,
.pagination a.page-numbers:hover{background:var(--primary); color:#fff; border-color:var(--primary);}

.empty-state{
  text-align:center;
  padding:60px 20px;
  color:var(--muted);
}
.empty-state h2{margin-bottom:12px;}

/* ============================ Responsive ============================ */
@media (max-width:992px){
  .hero-grid{grid-template-columns:1fr; text-align:center;}
  .hero p{margin-left:auto; margin-right:auto;}
  .hero-actions{justify-content:center;}
  .hero-image{margin-top:12px;}
  .contato-grid{grid-template-columns:1fr;}
}

@media (max-width:760px){
  .nav-links{
    position:fixed;
    inset:0 0 0 auto;
    top:var(--header-h, 76px);
    height:calc(100vh - var(--header-h, 76px));
    width:min(82vw, 320px);
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    background:#fff;
    padding:24px 24px 40px;
    transform:translateX(100%);
    transition:transform .3s ease;
    box-shadow:-12px 0 40px rgba(11,43,74,0.12);
    overflow-y:auto;
  }
  .nav-links.open{transform:translateX(0);}
  .nav-links > li{width:100%; padding:14px 0; border-bottom:1px solid var(--line);}
  .nav-links > li:has(.search-form){padding:14px 0;}
  .search-form{width:100%;}
  .search-field{width:100%;}
  .nav-links .btn-nav{width:100%; justify-content:center;}
  .menu-toggle{display:flex;}

  .grid-acesso{grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));}
  .contato-info{padding:28px 26px;}
}

@media (max-width:480px){
  .btn-primary,.btn-outline{padding:12px 24px; font-size:0.92rem;}
  .hero{padding:48px 0 40px;}
  .section{padding:48px 0;}
  footer .container{flex-direction:column; align-items:flex-start;}
}

/* ============================ Alto contraste ============================ */
html[data-a11y-contrast="true"] body{background:#fff; color:#000;}
html[data-a11y-contrast="true"] h1,
html[data-a11y-contrast="true"] h2,
html[data-a11y-contrast="true"] h3{color:#000;}

html[data-a11y-contrast="true"] .header::before{background:#fff; backdrop-filter:none; -webkit-backdrop-filter:none; box-shadow:none; border-bottom:2px solid #000;}
html[data-a11y-contrast="true"] .brand-logo{filter:contrast(1.3);}
html[data-a11y-contrast="true"] .nav-links a:not(.btn-nav){color:#000;}
html[data-a11y-contrast="true"] .nav-links .btn-nav{background:#000; color:#fff;}
html[data-a11y-contrast="true"] .search-form{background:#fff; border:2px solid #000;}
html[data-a11y-contrast="true"] .search-field{color:#000;}

html[data-a11y-contrast="true"] .hero,
html[data-a11y-contrast="true"] .section-dark,
html[data-a11y-contrast="true"] .page-hero{background:#fff;}
html[data-a11y-contrast="true"] .hero-bg,
html[data-a11y-contrast="true"] .hero-blob,
html[data-a11y-contrast="true"] .hero-grain,
html[data-a11y-contrast="true"] .hero-image-glow,
html[data-a11y-contrast="true"] .section-blob{display:none;}
html[data-a11y-contrast="true"] .hero .eyebrow,
html[data-a11y-contrast="true"] .page-hero .tag{background:#fff; border:2px solid #000; color:#000;}
html[data-a11y-contrast="true"] .hero h1,
html[data-a11y-contrast="true"] .hero p,
html[data-a11y-contrast="true"] .page-hero h1,
html[data-a11y-contrast="true"] .page-hero .single-meta,
html[data-a11y-contrast="true"] .page-hero .breadcrumb,
html[data-a11y-contrast="true"] .page-hero .breadcrumb a,
html[data-a11y-contrast="true"] .section-dark .section-header h2,
html[data-a11y-contrast="true"] .section-dark .section-note{color:#000;}
html[data-a11y-contrast="true"] .hero h1 span{color:var(--primary-dark); text-decoration:underline;}
html[data-a11y-contrast="true"] .hero-image img{border:2px solid #000; box-shadow:none;}
html[data-a11y-contrast="true"] .hero-badge{background:#fff; border:2px solid #000; box-shadow:none;}
html[data-a11y-contrast="true"] .hero .btn-outline{color:#000; border-color:#000;}
html[data-a11y-contrast="true"] .hero .btn-outline:hover{background:#000; color:#fff;}

html[data-a11y-contrast="true"] .section-news,
html[data-a11y-contrast="true"] .acesso-rapido{background:#fff;}
html[data-a11y-contrast="true"] .news-card,
html[data-a11y-contrast="true"] .acesso-item,
html[data-a11y-contrast="true"] .sidebar-card,
html[data-a11y-contrast="true"] .news-empty{border:2px solid #000; box-shadow:none;}
html[data-a11y-contrast="true"] .news-card .tag{background:#fff; border:1px solid #000; color:#000;}
html[data-a11y-contrast="true"] .news-card p,
html[data-a11y-contrast="true"] .news-card .meta,
html[data-a11y-contrast="true"] .acesso-item .sub,
html[data-a11y-contrast="true"] .section-note{color:#000;}
html[data-a11y-contrast="true"] .acesso-item .icon{background:#fff; border:2px solid #000; color:#000;}

html[data-a11y-contrast="true"] .contato-info{background:#fff; border:2px solid #000; backdrop-filter:none; -webkit-backdrop-filter:none;}
html[data-a11y-contrast="true"] .contato-info p{color:#000;}
html[data-a11y-contrast="true"] .contato-info p .ic{color:#000;}
html[data-a11y-contrast="true"] .social-links a{background:#fff; border:2px solid #000; color:#000;}
html[data-a11y-contrast="true"] .contato-mapa{border:2px solid #000; box-shadow:none;}
html[data-a11y-contrast="true"] .contato-mapa iframe{filter:none;}

html[data-a11y-contrast="true"] .btn-primary{background:#000; box-shadow:none;}
html[data-a11y-contrast="true"] .btn-primary:hover{background:#333;}

html[data-a11y-contrast="true"] footer{background:#000; border-top:2px solid #000;}
html[data-a11y-contrast="true"] .footer-legal a{color:#fff;}

html[data-a11y-contrast="true"] .a11y-bar{background:#000; border-bottom:2px solid #fff;}
html[data-a11y-contrast="true"] .a11y-controls button{background:#000; border-color:#fff;}
html[data-a11y-contrast="true"] .a11y-switch-dot{background:#000; border-color:#fff;}
html[data-a11y-contrast="true"] .a11y-switch[aria-pressed="true"] .a11y-switch-dot{background:#fff;}
html[data-a11y-contrast="true"] .a11y-switch[aria-pressed="true"] .a11y-switch-dot::after{background:#000;}
html[data-a11y-contrast="true"] .single-content a,
html[data-a11y-contrast="true"] .page-content a{color:#000; font-weight:700;}
html[data-a11y-contrast="true"] .pagination .page-numbers{border-color:#000;}
html[data-a11y-contrast="true"] .pagination .page-numbers.current,
html[data-a11y-contrast="true"] .pagination a.page-numbers:hover{background:#000; color:#fff;}
