/* ===================================================================
   campanha.css — CSS compartilhado das 12 paginas de campanha mensal
   Extraido em 01/08/2026: cada campanha-*.html tinha ~13KB de <style>
   inline quase identico (a rotina e' duplicar a pagina do mes anterior).
   Aqui fica so o que e' IGUAL nas 12 paginas; cada pagina mantem inline
   so o que muda de fato: :root com a cor de destaque do mes (--pink,
   --fire, etc.) e qualquer regra especifica daquela campanha.
   =================================================================== */
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Roboto',system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.65}
h1,h2,h3,h4{font-family:'Montserrat',sans-serif;color:var(--navy);line-height:1.18}
a{color:inherit}
.container{max-width:var(--maxw);margin:0 auto;padding:0 22px}
img{max-width:100%}
/* ---- topbar + header (identidade HazOp) ---- */
  .topbar{background:var(--navy-800);color:#AEB6D0;font-size:.85rem}
.topbar .container{display:flex;justify-content:space-between;align-items:center;height:42px;flex-wrap:wrap}
.topbar i{color:var(--gold);margin-right:6px}
.topbar .tb-left span{margin-right:18px}
.topbar .tb-desde{color:var(--gold);font-weight:700}
.header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.header .container{display:flex;align-items:center;justify-content:space-between;height:116px;gap:18px}
.brand{flex:0 0 auto}
.brand img{height:90px;width:auto}
.header .resp{flex:1 1 auto;text-align:center;font-family:'Montserrat',sans-serif;font-weight:700;
    font-size:1rem;color:var(--navy);line-height:1.25;padding:0 10px}
.header .resp b{color:var(--gold-ink)}
.header .back{flex:0 0 auto;font-family:'Montserrat';font-weight:600;font-size:.92rem;color:var(--navy);text-decoration:none;
    border:1px solid var(--line);padding:9px 16px;border-radius:10px;transition:.2s;white-space:nowrap}
.header .back:hover{border-color:var(--gold);color:var(--gold-ink)}
.c-hero .container{padding:60px 22px 64px;position:relative;z-index:2}
.c-hero .hero-cta{margin-top:28px;display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:'Montserrat';font-weight:700;font-size:.95rem;
    padding:14px 24px;border-radius:12px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:.25s}
section{padding:58px 0}
.sec-soft{background:var(--bg-soft)}
h2.title{font-size:1.85rem;margin-bottom:8px}
.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 24px;box-shadow:0 10px 30px rgba(16,21,53,.06)}
.stat h3{font-size:1.05rem;margin:10px 0 6px}
.stat p{color:var(--muted);font-size:.92rem}
.req .item{display:flex;gap:12px;align-items:flex-start}
.req .item b{font-family:'Montserrat'}
.bond p{color:var(--muted)}
/* ---- fontes oficiais ---- */
  .sources{display:flex;gap:16px;flex-wrap:wrap;margin-top:6px}
.source{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 20px;text-decoration:none;transition:.2s;flex:1;min-width:260px}
.source b{display:block;font-family:'Montserrat';color:var(--navy)}
.source span{font-size:.84rem;color:var(--muted)}
/* ---- compartilhe ---- */
  .share{text-align:center}
