/* Base das 3 landing pages feitas no Elementor (endolaser, curso-endolaser, aluguel-maquinas).
   O resto do visual de cada uma está em el-<pagina>.css: o CSS do Elementor daquela página, reduzido às regras que ela usa. */
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/montserrat.woff2) format("woff2"); }
@font-face { font-family: "Sora"; font-style: normal; font-weight: 100 800; font-display: swap; src: url(../fonts/sora.woff2) format("woff2"); }
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/roboto.woff2) format("woff2"); }
@font-face { font-family: "Source Sans Pro"; font-style: normal; font-weight: 300; font-display: swap; src: url(../fonts/source-sans-300.woff2) format("woff2"); }
:root { color-scheme: only light; }
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #fff; color: #7f8795; font: 300 22px/1.68 "Source Sans Pro", Arial, Helvetica, sans-serif; overflow-x: hidden; }
img { max-width: 100%; height: auto; }
a { text-decoration: none; }
p { margin: 0 0 20px; }
h1, h2, h3, h4, h5, h6 { margin: 0; }
main { overflow-x: clip; }  /* o logo do topo do Elementor tem margem negativa de 73 px e vazava no celular */
.ic { width: 1em; height: 1em; fill: currentColor; vertical-align: -.125em; }
.visualmente-oculto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.elementor-icon svg, .elementor-social-icon svg { width: 1em; height: 1em; fill: currentColor; }
.elementor-button-icon svg { width: 1em; height: 1em; fill: currentColor; vertical-align: -.125em; }
/* carrossel (substitui o Swiper do Elementor) */
.carrossel { position: relative; padding: 0 40px; }
.carrossel-lista { list-style: none; margin: 0; padding: 0; display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth; }
.carrossel-lista::-webkit-scrollbar { display: none; }
.carrossel-lista > li { flex: 0 0 calc((100% - (var(--cols, 1) - 1) * 20px) / var(--cols, 1)); scroll-snap-align: start; line-height: 0; }
.carrossel-lista img { width: 100%; height: auto; border-radius: 8px; }
.carrossel-seta { position: absolute; top: 50%; transform: translateY(-50%); width: 30px; height: 40px; border: 0; background: none; color: #222; cursor: pointer; padding: 0; font-size: 22px; display: flex; align-items: center; justify-content: center; }
.carrossel-seta.anterior { left: 0; }
.carrossel-seta.proxima { right: 0; }
@media (max-width: 767px) { .carrossel-lista > li { flex-basis: 100%; } }
/* botão flutuante do WhatsApp (Click to Chat) */
.whatsapp-flutuante { position: fixed; right: 10px; bottom: 10px; z-index: 900; line-height: 0; }
.whatsapp-flutuante img { width: 48px; height: 48px; }
/* bloco que substituiu o formulário "Contato e Dúvidas" (decisão do Victor, 07/10/2026) */
.form-whats { text-align: center; }
.form-whats-txt { font: 500 15px/1.5 Montserrat, sans-serif; color: #535353; margin: 0 0 12px; }
.botao-whats { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; max-width: 424px; min-height: 40px; padding: 10px 24px;
  border-radius: 10px; background: var(--fw-cor, #25d366); font: 500 15px/1.4 Montserrat, sans-serif; }
.botao-whats:hover { filter: brightness(.93); }
