@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&display=swap');

:root{
--font-heading: "Outfit", sans-serif;
--font-base: "Outfit", sans-serif;
--font-menu: "Outfit", sans-serif;
;
  --b2c-submenu-motion-distance: 12px;
  --b2c-submenu-motion-duration: 260ms;
  --b2c-submenu-motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* Força fonte base em todos os elementos do Elementor */
.elementor-widget-container,
.elementor-widget-container p,
.elementor-widget-container span,
.elementor-widget-container a,
.elementor-widget-container li,
.elementor-text-editor,
.elementor-icon-box-description,
.elementor-icon-box-title,
.elementor-button {
  font-family: var(--font-base) !important;
}

/* Corrige o estado de foco/ativo dos botões do Elementor */
.elementor-button:focus:not(:hover),
.elementor-button:active:not(:hover) {
    color: #3b82f6 !important;
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}


/* Texto, wrapper e ícone acompanham a cor do botão */
.elementor-button:focus:not(:hover) .elementor-button-content-wrapper,
.elementor-button:focus:not(:hover) .elementor-button-text,
.elementor-button:focus:not(:hover) .elementor-button-icon,
.elementor-button:active:not(:hover) .elementor-button-content-wrapper,
.elementor-button:active:not(:hover) .elementor-button-text,
.elementor-button:active:not(:hover) .elementor-button-icon {
    color: inherit !important;
}


/* Font Awesome com tag <i> */
.elementor-button:focus:not(:hover) .elementor-button-icon i,
.elementor-button:active:not(:hover) .elementor-button-icon i {
    color: inherit !important;
}


/* SVG no estado de focus/active sem hover */

.elementor-button:focus:not(:hover) .elementor-button-icon svg,
.elementor-button:focus:not(:hover) .elementor-button-icon svg path,
.elementor-button:active:not(:hover) .elementor-button-icon svg,
.elementor-button:active:not(:hover) .elementor-button-icon svg path {
    color: inherit !important;
    fill: currentColor !important;
    stroke: currentColor !important;
}


/* =========================================================
   HOVER enquanto o botão ainda está em focus/active
   ========================================================= */

.elementor-button:focus:hover,
.elementor-button:active:hover {
    color: #ffffff !important;
}


/* Força texto, wrapper e ícone para branco */

.elementor-button:focus:hover .elementor-button-content-wrapper,
.elementor-button:focus:hover .elementor-button-text,
.elementor-button:focus:hover .elementor-button-icon,
.elementor-button:focus:hover .elementor-button-icon i,
.elementor-button:active:hover .elementor-button-content-wrapper,
.elementor-button:active:hover .elementor-button-text,
.elementor-button:active:hover .elementor-button-icon,
.elementor-button:active:hover .elementor-button-icon i {
    color: #ffffff !important;
}


/* Força SVG e seus paths para branco */

.elementor-button:focus:hover .elementor-button-icon svg,
.elementor-button:focus:hover .elementor-button-icon svg path,
.elementor-button:active:hover .elementor-button-icon svg,
.elementor-button:active:hover .elementor-button-icon svg path {
    color: #ffffff !important;
    fill: currentColor !important;
    stroke: currentColor !important;
}
html, body{
  margin: 0;
  padding: 0;
}

body{
  font-family: var(--font-base) !important;
  font-weight: 400;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;

  /* Evita scroll horizontal sem “travar” tanto quanto hidden */
  overflow-x: clip;
}

body > ul.sub-menu.b2c-sticky-glass-portal {
  background: #101427ab !important;
}

.one-container .site-content{
  padding: 0 !important;
}

/* Fallback p/ browsers antigos */
@supports not (overflow: clip){
  body{ overflow-x: hidden; }
}

/* IMPORTANTÍSSIMO: não atrapalhar o editor do Elementor */
body.elementor-editor-active{
  overflow: visible !important;
}


/* Movimento padrão dos submenus */
@keyframes b2cSubmenuFadeSlideUp {
  from {
    opacity: 0;
    transform: translateY(var(--b2c-submenu-motion-distance));
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

h1{margin-bottom: 0 !important;}

h1, h2, h3, h4, h5, h6{
  font-family: var(--font-heading);
  font-weight: 600;
  line-height: 1.15;
}

.top-bar{background-color: #101427;}

.hero-cyberpunk{
	position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(8,12,32,0.96) 0%, rgba(4,9,24,1) 100%);
}

.hero-cyberpunk:before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);
  background-size: 56px 56px;
  opacity: 1;
  pointer-events: none;
}

.hero-cyberpunk:after {
  content: "";
  position: absolute;
  width: 700px;
  height: 700px;
  left: 50%;
  top: 48%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(120,74,255,0.16) 0%, rgba(120,74,255,0.06) 35%, rgba(120,74,255,0) 70%);
  pointer-events: none;
}

