/* =========================================================
   CAREKA DIGITAL — V104 HERO CARD ALINHADO
   Ajuste final da caixinha institucional:
   - card nunca corta no lado direito;
   - informações de Gabriel, Base e Contato ficam 100% visíveis;
   - mantém o hero, título, legenda, botão e vídeo da V103.
   ========================================================= */

html body #hero.ckHeroV103{
  overflow:hidden!important;
}

/* Card institucional alinhado e dentro da viewport */
html body #hero.ckHeroV103 .ckHeroFinal__card{
  box-sizing:border-box!important;
  justify-self:end!important;
  width:min(860px, calc(100vw - (var(--ck103-x) * 2)))!important;
  max-width:min(860px, calc(100vw - (var(--ck103-x) * 2)))!important;
  min-width:0!important;
  margin-right:0!important;
  padding:clamp(14px,1.05vw,20px)!important;
  grid-template-columns:minmax(290px,.95fr) minmax(360px,1.05fr)!important;
  gap:clamp(16px,1.1vw,24px)!important;
  overflow:hidden!important;
}

/* Identidade */
html body #hero.ckHeroV103 .ckHeroFinal__identity{
  grid-template-columns:clamp(72px,4vw,92px) minmax(0,1fr)!important;
  gap:clamp(12px,.85vw,16px)!important;
  min-width:0!important;
}

html body #hero.ckHeroV103 .ckHeroFinal__photo{
  width:clamp(72px,4vw,92px)!important;
  height:clamp(72px,4vw,92px)!important;
  flex:0 0 auto!important;
}

html body #hero.ckHeroV103 .ckHeroFinal__person{
  min-width:0!important;
  overflow:visible!important;
}

html body #hero.ckHeroV103 .ckHeroFinal__person b,
html body #hero.ckHeroV103 .ckHeroFinal__metaItem b{
  font-size:clamp(8px,.52vw,10px)!important;
  letter-spacing:.20em!important;
}

html body #hero.ckHeroV103 .ckHeroFinal__person strong{
  font-size:clamp(24px,1.55vw,34px)!important;
  line-height:.94!important;
}

html body #hero.ckHeroV103 .ckHeroFinal__person span,
html body #hero.ckHeroV103 .ckHeroFinal__metaItem span,
html body #hero.ckHeroV103 .ckHeroFinal__metaItem small{
  font-size:clamp(10.5px,.66vw,13px)!important;
  line-height:1.34!important;
}

/* Base + Contato */
html body #hero.ckHeroV103 .ckHeroFinal__meta{
  box-sizing:border-box!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:0!important;
  padding-left:clamp(16px,1vw,22px)!important;
  border-left:1px solid rgba(245,166,35,.42)!important;
}

html body #hero.ckHeroV103 .ckHeroFinal__metaItem{
  min-width:0!important;
  padding:0 clamp(12px,.8vw,18px)!important;
  overflow:visible!important;
}

html body #hero.ckHeroV103 .ckHeroFinal__metaItem:first-child{
  padding-left:0!important;
}

html body #hero.ckHeroV103 .ckHeroFinal__metaItem + .ckHeroFinal__metaItem{
  border-left:1px solid rgba(245,166,35,.28)!important;
  padding-left:clamp(16px,1vw,22px)!important;
}

html body #hero.ckHeroV103 .ckHeroFinal__metaItem span,
html body #hero.ckHeroV103 .ckHeroFinal__metaItem small{
  display:block!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

html body #hero.ckHeroV103 .ckHeroFinal__metaItem:last-child span,
html body #hero.ckHeroV103 .ckHeroFinal__metaItem:last-child small{
  white-space:nowrap!important;
  overflow-wrap:normal!important;
}

/* Desktop largo: posiciona card como na cena, mas dentro da tela */
@media (min-width:1501px){
  html body #hero.ckHeroV103 .ckHeroFinal__card{
    width:min(860px, 46vw)!important;
    max-width:min(860px, calc(100vw - (var(--ck103-x) * 2)))!important;
  }
}

/* Notebook: card menor para não vazar */
@media (max-width:1500px) and (min-width:1181px){
  html body #hero.ckHeroV103 .ckHeroFinal__card{
    width:min(780px, 52vw)!important;
    max-width:min(780px, calc(100vw - (var(--ck103-x) * 2)))!important;
    grid-template-columns:minmax(260px,.95fr) minmax(330px,1.05fr)!important;
  }

  html body #hero.ckHeroV103 .ckHeroFinal__person strong{
    font-size:clamp(23px,1.48vw,31px)!important;
  }
}

/* Tablet: card ocupa 100%, sem corte */
@media (max-width:1180px){
  html body #hero.ckHeroV103 .ckHeroFinal__card{
    justify-self:stretch!important;
    width:100%!important;
    max-width:860px!important;
    grid-template-columns:minmax(250px,.95fr) minmax(320px,1.05fr)!important;
  }
}

/* Mobile: empilha tudo com leitura perfeita */
@media (max-width:720px){
  html body #hero.ckHeroV103 .ckHeroFinal__card{
    grid-template-columns:1fr!important;
    width:100%!important;
    max-width:100%!important;
    gap:16px!important;
    padding:16px!important;
  }

  html body #hero.ckHeroV103 .ckHeroFinal__meta{
    grid-template-columns:1fr!important;
    padding-left:0!important;
    padding-top:12px!important;
    border-left:0!important;
    border-top:1px solid rgba(245,166,35,.28)!important;
  }

  html body #hero.ckHeroV103 .ckHeroFinal__metaItem,
  html body #hero.ckHeroV103 .ckHeroFinal__metaItem + .ckHeroFinal__metaItem{
    border-left:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  html body #hero.ckHeroV103 .ckHeroFinal__metaItem + .ckHeroFinal__metaItem{
    border-top:1px solid rgba(245,166,35,.22)!important;
    padding-top:12px!important;
    margin-top:12px!important;
  }

  html body #hero.ckHeroV103 .ckHeroFinal__metaItem:last-child span,
  html body #hero.ckHeroV103 .ckHeroFinal__metaItem:last-child small{
    white-space:normal!important;
  }
}
