.elementor-invisible{visibility:visible!important;opacity:1!important}
[data-sticky-top]{position:sticky;top:0;z-index:1000}
.e-n-carousel{overflow:hidden;position:relative}
.elementor-widget-n-carousel>.elementor-widget-container{position:relative}
.e-n-carousel .swiper-wrapper{display:flex;transition:transform .45s ease;touch-action:pan-y;overflow:visible !important}
@media (min-width:1025px) and (max-width:1366px){.elementor .elementor-hidden-desktop{display:none}}
.e-n-carousel .swiper-slide{flex-shrink:0;width:calc((100% - var(--e-n-carousel-swiper-slides-gap,0px)*(var(--e-n-carousel-swiper-slides-to-display,1) - 1))/var(--e-n-carousel-swiper-slides-to-display,1));margin-right:var(--e-n-carousel-swiper-slides-gap,0px)}
.e60-video{position:relative}.e60-video .elementor-custom-embed-image-overlay{cursor:pointer;position:relative}.e60-video .elementor-custom-embed-image-overlay img{width:100%;display:block}.e60-video .elementor-custom-embed-play{position:absolute;inset:0;transform:none;display:flex;align-items:center;justify-content:center;pointer-events:none}.e60-video iframe{width:100%;aspect-ratio:16/9;border:0;display:block}
.elementor-nav-menu--main .menu-item-has-children{position:relative}
.elementor-nav-menu--main .sub-menu{position:absolute;top:100%;left:0;min-width:200px;display:none;z-index:100;list-style:none;margin:0;padding:0}
.elementor-nav-menu--main .menu-item-has-children:hover>.sub-menu,.elementor-nav-menu--main .menu-item-has-children:focus-within>.sub-menu{display:block}
.elementor-nav-menu--main .elementor-nav-menu{display:flex;align-items:center;list-style:none;margin:0;padding:0}
.elementor-nav-menu--dropdown .elementor-nav-menu,.elementor-nav-menu--dropdown .sub-menu{list-style:none;margin:0;padding:0}
.elementor-nav-menu--dropdown .sub-menu{position:static;display:block;min-width:0}
@media (min-width:1025px){.elementor-widget-nav-menu.alter-menu{display:none}}
.elementor-widget-image{text-align:center}
/* Diversidade: a capa do livro usa o tamanho "medium" do WP (máx. 300px) no original;
   sem isso a imagem full-size (457px) invade o texto do cartão ciano */
.elementor-3221 .elementor-element-56c668a6 img,.elementor-3221 .elementor-element-58b267af img,.elementor-3228 .elementor-element-37aa1d57 img,.elementor-3228 .elementor-element-74aa7f77 img{width:222px}
.elementor-widget-image img{max-width:100%;height:auto;vertical-align:middle;display:inline-block}
.mdw-stacked-cards>.e-con .elementor-widget-image img{width:min(640px,86%)}
@media (min-width:2400px){.mdw-stacked-cards>.e-con .elementor-widget-image img{width:32%}}
/* Mobile: cards maiores/legíveis — menos padding lateral na área e imagem a 100% */
@media (max-width:767px){
.mdw-stacked-card-area{--padding-left:12px !important;--padding-right:12px !important}
.mdw-stacked-cards>.e-con .elementor-widget-image img{width:100%}
}
/* Reduz o padding-top compilado (350px) dos cartões para o bloco sticky caber na
   viewport: assim o "grudar" acontece já na entrada da seção e a animação
   acompanha o scroll em vez de começar atrasada. */
.mdw-stacked-card-area .mdw-stacked-cards>.e-con{--padding-top:80px !important}
@media (max-width:767px){.mdw-stacked-card-area .mdw-stacked-cards>.e-con{--padding-top:40px !important}}
/* Sustentabilidade: o container do título "Ambiental" (PT 37ef5853 / EN 35d848f1)
   vem do Elementor com --margin-bottom:-300px no desktop, empurrando os cards por
   cima do título. Neutraliza a margem negativa para o título ficar visível acima. */
@media (min-width:768px){
.elementor-element.elementor-element-37ef5853,.elementor-element.elementor-element-35d848f1{--margin-bottom:0px !important}
}
/* Mobile: sem JS os cartões ficariam sobrepostos e cortados (cartões 2/3 têm
   --position:absolute). Fallback estático; o JS reativa a pilha animada. */