.glass-badge{
  display: inline-block;
  border-radius: 50px;
  padding: 0.5rem 1.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  background: linear-gradient(135deg, hsla(190, 100%, 70%, 0.15) 0%, hsla(260, 60%, 70%, 0.10) 100%);
  border: 1px solid hsla(190, 100%, 70%, 0.30);
  box-shadow:
    0 4px 20px hsla(190, 100%, 50%, 0.20),
    inset 0 1px 0 hsla(200, 100%, 95%, 0.10);
}

.heading1{
	color: #fff;
}

.heading2{
  background: linear-gradient(90deg, #7B5CFF 0%, #D94FD7 55%, #FF5FA2 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

.b2c-button {
  color: #fff;
  transition: all 0.15s ease;
  background: linear-gradient(90deg, #7B5CFF 0%, #E34DA3 100%);
  box-shadow: 0 10px 30px rgba(203, 86, 194, 0.22);
}

.b2c-button:hover{
	color: #fff;
}

.b2c-button-glass{
	box-shadow: 0 10px 30px rgba(203, 86, 194, 0.22);
}

.b2c-button-glass:hover{
	color: #fff;
}
/* =========================================================
   HEADER / MENU / SUBMENU GLASS
   ========================================================= */

/*
  Estratégia do blur:
  - nenhum elemento ancestral do submenu recebe transform ou backdrop-filter;
  - o vidro do header sticky fica em uma camada ::before independente;
  - o submenu recebe backdrop-filter diretamente;
  - a animação do dropdown usa somente opacity/visibility, sem scaleY.
*/

.main-navigation {
  position: relative !important;
  overflow: visible !important;

}

.main-navigation,
.main-navigation a,
.menu,
.menu a {
  font-family: var(--font-menu);
  letter-spacing: normal;
  font-weight: 500;
}

.site-logo,
.wp-block-site-title {
  font-family: var(--font-heading);
  font-weight: 600;
}

.main-navigation,
.main-navigation ul ul {
  background-color: transparent;
}

.inside-header {
  padding: 0rem 2rem !important;
}

.site-header {
  position: relative;
  top: 0;
  width: 100%;
  z-index: 9999;
  background-color: #101427;
  border-bottom: 1px solid #88888854;
}

/* Evitar que o header atrapalhe o editor do Elementor */
body.elementor-editor-active .site-header {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  width: auto !important;
}

/*
  Header sticky centralizado sem transform.
  O transform: translateX(-50%) anterior criava uma camada problemática
  para o backdrop-filter do dropdown.
*/
.site-header.is-sticky {
  position: fixed;
  top: 5px;
  right: 0;
  left: 0;
  width: min(1200px, 94%);
  max-width: 1200px;
  margin-inline: auto;
  background: transparent !important;
  border: 0;
  border-radius: 15px;
  box-shadow: none;
  overflow: visible !important;
  transform: none !important;
  -webkit-backdrop-filter: blur(14px) saturate(2) !important;
  backdrop-filter: blur(14px) saturate(2) !important;
}

/* Vidro visual do header; não envolve o submenu como filtro ancestral */
.site-header.is-sticky::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: #101427d4;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 15px;
  box-shadow: 0 10px 30px rgb(0 0 0 / 51%), inset 0 1px 0 rgb(255 255 255 / 88%);
}

/* Conteúdo do header fica acima do vidro, sem criar nova camada de filtro */
.site-header.is-sticky .inside-header {
  position: relative;
  z-index: 1;
}

.main-navigation .main-nav ul li a {
  color: #fff;
}

.main-navigation .main-nav ul li[class*="current-menu-"] > a {
  color: #a9a9a9;
}

/* Hover dos itens principais */
.main-navigation .main-nav > ul > li {
  border: 1px solid transparent;
  border-radius: 15px;
  transition: border-color 300ms ease-in-out;
}

.main-navigation .main-nav > ul > li > a:focus,
.main-navigation .main-nav > ul > li > a:focus-visible,
.main-navigation .main-nav > ul > li:focus-within > a,
.main-navigation .main-nav > ul > li.sfHover > a {
    color: #fff !important;
}

.main-navigation .main-nav > ul > li:hover {
    border-color: rgba(150, 90, 255, 0.85) !important;
    background: rgba(150, 90, 255, 0.12) !important;
    box-shadow: 0 0 18px rgba(150, 90, 255, 0.25) !important;
}

.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a {
  color: #fff;
}

/* =========================================================
   SUBMENU — BLUR SOMENTE QUANDO O HEADER ESTÁ STICKY
   ========================================================= */

/*
  MOTIVO DESTA VERSÃO:
  O submenu permanecia translúcido, mas sem desfocar com consistência
  quando renderizado dentro da árvore do header sticky.

  Solução:
  - sem sticky: o submenu continua no menu, com fundo sólido;
  - com sticky: o JavaScript b2c-sticky-submenu-glass-portal.js move
    temporariamente apenas o <ul class="sub-menu"> aberto para o <body>;
  - fora do header, o backdrop-filter passa a desfocar diretamente a
    seção que estiver atrás do submenu.
*/

/* -------------------------
   SUBMENU NORMAL: sem sticky
   ------------------------- */

.main-navigation .main-nav ul li > ul.sub-menu {
  --b2c-submenu-bg: rgba(16, 20, 39, 0.72);
  --b2c-submenu-border: rgba(255, 255, 255, 0.14);
  --b2c-submenu-arrow-border: rgba(255, 255, 255, 0.24);
  display: block !important;
  position: absolute !important;
  top: 100%;
  left: 50% !important;
  width: 260px;
  margin-left: -130px !important;
  padding: 10px !important;
  z-index: 99999;
  list-style: none !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  background: var(--b2c-submenu-bg) !important;
  border: 1px solid var(--b2c-submenu-border) !important;
  border-radius: 18px !important;
  box-shadow: 0 20px 44px rgba(0, 0, 0, 0.26) !important;
  overflow: visible !important;
  transform: translateY(var(--b2c-submenu-motion-distance)) !important;
  transition:
    opacity var(--b2c-submenu-motion-duration) var(--b2c-submenu-motion-ease),
    transform var(--b2c-submenu-motion-duration) var(--b2c-submenu-motion-ease),
    visibility 0s linear var(--b2c-submenu-motion-duration);
  -webkit-backdrop-filter: blur(14px) saturate(2);
  backdrop-filter: blur(14px) saturate(2);
}

/* Bico/contorno do submenu normal */
.main-navigation .main-nav ul li > ul.sub-menu::before {
  content: "";
  position: absolute;
  top: -13px;
  left: 50%;
  transform: translateX(-50%);
  width: 28px;
  height: 14px;
  z-index: 0;
  pointer-events: none;
  background: var(--b2c-submenu-arrow-border);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}

/* Miolo do bico do submenu normal */
.main-navigation .main-nav ul li > ul.sub-menu::after {
  content: "";
  position: absolute;
  top: -11px;
  left: 50%;
  transform: translateX(-50%);
  width: 24px;
  height: 12px;
  z-index: 1;
  pointer-events: none;
  background: var(--b2c-submenu-bg);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}

.main-navigation .main-nav ul li:hover > ul.sub-menu,
.main-navigation .main-nav ul li.sfHover > ul.sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) !important;
  transition:
    opacity var(--b2c-submenu-motion-duration) var(--b2c-submenu-motion-ease),
    transform var(--b2c-submenu-motion-duration) var(--b2c-submenu-motion-ease),
    visibility 0s linear 0s;
}


