.elementor-10695 .elementor-element.elementor-element-37888b{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:0px;--padding-left:30px;--padding-right:30px;}.elementor-10695 .elementor-element.elementor-element-37888b:not(.elementor-motion-effects-element-type-background), .elementor-10695 .elementor-element.elementor-element-37888b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAFAFA;}.elementor-10695 .elementor-element.elementor-element-2b4f4e51{width:var( --container-widget-width, 22% );max-width:22%;--container-widget-width:22%;--container-widget-flex-grow:0;text-align:start;}.elementor-10695 .elementor-element.elementor-element-2b4f4e51 > .elementor-widget-container{margin:-4px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-10695 .elementor-element.elementor-element-2b4f4e51.elementor-element{--align-self:flex-start;}.elementor-10695 .elementor-element.elementor-element-2b4f4e51 img{width:100%;}.elementor-10695 .elementor-element.elementor-element-60510fe2{width:var( --container-widget-width, 60% );max-width:60%;--container-widget-width:60%;--container-widget-flex-grow:0;--e-search-submit-color:#FFFFFF;--e-search-submit-border-radius:0px 0px 0px 0px;--e-search-submit-padding:0px 10px 0px 10px;}.elementor-10695 .elementor-element.elementor-element-60510fe2 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-10695 .elementor-element.elementor-element-60510fe2.elementor-element{--align-self:center;}.elementor-10695 .elementor-element.elementor-element-60510fe2 .e-search-input{border-radius:9999px 9999px 9999px 9999px;}.elementor-10695 .elementor-element.elementor-element-60510fe2 .e-search-submit span{font-family:"Open Sans", Sans-serif;font-size:14px;font-weight:700;}.elementor-10695 .elementor-element.elementor-element-577c63b4 .elementor-nav-menu .elementor-item{font-family:"Open Sans", Sans-serif;font-size:14px;font-weight:700;}.elementor-10695 .elementor-element.elementor-element-577c63b4 .elementor-nav-menu--main .elementor-item{color:#71717A;fill:#71717A;}.elementor-10695 .elementor-element.elementor-element-577c63b4 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-10695 .elementor-element.elementor-element-577c63b4 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-10695 .elementor-element.elementor-element-577c63b4 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-10695 .elementor-element.elementor-element-577c63b4 .elementor-nav-menu--main .elementor-item:focus{color:#B34DF8;fill:#B34DF8;}.elementor-10695 .elementor-element.elementor-element-577c63b4 .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#B34DF8;}.elementor-10695 .elementor-element.elementor-element-318cecda{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:0px;--padding-left:30px;--padding-right:30px;}.elementor-10695 .elementor-element.elementor-element-318cecda:not(.elementor-motion-effects-element-type-background), .elementor-10695 .elementor-element.elementor-element-318cecda > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF00;}.elementor-10695 .elementor-element.elementor-element-2623565c .elementor-button{background-color:#B34DF8;font-family:"Open Sans", Sans-serif;font-size:13px;font-weight:700;fill:#FFFFFF;color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:#B34DF8;border-radius:9999px 9999px 9999px 9999px;padding:14px 20px 14px 20px;}.elementor-10695 .elementor-element.elementor-element-2623565c .elementor-button:hover, .elementor-10695 .elementor-element.elementor-element-2623565c .elementor-button:focus{background-color:#FFFFFF;color:#B34DF8;}.elementor-10695 .elementor-element.elementor-element-2623565c > .elementor-widget-container{margin:0px 20px 0px 0px;padding:0px 0px 0px 0px;border-radius:999px 999px 999px 999px;}.elementor-10695 .elementor-element.elementor-element-2623565c.elementor-element{--align-self:flex-end;}.elementor-10695 .elementor-element.elementor-element-2623565c .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-10695 .elementor-element.elementor-element-2623565c .elementor-button:hover svg, .elementor-10695 .elementor-element.elementor-element-2623565c .elementor-button:focus svg{fill:#B34DF8;}#elementor-popup-modal-10695 .dialog-widget-content{background-color:#FAFAFA;margin:0px 0px 0px 0px;}#elementor-popup-modal-10695{background-color:#08080854;justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-10695 .dialog-message{width:640px;height:100vh;align-items:flex-start;padding:0px 0px 0px 0px;}#elementor-popup-modal-10695 .dialog-close-button{display:flex;}@media(max-width:1366px){.elementor-10695 .elementor-element.elementor-element-2a832ab3 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:80px 0px 0px 0px;}.elementor-10695 .elementor-element.elementor-element-577c63b4 .elementor-nav-menu .elementor-item{font-size:12px;}}@media(max-width:1024px){.elementor-10695 .elementor-element.elementor-element-37888b{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-10695 .elementor-element.elementor-element-2a832ab3 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-10695 .elementor-element.elementor-element-577c63b4 .elementor-nav-menu .elementor-item{font-size:11px;letter-spacing:0px;word-spacing:0.1em;}.elementor-10695 .elementor-element.elementor-element-577c63b4 .elementor-nav-menu--main .elementor-item{padding-left:12px;padding-right:12px;}.elementor-10695 .elementor-element.elementor-element-318cecda{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-10695 .elementor-element.elementor-element-2623565c .elementor-button{font-size:11px;padding:10px 14px 10px 14px;}}@media(max-width:767px){.elementor-10695 .elementor-element.elementor-element-37888b{--width:100%;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:30px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:30px;--padding-right:30px;}.elementor-10695 .elementor-element.elementor-element-37888b.e-con{--align-self:center;}.elementor-10695 .elementor-element.elementor-element-2a832ab3{width:var( --container-widget-width, 0px );max-width:0px;--container-widget-width:0px;--container-widget-flex-grow:0;}.elementor-10695 .elementor-element.elementor-element-2a832ab3 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-10695 .elementor-element.elementor-element-2b4f4e51 > .elementor-widget-container{margin:-3px 0px 0px 0px;padding:4px 0px 0px 0px;}.elementor-10695 .elementor-element.elementor-element-2b4f4e51{--container-widget-width:45%;--container-widget-flex-grow:0;width:var( --container-widget-width, 45% );max-width:45%;}.elementor-10695 .elementor-element.elementor-element-2b4f4e51.elementor-element{--align-self:center;}.elementor-10695 .elementor-element.elementor-element-2b4f4e51 img{width:483px;}.elementor-10695 .elementor-element.elementor-element-60510fe2 > .elementor-widget-container{margin:40px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-10695 .elementor-element.elementor-element-60510fe2{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;--e-search-input-padding-block-start:0px;--e-search-input-padding-inline-start:0px;--e-search-input-padding-block-end:0px;--e-search-input-padding-inline-end:0px;--e-search-submit-margin-inline-start:0px;--e-search-submit-border-radius:0px 0px 0px 0px;--e-search-submit-padding:0px 0px 0px 0px;}.elementor-10695 .elementor-element.elementor-element-60510fe2 .e-search-input{font-size:10px;border-radius:0px 0px 0px 0px;}.elementor-10695 .elementor-element.elementor-element-577c63b4 > .elementor-widget-container{margin:40px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-10695 .elementor-element.elementor-element-577c63b4.elementor-element{--align-self:flex-start;}.elementor-10695 .elementor-element.elementor-element-577c63b4 .elementor-nav-menu .elementor-item{font-size:18px;line-height:1.5em;letter-spacing:0.2px;}.elementor-10695 .elementor-element.elementor-element-577c63b4 .elementor-nav-menu--main .elementor-item{padding-left:0px;padding-right:0px;padding-top:9px;padding-bottom:9px;}.elementor-10695 .elementor-element.elementor-element-318cecda{--width:100%;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:0px;--padding-left:30px;--padding-right:30px;}.elementor-10695 .elementor-element.elementor-element-318cecda.e-con{--align-self:center;}.elementor-10695 .elementor-element.elementor-element-2623565c > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-10695 .elementor-element.elementor-element-2623565c.elementor-element{--align-self:flex-start;}.elementor-10695 .elementor-element.elementor-element-2623565c .elementor-button{font-size:12px;padding:10px 14px 10px 14px;}#elementor-popup-modal-10695 .dialog-message{width:71vw;padding:0px 0px 0px 0px;}#elementor-popup-modal-10695{justify-content:flex-end;}#elementor-popup-modal-10695 .dialog-widget-content{border-radius:0px 0px 0px 0px;margin:0px 0px 0px 0px;}#elementor-popup-modal-10695 .dialog-close-button{top:13%;font-size:22px;}body:not(.rtl) #elementor-popup-modal-10695 .dialog-close-button{right:9%;}body.rtl #elementor-popup-modal-10695 .dialog-close-button{left:9%;}}/* Start custom CSS for wp-widget-polylang, class: .elementor-element-2a832ab3 *//* Adicione blocks-language-container ao container pai do Elementor. */
.blocks-language-container {
  position: relative;
  overflow: visible;
  min-height: 56px;
  isolation: isolate;
}

/* Adicione blocks-language-switcher ao widget do Polylang. */
.blocks-language-switcher {
  --lang-size: 56px;
  --lang-gap: 10px;
  --lang-purple: #b53cff;
  --lang-shadow: 0 14px 30px rgba(25, 25, 35, 0.14);
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 99999;
  flex: 0 0 var(--lang-size) !important;
  width: var(--lang-size) !important;
  min-width: var(--lang-size) !important;
  max-width: var(--lang-size) !important;
  margin: 0 !important;
  /* Mantém o círculo atual ancorado ao container. */
  transform: none !important;
}

.blocks-language-switcher > .elementor-widget-container {
  width: var(--lang-size) !important;
  min-width: var(--lang-size) !important;
  max-width: var(--lang-size) !important;
  overflow: visible !important;
}

.blocks-language-switcher,
.blocks-language-switcher * {
  box-sizing: border-box;
}

.blocks-language-switcher .screen-reader-text,
.blocks-language-switcher .pll-switcher-select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.blocks-lang-menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: var(--lang-size);
}

/* Mantém o círculo correta dentro do editor do Elementor. */
body.elementor-editor-active .blocks-language-container,
.elementor-edit-area .blocks-language-container {
  position: relative !important;
  min-height: 56px !important;
  overflow: visible !important;
}

body.elementor-editor-active .blocks-language-switcher,
.elementor-edit-area .blocks-language-switcher {
  position: absolute !important;
  top: -20px !important;
  right: 60px !important;
  bottom: auto !important;
  left: auto !important;
  width: var(--lang-size) !important;
  min-width: var(--lang-size) !important;
  max-width: var(--lang-size) !important;
  margin: 0 !important;
  transform: none !important;
  z-index: 20 !important;
}

.blocks-lang-current,
.blocks-lang-option {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 var(--lang-size);
  width: var(--lang-size);
  height: var(--lang-size);
  padding: 0;
  border: 0;
  border-radius: 50%;
  overflow: hidden;
  background: #fff;
  box-shadow: var(--lang-shadow);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition:
    background-color 240ms ease,
    box-shadow 240ms ease,
    transform 240ms cubic-bezier(.2, .75, .25, 1);
}

.blocks-lang-current {
  z-index: 2;
  border: 4px solid #fff;
}

/* Chevron que indica a abertura do seletor. */
.blocks-lang-current::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 5px;
  z-index: 3;
  width: 7px;
  height: 7px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45));
  transform: translateX(-50%) rotate(45deg);
  transform-origin: center;
  pointer-events: none;
  transition:
    bottom 220ms ease,
    transform 220ms ease;
}

