/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
  overflow-y: auto;
  scroll-snap-type: y mandatory;
}

@media (max-width: 767px) {
    html, body {
        overflow-y: visible;
    }
}

/* Hides scrollbar in Chrome, Safari, and Opera */
body::-webkit-scrollbar {
    display: none;
}

/* Hides scrollbar in Internet Explorer and Edge */
body {
    -ms-overflow-style: none;
    /* Optional: Ensure vertical scrolling remains possible */
    overflow-y: scroll; 
}

/* Hides scrollbar in Firefox */
html {
    scrollbar-width: none;
}

.header.elementor-sticky--effects { 
    background: #000000;
}

#site-footer {display: none;}

/* Apply snap section styles ONLY for screens wider than 767px (Tablet/Desktop) */

  .snap-section {
    height: 100vh;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow: hidden; /* importante */
    position: relative;
  }
 .no-snap-target {
    /* Sets the element as NOT a snap point, overriding the parent .snap-section rule */
    scroll-snap-align: none;
    
    /* Important: Do NOT override height or display properties.
       It still inherits height: 100vh, display: flex, etc., from .snap-section */
} 



.botao-banner {
  opacity: 0.05;
  pointer-events: auto;
  transition: opacity 0.3s ease;
}
.botao-banner:hover {
  opacity: 1;
}


/* Slide de baixo para cima */
.fade-on-scroll-up {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.4s ease-out;
}
.fade-on-scroll-up.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Slide da direita para esquerda */
.fade-on-scroll-right {
    opacity: 0;
    transform: translateX(60px);
    transition: opacity 0.8s ease-out, transform 0.5s ease-out;
}
.fade-on-scroll-right.is-visible {
    opacity: 1;
    transform: translateX(0);
}

/* Slide da esquerda para direita */
.fade-on-scroll-left {
    opacity: 0;
    transform: translateX(-60px);
    transition: opacity 0.8s ease-out, transform 0.4s ease-out;
}
.fade-on-scroll-left.is-visible {
    opacity: 1;
    transform: translateX(0);
}

/* Slide de cima para baixo */
.fade-on-scroll-down {
    opacity: 0;
    transform: translateY(-60px);
    transition: opacity 0.8s ease-out, transform 0.4s ease-out;
}
.fade-on-scroll-down.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* CURSOR LINK MENU */
.elementor-element-02de041 {
  cursor: pointer;
}

.responsive-video-cover {
    width: 100%;
    height: 500px; /* Fixed height for desktop/tablet */
    object-fit: cover;
    object-position: center center;
}

/* 📱 Mobile Specific Adjustment (Screens up to 767px) */
@media screen and (max-width: 767px) {
    .responsive-video-cover {
        /* Remove fixed height on mobile */
        height: 100%; 
        max-height: 210px; 
    }
}
@media screen and (min-width: 768px) {
.elementor-element .swiper .elementor-swiper-button-next,.elementor-element .swiper~.elementor-swiper-button-next,.elementor-lightbox .swiper .elementor-swiper-button-next,.elementor-lightbox .swiper~.elementor-swiper-button-next {
    right: 70px !important;
}
}

 .grecaptcha-badge { visibility: hidden; } .grecaptcha-badge { visibility: hidden; } .grecaptcha-badge { visibility: hidden; }


 .e-n-menu-heading {
    margin-top: 20px !important;
 }

.desktop-break {
    display: none;
}

@media (min-width: 768px) { /* Adjust '992px' to your preferred desktop breakpoint */
    .desktop-break {
        display: inline ; /* Make the <br> visible again */
    }
}

/* Header Bright Background on Scroll */
.custom-header {
    transition: filter 1s ease-in-out;
    
}

/* Styles applied when the 'scrolled-past' class is ADDED */
.custom-header.scrolled-past img {
    filter: invert(100%);
}

/* Example: Change ALL text inside the header to black */
.custom-header.scrolled-past * {
    color: #000000 !important;
}

.custom-header.scrolled-past .elementor-button {
    /* Apply a new solid border with the desired inverted color */
    border: 1px solid #000000 !important; 
    /* The button border radius might need to be kept or re-applied */
}

.hidden-menu {
    display: none !important;
}

a[href^="tel:"] {
    /* Set the desired color (e.g., your primary text color) */
    color: inherit !important; 
    
    /* Remove any underline */
    text-decoration: none !important; 
}

#footer-contact a {
    color: #FFFFFF !important;
}

@media (max-width: 767px) {
    .snap-section {
        /* Fallback for older browsers that don't support dvh */
        min-height: 100vh;
        
        /* 🔥 The fix: Use Dynamic Viewport Height */
        min-height: 100dvh !important; 
    }
}


/* CONTACT FORM */

/* Aumenta só o ícone do botão sem mudar o texto */
.elementor-button .icon3-up-right-arrow {
  font-size: 1.2em; /* troque pelo tamanho que quiser */
}

/* Placeholder totalmente branco */
.elementor-field::placeholder {
  color: #ffffff !important; /* branco puro */
  opacity: 1 !important;     /* força a opacidade máxima */
}

/* Remove padding lateral (deixa o placeholder/valor encostado à esquerda) */
.elementor-field-textual.elementor-size-xs {
    padding-left: 0 !important;
    padding-right: 0 !important;
}


.elementor-field-group {
    align-items: flex-start !important;
}




/* Estilizar todos os radios dentro de formulários do Elementor
.elementor-form input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  background-color: transparent;
  border: 1px solid white;
  top: 2px;

  width: 12px;
  height: 12px;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  cursor: pointer;
  transition: all 0.3s ease;
}


.elementor-form input[type="radio"]:checked::before {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 5px;
  height: 5px;
  background-color: white;
  border-radius: 45%;
}



 .hide-on-scroll {
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.hide-on-scroll.hidden {
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
}
 */

 #mobile-header {
  transition: transform 0.3s ease;
}