:root{--cm-navy:#0A2A5B;--cm-blue:#1B5ED7;--cm-gold:#D4AF37;--cm-ink:#142033;--cm-muted:#667085;--cm-line:#E6E8EB;--cm-bg:#F7F9FC}
.cm-managed-ad{position:relative;width:100%;overflow:hidden;border-radius:14px;background:#eef2f7;margin:20px 0}
.cm-managed-ad picture,.cm-managed-ad img{display:block;width:100%}
.cm-managed-ad img{height:auto;object-fit:contain;background:#fff}
.cm-managed-ad__label{position:absolute;z-index:4;right:10px;top:8px;padding:3px 6px;border-radius:4px;background:rgba(10,42,91,.72);color:#fff;font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.cm-managed-ad__label--hero{background:rgba(10,42,91,.70)}
.cm-election-managed-art{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:14px;background:#fff}
.cm-election-managed-art picture{display:flex;width:100%;height:100%;align-items:center;justify-content:center}
.cm-election-managed-art img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;border-radius:14px}

.cm-anuncie{max-width:1180px;margin:0 auto;padding:28px 20px 70px;color:var(--cm-ink)}
.cm-anuncie *{box-sizing:border-box}.cm-anuncie-hero{padding:46px;border-radius:24px;background:linear-gradient(135deg,var(--cm-navy),#123d78);color:#fff;position:relative;overflow:hidden}.cm-anuncie-hero:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-80px;top:-110px;border:42px solid rgba(212,175,55,.12)}
.cm-anuncie-kicker{display:inline-block;color:#f1cf62;font-size:12px;font-weight:900;letter-spacing:.12em}.cm-anuncie-hero h1{font-size:clamp(32px,5vw,58px);line-height:1.02;margin:10px 0 16px;max-width:820px;color:#fff}.cm-anuncie-hero p{max-width:780px;font-size:17px;line-height:1.6;color:#e9eef7}.cm-anuncie-btn{display:inline-flex;margin-top:16px;padding:12px 18px;border-radius:999px;background:var(--cm-gold);color:#082344!important;text-decoration:none!important;font-weight:900}
.cm-anuncie-section{padding:50px 0 0}.cm-anuncie-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}.cm-anuncie-heading>span{display:inline-grid;place-items:center;min-width:34px;height:34px;border-radius:10px;background:#eef3fb;color:var(--cm-blue);font-weight:900}.cm-anuncie-heading h2{margin:0 0 4px;font-size:27px;color:var(--cm-navy)}.cm-anuncie-heading p{margin:0;color:var(--cm-muted)}
.cm-anuncie-map{border:1px solid var(--cm-line);border-radius:18px;overflow:hidden;background:#fff}.cm-anuncie-map-row{display:grid;grid-template-columns:54px 1fr 130px 110px;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--cm-line)}.cm-anuncie-map-row:last-child{border-bottom:0}.cm-anuncie-map-row>b{display:grid;place-items:center;width:34px;height:28px;border-radius:8px;background:#f1f5fb;color:var(--cm-navy)}.cm-anuncie-map-row>span{font-size:12px;color:var(--cm-muted)}
.cm-anuncie-map-row em,.cm-anuncie-card em{font-style:normal;font-size:10px;font-weight:900;padding:5px 8px;border-radius:999px;text-align:center}.is-ok{background:#eaf8ee;color:#176b2c}.is-rotation{background:#fff5cc;color:#6b5200}.is-consult{background:#eef0f3;color:#475467}
.cm-anuncie-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cm-anuncie-card{border:1px solid var(--cm-line);border-radius:18px;padding:20px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.035)}.cm-anuncie-card-top{display:flex;align-items:center;justify-content:space-between}.cm-anuncie-card-top>span{font-size:12px;font-weight:900;color:var(--cm-blue)}.cm-anuncie-card h3{font-size:20px;margin:10px 0 3px;color:var(--cm-navy)}.cm-anuncie-location{margin:0 0 13px!important;color:var(--cm-muted);font-size:13px}.cm-anuncie-spec{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.cm-anuncie-spec span{padding:7px 9px;background:#f5f7fa;border-radius:8px;font-size:11px;color:#475467}.cm-anuncie-card>p:last-child{font-size:13px;line-height:1.55;color:#475467}
.cm-anuncie-packages{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.cm-anuncie-packages article{padding:22px;border-radius:18px;background:#f8fafc;border:1px solid var(--cm-line)}.cm-anuncie-packages h3{margin:0 0 5px;color:var(--cm-navy)}.cm-anuncie-packages p{margin:0;color:var(--cm-muted)}.cm-anuncie-packages ul{padding-left:18px;margin-bottom:0}.cm-anuncie-packages li{margin:6px 0}.cm-anuncie-tech ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;padding-left:20px}.cm-anuncie-tech li{line-height:1.5}
.cm-anuncie-cta{margin-top:52px;padding:34px;border:1px solid rgba(212,175,55,.45);border-radius:22px;background:linear-gradient(135deg,#fffdf5,#f7f9fc);text-align:center}.cm-anuncie-cta>span{font-size:11px;font-weight:900;letter-spacing:.1em;color:#8b6d09}.cm-anuncie-cta h2{margin:7px auto 8px;color:var(--cm-navy);font-size:30px}.cm-anuncie-cta p{max-width:720px;margin:0 auto;color:var(--cm-muted);line-height:1.55}.cm-anuncie-link{display:inline-block;margin:16px 0 0 14px;color:var(--cm-navy)!important;font-weight:700}
@media(max-width:760px){.cm-anuncie{padding:14px 14px 50px}.cm-anuncie-hero{padding:28px 22px;border-radius:18px}.cm-anuncie-hero p{font-size:15px}.cm-anuncie-cards,.cm-anuncie-packages,.cm-anuncie-tech ul{grid-template-columns:1fr}.cm-anuncie-map-row{grid-template-columns:42px 1fr 90px}.cm-anuncie-map-row>span{display:none}.cm-anuncie-heading h2{font-size:23px}.cm-anuncie-section{padding-top:36px}.cm-election-managed-art{padding:8px}.cm-election-managed-art img{border-radius:10px}}

/* CM A2 FULL BLEED v1.9 */
.cm-election-slide.cm-election-ad{
  overflow:hidden;
  padding:0 !important;
  background:#fff;
}
.cm-election-slide.cm-election-ad .cm-election-managed-art{
  position:absolute;
  inset:0;
  padding:0 !important;
  background:transparent;
  display:block;
}
.cm-election-slide.cm-election-ad .cm-election-managed-art picture{
  display:block;
  width:100%;
  height:100%;
}
.cm-election-slide.cm-election-ad .cm-election-managed-art img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:cover;
  object-position:center center;
  border-radius:0;
  background:transparent;
}
.cm-election-slide.cm-election-ad .cm-managed-ad__label--hero{
  z-index:6;
}

/* CM A2 DESKTOP SEM CORTE v2.0 */
@media (min-width: 761px){
  .cm-election-slide.cm-election-ad{
    background:#f7fbff;
  }
  .cm-election-slide.cm-election-ad .cm-election-managed-art{
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f7fbff;
  }
  .cm-election-slide.cm-election-ad .cm-election-managed-art picture{
    display:flex;
    width:100%;
    height:100%;
    align-items:center;
    justify-content:center;
  }
  .cm-election-slide.cm-election-ad .cm-election-managed-art img{
    width:100%;
    height:100%;
    max-width:100%;
    max-height:100%;
    object-fit:contain !important;
    object-position:center center;
    background:#f7fbff;
  }
}

/* CM A2 NEWS 2 ADS SAFE v2.2 */
/* Em slide comercial, elementos editoriais ficam fora da peça. */
.hero-story:has(.cm-election-slide.cm-election-ad.is-active) .cm-election-future-note,
.hero-story:has(.cm-election-slide.cm-election-ad.is-active) .cm-election-dots{
  display:none !important;
}
.hero-story .cm-election-slide.cm-election-ad .cm-election-ad-content,
.hero-story .cm-election-slide.cm-election-ad .cm-election-ad-copy{
  display:none !important;
}
.hero-story .cm-election-slide.cm-election-ad .cm-managed-ad__label--hero{
  z-index:20;
}

/* CM A2 POLLS 2 ADS SAFE v2.3 */
/* Quando o slide ativo é publicidade, remove overlays editoriais do quadro. */
.hero-story:has(.cm-election-slide.cm-election-ad.is-active) .cm-election-future-note,
.hero-story:has(.cm-election-slide.cm-election-ad.is-active) .cm-election-dots{
  display:none !important;
}
.hero-story .cm-election-slide.cm-election-ad .cm-election-ad-content,
.hero-story .cm-election-slide.cm-election-ad .cm-election-ad-copy{
  display:none !important;
}
.hero-story .cm-election-slide.cm-election-ad .cm-managed-ad__label--hero{
  z-index:20;
}

/* CM A2 FUNDO PREENCHIMENTO v2.4 */
.cm-election-slide.cm-election-ad{
  position:absolute;
  overflow:hidden;
  background:#eef9fd !important;
}
.cm-election-slide.cm-election-ad .cm-election-managed-bg{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
  background:#eef9fd;
}
.cm-election-slide.cm-election-ad .cm-election-managed-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(238,249,253,.56);
}
.cm-election-slide.cm-election-ad .cm-election-managed-bg picture,
.cm-election-slide.cm-election-ad .cm-election-managed-bg img{
  display:block;
  width:100%;
  height:100%;
}
.cm-election-slide.cm-election-ad .cm-election-managed-bg img{
  object-fit:cover !important;
  object-position:center;
  transform:scale(1.08);
  filter:blur(18px) saturate(.9);
  opacity:.46;
}
.cm-election-slide.cm-election-ad .cm-election-managed-art{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent !important;
}
.cm-election-slide.cm-election-ad .cm-election-managed-art picture{
  display:flex;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
}
.cm-election-slide.cm-election-ad .cm-election-managed-art img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain !important;
  object-position:center center;
  background:transparent !important;
}
.cm-election-slide.cm-election-ad .cm-managed-ad__label--hero{
  z-index:4;
}

/* A2 OFICIAL v2.5 — quadro desktop 16:9 + selo no topo esquerdo */
.hero-story .cm-election-slide.cm-election-ad .cm-managed-ad__label--hero{
  position:absolute !important;
  top:10px !important;
  left:10px !important;
  right:auto !important;
  bottom:auto !important;
  z-index:30 !important;
}

@media (min-width:761px){
  .hero-story.cm-election-feature{
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:16 / 9 !important;
  }

  .hero-story.cm-election-feature .cm-election-slides,
  .hero-story.cm-election-feature .cm-election-slide{
    width:100% !important;
    height:100% !important;
  }

  .cm-election-slide.cm-election-ad .cm-election-managed-art{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
    display:block !important;
  }

  .cm-election-slide.cm-election-ad .cm-election-managed-art picture{
    display:block !important;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  .cm-election-slide.cm-election-ad .cm-election-managed-art img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:cover !important;
    object-position:center center !important;
    border-radius:0 !important;
    background:transparent !important;
  }
}

/* A2 VISIBILIDADE EXCLUSIVA v2.6 */

/* Qualquer slide que não esteja ativo deve ficar totalmente invisível */
.hero-story.cm-election-feature .cm-election-slide:not(.is-active){
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    z-index:0 !important;
}

/* Somente o slide ativo pode aparecer */
.hero-story.cm-election-feature .cm-election-slide.is-active{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    z-index:10 !important;
}

/* Segurança extra: nenhuma camada publicitária pode vazar para outro slide */
.hero-story.cm-election-feature .cm-election-slide.cm-election-ad:not(.is-active) .cm-election-managed-bg,
.hero-story.cm-election-feature .cm-election-slide.cm-election-ad:not(.is-active) .cm-election-managed-art,
.hero-story.cm-election-feature .cm-election-slide.cm-election-ad:not(.is-active) .cm-managed-ad__label--hero{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
}

/* No anúncio ativo, libera novamente as três camadas */
.hero-story.cm-election-feature .cm-election-slide.cm-election-ad.is-active .cm-election-managed-bg,
.hero-story.cm-election-feature .cm-election-slide.cm-election-ad.is-active .cm-election-managed-art,
.hero-story.cm-election-feature .cm-election-slide.cm-election-ad.is-active .cm-managed-ad__label--hero{
    opacity:1 !important;
    visibility:visible !important;
}

