.elementor-1062 .elementor-element.elementor-element-b62497d{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--margin-top:30px;--margin-bottom:30px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1062 .elementor-element.elementor-element-b62497d.e-con{--align-self:center;}.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-1062 .elementor-element.elementor-element-2b39c00 img{width:30%;}.elementor-1062 .elementor-element.elementor-element-a0f9b00{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1062 .elementor-element.elementor-element-a0f9b00.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-1062 .elementor-element.elementor-element-1af6a8c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1062 .elementor-element.elementor-element-c856c19 .elementor-button{background-color:transparent;font-family:"Plus Jakarta Sans", Sans-serif;font-size:1.6vw;font-weight:500;fill:var( --e-global-color-accent );color:var( --e-global-color-accent );background-image:linear-gradient(180deg, var( --e-global-color-primary ) 0%, #3382DD 100%);border-radius:20px 20px 20px 20px;padding:20px 20px 20px 20px;}.elementor-1062 .elementor-element.elementor-element-c856c19{width:var( --container-widget-width, 100% );max-width:100%;margin:-0px -0px calc(var(--kit-widget-spacing, 0px) + -0px) -0px;padding:020px 020px 020px 020px;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-1062 .elementor-element.elementor-element-c856c19.elementor-element{--align-self:center;}@media(max-width:1024px){.elementor-1062 .elementor-element.elementor-element-2b39c00 img{width:50%;}.elementor-1062 .elementor-element.elementor-element-28037ab{width:var( --container-widget-width, 80% );max-width:80%;--container-widget-width:80%;--container-widget-flex-grow:0;}.elementor-1062 .elementor-element.elementor-element-28037ab.elementor-element{--align-self:center;}.elementor-1062 .elementor-element.elementor-element-c856c19 .elementor-button{font-size:2.5vw;}}@media(max-width:767px){.elementor-1062 .elementor-element.elementor-element-b62497d{--width:100%;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-1062 .elementor-element.elementor-element-2b39c00 img{width:65%;}.elementor-1062 .elementor-element.elementor-element-a0f9b00{--width:100%;}.elementor-1062 .elementor-element.elementor-element-28037ab{--container-widget-width:90%;--container-widget-flex-grow:0;width:var( --container-widget-width, 90% );max-width:90%;}.elementor-1062 .elementor-element.elementor-element-c856c19{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-1062 .elementor-element.elementor-element-c856c19 .elementor-button{font-size:4vw;}}/* Start custom CSS for button, class: .elementor-element-c856c19 *//* ============================================================
   INSTITUTO DA BOCA SINOP - CUSTOMIZAÇÕES GLOBAIS
   [IBS-MASTER-CSS-v2.2]
   
   Inclui:
   1. Cursor 3D customizado (setinha + mão pointer) - GLOBAL
   2. Scrollbar com cores da marca (#003066) - GLOBAL
   3. Botão Neon Glow + Partículas - APENAS em .ibs-btn-neon
   4. Fix forçado de capitalização - APENAS em .ibs-btn-neon
   
   COMO USAR O BOTÃO NEON:
   No Elementor → Widget Botão → Avançado → CSS Classes
   Adicionar: ibs-btn-neon
   ============================================================ */


/* ============================================================
   IMPORTS DE FONTES
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');


/* ============================================
   [IBS-SCROLLBAR] Barra de rolagem customizada
   ============================================ */

html::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}

html::-webkit-scrollbar-track {
  background: #f1f4f9;
  border-radius: 10px;
}

html::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #003066 0%, #0056b3 100%);
  border-radius: 10px;
  border: 2px solid #f1f4f9;
  transition: background 0.3s ease;
}

html::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #0056b3 0%, #003066 100%);
  border: 2px solid #e5ebf3;
}

html::-webkit-scrollbar-thumb:active {
  background: #003066;
}

html::-webkit-scrollbar-corner {
  background: #f1f4f9;
}

html {
  scrollbar-width: thin;
  scrollbar-color: #003066 #f1f4f9;
  color-scheme: light;
}


/* ============================================
   [IBS-CURSOR-3D] Cursor customizado com profundidade
   ============================================ */

/* Cursor padrão (setinha 3D) */
html {
  cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'><defs><linearGradient id='ibsG1' x1='0%25' y1='0%25' x2='100%25' y2='100%25'><stop offset='0%25' stop-color='%23ffffff'/><stop offset='50%25' stop-color='%23d4e0f0'/><stop offset='100%25' stop-color='%23003066'/></linearGradient><filter id='ibsS1'><feDropShadow dx='1' dy='2' stdDeviation='1.5' flood-color='%23000000' flood-opacity='0.4'/></filter></defs><path d='M4 2 L4 22 L10 18 L14 26 L18 24 L14 16 L22 16 Z' fill='url(%23ibsG1)' stroke='%23003066' stroke-width='1.2' filter='url(%23ibsS1)'/></svg>") 4 2, auto;
}

body {
  cursor: inherit;
}

/* Cursor pointer 3D (mão) em elementos clicáveis */
a,
button,
.elementor-button,
.elementor-button-link,
[role="button"],
input[type="submit"],
input[type="button"],
input[type="reset"],
input[type="checkbox"],
input[type="radio"],
label,
select,
summary,
[onclick],
.elementor-swiper-button-prev,
.elementor-swiper-button-next,
.elementor-tab-title,
.elementor-accordion-item .elementor-tab-title,
.elementor-icon-list-item a,
.elementor-cta,
.elementor-image-box-wrapper a,
.elementor-social-icon,
.e-con-inner [role="button"] {
  cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='36' height='40' viewBox='0 0 36 40'><defs><linearGradient id='ibsG2' x1='0%25' y1='0%25' x2='100%25' y2='100%25'><stop offset='0%25' stop-color='%23ffffff'/><stop offset='50%25' stop-color='%230056b3'/><stop offset='100%25' stop-color='%23003066'/></linearGradient><radialGradient id='ibsG3' cx='50%25' cy='30%25'><stop offset='0%25' stop-color='%23ffffff' stop-opacity='0.9'/><stop offset='100%25' stop-color='%23ffffff' stop-opacity='0'/></radialGradient><filter id='ibsS2'><feDropShadow dx='2' dy='3' stdDeviation='2' flood-color='%23000000' flood-opacity='0.5'/></filter></defs><path d='M10 4 C10 2 12 2 12 4 L12 16 L14 16 L14 6 C14 4 16 4 16 6 L16 16 L18 16 L18 8 C18 6 20 6 20 8 L20 16 L22 16 L22 10 C22 8 24 8 24 10 L24 20 C24 28 22 32 18 34 L12 34 C8 32 6 28 6 22 L6 18 C6 16 8 16 8 18 L8 20 L10 20 Z' fill='url(%23ibsG2)' stroke='%23001f45' stroke-width='1.2' filter='url(%23ibsS2)'/><ellipse cx='15' cy='10' rx='4' ry='3' fill='url(%23ibsG3)'/></svg>") 14 4, pointer;
}

/* PROTEÇÃO: mantém cursor text em campos de digitação */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="search"],
textarea,
[contenteditable="true"] {
  cursor: text;
}

/* PROTEÇÃO: cursor disabled em elementos desabilitados */
[disabled],
.elementor-button[disabled],
button[disabled] {
  cursor: not-allowed;
}

/* Desabilita cursor customizado em dispositivos touch */
@media (hover: none) and (pointer: coarse) {
  html,
  body,
  a, button, label, select, summary,
  .elementor-button,
  [role="button"],
  input[type="submit"],
  input[type="button"],
  .elementor-swiper-button-prev,
  .elementor-swiper-button-next {
    cursor: auto;
  }
}


/* ============================================================
   [IBS-BUTTON] Botão Neon Glow + Partículas
   ⚡ APLICA APENAS em botões com a classe .ibs-btn-neon
   ============================================================ */

.ibs-btn-neon.elementor-button,
.ibs-btn-neon .elementor-button,
a.ibs-btn-neon,
button.ibs-btn-neon {
  /* Tipografia */
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #ffffff;
  text-decoration: none;
  
  /* Dimensões */
  padding: 10px 22px;
  border: none;
  outline: none;
  border-radius: 8px;
  
  /* Fundo e glow */
  background: #003066;
  box-shadow: 0 0 20px rgba(0, 48, 102, 0.55);
  
  /* Comportamento */
  position: relative;
  overflow: hidden;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  
  /* Transições */
  transition: 
    box-shadow 0.5s ease, 
    transform 0.3s ease, 
    background 0.3s ease;
}


/* ---------- PARTÍCULA 1 (grande, trajeto L→R) ---------- */

.ibs-btn-neon.elementor-button::before,
.ibs-btn-neon .elementor-button::before,
a.ibs-btn-neon::before,
button.ibs-btn-neon::before {
  content: "";
  position: absolute;
  width: 80px;
  height: 80px;
  top: -40px;
  left: -40px;
  background: radial-gradient(
    circle at center,
    rgba(255, 255, 255, 0.6) 0%,
    rgba(125, 162, 242, 0.3) 30%,
    rgba(255, 255, 255, 0) 70%
  );
  border-radius: 50%;
  filter: blur(8px);
  pointer-events: none;
  z-index: 1;
  animation: ibs-particle-1 5s ease-in-out infinite;
}


/* ---------- PARTÍCULA 2 (menor, trajeto R→L) ---------- */

.ibs-btn-neon.elementor-button::after,
.ibs-btn-neon .elementor-button::after,
a.ibs-btn-neon::after,
button.ibs-btn-neon::after {
  content: "";
  position: absolute;
  width: 50px;
  height: 50px;
  top: 20px;
  right: -25px;
  background: radial-gradient(
    circle at center,
    rgba(185, 206, 253, 0.8) 0%,
    rgba(185, 206, 253, 0.2) 40%,
    rgba(185, 206, 253, 0) 70%
  );
  border-radius: 50%;
  filter: blur(6px);
  pointer-events: none;
  z-index: 1;
  animation: ibs-particle-2 3.5s ease-in-out infinite;
}


/* ---------- TEXTO DO BOTÃO (acima das partículas) ---------- */

.ibs-btn-neon .elementor-button-text,
.ibs-btn-neon .elementor-button-content-wrapper,
.ibs-btn-neon > span {
  position: relative;
  z-index: 2;
}


/* ---------- HOVER: EXPLOSÃO DE GLOW + ACELERA PARTÍCULAS ---------- */

.ibs-btn-neon.elementor-button:hover,
.ibs-btn-neon .elementor-button:hover,
a.ibs-btn-neon:hover,
button.ibs-btn-neon:hover {
  background: #003066;
  color: #ffffff;
  box-shadow: 
    0 0 5px rgba(0, 48, 102, 1),
    0 0 25px rgba(0, 48, 102, 0.9),
    0 0 50px rgba(0, 48, 102, 0.7),
    0 0 100px rgba(0, 48, 102, 0.4);
}

.ibs-btn-neon.elementor-button:hover::before,
.ibs-btn-neon .elementor-button:hover::before,
a.ibs-btn-neon:hover::before,
button.ibs-btn-neon:hover::before {
  animation-duration: 2s;
}

.ibs-btn-neon.elementor-button:hover::after,
.ibs-btn-neon .elementor-button:hover::after,
a.ibs-btn-neon:hover::after,
button.ibs-btn-neon:hover::after {
  animation-duration: 1.5s;
}


/* ---------- ACTIVE (clicando) ---------- */

.ibs-btn-neon.elementor-button:active,
.ibs-btn-neon .elementor-button:active,
a.ibs-btn-neon:active,
button.ibs-btn-neon:active {
  transform: scale(0.96);
  box-shadow: 
    0 0 3px rgba(0, 48, 102, 1),
    0 0 10px rgba(0, 48, 102, 0.8);
}


/* ---------- FOCUS (acessibilidade teclado) ---------- */

.ibs-btn-neon.elementor-button:focus-visible,
.ibs-btn-neon .elementor-button:focus-visible,
a.ibs-btn-neon:focus-visible,
button.ibs-btn-neon:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}