.main-navigation .main-nav ul li > ul.sub-menu > li {
  display: block !important;
  position: relative !important;
  z-index: 2;
  width: 100% !important;
  opacity: 1 !important;
  background: transparent !important;
  border: 0 !important;
  list-style: none !important;
}

.main-navigation .main-nav ul li > ul.sub-menu > li > a {
  display: block;
  padding: 12px 18px !important;
  background: transparent !important;
  color: rgba(255, 255, 255, 0.94) !important;
  border-radius: 11px;
  line-height: 1.35;
	
}

.main-navigation .main-nav ul li > ul.sub-menu > li:hover > a {
  background: rgba(255, 255, 255, 0.10) !important;
  color: #ffffff !important;
}

.main-navigation .main-nav ul > li.is-megamenu > ul.sub-menu > li > a {
  display: block;
  padding: 10px 20px !important;
  font-size: 16px;
  line-height: 1.35;
  white-space: normal;
}


/* ---------------------------------------------------------
   STICKY DESKTOP: esconde o dropdown interno.
   O JS exibirá a mesma lista fora do header, como portal.
   --------------------------------------------------------- */

@media (min-width: 769px) {

  .site-header.is-sticky .main-navigation .main-nav ul li > ul.sub-menu {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /*
    Submenu portado para o body.
    Esta é a única regra com backdrop-filter do submenu sticky.
  */
  body > ul.sub-menu.b2c-sticky-glass-portal {
    --b2c-submenu-bg: rgba(16, 20, 39, 0.42);
    --b2c-submenu-border: rgba(255, 255, 255, 0.22);
    --b2c-submenu-arrow-border: rgba(255, 255, 255, 0.32);

    display: block !important;
    position: fixed !important;
    top: var(--b2c-submenu-top, 0px) !important;
    left: var(--b2c-submenu-left, 0px) !important;
    width: var(--b2c-submenu-width, 290px) !important;
    min-width: 270px !important;
    max-width: min(380px, calc(100vw - 32px)) !important;
    margin: 0 !important;
    padding: 10px !important;
    z-index: 1000000 !important;
    list-style: none !important;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    background: var(--b2c-submenu-bg) !important;
    -webkit-backdrop-filter: blur(14px) saturate(2) !important;
    backdrop-filter: blur(14px) saturate(2) !important;

    border: 1px solid var(--b2c-submenu-border) !important;
    border-radius: 18px !important;
    box-shadow:
      0 22px 50px rgba(0, 0, 0, 0.28),
      inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;

    overflow: visible !important;
    transform: translateY(var(--b2c-submenu-motion-distance)) !important;
    transition:
      opacity var(--b2c-submenu-motion-duration) var(--b2c-submenu-motion-ease),
      transform var(--b2c-submenu-motion-duration) var(--b2c-submenu-motion-ease),
      visibility 0s linear var(--b2c-submenu-motion-duration);
  }

  body > ul.sub-menu.b2c-sticky-glass-portal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) !important;
    animation: b2cSubmenuFadeSlideUp var(--b2c-submenu-motion-duration) var(--b2c-submenu-motion-ease) both;
    transition:
      opacity var(--b2c-submenu-motion-duration) var(--b2c-submenu-motion-ease),
      transform var(--b2c-submenu-motion-duration) var(--b2c-submenu-motion-ease),
      visibility 0s linear 0s;
  }

  body > ul.sub-menu.b2c-sticky-glass-portal > li {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    opacity: 1 !important;
    background: transparent !important;
    border: 0 !important;
    list-style: none !important;
  }

  body > ul.sub-menu.b2c-sticky-glass-portal > li > a {
    display: block !important;
    padding: 12px 16px !important;
    border-radius: 11px !important;
    background: transparent !important;
    color: rgba(255, 255, 255, 0.96) !important;
    font-family: var(--font-menu) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
    white-space: normal !important;
    transition: background-color 0.18s ease, color 0.18s ease;
  }

  body > ul.sub-menu.b2c-sticky-glass-portal > li:hover > a,
  body > ul.sub-menu.b2c-sticky-glass-portal > li > a:focus-visible {
    background: rgba(255, 255, 255, 0.13) !important;
    color: #ffffff !important;
  }

  /* Setinha / bico de balão do submenu sticky */
  body > ul.sub-menu.b2c-sticky-glass-portal::before {
    content: "";
    position: absolute;
    top: -13px;
    left: 50%;
    transform: translateX(-50%);
    width: 28px;
    height: 14px;
    z-index: 0;
    pointer-events: none;
    background: var(--b2c-submenu-arrow-border);
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  }

  body > ul.sub-menu.b2c-sticky-glass-portal::after {
    content: "";
    position: absolute;
    top: -11px;
    left: 50%;
    transform: translateX(-50%);
    width: 24px;
    height: 12px;
    z-index: 1;
    pointer-events: none;
    background: var(--b2c-submenu-bg);
    -webkit-backdrop-filter: blur(14px) saturate(2);
    backdrop-filter: blur(14px) saturate(2%);
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  }
}

