/* =========================================================
   CAREKA DIGITAL — V58 AUDITORIA UX/UI GLOBAL
   Correções globais contra quebra vertical de texto, grids apertados,
   CTAs desalinhados e cards com baixa previsibilidade responsiva.
   Não altera conteúdo textual: apenas estrutura, respiro e legibilidade.
   ========================================================= */

:root{
  --ck-v58-safe-inline: clamp(18px, 4vw, 44px);
  --ck-v58-radius-lg: clamp(22px, 2.4vw, 34px);
  --ck-v58-line: rgba(212,168,67,.18);
}

/* Trava de segurança: nada no site deve quebrar texto letra por letra em cards/CTAs. */
.ckContentMain,
.ckContentMain *,
.blogEditorial,
.blogEditorial *,
.guideLanding,
.guideLanding *,
.ckMegaOfficial,
.ckMegaOfficial *,
.topbar,
.topbar *{
  writing-mode: horizontal-tb!important;
  text-orientation: mixed!important;
}

.ckContentMain h1,
.ckContentMain h2,
.ckContentMain h3,
.ckContentMain p,
.ckContentMain li,
.ckContentMain a,
.blogEditorial h1,
.blogEditorial h2,
.blogEditorial h3,
.blogEditorial p,
.blogEditorial li,
.blogEditorial a,
.guideLanding h1,
.guideLanding h2,
.guideLanding h3,
.guideLanding p,
.guideLanding li,
.guideLanding a{
  word-break: normal!important;
  overflow-wrap: normal!important;
  hyphens: none!important;
  min-width: 0!important;
}

/* Conteúdos do mega menu: CTA final corrigido para nunca esmagar texto. */
.ckContentNext__box{
  display:grid!important;
  grid-template-columns:1fr!important;
  align-items:start!important;
  gap:clamp(18px,2.4vw,28px)!important;
  padding:clamp(28px,4vw,48px)!important;
  overflow:hidden!important;
}

.ckContentNext__box > span,
.ckContentNext__box > h2,
.ckContentNext__box > p,
.ckContentNext__box > .ckContentActions{
  grid-column:1 / -1!important;
  max-width:100%!important;
  min-width:0!important;
}

.ckContentNext__box h2{
  max-width:980px!important;
  margin:0!important;
  line-height:.98!important;
  text-wrap:balance!important;
}

.ckContentNext__box p{
  max-width:820px!important;
  line-height:1.72!important;
}

.ckContentActions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
}

.ckContentActions a,
.ckContentPanel a,
.ckAsideCta,
.guideCta__actions a,
.ckEditorialCta a{
  white-space:normal!important;
  text-align:center!important;
  min-width:0!important;
  max-width:100%!important;
}

/* Mini LP do guia: CTA também fica em uma única coluna editorial quando necessário. */
.guideCta{
  grid-template-columns:1fr!important;
  align-items:start!important;
  overflow:hidden!important;
}
.guideCta > *,
.guideCta__actions{
  min-width:0!important;
  max-width:100%!important;
}
.guideCta__actions{
  width:min(100%,420px)!important;
}

/* Blog e postagens: CTA editorial com wrapper correto e sem compressão. */
.ckEditorialCta{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:clamp(18px,3vw,34px)!important;
  overflow:hidden!important;
}
.ckEditorialCta > div{
  min-width:0!important;
  max-width:100%!important;
}
.ckEditorialCta h2{
  max-width:820px!important;
  text-wrap:balance!important;
}
.ckEditorialCta p{
  max-width:720px!important;
  line-height:1.7!important;
}
.ckEditorialCta > a{
  flex:0 0 auto!important;
  width:auto!important;
  max-width:min(100%,340px)!important;
}

/* Cards, sidebars e painéis: respiro e legibilidade previsíveis. */
.ckContentPanel,
.ckDirectBox,
.ckAsideCard,
.ckContentNext__box,
.ckSidebarBox,
.ckSideCta,
.ckInsightBox--cta,
.guideCta,
.guidePreview,
.guideCard{
  contain:layout paint;
}

.ckContentShell,
.blogShell,
.guideShell{
  max-width:100%!important;
}

/* Títulos longos: reduzem com critério sem perder presença. */
.ckContentHero h1{
  font-size:clamp(48px,7.2vw,112px)!important;
  max-width:960px!important;
  text-wrap:balance!important;
}
.ckContentText h2,
.ckContentPanel h2,
.ckContentNext h2{
  text-wrap:balance!important;
}

/* Modo claro: reforço de contraste nos CTAs e cards corrigidos. */
html[data-theme="light"] .ckContentNext__box,
html[data-theme="light"] .guideCta,
html[data-theme="light"] .ckEditorialCta{
  background:linear-gradient(180deg,rgba(255,251,244,.96),rgba(244,232,214,.92))!important;
  border-color:rgba(196,93,24,.18)!important;
  box-shadow:0 20px 52px rgba(67,42,21,.08), inset 0 1px 0 rgba(255,255,255,.72)!important;
}
html[data-theme="light"] .ckContentNext__box h2,
html[data-theme="light"] .guideCta h2,
html[data-theme="light"] .ckEditorialCta h2{
  color:#24170f!important;
}
html[data-theme="light"] .ckContentNext__box p,
html[data-theme="light"] .guideCta p,
html[data-theme="light"] .ckEditorialCta p{
  color:#6d5b4c!important;
}

@media (max-width:980px){
  .ckEditorialCta,
  .ckContentNext__box,
  .guideCta{
    grid-template-columns:1fr!important;
  }
  .ckEditorialCta > a,
  .ckContentActions a,
  .guideCta__actions a{
    width:fit-content!important;
  }
}

@media (max-width:640px){
  .ckContentShell,
  .blogShell,
  .guideShell{
    width:min(100% - 24px,1180px)!important;
  }
  .ckContentNext__box,
  .ckEditorialCta,
  .guideCta{
    padding:24px!important;
    border-radius:22px!important;
  }
  .ckContentNext__box h2,
  .ckEditorialCta h2,
  .guideCta h2{
    font-size:clamp(32px,10.8vw,48px)!important;
    line-height:1!important;
  }
  .ckContentNext__box p,
  .ckEditorialCta p,
  .guideCta p{
    font-size:16px!important;
    line-height:1.76!important;
  }
  .ckContentActions,
  .guideCta__actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
  }
  .ckContentActions a,
  .guideCta__actions a,
  .ckEditorialCta > a{
    width:100%!important;
    max-width:100%!important;
    justify-content:center!important;
  }
}
