/* Esta folha é carregada depois do CSS original do site. */

/* Hero: desktop lado a lado; mobile continua empilhado para preservar a usabilidade. */
#section-hero .spacer-single ~ a.btn-main,
#section-hero .spacer-single ~ p:has(> a.btn-main) > a.btn-main {
  display: inline-block !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 8px 10px !important;
  padding: 4px 20px !important;
  line-height: 2.4em !important;
  vertical-align: middle;
}

/* O Elementor pode envolver cada link do Editor de Texto em um <p>. No HTML
   original os dois links são irmãos inline; este wrapper reproduz o mesmo fluxo. */
#section-hero .spacer-single ~ p:has(> a.btn-main) {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: normal !important;
  text-align: center !important;
}

#section-hero .spacer-single ~ p:has(> a.btn-main) br {
  display: none !important;
}

@media (max-width: 767px) {
  #section-hero .spacer-single ~ a.btn-main,
  #section-hero .spacer-single ~ p:has(> a.btn-main) > a.btn-main {
    display: flex !important;
    width: min(100%, 300px) !important;
    max-width: 300px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #section-hero .spacer-single ~ p:has(> a.btn-main) {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }
}

/* Cards: a seção e todos os wrappers Elementor precisam permitir o sticky. */
section.cards-bus.cards-bus-editable {
  position: relative !important;
  min-height: 1144px;
  overflow: visible !important;
}
section.cards-bus.cards-bus-editable .card {
  position: sticky !important;
  top: 150px !important;
  z-index: 1;
  transition: 0.1s;
  transform: none !important;
  opacity: 1 !important;
}
section.cards-bus.cards-bus-editable .card:nth-child(1) { z-index: 1; }
section.cards-bus.cards-bus-editable .card:nth-child(2) { z-index: 2; }
section.cards-bus.cards-bus-editable .card:nth-child(3) { z-index: 3; }
section.cards-bus.cards-bus-editable .card:nth-child(4) { z-index: 4; }
section.cards-bus.cards-bus-editable .card:nth-child(5) { z-index: 5; }
section.cards-bus.cards-bus-editable .card:nth-child(6) { z-index: 6; }

.elementor-element:has(section.cards-bus.cards-bus-editable),
.elementor-element:has(section.cards-bus.cards-bus-editable) > .elementor-widget-container,
.elementor-element:has(section.cards-bus.cards-bus-editable) .elementor-widget-container,
.elementor-widget-wrap:has(section.cards-bus.cards-bus-editable),
.elementor-column:has(section.cards-bus.cards-bus-editable),
.elementor-container:has(section.cards-bus.cards-bus-editable),
.elementor-section:has(section.cards-bus.cards-bus-editable) {
  overflow: visible !important;
  transform: none !important;
  contain: none !important;
  filter: none !important;
}

@media (max-width: 767px) {
  section.cards-bus.cards-bus-editable .card { top: 80px !important; }
}

/* Front-end: o documento HTML deve ser o scroll container do sticky.
   O body do tema recebe overflow-y:auto e altura do conteúdo; isso impede
   position: sticky porque o body vira um contêiner sem rolagem própria. */
html,
html.lenis,
html.skrollr {
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

html.lenis body,
html.skrollr body,
body.elementor-page {
  height: auto !important;
  overflow: visible !important;
}

body.elementor-page {
  overflow-x: clip !important;
  overflow-y: visible !important;
}

body.elementor-page #wrapper,
body.elementor-page main#primary,
body.elementor-page .site-main {
  overflow: visible !important;
}

/* Mantém a altura da seção suficiente para todos os cards sticky. */
section.cards-bus.cards-bus-editable {
  height: auto !important;
  min-height: calc(100vh + 180px) !important;
}