.blocks-language-switcher.is-open .blocks-lang-current::after,
.blocks-language-switcher:focus-within .blocks-lang-current::after {
  bottom: 3px;
  transform: translateX(-50%) rotate(225deg);
}

.blocks-lang-current:hover,
.blocks-lang-current:focus-visible,
.blocks-language-switcher:hover .blocks-lang-current,
.blocks-language-switcher:focus-within .blocks-lang-current,
.blocks-language-switcher.is-open .blocks-lang-current {
  background: var(--lang-purple);
  box-shadow:
    0 0 0 6px var(--lang-purple),
    0 16px 34px rgba(181, 60, 255, 0.3);
  transform: none;
}

.blocks-lang-options {
  display: grid;
  grid-template-rows: 0fr;
  width: var(--lang-size);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-12px);
  pointer-events: none;
  transition:
    grid-template-rows 320ms cubic-bezier(.2, .75, .25, 1),
    opacity 200ms ease,
    visibility 200ms ease,
    transform 320ms cubic-bezier(.2, .75, .25, 1);
}

.blocks-lang-options-inner {
  display: flex;
  flex-direction: column;
  gap: var(--lang-gap);
  min-height: 0;
  overflow: hidden;
  padding-top: 0;
  transition: padding-top 320ms cubic-bezier(.2, .75, .25, 1);
}

