/* Central Cidadao — style.css */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --primary:#111827;--secondary:#6b7280;--accent:#2563eb;
  --bg:#ffffff;--bg-alt:#f9fafb;--disclaimer-bg:#f1f5f9;
  --text:#111827;--border:#e5e7eb;--radius:4px;
  --font-heading:'Merriweather',Georgia,serif;
  --font-body:'Inter',system-ui,sans-serif;
}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--text);background:var(--bg);line-height:1.7}
img{max-width:100%;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;line-height:1.3;color:var(--primary)}
h1{font-size:1.85rem;margin-bottom:1rem}
h2{font-size:1.45rem;margin:2.5rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}
h3{font-size:1.15rem;margin:1.5rem 0 .5rem}
p{margin-bottom:1rem}
ul,ol{margin:0 0 1rem 1.5rem}
li{margin-bottom:.4rem}

/* layout */
.container{max-width:740px;margin:0 auto;padding:0 1.25rem}
.container-wide{max-width:960px;margin:0 auto;padding:0 1.25rem}

/* disclaimer bar */
.disclaimer-bar{background:var(--disclaimer-bg);border-bottom:1px solid var(--border);padding:.55rem 1.25rem;font-size:.78rem;color:var(--secondary);text-align:center;line-height:1.5}

/* ad-notice */
.ad-notice{background:var(--bg-alt);border-bottom:1px solid var(--border);padding:.45rem 1.25rem;font-size:.75rem;color:var(--secondary);text-align:center}

/* selo */
.selo{display:inline-block;font-size:.75rem;color:var(--secondary);border:1px solid var(--border);border-radius:var(--radius);padding:.2rem .6rem;margin-bottom:.5rem}

/* header */
.site-header{background:var(--bg);border-bottom:1px solid var(--border);padding:1rem 0}
.site-header .container-wide{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}
.site-logo{font-family:var(--font-heading);font-size:1.2rem;color:var(--primary);font-weight:700;text-decoration:none}
.site-logo:hover{text-decoration:none}
.nav-toggle{display:none;background:none;border:1px solid var(--border);border-radius:var(--radius);padding:.35rem .6rem;cursor:pointer;font-size:1.1rem;color:var(--primary)}
.site-nav{display:flex;flex-wrap:wrap;gap:.15rem}
.site-nav a{font-size:.82rem;color:var(--secondary);padding:.25rem .5rem;border-radius:var(--radius)}
.site-nav a:hover,.site-nav a.active{color:var(--primary);text-decoration:none;background:var(--bg-alt)}

/* breadcrumb */
.breadcrumb{font-size:.82rem;color:var(--secondary);margin:1.5rem 0 .5rem}
.breadcrumb a{color:var(--accent)}

/* sections */
.section{padding:2.5rem 0}
.section-alt{background:var(--bg-alt)}
.section-disclaimer{background:var(--disclaimer-bg);padding:2rem 0}

/* topic block */
.topic-block{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}
.topic-block:last-child{border-bottom:none}

/* links list */
.links-list{list-style:none;margin-left:0}
.links-list li{margin-bottom:.6rem}
.links-list li a{font-weight:500}

/* alerts list */
.alerts-list{list-style:none;margin-left:0}
.alerts-list li{padding:.6rem .8rem;background:var(--disclaimer-bg);border-left:3px solid var(--secondary);margin-bottom:.5rem;font-size:.92rem}

/* faq */
.faq-item{margin-bottom:1.5rem}
.faq-item dt{font-family:var(--font-heading);font-weight:700;font-size:1rem;margin-bottom:.35rem}
.faq-item dd{color:var(--secondary);font-size:.95rem}

/* transparency box */
.transparency-box{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin:1.5rem 0}
.transparency-box p{margin-bottom:.5rem;font-size:.92rem}

/* numbered steps */
.steps{counter-reset:step}
.steps li{counter-increment:step;list-style:none;margin-bottom:1rem;padding-left:2rem;position:relative}
.steps li::before{content:counter(step);position:absolute;left:0;top:0;width:1.5rem;height:1.5rem;background:var(--primary);color:#fff;border-radius:50%;font-size:.8rem;display:flex;align-items:center;justify-content:center;font-weight:600}

/* categories */
.category{margin-bottom:1.5rem}
.category h3{margin-bottom:.5rem}

/* contact form */
.form-group{margin-bottom:1rem}
.form-group label{display:block;font-size:.9rem;font-weight:600;margin-bottom:.3rem}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:.6rem .8rem;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-body);font-size:.95rem}
.form-group textarea{min-height:120px;resize:vertical}
.btn-submit{background:var(--primary);color:#fff;border:none;padding:.7rem 1.8rem;border-radius:var(--radius);font-family:var(--font-body);font-size:.95rem;cursor:pointer}
.btn-submit:hover{opacity:.85}

/* footer */
.site-footer{background:var(--primary);color:#cbd5e1;padding:2.5rem 0 1.5rem;font-size:.85rem;line-height:1.6}
.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.footer-col h4{color:#fff;font-family:var(--font-heading);font-size:.95rem;margin-bottom:.75rem}
.footer-col p{margin-bottom:.3rem}
.footer-col a{color:#93c5fd}
.footer-nav{list-style:none;margin:0}
.footer-nav li{margin-bottom:.3rem}
.footer-nav a{color:#cbd5e1;font-size:.82rem}
.footer-nav a:hover{color:#fff}
.footer-bottom{margin-top:2rem;padding-top:1rem;border-top:1px solid #374151;text-align:center;font-size:.78rem;color:#9ca3af}

/* cookie banner */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--primary);color:#e5e7eb;padding:1rem 1.25rem;z-index:9999;display:none;font-size:.85rem;line-height:1.5}
.cookie-banner.show{display:block}
.cookie-inner{max-width:960px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;justify-content:space-between}
.cookie-text{flex:1 1 400px}
.cookie-text a{color:#93c5fd}
.cookie-buttons{display:flex;gap:.5rem;flex-wrap:wrap}
.cookie-buttons button{padding:.45rem 1rem;border:none;border-radius:var(--radius);font-family:var(--font-body);font-size:.82rem;cursor:pointer}
#cookie-rejeitar{background:#374151;color:#e5e7eb}
#cookie-essenciais{background:#4b5563;color:#fff}
#cookie-autorizar{background:#2563eb;color:#fff}

/* 404 */
.page-404{text-align:center;padding:4rem 0}
.page-404 h1{font-size:3rem;margin-bottom:.5rem}

/* responsive */
@media(max-width:700px){
  .nav-toggle{display:block}
  .site-nav{display:none;width:100%;flex-direction:column}
  .site-nav.open{display:flex}
  .footer-grid{grid-template-columns:1fr}
  h1{font-size:1.5rem}
  h2{font-size:1.25rem}
}