/* ---------- ÍCONE DENTRO DO BOTÃO ---------- */

.ibs-btn-neon .elementor-button-icon,
.ibs-btn-neon .elementor-button-icon i,
.ibs-btn-neon .elementor-button-icon svg {
  color: #ffffff;
  fill: #ffffff;
  font-size: 15px;
  transition: transform 0.3s ease;
  position: relative;
  z-index: 2;
}

.ibs-btn-neon:hover .elementor-button-icon {
  transform: translateX(3px);
}


/* ============================================
   [IBS-BUTTON-FIX] Fix de capitalização
   APENAS em .ibs-btn-neon
   ============================================ */

.ibs-btn-neon.elementor-button,
.ibs-btn-neon .elementor-button,
a.ibs-btn-neon,
button.ibs-btn-neon,
.ibs-btn-neon .elementor-button-text,
.ibs-btn-neon .elementor-button-content-wrapper,
.ibs-btn-neon > span {
  text-transform: none !important;
  letter-spacing: 0.5px !important;
}


/* ============================================
   ANIMAÇÕES DAS PARTÍCULAS DE LUZ
   ============================================ */

@keyframes ibs-particle-1 {
  0% {
    transform: translate(0, 0) scale(1);
    opacity: 0.4;
  }
  25% {
    transform: translate(40px, 10px) scale(1.2);
    opacity: 0.9;
  }
  50% {
    transform: translate(90px, -5px) scale(0.8);
    opacity: 0.6;
  }
  75% {
    transform: translate(150px, 15px) scale(1.3);
    opacity: 0.95;
  }
  100% {
    transform: translate(220px, 0) scale(1);
    opacity: 0;
  }
}

