/* ============================================================
   Participação Cidadã — frontend (redesign "edital dignificado" v1.5.1)
   Mantém TODAS as classes usadas pelo JS. Prefixo mg-.

   IMPORTANTE (correção v1.5.1): o tema já torna .entry-content /
   .ast-container / .site-content 100% da tela (ver style.css do
   tema-filho, bloco "CORREÇÕES GLOBAIS"). Por isso o hero e a faixa
   de newsletter NÃO usam mais o hack de width:100vw + margin negativa
   — bastava não estreitar o container do plugin. Hack de vw some
   causava desalinhamento com a barra de rolagem em algumas telas.
   ============================================================ */

/* Tokens locais (não sobrescrevem o :root do Theme_System) */
.mg-consultas-container,
.mg-comentarios-container,
.mg-notificacoes-container{
  --mg-navy:var(--mg-primary);
  --mg-navy2:#0A2454;
  --mg-gold:#C8941E;
  --mg-gold2:#F0B429;
  --mg-risk:#B4231F;
  --mg-ok:#1E7F4F;
  --mg-serif:'Noto Serif',Georgia,serif;
  font-family:var(--mg-font-family);
  color:var(--mg-text);
}

.mg-eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.20em;color:var(--mg-gold);margin-bottom:10px}
.mg-ico{width:18px;height:18px;vertical-align:middle;flex-shrink:0}
.mg-vazio{color:#6B7A99;font-style:italic;background:#fff;border:1px solid var(--mg-border);border-radius:12px;padding:22px 24px;text-align:left}

/* ===== Container raiz do shortcode: 100% da largura (o tema já entrega
   entry-content full-width; NÃO reintroduzir max-width aqui). ===== */
.mg-consultas-container,
.mg-comentarios-container,
.mg-notificacoes-container{
  width:100%;box-sizing:border-box;
}

/* ============================================================
   1) HERO — faixa navy full-bleed + números na faixa + watermark PNG
   ============================================================ */
.mg-hero{
  position:relative;overflow:hidden;isolation:isolate;
  width:100%;
  background:linear-gradient(135deg,var(--mg-navy) 0%,var(--mg-navy2) 100%);
  color:#fff;border-top:3px solid var(--mg-gold);
}
.mg-hero::after{
  content:"";position:absolute;top:-45%;right:-6%;width:min(560px,42%);aspect-ratio:1;
  border-radius:50%;background:radial-gradient(circle,rgba(240,180,41,.12),transparent 62%);
  pointer-events:none;z-index:0;
}
.mg-hero-inner{
  position:relative;z-index:1;text-align:left;box-sizing:border-box;
  max-width:1180px;margin:0 auto;
  padding:clamp(30px,5vw,52px) clamp(18px,4vw,44px) clamp(6px,2vw,10px);
  display:flex;align-items:center;justify-content:space-between;gap:32px;
}
.mg-hero-text{flex:1 1 420px;min-width:0}
.mg-hero-wm-wrap{
  flex:0 0 auto;width:clamp(120px,18vw,220px);aspect-ratio:1;
  display:flex;align-items:center;justify-content:center;
}
.mg-hero-wm{width:100%;height:100%;opacity:.55}
.mg-hero .mg-eyebrow{color:var(--mg-gold2)}
.mg-hero-title{
  font-family:var(--mg-serif);font-weight:700;line-height:1.08;
  font-size:clamp(26px,4.4vw,46px);max-width:16ch;margin:0 0 14px;color:#fff;
  overflow-wrap:break-word;word-break:break-word;
}
.mg-hero-sub{
  color:#C7D4EE;font-size:clamp(15px,1.6vw,17px);line-height:1.6;
  max-width:min(52ch,90%);margin:0 0 24px;
  overflow-wrap:break-word;word-break:break-word;white-space:normal;
}

.mg-livestrip{display:flex;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.14)}
.mg-live{display:flex;align-items:center;gap:11px;padding:18px 28px 20px 0;margin-right:28px;border-right:1px solid rgba(255,255,255,.10)}
.mg-live:last-child{border-right:none;margin-right:0}
.mg-live-ic{color:var(--mg-gold2)}
.mg-live-ic .mg-ico{width:22px;height:22px}
.mg-live-n{font-family:var(--mg-serif);font-size:23px;font-weight:700;color:var(--mg-gold2);line-height:1}
.mg-live-n.mg-live-txt{font-size:16px}
.mg-live-l{font-size:12.5px;color:#A9BAE0;line-height:1.25}

/* ============================================================
   2) Cabeçalho de seção (eyebrow + régua)
   ============================================================ */
.mg-sec-consultas{max-width:1180px;margin:0 auto;box-sizing:border-box;padding:clamp(30px,4vw,44px) clamp(16px,4vw,28px) 0}
.mg-sec-head{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.mg-sec-head .mg-eyebrow{margin-bottom:0;color:var(--mg-gold)}
.mg-rule{flex:1;height:1px;background:var(--mg-border)}

/* ============================================================
   3) Cards "edital" — barra-ouro + tipo + prazo + título serif
   ============================================================ */
.mg-consultas-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));
  gap:22px;margin-bottom:8px;
}
.mg-card-consulta{
  position:relative;overflow:hidden;background:#fff;border:1px solid var(--mg-border);
  border-radius:14px;padding:26px 26px 26px 30px;display:flex;flex-direction:column;
  box-shadow:0 1px 2px rgba(13,46,110,.05);text-align:left;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.mg-card-consulta::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(var(--mg-gold),var(--mg-gold2))}