/* =========================================================
   BOTÕES ESPECIAIS DO MENU
   ========================================================= */

#menu-item-3413, #menu-item-3698 {
  margin-left: 18px !important;
}

#menu-item-3413 > a, #menu-item-3698 > a {
  width: 174px !important;
  height: 48px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  text-align: center !important;
  line-height: 1 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  border: 1px solid rgba(255, 255, 255, 0.32) !important;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.02) !important;
  transition: all 0.25s ease !important;
}

#menu-item-3413 > a svg, #menu-item-3698 > a svg {
  width: 22px;
  height: 22px;
  display: block;
  margin: 0;
  flex-shrink: 0;
  fill: #ffffff;
}

/* =========================================================
   FOOTER / MISC
   ========================================================= */
.footer-widgets{
  background: linear-gradient(180deg, rgba(8,12,32,0.96) 0%, rgba(4,9,24,1) 100%);
}
   
.footer-widgets h2{ 
	font-size: 24px; 
  color: #fff;
}

.footer-widgets p{
	font-size: 16px; 
	color: #fff;
}

.footer-widgets a{
	color: #fff;
    text-decoration: none;
}

.footer-widgets a:hover{
    opacity: 0.8;
}

.copyright-bar a{
	vertical-align: middle; 
	color: #2e355e;
    text-decoration: none;
    transition: opacity 0.2s ease-in;
}