@keyframes ibs-particle-2 {
  0% {
    transform: translate(0, 0) scale(1);
    opacity: 0.5;
  }
  30% {
    transform: translate(-40px, -15px) scale(1.4);
    opacity: 1;
  }
  55% {
    transform: translate(-90px, 10px) scale(0.9);
    opacity: 0.7;
  }
  80% {
    transform: translate(-140px, -8px) scale(1.1);
    opacity: 0.4;
  }
  100% {
    transform: translate(-200px, 5px) scale(1);
    opacity: 0;
  }
}


/* ============================================
   RESPONSIVO - TABLET (até 1024px)
   ============================================ */

@media (max-width: 1024px) {
  .ibs-btn-neon.elementor-button,
  .ibs-btn-neon .elementor-button,
  a.ibs-btn-neon,
  button.ibs-btn-neon {
    padding: 9px 20px;
    font-size: 14px;
    box-shadow: 0 0 18px rgba(0, 48, 102, 0.5);
  }
  
  .ibs-btn-neon.elementor-button:hover,
  .ibs-btn-neon .elementor-button:hover,
  a.ibs-btn-neon:hover,
  button.ibs-btn-neon:hover {
    box-shadow: 
      0 0 5px rgba(0, 48, 102, 1),
      0 0 20px rgba(0, 48, 102, 0.9),
      0 0 40px rgba(0, 48, 102, 0.7),
      0 0 70px rgba(0, 48, 102, 0.4);
  }
}