@media (max-width:767px){
.mdw-stacked-card-area:not(.mdw-stack-js)>.e-con{position:static !important;top:auto !important}
.mdw-stacked-card-area:not(.mdw-stack-js) .mdw-stacked-cards{row-gap:24px}
.mdw-stacked-card-area:not(.mdw-stack-js) .mdw-stacked-cards>.e-con{--position:relative;position:relative !important;top:auto !important;left:auto !important;right:auto !important;--margin-top:0px !important;--padding-top:0px !important}
}
.elementor-widget-social-icons .elementor-icon.elementor-social-icon{background-color:transparent !important;border:none !important}
.elementor-widget-social-icons .elementor-icon.elementor-social-icon:hover{background-color:transparent !important;opacity:.6}
.elementor-widget-social-icons .elementor-icon.elementor-social-icon:hover i{color:#464646 !important}.elementor-widget-social-icons .elementor-icon.elementor-social-icon:hover svg{fill:#464646 !important}

/* setas do carrossel — botões maiores, espaçados e com hover */
.elementor-widget-nested-carousel .elementor-swiper-button{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50% !important;transition:background-color .25s ease,box-shadow .25s ease}
.elementor-widget-nested-carousel .elementor-swiper-button i{font-size:18px;transition:transform .25s ease,color .25s ease}
.elementor-widget-nested-carousel .elementor-swiper-button:hover{background-color:#3CD5FD !important;box-shadow:0 6px 16px rgba(0,0,0,.35) !important}
.elementor-widget-nested-carousel .elementor-swiper-button:hover i{color:#fff;transform:scale(1.15)}
@media (min-width:1025px){
  .elementor-widget-nested-carousel .elementor-swiper-button-prev{margin-left:-18px}
  .elementor-widget-nested-carousel .elementor-swiper-button-next{margin-right:-18px}
}

/* botões "SAIBA MAIS"/"ABOUT" dos cards — hover com elevação */
.elementor-widget-nested-carousel .elementor-button{transition:background-color .25s ease,transform .25s ease,box-shadow .25s ease}
.elementor-widget-nested-carousel .elementor-button:hover{background-color:#0E4C92 !important;color:#fff !important;transform:translateY(-2px);box-shadow:0 8px 18px rgba(14,76,146,.35)}

/* mobile: imagem centralizada no card e botão SAIBA MAIS dentro do card branco */
@media (max-width:767px){
  .elementor-widget-nested-carousel .swiper-slide .elementor-widget-image .elementor-widget-container{text-align:center !important}
  .elementor-widget-nested-carousel:not(.elementor-element-5ec8a2f1):not(.elementor-element-411e48eb) .swiper-slide .e-con-inner > .e-con:first-child{padding-bottom:75px !important}
  .elementor-widget-nested-carousel:not(.elementor-element-5ec8a2f1):not(.elementor-element-411e48eb) .swiper-slide .e-con-inner > .e-con:last-child{margin-top:-70px !important;justify-content:center !important;align-items:center !important}
}
@media (min-width:1025px){.elementor .elementor-hidden-desktop{display:none}}
@media (min-width:768px) and (max-width:1024px){.elementor .elementor-hidden-tablet{display:none}}
@media (max-width:767px){.elementor .elementor-hidden-mobile{display:none}}
nav.elementor-nav-menu--dropdown.elementor-nav-menu__container{display:none}
nav.elementor-nav-menu--dropdown.elementor-nav-menu__container.elementor-nav-menu--toggled-on{display:block}
#header-bar{--align-items:center}
#header-bar .header-internal{--align-items:center;--justify-content:space-between}
#header-bar #container-menu-1{--justify-content:center;--align-items:center}
#header-bar #container-menu-1 .elementor-widget-nav-menu{margin:0}
#header-bar #container-menu-1 .elementor-nav-menu--main .elementor-item{display:flex;align-items:center}
#header-bar .elementor-nav-menu--main .elementor-nav-menu{flex-wrap:nowrap;white-space:nowrap}
#header-bar #container-menu-1{--min-height:0;min-width:0}
@media (min-width:1025px){
#header-bar #container-menu-1{--width:auto;width:fit-content;flex-grow:0;--flex-grow:0;--padding-left:10px;--padding-right:10px}
#header-bar #container-menu-1 .elementor-widget-nav-menu{width:auto!important;--container-widget-width:auto}
#header-bar .header-internal>.e-con:first-child,#header-bar .header-internal>.elementor-element:first-child{--width:auto;width:auto;flex:1 1 0;min-width:0;--justify-content:flex-start}
#header-bar .header-internal{position:relative}
#header-bar .header-internal>.e-con:has(#container-menu-1){--width:auto;width:fit-content;flex:0 0 auto;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1000}
#header-bar .header-internal .icones-tema-claro{--width:auto;width:auto;flex:1 1 0;min-width:0}
}
#header-bar .icones-tema-claro{--align-items:center;--justify-content:flex-end;--gap:22px;overflow:visible}
#header-bar .icones-tema-claro .elementor-widget-image{margin:0;width:auto!important;max-width:none;overflow:visible}
#header-bar .icones-tema-claro .elementor-widget-image .elementor-widget-container{overflow:visible;line-height:0}
#header-bar .icones-tema-claro .elementor-widget-image img{width:36px;height:auto;max-height:none;display:block;object-fit:contain}
#header-bar .icones-tema-claro #svg01 img{width:72px}
#header-bar.elementor-sticky--effects .header-internal #svg01,#header-bar.elementor-sticky--effects .header-internal #svg02,#header-bar.elementor-sticky--effects .header-internal #svg03,#header-bar.elementor-sticky--effects .header-internal #svg04{width:auto!important}
#header-bar .header-internal #logo{content:normal!important}
#header-bar .header-internal #logo img{width:200px;height:auto;display:block}
#header-bar .header-internal #logo a{display:inline-block;width:auto}

/* submenu TEMAS (desktop) — cartão branco arredondado seguindo o design da pílula */
.elementor-nav-menu--main .sub-menu{top:calc(100% + 10px);left:50%;transform:translateX(-50%);min-width:250px;background:#fff;border-radius:22px;box-shadow:0 16px 40px rgba(0,0,0,.16);padding:10px;border:1px solid rgba(0,0,0,.05)}
/* ponte invisível para o hover não quebrar no vão entre a pílula e o cartão */
.elementor-nav-menu--main .sub-menu:before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.elementor-nav-menu--main .sub-menu li{margin:0}
.elementor-nav-menu--main .sub-menu a.elementor-item{display:block;padding:12px 20px;margin:2px 0;border-radius:14px;color:#000!important;fill:#000!important;background:transparent!important;white-space:nowrap;text-align:center;justify-content:center;transition:background .15s ease,color .15s ease}
.elementor-nav-menu--main .sub-menu a.elementor-item:hover,.elementor-nav-menu--main .sub-menu a.elementor-item:focus{color:#0E4C92!important;background:#F2F2F2!important}
.elementor-nav-menu--main .sub-menu a.elementor-item-active{color:#0E4C92!important;background:#EDF3FA!important}
/* sem a linha/underline do pointer dentro do submenu (era a barra azul solta) */
.elementor-nav-menu--main .sub-menu .elementor-item:before,.elementor-nav-menu--main .sub-menu .elementor-item:after{display:none!important;content:none!important}

/* dropdown mobile/tablet — painel de largura total abaixo do cabeçalho, itens
   centralizados (antes ficava ancorado no hambúrguer e cortado na direita) */
@media (max-width:1024px){
  /* ancora o painel no #header-bar (largura total), não no widget de 33px */
  #header-bar .header-internal,#header-bar .header-internal .e-con,#header-bar .elementor-widget-nav-menu{position:static!important}
  nav.elementor-nav-menu--dropdown.elementor-nav-menu__container.elementor-nav-menu--toggled-on{position:absolute;left:12px;right:12px;top:100%;width:auto;margin:8px 0 0;background:#fff;border-radius:20px;box-shadow:0 18px 44px rgba(0,0,0,.2);padding:10px;z-index:999;max-height:calc(100vh - 140px);overflow:auto}
  nav.elementor-nav-menu--dropdown .elementor-nav-menu li{margin:0}
  nav.elementor-nav-menu--dropdown .elementor-nav-menu a.elementor-item{display:block;text-align:center;padding:13px 18px;margin:2px 0;border-radius:14px;white-space:normal;font-weight:600;letter-spacing:.04em;color:#000!important;fill:#000!important;background:transparent!important;transition:background .15s ease,color .15s ease}
  nav.elementor-nav-menu--dropdown .elementor-nav-menu a.elementor-item:hover,nav.elementor-nav-menu--dropdown .elementor-nav-menu a.elementor-item:focus{color:#0E4C92!important;background:#F2F2F2!important}
  nav.elementor-nav-menu--dropdown .elementor-nav-menu a.elementor-item-active{color:#0E4C92!important;background:#EDF3FA!important}
  nav.elementor-nav-menu--dropdown .sub-menu{margin:2px 8px 6px;padding:4px;background:#F5F8FC;border-radius:14px}
  nav.elementor-nav-menu--dropdown .sub-menu a.elementor-item{font-size:.9em;font-weight:500;letter-spacing:.03em;padding:11px 16px;margin:0;border-radius:11px;color:#33475B!important;opacity:1}
  nav.elementor-nav-menu--dropdown .sub-menu a.elementor-item:hover,nav.elementor-nav-menu--dropdown .sub-menu a.elementor-item:focus{color:#0E4C92!important;background:#fff!important}
  nav.elementor-nav-menu--dropdown .sub-arrow{display:none!important}
  nav.elementor-nav-menu--dropdown .elementor-item:before,nav.elementor-nav-menu--dropdown .elementor-item:after{display:none!important;content:none!important}
  nav.elementor-nav-menu--dropdown li.e60-lang-switcher{margin-top:8px;padding-top:10px;border-top:1px solid rgba(0,0,0,.08);text-align:center}
  nav.elementor-nav-menu--dropdown li.e60-lang-switcher a.elementor-item{display:inline-block;width:auto;padding:9px 30px;border:1.5px solid #0E4C92;border-radius:999px;color:#0E4C92!important;font-weight:700}
}
.elementor-3221 .elementor-element-7e5aa58 ul,.elementor-3221 .elementor-element-217977b3 ul,.elementor-3228 .elementor-element-24d76757 ul,.elementor-3228 .elementor-element-2acb2007 ul{list-style:none;margin:0;padding:0}
.elementor-3221 .elementor-element-56315f26 img,.elementor-3228 .elementor-element-16144a7e img{width:min(565px,60vw);max-width:min(565px,60vw);transform-origin:left center}
.elementor-menu-toggle .e60-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:24px;height:22px}
.elementor-menu-toggle .e60-burger span{display:block;width:24px;height:3px;background:#000;border-radius:2px;transition:transform .25s ease,opacity .2s ease}
.elementor-menu-toggle.elementor-active .e60-burger span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.elementor-menu-toggle.elementor-active .e60-burger span:nth-child(2){opacity:0}
.elementor-menu-toggle.elementor-active .e60-burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* banner verde "Relatório de Sustentabilidade" — a imagem de fundo (680px) é mais
   baixa que a seção e repetia, criando uma linha branca na emenda do tile.
   Cobrimos a seção inteira com a imagem, sem repetição. */
.elementor-element-38377f29,.elementor-element-6ce2bac8,.elementor-element-65b9c15e,.elementor-element-45b0669f,.elementor-element-2bd37716,.elementor-element-31d6b76d{background-size:cover!important;background-repeat:no-repeat!important;background-position:center!important}

/* carrossel "ESG" das páginas Sustentabilidade — ajustes de mobile:
   1) os slides herdavam a altura do carrossel (conteúdo mais alto era cortado no
      topo e sobrava um vão verde enorme embaixo nos slides menores) — deixamos
      cada slide crescer com o próprio conteúdo, alinhado ao topo;
   2) as setas (centralizadas verticalmente, coladas nas bordas) ficavam por cima
      do texto — no mobile elas descem para o rodapé do carrossel, centralizadas. */
@media (max-width: 767px) {
  .elementor-element-5ec8a2f1 .swiper-slide > .e-con,
  .elementor-element-411e48eb .swiper-slide > .e-con {
    height: auto !important;
    min-height: 0 !important;
    justify-content: flex-start !important;
    align-content: flex-start !important;
  }
  .elementor-element-5ec8a2f1 .swiper-slide,
  .elementor-element-411e48eb .swiper-slide {
    height: auto !important;
    padding-bottom: 10px !important;
  }
  /* o container do título tinha margin-top negativa (efeito de sobreposição do
     desktop) que empurrava o título para fora da área visível do carrossel */
  .elementor-element-5ec8a2f1 .swiper-slide .e-con .e-con,
  .elementor-element-411e48eb .swiper-slide .e-con .e-con {
    margin-top: 0 !important;
  }
}

/* dots de paginação dos carrosséis (gerados por interactions.js) */
.e60-carousel-dots{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:18px}
.e60-carousel-dot{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:rgba(14,76,146,.28);cursor:pointer;transition:background .2s ease,transform .2s ease}
.e60-carousel-dot.is-active{background:#0E4C92;transform:scale(1.25)}
/* nos carrosséis sobre fundo verde (ESG) e azul (home), dots brancos */
.elementor-element-5ec8a2f1 .e60-carousel-dot,.elementor-element-411e48eb .e60-carousel-dot,
.elementor-element-9109015 .e60-carousel-dot,.elementor-element-c4ae613 .e60-carousel-dot{background:rgba(255,255,255,.45)}
.elementor-element-5ec8a2f1 .e60-carousel-dot.is-active,.elementor-element-411e48eb .e60-carousel-dot.is-active,
.elementor-element-9109015 .e60-carousel-dot.is-active,.elementor-element-c4ae613 .e60-carousel-dot.is-active{background:#fff}
/* mobile: as setas descem para a linha dos dots, uma de cada lado — a barra de
   controles fica "seta ‹  dots  seta ›" centralizada no rodapé do carrossel */
@media (max-width:767px){
  .elementor-widget-nested-carousel .e60-carousel-dots{min-height:44px;margin-top:10px}
  .elementor-widget-nested-carousel .elementor-swiper-button{top:auto !important;bottom:0 !important;transform:none !important}
  .elementor-widget-nested-carousel .elementor-swiper-button-prev{left:calc(50% - 100px) !important;margin-left:0 !important}
  .elementor-widget-nested-carousel .elementor-swiper-button-next{right:calc(50% - 100px) !important;margin-right:0 !important}
}