.copyright-bar a:hover{
    text-decoration: underline;
    transition: opacity 0.2s ease-in;
}

.copyright-bar img{ 
	width: 58px; 
}

.b2c-footer-block {
    color: #ffffff;
}

.b2c-footer-block h2, .b2c-footer-block p {
    color: #ffffff;
}


.b2c-contact-line {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.b2c-contact-icon {
    color: #ffffff;
    flex: 0 0 auto;
    margin-top: 3px;
    font-size: 24px;
    line-height: 1;
}

.b2c-contact-svg {
    width: 26px;
    height: 26px;
    flex: 0 0 auto;
    margin-top: 1px;
    fill: #ffffff;
}

.b2c-contact-text {
    flex: 1 1 auto;
    min-width: 0;
}

@media (max-width: 767px) {
.b2c-contact-line {
    gap: 6px;
}

.b2c-contact-icon {
    font-size: 22px;
}

.b2c-contact-svg {
  width: 24px;
  height: 24px;
  }
}

.gp-icon svg{ fill: rgb(249 249 249); }

/* Botão “Voltar ao topo” (B2C) */
.b2c-back-to-top{
  opacity: 1 !important;
  transform: none !important;
  position: fixed;
  right: 26px;
  bottom: 76px;
  width: 58px;
  height: 58px;
  border-radius: 11px;
  border: 2px solid #2E355E;
  cursor: pointer;
  z-index: 9999;
  background: rgb(60 60 124 / 63%);
  display: block;
  box-shadow: rgb(0 0 0 / 27%) 0px 8px 20px;
  font-size: 22px;
  color: #fff;
  transition: 300ms ease-in-out;
  backdrop-filter: blur(14px) saturate(2);
}

.b2c-back-to-top:hover{
  border: 2px solid #3B82F6;
  background-color: #272a5e;
  transition: 300ms ease-in-out;
  --webkit-transform: scale(1.1) !important;
  transform: scale(1.1) !important;
}

/* =========================================================
   RESPONSIVO (CONSOLIDADO)
   ========================================================= */

/* <= 1200px */
@media (max-width: 1200px){
  .main-navigation .main-nav ul > li.is-megamenu > ul.sub-menu{
    min-width: 680px;
  }
}

/* <= 1024px */
@media (max-width: 1024px){
  .main-navigation ul{
    padding: 0;
    margin: 0;
  }

  .main-navigation .main-nav ul li a{
    font-size: 14px;
		padding-left: 15px;
		padding-right: 15px;
  }

}

/* <= 768px */
@media (max-width: 768px){

  body > ul.sub-menu.b2c-sticky-glass-portal,
  body > ul.sub-menu.b2c-sticky-glass-portal::before,
  body > ul.sub-menu.b2c-sticky-glass-portal::after {
    display: none !important;
    animation: none !important;
    transform: none !important;
  }
  
  .mobile-menu-control-wrapper .menu-toggle,
  .mobile-menu-control-wrapper .menu-toggle:hover,
  .mobile-menu-control-wrapper .menu-toggle:focus,
  .has-inline-mobile-toggle #site-navigation.toggled {
    color: #fff;
 }
  
  .site-header.is-sticky:has(#site-navigation.toggled) .inside-header {
    height: auto;
    min-height: 75px;
  }
    
  .site-header{
    position: absolute;
    background: #101427d4;
    backdrop-filter: blur(14px) saturate(2);
  }


  .main-navigation .main-nav ul li > ul.sub-menu {
    position: static !important;
    left: auto !important;
    width: 100% !important;
    min-width: 100% !important;
    margin-left: 0 !important;
    display: none !important;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none !important;
    transition: none;
    background: #10162f !important;
    backdrop-filter: none !important;
    border-radius: 0 0 14px 14px !important;
  }

  .main-navigation .main-nav ul li.sfHover > ul.sub-menu,
  .main-navigation .main-nav ul li.toggled > ul.sub-menu{
    display: block !important;
  }

  .main-navigation .main-nav ul li > ul.sub-menu::before, .main-navigation .main-nav ul li > ul.sub-menu::after {
    content: none !important;
    display: none !important;
  }
  
  .mobile-menu-control-wrapper .menu-toggle, .mobile-menu-control-wrapper .menu-toggle:hover, .mobile-menu-control-wrapper .menu-toggle:focus, .has-inline-mobile-toggle #site-navigation.toggled{
    background-color: transparent !important;
  }
  
  #menu-item-3413 > a, #menu-item-3698 > a{
    border: none !important;
    justify-content: flex-start !important;
    background: transparent !important;
    margin-bottom: 10px;
  }


  .main-navigation .main-nav ul li > ul.sub-menu > li {
    opacity: 1;
    transform: none !important;
    transition: none;
  }

  .main-navigation .main-nav ul > li.is-megamenu > ul.sub-menu {
    column-count: 1;
  }

  .elementor-21 .elementor-element.elementor-element-d8a2bce img{
    max-width: 50%;
  }


}