.blocks-language-switcher:hover .blocks-lang-options,
.blocks-language-switcher:focus-within .blocks-lang-options,
.blocks-language-switcher.is-open .blocks-lang-options {
  grid-template-rows: 1fr;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.blocks-language-switcher:hover .blocks-lang-options-inner,
.blocks-language-switcher:focus-within .blocks-lang-options-inner,
.blocks-language-switcher.is-open .blocks-lang-options-inner {
  padding-top: var(--lang-gap);
  overflow: visible;
}

.blocks-lang-option {
  opacity: 0;
  transform: translateY(-10px) scale(.82);
}

.blocks-language-switcher:hover .blocks-lang-option,
.blocks-language-switcher:focus-within .blocks-lang-option,
.blocks-language-switcher.is-open .blocks-lang-option {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.blocks-language-switcher .blocks-lang-option:nth-child(2) {
  transition-delay: 45ms;
}

.blocks-lang-option:hover,
.blocks-lang-option:focus-visible {
  transform: translateY(-2px) scale(1.06) !important;
  box-shadow: 0 17px 34px rgba(25, 25, 35, 0.2);
}

.blocks-lang-current:focus-visible,
.blocks-lang-option:focus-visible {
  outline: 3px solid rgba(181, 60, 255, 0.3);
  outline-offset: 3px;
}

.blocks-lang-flag {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
  box-shadow: none;
}

@media (max-width: 767px) {
  .blocks-language-container {
    min-height: 52px;
  }

  .blocks-language-switcher {
    --lang-size: 52px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .blocks-language-switcher *,
  .blocks-language-switcher *::before,
  .blocks-language-switcher *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* Idiomas no canto superior direito, sobre o overlay */
@media (max-width: 767px) {
  .elementor-popup-modal:has(.blocks-mobile-menu)
  .dialog-widget-content,
  .elementor-popup-modal:has(.blocks-mobile-menu)
  .dialog-message {
    overflow: visible !important;
  }

  .blocks-mobile-menu .blocks-language-switcher {
    position: fixed !important;
    top: max(20px, env(safe-area-inset-top)) !important;
    right: max(16px, env(safe-area-inset-right)) !important;
    left: auto !important;
    bottom: auto !important;

    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;

    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    z-index: 200 !important;
  }
}

/* MOBILE: mesmo visual do seletor desktop.
 * Colar ao final do CSS global, depois dos ajustes anteriores das bandeiras.
 * Mantem os scripts existentes e o posicionamento do seletor sobre o overlay.
 */
@media (max-width: 767px) {
  .blocks-language-switcher.blocks-mobile-language {
    --lang-size: 56px;
    --lang-gap: 10px;
    --lang-purple: #b53cff;
    --lang-shadow: 0 14px 30px rgba(25, 25, 35, .14);
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
  }

  .blocks-language-switcher.blocks-mobile-language .blocks-lang-menu {
    width: 56px !important;
    height: 56px !important;
  }

  .blocks-language-switcher.blocks-mobile-language
  :is(.blocks-lang-current, .blocks-lang-option) {
    flex: 0 0 56px !important;
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #fff !important;
    box-shadow: var(--lang-shadow) !important;
    outline: none !important;
    overflow: hidden !important;
    -webkit-tap-highlight-color: transparent;
  }

  .blocks-language-switcher.blocks-mobile-language .blocks-lang-current {
    border: 4px solid #fff !important;
  }

  .blocks-language-switcher.blocks-mobile-language
  .blocks-lang-current > img.blocks-lang-flag {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
  }

  .blocks-language-switcher.blocks-mobile-language
  .blocks-lang-option > img.blocks-lang-flag {
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
  }

  .blocks-language-switcher.blocks-mobile-language img.blocks-lang-flag {
    aspect-ratio: 1;
    object-fit: cover !important;
    border: 0 !important;
    border-radius: 50% !important;
  }

  /* Opcoes separadas, sem a capsula glass ao fundo. */
  .blocks-language-switcher.blocks-mobile-language .blocks-lang-options {
    inset: calc(100% + 10px) 0 auto auto !important;
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  .blocks-language-switcher.blocks-mobile-language .blocks-lang-options-inner {
    width: 56px !important;
    gap: 10px !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /* Aro roxo somente quando aberto ou com foco pelo teclado. */
  .blocks-language-switcher.blocks-mobile-language.is-open .blocks-lang-current,
  .blocks-language-switcher.blocks-mobile-language .blocks-lang-current:focus-visible {
    box-shadow:
      0 0 0 6px var(--lang-purple),
      0 16px 34px rgba(181, 60, 255, .3) !important;
  }

  .blocks-language-switcher.blocks-mobile-language .blocks-lang-option:focus-visible {
    outline: 2px solid var(--lang-purple) !important;
    outline-offset: 3px !important;
  }
}/* End custom CSS */
/* Start custom CSS for search, class: .elementor-element-60510fe2 *//* Busca minimalista do menu mobile — sem IDs e sem sugestões */
.blocks-mobile-search {
  --blocks-search-purple: #b34df8;
}

/* Formulário */
.blocks-mobile-search .e-search-form {
  display: flex !important;
  align-items: center !important;
  gap: 8px;

  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
  
  box-sizing: border-box;

  background: #fff !important;
  border: 1px solid #e4e4e7 !important;
  border-radius: 999px !important;
  box-shadow: none !important;

  transition: border-color 180ms ease;
}

/* Campo ocupa o espaço disponível */
.blocks-mobile-search .e-search-input-wrapper {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Remove a lupa decorativa à esquerda do CSS antigo */
.blocks-mobile-search .e-search-input-wrapper::before,
.blocks-mobile-search .e-search-input-wrapper::after {
  content: none !important;
}

/* Texto digitado */
.blocks-mobile-search .e-search-input {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 10px 0 !important;
  box-sizing: border-box;

  font-family: inherit !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
  color: #27272a !important;
margin-left: 10px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: none !important;
  box-shadow: none !important;
}

.blocks-mobile-search .e-search-input::placeholder {
  color: #a1a1aa !important;
  opacity: 1;
}

/* Botão nativo de envio: somente lupa */
.blocks-mobile-search .e-search-submit {
  position: relative;
  display: grid !important;
  place-items: center !important;
  flex: 0 0 44px !important;

  width: 44px !important;
  min-width: 44px !important;
  
  margin: 0 !important;
  padding: 0 !important;

  color: var(--blocks-search-purple) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;

  font-size: 0 !important;
  gap: 0 !important;
  cursor: pointer;
  transition: background-color 180ms ease;
}

/* Oculta o texto visualmente, preservando o nome do botão */
.blocks-mobile-search .e-search-submit span {
  font-size: 0 !important;
}

/* Evita duplicar o ícone configurado no Elementor */
.blocks-mobile-search .e-search-submit svg,
.blocks-mobile-search .e-search-submit i {
  display: none !important;
}

/* Lupa roxa */
.blocks-mobile-search .e-search-submit::before {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  background: currentColor;

  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7.5'/%3E%3Cpath d='m17 17 4 4'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7.5'/%3E%3Cpath d='m17 17 4 4'/%3E%3C/svg%3E") center / contain no-repeat;

  pointer-events: none;
}

/* Foco e interação */
.blocks-mobile-search .e-search-form:focus-within {
  border-color: var(--blocks-search-purple) !important;
}

.blocks-mobile-search .e-search-submit:focus-visible {
  outline: 2px solid var(--blocks-search-purple) !important;
  outline-offset: 2px;
}

.blocks-mobile-search .e-search-submit:active {
  background: #f7efff !important;
}

@media (hover: hover) {
  .blocks-mobile-search .e-search-submit:hover {
    background: #f7efff !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .blocks-mobile-search .e-search-form,
  .blocks-mobile-search .e-search-submit {
    transition: none !important;
  }
}/* End custom CSS */
/* Start custom CSS *//* MENU MOBILE — glass off-white; idioma sobre o overlay. */
@media (max-width: 767px) {

  /* Overlay: preserva o controle de abrir/fechar do Elementor */
  .elementor-popup-modal.dialog-type-lightbox:has(.blocks-mobile-menu) {
    --blocks-menu-width: 60vw;

    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;

    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;

    background: rgba(244, 242, 239, 0.18) !important;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);

    /* Neutraliza animações globais de outros popups */
    animation: none !important;
    pointer-events: auto !important;
  }

  /* Painel esquerdo: fundo sólido em toda a altura */
  .elementor-popup-modal:has(.blocks-mobile-menu)
  > .dialog-widget-content {
    position: absolute !important;
    inset: 0 auto 0 0 !important;

    width: var(--blocks-menu-width) !important;
    min-width: 0 !important;
    max-width: var(--blocks-menu-width) !important;

    height: 100% !important;
    min-height: 100% !important;
    max-height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;

    background: transparent !important;
    background: rgba(250, 249, 246, 0.86) !important;
    -webkit-backdrop-filter: blur(16px) saturate(115%);
    backdrop-filter: blur(16px) saturate(115%);
    border: 0 !important;
    border-right: 1px solid rgba(255, 255, 255, 0.65) !important;
    border-radius: 0px 24px 24px 0px !important;
    box-shadow: 12px 0 40px rgba(24, 16, 36, 0.12) !important;

    overflow: hidden !important;
    transform: none !important;
    animation: none !important;
    pointer-events: auto !important;
  }

  .elementor-popup-modal:has(.blocks-mobile-menu)
  .dialog-header {
    display: none !important;
  }

  /* Rolagem somente dentro do painel */
  .elementor-popup-modal:has(.blocks-mobile-menu)
  .dialog-message {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
  }

  /* Template interno */
  .elementor-popup-modal:has(.blocks-mobile-menu)
  .elementor-location-popup {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
  }

  /* A entrada acontece no conteúdo, não no modal */
  .elementor-popup-modal:has(.blocks-mobile-menu)
  .blocks-mobile-menu {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    --min-height: 0px;
    --justify-content: flex-start;
    justify-content: flex-start !important;

    background: transparent !important;
    box-sizing: border-box !important;
    padding-bottom: max(24px, env(safe-area-inset-bottom));

    animation: blocks-menu-content-enter 320ms
      cubic-bezier(.22, .61, .36, 1);
  }

  /* X nativo dentro do painel */
  .elementor-popup-modal:has(.blocks-mobile-menu)
  .dialog-close-button {
    position: absolute !important;
    inset: auto !important;
    top: max(25px, env(safe-area-inset-top)) !important;
    right: 12px !important;

    display: grid !important;
    place-items: center !important;

    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 10px !important;
    box-sizing: border-box !important;

    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: #27272a !important;

    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    animation: none !important;

    cursor: pointer !important;
    z-index: 100 !important;
  }

  .elementor-popup-modal:has(.blocks-mobile-menu)
  .dialog-close-button svg {
    width: 22px;
    height: 22px;
    fill: currentColor;
    pointer-events: none;
  }

  .elementor-popup-modal:has(.blocks-mobile-menu)
  .dialog-close-button:focus-visible {
    outline: 2px solid #b34df8;
    outline-offset: -3px;
  }
}

@keyframes blocks-menu-content-enter {
  from {
    opacity: 0;
    transform: translateX(-24px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  .elementor-popup-modal:has(.blocks-mobile-menu)
  .blocks-mobile-menu {
    animation: none !important;
  }
}




/* Somente o seletor mobile: nao altera os outros seletores do site. */
@media (max-width: 767px) {
  .blocks-mobile-language.blocks-language-switcher {
    position: fixed !important;
    inset: 14px 30px auto auto !important;
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    background: transparent !important;
    overflow: visible !important;
    z-index: 200 !important;
  }

  .elementor-popup-modal > .blocks-mobile-language.blocks-language-switcher {
    position: absolute !important;
  }

  .blocks-mobile-language.elementor-sticky__spacer {
    display: none !important;
  }

  .elementor-popup-modal .blocks-mobile-language:not([data-blocks-mobile-placed="true"]) {
    visibility: hidden;
  }

  .blocks-mobile-language[data-blocks-lang-ready="true"] .pll-switcher-select,
  .blocks-mobile-language[data-blocks-lang-ready="true"] label {
    display: none !important;
  }

  .blocks-mobile-language .blocks-lang-menu {
    position: relative !important;
    display: block !important;
    width: 52px !important;
    height: 52px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .blocks-mobile-language :is(.blocks-lang-current, .blocks-lang-option) {
    display: grid !important;
    place-items: center !important;
    flex: 0 0 52px !important;
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    margin: 0 !important;
    padding: 5px !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(255,255,255,.8) !important;
    border-radius: 50% !important;
    background: rgba(250,249,246,.86) !important;
    box-shadow: 0 3px 10px rgba(0,0,0,.06) !important;
    transform: none !important;
    cursor: pointer;
  }

  .blocks-mobile-language :is(.blocks-lang-current, .blocks-lang-option)::after {
    content: none !important;
  }

  /* Neutraliza o min-height:100% que esticava as bandeiras. */
  .blocks-mobile-language img.blocks-lang-flag {
    display: block !important;
    flex: none !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    aspect-ratio: 1 / 1;
    object-fit: cover !important;
    border-radius: 50% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    transform: none !important;
  }

  .blocks-mobile-language .blocks-lang-options {
    position: absolute !important;
    inset: calc(100% + 8px) 0 auto auto !important;
    display: none !important;
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 4px !important;
    box-sizing: border-box;
    border-radius: 32px;
    background: rgba(250,249,246,.94) !important;
    box-shadow: 0 6px 20px rgba(0,0,0,.08);
    transform: none !important;
    overflow: visible !important;
    z-index: 201;
  }

  .blocks-mobile-language.is-open .blocks-lang-options:not([hidden]) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .blocks-mobile-language .blocks-lang-options-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 52px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    overflow: visible !important;
  }

  .blocks-mobile-language :is(.blocks-lang-current, .blocks-lang-option):focus-visible {
    outline: 2px solid #b34df8;
    outline-offset: 2px;
  }
}

/* Remove os círculos ao redor do X */
@media (max-width: 767px) {
  .elementor-popup-modal:has(.blocks-mobile-menu)
  .dialog-close-button,

  .elementor-popup-modal:has(.blocks-mobile-menu)
  .dialog-close-button:is(:hover, :focus, :focus-visible, :active) {
    background: transparent !important;
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent;
  }

  /* Mantém uma indicação de foco sem criar círculos */
  .elementor-popup-modal:has(.blocks-mobile-menu)
  .dialog-close-button:focus-visible {
    color: #b34df8 !important;
  }
}

@media (max-width: 767px) {

  /* Painel à direita, mantendo os 60% e o glass. */
  .elementor-popup-modal:has(.blocks-mobile-menu)
  > .dialog-widget-content {
    inset: 0 0 0 auto !important;

    border-right: 0 !important;
    border-left: 1px solid rgba(255, 255, 255, .65) !important;
    border-radius: 24px 0 0 24px !important;

    box-shadow: -12px 0 40px rgba(24, 16, 36, .12) !important;
  }

  /* Entrada suave pela direita. */
  .elementor-popup-modal:has(.blocks-mobile-menu)
  .blocks-mobile-menu {
    animation-name: blocks-menu-content-enter-right !important;
  }

  /* Bandeiras à esquerda: mesma altura e margem de 30px. */
  .blocks-mobile-language.blocks-language-switcher,
  body.elementor-editor-active
  .blocks-mobile-language.blocks-language-switcher,
  .elementor-edit-area
  .blocks-mobile-language.blocks-language-switcher {
    inset: 14px auto auto max(30px, env(safe-area-inset-left)) !important;
  }

  /* Opções alinhadas abaixo da bandeira. */
  .blocks-mobile-language.blocks-language-switcher
  .blocks-lang-options {
    inset: calc(100% + 10px) auto auto 0 !important;
  }
}

@keyframes blocks-menu-content-enter-right {
  from {
    opacity: 0;
    transform: translateX(24px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}/* End custom CSS */