.mg-card-consulta:hover{transform:translateY(-3px);box-shadow:0 16px 32px -16px rgba(13,46,110,.4);border-color:var(--mg-border)}
.mg-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.mg-matter{color:var(--mg-accent);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.mg-badge-status{background:#EBF2FD;color:var(--mg-primary);padding:3px 9px;border-radius:20px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.mg-prazo{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--mg-border);color:#5B6A8C;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:5px 11px;border-radius:30px}
.mg-prazo.urgente{border-color:#E7C4C2;color:var(--mg-risk)}
.mg-prazo .mg-ico{width:13px;height:13px}
.mg-card-titulo{font-family:var(--mg-serif);font-size:20px;font-weight:700;line-height:1.25;color:var(--mg-primary);margin:0 0 8px}
.mg-card-titulo a{color:inherit;text-decoration:none;cursor:pointer}
.mg-card-titulo a:hover{color:var(--mg-accent);text-decoration:underline}
.mg-card-ementa{color:#41506E;font-size:14.5px;line-height:1.6;margin:0 0 18px;flex-grow:1}

/* ===== Votação (mantida) ===== */
.mg-votacao{display:flex;flex-direction:column;gap:11px;padding-top:18px;border-top:1px solid var(--mg-border)}
.mg-opcao-voto{display:flex;align-items:center;gap:12px}
.mg-btn-voto{
  flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 14px;border:1.5px solid var(--mg-border);background:#fff;border-radius:9px;
  cursor:pointer;font-weight:600;font-size:13.5px;font-family:inherit;color:var(--mg-text);transition:.18s;
  min-height:44px;
}
.mg-btn-voto:hover{border-color:var(--mg-accent);background:#EBF2FD}
.mg-btn-voto .mg-ico{width:15px;height:15px}
.mg-btn-voto.mg-sim{color:var(--mg-ok)}
.mg-btn-voto.mg-nao{color:var(--mg-risk)}
.mg-btn-voto.mg-abs{color:#9A6B00}
.mg-btn-voto.mg-disabled,.mg-btn-voto[disabled]{opacity:.5;cursor:not-allowed}
.mg-percentual{min-width:46px;text-align:right;font-weight:700;color:var(--mg-primary);font-size:15px;font-family:var(--mg-serif)}
.mg-barra-progresso{width:100%;height:5px;background:var(--mg-border);border-radius:3px;overflow:hidden}
.mg-barra-fill{height:100%;background:linear-gradient(90deg,var(--mg-accent),var(--mg-primary));border-radius:3px;transition:width .6s cubic-bezier(.23,1,.32,1)}
.mg-stats-card{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 0 4px;margin-top:14px;font-size:12.5px;color:#6B7A99}
.mg-stats-card .mg-ico{width:15px;height:15px;color:#8893A8}
.mg-stats-card strong{color:var(--mg-primary);font-family:var(--mg-serif)}
.mg-aviso-voto{display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;color:#93A0BC;margin:9px 0 0;text-align:center}
.mg-aviso-voto .mg-ico{width:13px;height:13px}
.mg-aviso-voto.mg-votou{color:var(--mg-ok);font-weight:600}

/* Métricas antigas (mantidas por compatibilidade, ocultas no redesign) */
.mg-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--mg-border);border:1px solid var(--mg-border);border-radius:10px;overflow:hidden;margin:0 0 26px}
.mg-metric{background:#fff;padding:15px 12px;text-align:center}
.mg-metric .n{display:block;font-weight:700;font-size:22px;color:var(--mg-primary);line-height:1.1}
.mg-metric .l{display:block;font-size:12px;color:#6B7A99;margin-top:2px}

/* ============================================================
   4) Comentários — coluna centralizada 740px + form abaixo
   ============================================================ */
.mg-col{max-width:740px;margin:0 auto;text-align:left;box-sizing:border-box;padding:0 clamp(16px,4vw,28px)}
.mg-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.mg-lista-comentarios{margin-top:6px}
.mg-coment-count{font-family:var(--mg-serif);font-weight:700;color:var(--mg-primary);font-size:16px;margin-bottom:4px}
.mg-coment{display:flex;gap:14px;padding:18px 0;border-top:1px solid var(--mg-border)}
.mg-coment-av{width:44px;height:44px;border-radius:50%;background:#EBF2FD;color:var(--mg-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--mg-serif);flex-shrink:0}
.mg-coment-av.cam{background:var(--mg-primary);color:#fff}
.mg-coment-body{flex:1;min-width:0}
.mg-coment-proj{display:inline-block;font-size:11px;color:var(--mg-accent);background:#eef3fc;border-radius:6px;padding:2px 8px;margin-bottom:5px}
.mg-coment-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:3px}
.mg-coment-nome{font-weight:600;font-size:14px}
.mg-coment-data{font-size:12px;color:#6B7A99}
.mg-coment-selo{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#5b430a;background:var(--mg-gold2);padding:2px 9px;border-radius:20px}
.mg-coment-texto{font-size:14.5px;color:#28344e;margin:2px 0 8px;overflow-wrap:break-word}
.mg-coment-acts{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.mg-react,.mg-reply-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#6B7A99;background:none;border:none;cursor:pointer;padding:4px 2px}
.mg-react:hover,.mg-reply-btn:hover{color:var(--mg-accent)}
.mg-react.mg-on{color:var(--mg-accent)}
.mg-react.mg-nao.mg-on{color:var(--mg-risk)}
.mg-react .mg-ico,.mg-reply-btn .mg-ico{width:16px;height:16px}
.mg-react-sep{width:1px;height:14px;background:var(--mg-border)}
.mg-coment-respostas{margin-left:28px;padding-left:16px;border-left:2px solid var(--mg-border)}
.mg-coment-respostas .mg-coment-respostas{margin-left:22px}
.mg-coment-oficial .mg-coment-texto{background:#FBF6E7;border-radius:8px;padding:9px 13px}

/* ===== Formulário ===== */
.mg-form-titulo{font-family:var(--mg-serif);font-size:19px;font-weight:700;color:var(--mg-primary);margin:30px 0 14px;text-align:left}
.mg-form{background:#F7F9FC;border:1px solid var(--mg-border);border-radius:14px;padding:26px;text-align:left}
.mg-form-group{margin-bottom:16px}
.mg-form-group>label{display:block;margin-bottom:6px;font-weight:600;font-size:13.5px}
.mg-form-group input[type="text"],
.mg-form-group input[type="email"],
.mg-form-group select,
.mg-form-group textarea{
  width:100%;padding:11px 13px;border:1.5px solid var(--mg-border);border-radius:9px;
  font-size:14px;font-family:inherit;color:var(--mg-text);background:#fff;box-sizing:border-box;
}
.mg-form-group input:focus,.mg-form-group select:focus,.mg-form-group textarea:focus{outline:none;border-color:var(--mg-accent);box-shadow:0 0 0 3px rgba(18,73,164,.12)}
.mg-checkbox-group{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.mg-checkbox-group label{display:flex;align-items:center;gap:10px;font-weight:500;margin:0;cursor:pointer;width:auto}
.mg-checkbox-group input[type="checkbox"],
.mg-consent input[type="checkbox"]{width:18px;height:18px;flex:0 0 auto;margin:0;padding:0;accent-color:var(--mg-primary)}
.mg-consent{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:#3C4766;margin:2px 0 16px;cursor:pointer}
.mg-consent input{margin-top:3px}
.mg-consent a{color:var(--mg-accent)}
.mg-btn-primario{display:inline-block;padding:13px 26px;background:var(--mg-primary);color:#fff;border:none;border-radius:9px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;transition:.2s;min-height:44px}
.mg-btn-primario:hover{background:var(--mg-accent)}
.mg-btn-primario[disabled]{opacity:.6;cursor:not-allowed}
.mg-form-msg{margin:14px 0 0;font-size:14px;font-weight:600}
.mg-form-msg.mg-ok{color:var(--mg-ok)}
.mg-form-msg.mg-erro{color:var(--mg-risk)}

/* Resposta inline (mantido) */
.mg-form-reply{background:#F7F9FD;border:1px solid var(--mg-border);border-radius:10px;padding:16px;margin:10px 0 6px 28px;max-width:560px}
.mg-form-reply .mg-form-group{margin-bottom:12px}
.mg-form-reply textarea,.mg-form-reply input[type="text"],.mg-form-reply input[type="email"]{width:100%;padding:10px 12px;border:1.5px solid var(--mg-border);border-radius:8px;font-size:14px;font-family:inherit;box-sizing:border-box}
.mg-form-reply .mg-consent{font-size:12.5px;margin:2px 0 12px}
.mg-reply-acts{display:flex;align-items:center;gap:10px}
.mg-btn-sm{padding:9px 16px;font-size:13px;min-height:40px}
.mg-reply-cancel{background:none;border:none;color:#6B7A99;font-weight:600;font-size:13px;cursor:pointer}
.mg-reply-cancel:hover{color:var(--mg-accent)}

/* ============================================================
   5) CTA de inscrição — faixa navy full-bleed (2 colunas)
   ============================================================ */
.mg-notificacoes-container.mg-cta{
  position:relative;overflow:hidden;isolation:isolate;color:#fff;
  width:100%;
  background:linear-gradient(135deg,var(--mg-navy) 0%,var(--mg-navy2) 100%);
  border-top:3px solid var(--mg-gold);border-radius:0;
}
.mg-cta::after{content:"";position:absolute;bottom:-40%;left:-4%;width:min(460px,40%);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(240,180,41,.10),transparent 62%);pointer-events:none;z-index:0}
.mg-cta-inner{
  position:relative;z-index:1;box-sizing:border-box;
  max-width:1180px;margin:0 auto;
  padding:clamp(32px,5vw,52px) clamp(18px,4vw,44px);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:center;
}
.mg-cta-text{text-align:left}
.mg-cta-text .mg-eyebrow{color:var(--mg-gold2)}
.mg-cta-text h2{color:#fff;font-family:var(--mg-serif);font-size:clamp(21px,2.4vw,26px);line-height:1.2;margin:0 0 10px}
.mg-cta-text p{color:#C7D4EE;font-size:15px;line-height:1.6;margin:0}
.mg-cta-box{background:#fff;border-radius:14px;padding:24px;color:var(--mg-text)}
.mg-cta-box .mg-form-group{margin-bottom:14px}
.mg-cta-box .mg-form-group>label{font-size:13px;margin-bottom:5px}
.mg-cta-box .mg-consent{margin:2px 0 14px}
.mg-cta-box .mg-btn-primario{width:100%;background:var(--mg-gold);color:var(--mg-navy)}
.mg-cta-box .mg-btn-primario:hover{background:var(--mg-gold2)}
.mg-cta-box .mg-form-msg{text-align:center}

/* ============================================================
   6) Responsivo
   ============================================================ */
@media (max-width:820px){
  .mg-hero-wm-wrap{width:clamp(90px,15vw,150px)}
  .mg-hero-wm{opacity:.4}
}
@media (max-width:768px){
  .mg-consultas-grid{grid-template-columns:minmax(0,1fr)}
  .mg-btn-voto{min-height:46px}
  .mg-metrics{grid-template-columns:minmax(0,1fr)}
  .mg-form-reply{margin-left:12px;padding:14px}
}
@media (max-width:600px){
  .mg-hero-wm-wrap{display:none}
  .mg-hero-sub{max-width:100%}
  .mg-live{border-right:none;margin-right:0;padding-right:0}
  .mg-cta-inner{grid-template-columns:minmax(0,1fr);gap:22px}
  .mg-coment-respostas{margin-left:14px;padding-left:12px}
}