/* =========================================================
   B2C - DIAGNÓSTICO DE TI
   Fluent Forms - Formulário ID 3
   ========================================================= */


/* Remove espaçamentos estranhos do Fluent */
.fluent_form_3 .ff-el-group {
    margin-bottom: 16px !important;
}


/* =========================================================
   LINHAS / COLUNAS
   ========================================================= */

.fluent_form_3 .ff-t-container {
    display: flex !important;
    gap: 18px !important;
    margin-bottom: 16px !important;
}

.fluent_form_3 .ff-t-cell {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   CAMPOS
   ========================================================= */

.fluent_form_3 .ff-el-form-control {
    width: 100% !important;

    background: #141d3a !important;

    border: #7224BFFC !important;
    border-radius: 10px !important;

    color: #ffffff !important;

    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 500 !important;

    padding: 0 20px !important;

    box-sizing: border-box !important;

    outline: none !important;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.025),
        0 4px 18px rgba(0, 0, 0, 0.05) !important;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease !important;
}


/* Inputs normais */
.fluent_form_3 input.ff-el-form-control {
    min-height: 58px !important;
}


/* Textarea */
.fluent_form_3 textarea.ff-el-form-control {
    min-height: 145px !important;

    padding: 18px 20px !important;

    line-height: 1.5 !important;

    resize: vertical;
}