/* ============================================
   RESPONSIVO - MOBILE (até 767px)
   ============================================ */

@media (max-width: 767px) {
  .ibs-btn-neon.elementor-button,
  .ibs-btn-neon .elementor-button,
  a.ibs-btn-neon,
  button.ibs-btn-neon {
    padding: 9px 18px;
    font-size: 13px;
    box-shadow: 0 0 15px rgba(0, 48, 102, 0.5);
  }
  
  .ibs-btn-neon.elementor-button::before,
  .ibs-btn-neon .elementor-button::before,
  a.ibs-btn-neon::before,
  button.ibs-btn-neon::before {
    width: 60px;
    height: 60px;
  }
  
  .ibs-btn-neon.elementor-button::after,
  .ibs-btn-neon .elementor-button::after,
  a.ibs-btn-neon::after,
  button.ibs-btn-neon::after {
    width: 35px;
    height: 35px;
  }
  
  .ibs-btn-neon.elementor-button:hover,
  .ibs-btn-neon .elementor-button:hover,
  a.ibs-btn-neon:hover,
  button.ibs-btn-neon:hover {
    box-shadow: 
      0 0 4px rgba(0, 48, 102, 1),
      0 0 15px rgba(0, 48, 102, 0.8),
      0 0 30px rgba(0, 48, 102, 0.5);
  }
}


/* ============================================
   RESPONSIVO - MOBILE PEQUENO (até 480px)
   ============================================ */

@media (max-width: 480px) {
  .ibs-btn-neon.elementor-button,
  .ibs-btn-neon .elementor-button,
  a.ibs-btn-neon,
  button.ibs-btn-neon {
    padding: 8px 16px;
    font-size: 12.5px;
  }
  
  .ibs-btn-neon.elementor-button::before,
  .ibs-btn-neon .elementor-button::before,
  a.ibs-btn-neon::before,
  button.ibs-btn-neon::before {
    width: 50px;
    height: 50px;
  }
  
  .ibs-btn-neon.elementor-button::after,
  .ibs-btn-neon .elementor-button::after,
  a.ibs-btn-neon::after,
  button.ibs-btn-neon::after {
    width: 30px;
    height: 30px;
  }
}


/* ============================================
   ACESSIBILIDADE - reduced motion
   ============================================ */

@media (prefers-reduced-motion: reduce) {
  .ibs-btn-neon::before,
  .ibs-btn-neon::after {
    animation: none;
    opacity: 0.5;
  }
}


/* ============================================
   [IBS-MASTER-CSS-v2.2-FIM]
   ============================================ *//* End custom CSS */