.share .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:8px}
.sb.wa{background:#25D366}
.sb.li{background:#0A66C2}
.sb.fb{background:#1877F2}
.sb.ig{background:linear-gradient(45deg,#f09433,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888)}
.sb:hover{transform:translateY(-3px)}
.share .copy-note{margin-top:14px;font-size:.82rem;color:var(--muted)}
#copyOk{display:none;margin-top:10px;color:#1a8a3c;font-weight:700;font-size:.9rem}
#copyOk.show{display:block}
/* ---- conheça nossas campanhas (calendário do ano) ---- */
  .cn-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:8px}
.cn-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 10px;text-align:center;text-decoration:none;transition:.2s;position:relative;display:block}
.cn-card .dot{width:10px;height:10px;border-radius:50%;margin:0 auto 8px}
.cn-card .mo{font-family:'Montserrat';font-weight:800;font-size:.74rem;text-transform:uppercase;letter-spacing:.03em;color:var(--navy)}
.cn-card .tm{font-size:.7rem;color:var(--muted);margin-top:3px;line-height:1.3;min-height:28px}
.cn-card .st{margin-top:9px;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:999px;display:inline-block}
.cn-card.live{box-shadow:0 10px 26px rgba(16,21,53,.06)}
.cn-card.live .st{background:#EAF7EE;color:#1F7A3B}
.cn-card.plan{opacity:.55;cursor:default}
.cn-card.plan .st{background:var(--bg-soft);color:var(--muted)}
.cn-card.live{position:relative;overflow:visible}
.cn-card.live .live-badge{position:absolute;top:-8px;right:-8px;background:#2FA84F;color:#fff;font-size:.52rem;
    font-family:'Montserrat';font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px 3px 6px;
    border-radius:999px;display:flex;align-items:center;gap:4px;box-shadow:0 3px 8px rgba(0,0,0,.25)}
.cn-card.live .live-badge i{width:5px;height:5px;border-radius:50%;background:#fff;animation:cnlivepulse 1.6s infinite}
@keyframes cnlivepulse{0%,100%{opacity:1}50%{opacity:.25}}
@media(max-width:860px){.cn-grid{grid-template-columns:repeat(3,1fr)}}
/* ---- footer ---- */
  footer{background:var(--navy-800);color:#9aa2c4;font-size:.86rem;padding:34px 0;text-align:center}
footer a{color:var(--gold);text-decoration:none}
/* ---- FLOATERS (idênticos às demais páginas do site) ---- */
  .floaters{position:fixed;right:22px;bottom:22px;z-index:90;display:flex;flex-direction:column;gap:12px}
.floaters a{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:#fff;
    font-size:1.5rem;box-shadow:0 14px 40px rgba(16,21,53,.18);transition:transform .25s;position:relative;text-decoration:none}
.floaters a:hover{transform:scale(1.1)}
.floaters .wa{background:#25D366;animation:wapulse 2.6s infinite}
.floaters .em{background:var(--blue);animation:empulse 2.6s infinite}
@keyframes wapulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
@keyframes empulse{0%{box-shadow:0 0 0 0 rgba(15,98,172,.55)}70%{box-shadow:0 0 0 16px rgba(15,98,172,0)}100%{box-shadow:0 0 0 0 rgba(15,98,172,0)}}
.floaters .ai{background:var(--gold);color:var(--navy);animation:aipulse 2.6s infinite}
.floaters .ai::after,.floaters .app::after,.floaters .wa::after,.floaters .em::after{content:attr(data-label);position:absolute;right:66px;top:50%;transform:translateY(-50%);
    background:var(--navy);color:#fff;font-family:'Montserrat',sans-serif;font-weight:600;font-size:.8rem;
    padding:8px 13px;border-radius:9px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s;box-shadow:0 14px 40px rgba(16,21,53,.18)}
.floaters .ai:hover::after,.floaters .app:hover::after,.floaters .wa:hover::after,.floaters .em:hover::after{opacity:1}
@keyframes aipulse{0%{box-shadow:0 0 0 0 rgba(240,199,56,.55)}70%{box-shadow:0 0 0 16px rgba(240,199,56,0)}100%{box-shadow:0 0 0 0 rgba(240,199,56,0)}}
.floaters .app{background:var(--navy);border:2px solid var(--gold);padding:0;overflow:visible;animation:apppulse 3s infinite}
.floaters .app img{width:44px;height:44px;border-radius:50%;object-fit:cover;display:block}
.floaters .app .app-badge{position:absolute;bottom:-5px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--navy);font-family:'Montserrat',sans-serif;font-weight:700;font-size:.58rem;line-height:1;padding:2px 7px;border-radius:8px;box-shadow:0 14px 40px rgba(16,21,53,.18)}
@keyframes apppulse{0%{box-shadow:0 0 0 0 rgba(240,199,56,.5)}70%{box-shadow:0 0 0 15px rgba(240,199,56,0)}100%{box-shadow:0 0 0 0 rgba(240,199,56,0)}}