/* =========================================================
   PLACEHOLDER
   ========================================================= */

.fluent_form_3 .ff-el-form-control::placeholder {
    color: #7224BFFC !important;
    opacity: 1 !important;
    font-weight: 500 !important;
}


/* Firefox */
.fluent_form_3 .ff-el-form-control::-moz-placeholder {
    color: rgba(255, 255, 255, 0.88) !important;
    opacity: 1 !important;
}


/* =========================================================
   HOVER / FOCO
   ========================================================= */

.fluent_form_3 .ff-el-form-control:hover {
    border-color: rgba(92, 137, 255, 0.42) !important;
}


.fluent_form_3 .ff-el-form-control:focus {
    background: #7224BFFC !important;

    border-color: #7224BFFC !important;

    box-shadow:
        0 0 0 2px rgba(85, 124, 255, 0.12),
        0 0 20px rgba(87, 102, 255, 0.08) !important;
}


/* =========================================================
   AUTOFILL DO CHROME
   Impede o Chrome de transformar o campo em branco/amarelo
   ========================================================= */

.fluent_form_3 input:-webkit-autofill,
.fluent_form_3 input:-webkit-autofill:hover,
.fluent_form_3 input:-webkit-autofill:focus,
.fluent_form_3 textarea:-webkit-autofill {
    -webkit-text-fill-color: #ffffff !important;

    -webkit-box-shadow:
        0 0 0 1000px #141d3a inset !important;

    box-shadow:
        0 0 0 1000px #141d3a inset !important;

    caret-color: #ffffff !important;

    transition: background-color 9999s ease-out 0s !important;
}


/* =========================================================
   BOTÃO
   ========================================================= */

.fluent_form_3 .ff-btn-submit {
    min-height: 54px !important;

    padding: 0 30px !important;

    border: 0 !important;
    border-radius: 9px !important;

    background:
        linear-gradient(
            100deg,
            #7657ff 0%,
            #a94ce5 48%,
            #ec4ca6 100%
        ) !important;

    color: #ffffff !important;

    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 600 !important;

    box-shadow:
        0 8px 25px rgba(116, 81, 255, 0.16) !important;

    cursor: pointer;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        filter 0.2s ease !important;
}


.fluent_form_3 .ff-btn-submit:hover {
    transform: translateY(-1px);

    filter: brightness(1.07);

    box-shadow:
        0 10px 28px rgba(190, 67, 203, 0.22) !important;
}


.fluent_form_3 .ff-btn-submit:active {
    transform: translateY(0);
}


/* =========================================================
   MENSAGENS DE ERRO
   ========================================================= */

.fluent_form_3 .error.text-danger,
.fluent_form_3 .ff-el-is-error .text-danger {
    color: #ff6b85 !important;
    font-size: 13px !important;
    margin-top: 6px !important;
}


.fluent_form_3 .ff-el-is-error .ff-el-form-control {
    border-color: rgba(255, 90, 120, 0.75) !important;
}


/* =========================================================
   RESPONSIVO
   ========================================================= */

@media (max-width: 767px) {

    .fluent_form_3 .ff-t-container {
        flex-direction: column !important;
        gap: 14px !important;
    }

    .fluent_form_3 .ff-t-cell {
        flex-basis: 100% !important;
        width: 100% !important;
    }

    .fluent_form_3 input.ff-el-form-control {
        min-height: 54px !important;
    }

    .fluent_form_3 textarea.ff-el-form-control {
        min-height: 130px !important;
    }

    .fluent_form_3 .ff-btn-submit {
        width: 100% !important;
    }
}

.fluent_form_3 .ff-el-group{
	margin-bottom: -5px !important;
}

/* =========================================================
   B2C - FORMULÁRIO CLARO
   Fluent Forms
   Classe do container Elementor: b2c-form-claro
   ========================================================= */


/* Remove fundo e espaçamentos indesejados */
.b2c-form-claro .fluentform,
.b2c-form-claro form {
    background: transparent !important;
}


/* Espaço entre os campos */
.b2c-form-claro .ff-el-group {
    margin-bottom: 16px !important;
}


/* Esconde labels porque o design usa placeholder */
.b2c-form-claro .ff-el-input--label {
    display: none !important;
}


/* =========================================================
   INPUTS / SELECT / TEXTAREA
   ========================================================= */

.b2c-form-claro .ff-el-form-control {
    width: 100% !important;

    background: #ffffff !important;

    border: 1.3px solid #7b2cff !important;
    border-radius: 10px !important;

    color: #7b2cff !important;

    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 500 !important;

    padding: 0 15px !important;

    box-shadow: none !important;
    outline: none !important;

    box-sizing: border-box !important;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease !important;
}


/* Altura dos campos normais */
.b2c-form-claro input.ff-el-form-control,
.b2c-form-claro select.ff-el-form-control {
    min-height: 44px !important;
}


/* Textarea */
.b2c-form-claro textarea.ff-el-form-control {
    height: 75px !important;
    padding: 16px 15px !important;
    line-height: 1.5 !important;
    resize: vertical;
}


/* =========================================================
   PLACEHOLDER
   ========================================================= */

.b2c-form-claro .ff-el-form-control::placeholder {
    color: #a96fe0 !important;
    opacity: 1 !important;
    font-weight: 500 !important;
}

.b2c-form-claro .ff-el-form-control::-moz-placeholder {
    color: #a96fe0 !important;
    opacity: 1 !important;
}


/* =========================================================
   HOVER / FOCO
   ========================================================= */

.b2c-form-claro .ff-el-form-control:hover {
    border-color: #9b42f5 !important;
}


.b2c-form-claro .ff-el-form-control:focus {
    background: #ffffff !important;

    border-color: #7b2cff !important;

    box-shadow:
        0 0 0 3px rgba(123, 44, 255, 0.10) !important;
}


/* =========================================================
   AUTOFILL DO CHROME
   ========================================================= */

.b2c-form-claro input:-webkit-autofill,
.b2c-form-claro input:-webkit-autofill:hover,
.b2c-form-claro input:-webkit-autofill:focus,
.b2c-form-claro textarea:-webkit-autofill {
    -webkit-text-fill-color: #7b2cff !important;

    -webkit-box-shadow:
        0 0 0 1000px #ffffff inset !important;

    box-shadow:
        0 0 0 1000px #ffffff inset !important;

    caret-color: #7b2cff !important;
}


/* =========================================================
   BOTÃO
   ========================================================= */

.b2c-form-claro .ff-btn-submit {
    position: relative !important;

    width: 100% !important;
    min-height: 44px !important;

    background: #ffffff !important;

    border: 1.5px solid #7b2cff !important;
    border-radius: 10px !important;

    color: #7428d8 !important;

    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 500 !important;

    padding: 0 60px !important;

    box-shadow: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease !important;
}


/* Bolinha/ícone depois do texto */
.b2c-form-claro .ff-btn-submit::after {
    content: "➜";

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 24px;
    height: 24px;

    margin-left: 12px;

    background: #7428d8;
    color: #ffffff;

    border-radius: 50%;

    font-size: 13px;
    line-height: 1;

    vertical-align: middle;
}


/* Hover */
.b2c-form-claro .ff-btn-submit:hover {
    background: #7428d8 !important;
    color: #ffffff !important;

    border-color: #7428d8 !important;

    box-shadow:
        0 8px 24px rgba(116, 40, 216, 0.15) !important;

    transform: translateY(-1px);
}


.b2c-form-claro .ff-btn-submit:hover::after {
    background: #ffffff;
    color: #7428d8;
}


/* =========================================================
   ERROS / VALIDAÇÃO
   ========================================================= */

.b2c-form-claro .ff-el-is-error .ff-el-form-control {
    border-color: #e14475 !important;
}


.b2c-form-claro .error.text-danger,
.b2c-form-claro .ff-el-is-error .text-danger {
    color: #d92f68 !important;

    font-size: 13px !important;

    margin-top: 6px !important;
}


/* =========================================================
   MENSAGEM DE SUCESSO
   ========================================================= */

.b2c-form-claro .ff-message-success {
    background: rgba(123, 44, 255, 0.06) !important;

    border: 1px solid rgba(123, 44, 255, 0.35) !important;
    border-radius: 14px !important;

    color: #52209a !important;

    padding: 18px 22px !important;
}



