.elementor-kit-6{--e-global-color-primary:#332F92;--e-global-color-secondary:#DBA133;--e-global-color-text:#333333;--e-global-color-accent:#333333;--e-global-color-3dd2a99:#666666;--e-global-color-2571cfe:#FFFFFF;--e-global-color-a747fa2:#F5F5F5;--e-global-color-fc4c35f:#C44237;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Poppins";--e-global-typography-accent-font-size:18px;--e-global-typography-accent-font-weight:600;color:var( --e-global-color-text );font-family:"Poppins", Sans-serif;font-size:18px;font-weight:400;line-height:26px;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-secondary );font-family:"Poppins", Sans-serif;font-size:16px;font-weight:600;text-transform:uppercase;color:var( --e-global-color-2571cfe );border-radius:20px 20px 20px 20px;padding:15px 35px 15px 035px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:#C4912D;color:var( --e-global-color-2571cfe );border-radius:22px 22px 22px 22px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 p{margin-block-end:15px;}.elementor-kit-6 a{font-family:"Poppins", Sans-serif;font-weight:700;text-decoration:underline;}.elementor-kit-6 a:hover{color:var( --e-global-color-primary );text-decoration:underline;}.elementor-kit-6 h1{color:#332F83;font-family:"Poppins", Sans-serif;font-size:48px;line-height:58px;letter-spacing:-0.5px;}.elementor-kit-6 h2{color:#332F83;font-family:"Poppins", Sans-serif;font-size:36px;font-weight:600;line-height:47px;letter-spacing:-0.3px;}.elementor-kit-6 h3{color:#332F83;font-size:28px;line-height:39px;}.elementor-kit-6 h4{color:var( --e-global-color-text );font-family:"Poppins", Sans-serif;font-size:20px;font-weight:600;line-height:30px;}.elementor-kit-6 h5{color:var( --e-global-color-text );font-family:"Poppins", Sans-serif;font-size:18px;font-weight:500;line-height:1.5px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:40px;}.elementor-element{--widgets-spacing:40px 30px;--widgets-spacing-row:40px;--widgets-spacing-column:30px;}.elementor-lightbox{background-color:#332F92E0;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}@media(max-width:1024px){.elementor-kit-6{font-size:16px;}.elementor-kit-6 h1{font-size:36px;}.elementor-kit-6 h2{font-size:28px;}.elementor-kit-6 h3{font-size:24px;}.elementor-kit-6 h4{font-size:18px;}.elementor-kit-6 h5{font-size:17px;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:15px;letter-spacing:-0.5px;word-spacing:0em;padding:15px 35px 15px 35px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}}@media(max-width:767px){.elementor-kit-6 p{margin-block-end:15px;}.elementor-kit-6 h1{font-size:32px;}.elementor-kit-6 h2{font-size:26px;}.elementor-kit-6 h3{font-size:22px;}.elementor-kit-6 h4{font-size:18px;}.elementor-kit-6 h5{font-size:16px;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:14px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* FIX OVERFLOW MOBILE - FORÇA TOTAL */
html {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100vw !important;
}

body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100vw !important;
    position: relative !important;
}
@media (max-width: 1024px) {
    .origami-deco {
        transform: none !important;
        max-width: 60px !important;
    }
    
    /* Força ficar dentro da tela */
    .origami-deco.elementor-absolute {
        left: auto !important;
        right: auto !important;
    }
}


/* ═══════════════════════════════════════════════════════════════════════════
   🎌 COLÉGIO OSHIMAN - CSS CUSTOMIZADO
   ═══════════════════════════════════════════════════════════════════════════
   
   Versão: 2.3 (Com correções Hero Slider Desktop/Mobile)
   Cores: Roxo #332f83 | Amarelo #dba133
   Fonte: Poppins
   
   ÍNDICE:
   1. Variáveis
   2. Base (Links, Botões)
   3. Hero Slider
   4. Animações de Entrada
   5. Cards
   6. Imagens
   7. Títulos
   8. Ícones
   9. Seções
   10. Formulários
   11. Utilitários
   12. Responsividade
   13. Pulse CTA Premium
   14. Blog Post
   15. OVERFLOW & ZOOM PREVENTION
   16. Form Fale Conosco
   17. Patterns
   18. FIX: HERO SLIDER (Largura + Botão)
   19. Banner Sobre - Mobile
   20. Sobre Nós
*/

/* ═══════════════════════════════════════════════════════════════════════════
   1. VARIÁVEIS
   ═══════════════════════════════════════════════════════════════════════════ */

:root {
  --roxo: #332f83;
  --roxo-light: #4a45a8;
  --roxo-dark: #252266;
  --amarelo: #dba133;
  --amarelo-hover: #c4912d;
  --amarelo-light: #f0c56a;
  --texto: #333333;
  --texto-light: #666666;
  --texto-muted: #999999;
  --fundo: #ffffff;
  --fundo-alt: #f5f5f5;
  --trans-fast: 0.2s ease;
  --trans: 0.3s ease;
  --trans-slow: 0.5s ease;
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.08);
  --shadow-md: 0 4px 20px rgba(0,0,0,0.1);
  --shadow-lg: 0 8px 30px rgba(0,0,0,0.12);
}


/* ═══════════════════════════════════════════════════════════════════════════
   2. BASE (Links, Botões)
   ═══════════════════════════════════════════════════════════════════════════ */

a {
  color: var(--roxo);
  text-decoration: underline;
  transition: var(--trans);
}
a:hover { color: var(--amarelo); }

p a { font-weight: 500; }

.elementor-nav-menu a {
  color: var(--roxo);
  text-decoration: none;
}
.elementor-nav-menu a:hover { color: var(--amarelo); }

.elementor-button {
  text-decoration: none !important;
  transition: var(--trans) !important;
}

.btn-primario .elementor-button,
.elementor-button.btn-primario {
  background-color: var(--amarelo) !important;
  color: #fff !important;
  border: none !important;
}
.btn-primario .elementor-button:hover,
.elementor-button.btn-primario:hover {
  background-color: var(--amarelo-hover) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 20px rgba(219,161,51,0.4) !important;
}

.btn-secundario .elementor-button,
.elementor-button.btn-secundario {
  background: transparent !important;
  color: var(--roxo) !important;
  border: 2px solid var(--roxo) !important;
}
.btn-secundario .elementor-button:hover,
.elementor-button.btn-secundario:hover {
  background: var(--roxo) !important;
  color: #fff !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 20px rgba(51,47,131,0.3) !important;
}

.btn-branco .elementor-button,
.elementor-button.btn-branco {
  background-color: #fff !important;
  color: var(--roxo) !important;
  border: 2px solid #fff !important;
}
.btn-branco .elementor-button:hover,
.elementor-button.btn-branco:hover {
  background: transparent !important;
  color: #fff !important;
  transform: translateY(-3px) !important;
}

@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(219,161,51,0.7); }
  70% { box-shadow: 0 0 0 15px rgba(219,161,51,0); }
  100% { box-shadow: 0 0 0 0 rgba(219,161,51,0); }
}
.pulse .elementor-button { animation: pulse 2s infinite; }

@keyframes shine {
  0% { left: -100%; }
  100% { left: 100%; }
}
.btn-shine .elementor-button {
  position: relative;
  overflow: hidden;
}
.btn-shine .elementor-button::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
}
.btn-shine .elementor-button:hover::before {
  animation: shine 0.8s ease;
}




/* ========================================
   HERO SLIDES - CURSOR FIX
   ======================================== */

/* Remove cursor pointer do slide inteiro */
.elementor-slides,
.elementor-slides-wrapper,
.elementor-slide-content,
.elementor-slide-heading,
.elementor-slide-description,
.swiper-slide,
.elementor-slides .swiper-slide {
  cursor: default !important;
}

/* Mantém cursor pointer SÓ no botão */
.elementor-slides .elementor-slide-button,
.elementor-slides .elementor-button {
  cursor: pointer !important;
}


/* ═══════════════════════════════════════════════════════════════════════════
   4. ANIMAÇÕES DE ENTRADA
   ═══════════════════════════════════════════════════════════════════════════ */

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
.fade-in { animation: fadeIn 0.8s ease forwards; }
.fade-in-delay-1 { animation: fadeIn 0.8s ease 0.2s forwards; opacity: 0; }
.fade-in-delay-2 { animation: fadeIn 0.8s ease 0.4s forwards; opacity: 0; }
.fade-in-delay-3 { animation: fadeIn 0.8s ease 0.6s forwards; opacity: 0; }

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(40px); }
  to { opacity: 1; transform: translateY(0); }
}
.fade-in-up { animation: fadeInUp 0.8s ease forwards; }
.fade-in-up-delay-1 { animation: fadeInUp 0.8s ease 0.15s forwards; opacity: 0; }
.fade-in-up-delay-2 { animation: fadeInUp 0.8s ease 0.3s forwards; opacity: 0; }
.fade-in-up-delay-3 { animation: fadeInUp 0.8s ease 0.45s forwards; opacity: 0; }

@keyframes fadeInDown {
  from { opacity: 0; transform: translateY(-40px); }
  to { opacity: 1; transform: translateY(0); }
}
.fade-in-down { animation: fadeInDown 0.8s ease forwards; }

@keyframes slideInLeft {
  from { opacity: 0; transform: translateX(-60px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes slideInRight {
  from { opacity: 0; transform: translateX(60px); }
  to { opacity: 1; transform: translateX(0); }
}
.slide-in-left { animation: slideInLeft 0.8s ease forwards; }
.slide-in-right { animation: slideInRight 0.8s ease forwards; }

@keyframes scaleIn {
  from { opacity: 0; transform: scale(0.9); }
  to { opacity: 1; transform: scale(1); }
}
.scale-in { animation: scaleIn 0.6s ease forwards; }

@keyframes blurIn {
  from { opacity: 0; filter: blur(10px); }
  to { opacity: 1; filter: blur(0); }
}
.blur-in { animation: blurIn 0.8s ease forwards; }


/* ═══════════════════════════════════════════════════════════════════════════
   5. CARDS
   ═══════════════════════════════════════════════════════════════════════════ */

.card-curso,
.card-curso.e-con,
.elementor-element.card-curso {
    transition: all 0.4s ease !important;
}

/* Hover do card */
.card-curso:hover,
.card-curso.e-con:hover,
.elementor-element.card-curso:hover {
    background-color: #332f83 !important;
    transform: translateY(-5px) scale(1.02) !important;
    box-shadow: 0 20px 40px rgba(51, 47, 131, 0.25) !important;
}

/* Texto branco no hover */
.card-curso:hover * {
    color: #ffffff !important;
}

/* Título amarelo no hover */
.card-curso:hover .elementor-heading-title {
    color: #dba133 !important;
}

/* Botão amarelo no hover do card - ALTA ESPECIFICIDADE */
body .card-curso:hover .elementor-button,
body .card-curso:hover .elementor-button:hover,
body .card-curso:hover .elementor-button:focus,
body .card-curso.e-con:hover .elementor-button,
body .elementor-element.card-curso:hover .elementor-button,
html body .card-curso:hover .elementor-widget-button .elementor-button {
    background-color: #dba133 !important;
    background: #dba133 !important;
    box-shadow: 0 4px 15px rgba(219, 161, 51, 0.4) !important;
}

body .card-curso:hover .elementor-button:hover,
body .card-curso.e-con:hover .elementor-button:hover {
    background-color: #c4912d !important;
    background: #c4912d !important;
    box-shadow: 0 6px 20px rgba(219, 161, 51, 0.5) !important;
}

/* Hover direto no botão - amarelo mais escuro */
.card-curso:hover .elementor-button:hover,
.card-curso.e-con:hover .elementor-button:hover,
.elementor-element.card-curso:hover .elementor-button:hover {
    background-color: #c4912d !important;
    background: #c4912d !important;
    box-shadow: 0 6px 20px rgba(219, 161, 51, 0.5) !important;
}

/* Transições suaves */
.card-curso *,
.card-curso.e-con * {
    transition: all 0.4s ease !important;
}


/* ═══════════════════════════════════════════════════════════════════════════
   6. IMAGENS
   ═══════════════════════════════════════════════════════════════════════════ */

.img-zoom { overflow: hidden !important; }
.img-zoom img { transition: transform 0.6s ease !important; }
.img-zoom:hover img { transform: scale(1.1) !important; }

@keyframes imgShine { 100% { left: 125%; } }
.img-shine {
  position: relative;
  overflow: hidden !important;
}
.img-shine::before {
  content: '';
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, transparent 0%, rgba(255,255,255,0.3) 100%);
  transform: skewX(-25deg);
  z-index: 2;
}
.img-shine:hover::before { animation: imgShine 0.75s ease; }

.img-grayscale img {
  filter: grayscale(100%);
  transition: filter 0.5s ease !important;
}
.img-grayscale:hover img { filter: grayscale(0%); }

.img-frame {
  position: relative;
  padding: 15px !important;
}
.img-frame::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  border: 2px solid var(--amarelo);
  transform: translate(10px, 10px);
  transition: transform 0.4s ease;
  pointer-events: none;
}
.img-frame:hover::before { transform: translate(5px, 5px); }


/* ═══════════════════════════════════════════════════════════════════════════
   7. TÍTULOS
   ═══════════════════════════════════════════════════════════════════════════ */

.titulo-linha {
  position: relative;
  display: inline-block;
  padding-bottom: 15px !important;
}
.titulo-linha::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60px;
  height: 4px;
  background: linear-gradient(90deg, var(--amarelo), var(--roxo));
  border-radius: 2px;
  transition: width 0.5s ease;
}
.titulo-linha:hover::after { width: 100%; }
.titulo-linha-center::after {
  left: 50%;
  transform: translateX(-50%);
}

.titulo-gradient h1,
.titulo-gradient h2,
.titulo-gradient h3,
.titulo-gradient .elementor-heading-title {
  background: linear-gradient(135deg, var(--roxo) 0%, var(--roxo-light) 50%, var(--amarelo) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.titulo-brush {
  position: relative;
  display: inline-block;
}
.titulo-brush::before {
  content: '';
  position: absolute;
  bottom: 5px;
  left: -5px;
  right: -5px;
  height: 40%;
  background: rgba(219,161,51,0.3);
  z-index: -1;
  transform: skewX(-5deg);
}


/* ═══════════════════════════════════════════════════════════════════════════
   8. ÍCONES
   ═══════════════════════════════════════════════════════════════════════════ */

@keyframes iconBounce {
  0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
  40% { transform: translateY(-15px); }
  60% { transform: translateY(-7px); }
}
.icon-bounce:hover i,
.icon-bounce:hover svg { animation: iconBounce 1s ease; }

@keyframes iconPulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.2); }
  100% { transform: scale(1); }
}
.icon-pulse:hover i,
.icon-pulse:hover svg { animation: iconPulse 0.6s ease; }

@keyframes iconFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
.icon-float i,
.icon-float svg { animation: iconFloat 3s ease-in-out infinite; }


/* ═══════════════════════════════════════════════════════════════════════════
   9. SEÇÕES
   ═══════════════════════════════════════════════════════════════════════════ */

.secao-diagonal {
  position: relative;
  margin-top: 50px !important;
}
.secao-diagonal::before {
  content: '';
  position: absolute;
  top: -50px;
  left: 0;
  width: 100%;
  height: 50px;
  background: inherit;
  clip-path: polygon(0 100%, 100% 0, 100% 100%);
}

.secao-gradient {
  background: linear-gradient(135deg, var(--roxo) 0%, var(--roxo-light) 50%, var(--amarelo) 100%) !important;
}
.secao-gradient h1,
.secao-gradient h2,
.secao-gradient h3,
.secao-gradient p { color: #fff !important; }

.parallax-smooth {
  background-attachment: fixed !important;
  background-position: center !important;
  background-size: cover !important;
  position: relative !important;
}
.parallax-smooth::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(51,47,131,0.3);
  z-index: 1;
}
.parallax-smooth > * {
  position: relative;
  z-index: 2;
}


/* ═══════════════════════════════════════════════════════════════════════════
   10. FORMULÁRIOS
   ═══════════════════════════════════════════════════════════════════════════ */

.form-elegant .elementor-field-textual {
  border: none !important;
  border-bottom: 2px solid #ddd !important;
  border-radius: 0 !important;
  background: transparent !important;
  transition: var(--trans) !important;
}
.form-elegant .elementor-field-textual:focus {
  border-bottom-color: var(--amarelo) !important;
  box-shadow: none !important;
}


/* ═══════════════════════════════════════════════════════════════════════════
   11. UTILITÁRIOS
   ═══════════════════════════════════════════════════════════════════════════ */

.scroll-animate,
.scroll-up,
.scroll-left,
.scroll-right,
.scroll-scale {
  opacity: 0;
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.scroll-up { transform: translateY(50px); }
.scroll-left { transform: translateX(-50px); }
.scroll-right { transform: translateX(50px); }
.scroll-scale { transform: scale(0.9); }

.scroll-animate.is-visible,
.scroll-up.is-visible,
.scroll-left.is-visible,
.scroll-right.is-visible,
.scroll-scale.is-visible {
  opacity: 1;
  transform: translateY(0) translateX(0) scale(1);
}

.scroll-delay-1 { transition-delay: 0.1s; }
.scroll-delay-2 { transition-delay: 0.2s; }
.scroll-delay-3 { transition-delay: 0.3s; }

@keyframes spinLoader { 100% { transform: rotate(360deg); } }
.loading-spinner { position: relative; }
.loading-spinner::after {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  width: 40px; height: 40px;
  margin: -20px 0 0 -20px;
  border: 4px solid var(--fundo-alt);
  border-top-color: var(--amarelo);
  border-radius: 50%;
  animation: spinLoader 0.8s linear infinite;
}


/* ═══════════════════════════════════════════════════════════════════════════
   12. RESPONSIVIDADE
   ═══════════════════════════════════════════════════════════════════════════ */

@media (max-width: 1024px) {
  .elementor-button {
    padding: 12px 25px !important;
  }
}

@media (max-width: 768px) {
  .oshiman-hero-card { max-width: 100% !important; }
  .slider-dot { width: 10px; height: 10px; }
  .oshiman-slider-nav { bottom: 15px; gap: 10px; }
  .parallax-smooth { background-attachment: scroll !important; }
  .card-tilt:hover { transform: translateY(-5px) !important; }
}

@media (max-width: 480px) {
  .elementor-button {
    padding: 10px 20px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

@media (max-width: 767px) {
  .sem-motion-mobile {
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }
}

/* Tour Virtual - Hover Effect nos Cards */
@media (min-width: 1025px) {
  .tour-virtual-card {
    transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
  }
  
  .tour-virtual-card:hover {
    transform: scale(1.03);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
}


/* ═══════════════════════════════════════════════════════════════════════════
   13. PULSE CTA PREMIUM - Efeito Melhorado
   ═══════════════════════════════════════════════════════════════════════════ */

@keyframes pulse-cta {
  0% {
    transform: scale(1);
    box-shadow: 0 4px 15px rgba(219, 161, 51, 0.4);
  }
  50% {
    transform: scale(1.03);
    box-shadow: 0 8px 30px rgba(219, 161, 51, 0.6), 0 0 20px 8px rgba(219, 161, 51, 0.3);
  }
  100% {
    transform: scale(1);
    box-shadow: 0 4px 15px rgba(219, 161, 51, 0.4);
  }
}

.pulse-cta .elementor-button,
.elementor-button.pulse-cta {
  animation: pulse-cta 2s ease-in-out infinite !important;
}

@keyframes pulse-cta-roxo {
  0% {
    transform: scale(1);
    box-shadow: 0 4px 15px rgba(51, 47, 131, 0.4);
  }
  50% {
    transform: scale(1.03);
    box-shadow: 0 8px 30px rgba(51, 47, 131, 0.6), 0 0 20px 8px rgba(51, 47, 131, 0.3);
  }
  100% {
    transform: scale(1);
    box-shadow: 0 4px 15px rgba(51, 47, 131, 0.4);
  }
}

.pulse-cta-roxo .elementor-button,
.elementor-button.pulse-cta-roxo {
  animation: pulse-cta-roxo 2s ease-in-out infinite !important;
}


/* ═══════════════════════════════════════════════════════════════════════════
   14. BLOG POST GRID - SHINE EFFECT
   ═══════════════════════════════════════════════════════════════════════════ */

@keyframes blogShine {
  0% { left: -100%; }
  100% { left: 100%; }
}

.ha-pg-readmore a::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 50% !important;
  height: 100% !important;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent) !important;
  z-index: 100 !important;
}

.ha-pg-readmore a:hover::before {
  animation: blogShine 0.6s ease-out !important;
}


/* ═══════════════════════════════════════════════════════════════════════════
   15. OVERFLOW & ZOOM PREVENTION (CORRIGIDO)
   ═══════════════════════════════════════════════════════════════════════════ */

/* Prevenir overflow horizontal - SÓ no wrapper principal */
html, body {
  overflow-x: hidden !important;
}

/* Desabilitar zoom no mobile */
@media (max-width: 1024px) {
  html {
    touch-action: pan-x pan-y !important;
    -ms-touch-action: pan-x pan-y !important;
  }
  
  body {
    touch-action: pan-x pan-y !important;
    -ms-touch-action: pan-x pan-y !important;
  }
  
  * {
    -webkit-text-size-adjust: 100% !important;
    -ms-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }
}

/* ========================================
   MOSTRA ELEMENTOS NO EDITOR DO ELEMENTOR
   (Evita que fiquem invisíveis durante edição)
   ======================================== */

.elementor-editor-active .scroll-animate,
.elementor-editor-active .scroll-up,
.elementor-editor-active .scroll-left,
.elementor-editor-active .scroll-right,
.elementor-editor-active .scroll-scale,
.elementor-editor-active .fade-in,
.elementor-editor-active .fade-in-up,
.elementor-editor-active .fade-in-down,
.elementor-editor-active .fade-in-delay-1,
.elementor-editor-active .fade-in-delay-2,
.elementor-editor-active .fade-in-delay-3,
.elementor-editor-active .fade-in-up-delay-1,
.elementor-editor-active .fade-in-up-delay-2,
.elementor-editor-active .fade-in-up-delay-3,
.elementor-editor-active .slide-in-left,
.elementor-editor-active .slide-in-right,
.elementor-editor-active .scale-in,
.elementor-editor-active .blur-in,
.elementor-editor-active [class*="scroll-"],
.elementor-editor-active [class*="fade-in"],
.elementor-editor-active [class*="slide-in"] {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  animation: none !important;
  visibility: visible !important;
}

/* Mostra elementos no editor do Elementor */
.elementor-editor-active .scroll-animate,
.elementor-editor-active .scroll-up,
.elementor-editor-active .scroll-left,
.elementor-editor-active .scroll-right,
.elementor-editor-active .scroll-scale {
  opacity: 1 !important;
  transform: none !important;
}


/* ═══════════════════════════════════════════════════════════════════════════
   16. FORMULÁRIO FALE CONOSCO - COLÉGIO OSHIMAN
   ═══════════════════════════════════════════════════════════════════════════ */

/* Container do Formulário */
.elementor-form {
    max-width: 800px;
    margin: 0 auto;
}

/* Labels dos Campos */
.elementor-field-label {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: var(--oshiman-roxo, #332f83) !important;
    margin-bottom: 8px !important;
    display: block;
}

/* Campos de Input e Textarea */
body .elementor-field-textual,
html body .elementor-field-textual {
    font-family: 'Poppins', sans-serif !important;
    font-size: 15px !important;
    color: #333333 !important;
    background-color: #ffffff !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 12px !important;
    padding: 14px 18px !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02) !important;
}

/* Placeholder */
.elementor-field-textual::placeholder {
    color: #999999 !important;
    font-weight: 400 !important;
}

/* Focus State - Destaque Amarelo */
body .elementor-field-textual:focus,
html body .elementor-field-textual:focus {
    border-color: var(--oshiman-amarelo, #dba133) !important;
    box-shadow: 0 0 0 4px rgba(219, 161, 51, 0.15),
                0 4px 12px rgba(219, 161, 51, 0.1) !important;
    outline: none !important;
}

/* Hover State - Amarelo suave */
body .elementor-field-textual:hover:not(:focus),
html body .elementor-field-textual:hover:not(:focus) {
    border-color: rgba(219, 161, 51, 0.5) !important;
}

/* Textarea Específico */
.elementor-field-type-textarea .elementor-field-textual {
    min-height: 150px !important;
    resize: vertical;
}

/* Botão do Formulário - Completo com Pulse */
.elementor-form .elementor-button {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    background-color: var(--oshiman-amarelo, #dba133) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 25px !important;
    padding: 16px 40px !important;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    animation: pulse-amarelo 2s infinite;
}

.elementor-form .elementor-button:hover {
    background-color: #c4912d !important;
    transform: translateY(-2px) !important;
    animation: none;
    box-shadow: 0 6px 20px rgba(219, 161, 51, 0.4) !important;
}

@keyframes pulse-amarelo {
    0% {
        box-shadow: 0 0 0 0 rgba(219, 161, 51, 0.5);
    }
    70% {
        box-shadow: 0 0 0 15px rgba(219, 161, 51, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(219, 161, 51, 0);
    }
}

/* CAMPOS OBRIGATÓRIOS - Asterisco */
.elementor-mark-required .elementor-field-label:after {
    content: " *";
    color: var(--oshiman-amarelo, #dba133) !important;
    font-weight: 700;
}

/* MENSAGENS DE VALIDAÇÃO */
.elementor-message {
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    padding: 15px 20px !important;
    border-radius: 10px !important;
    margin-top: 20px !important;
}

/* Mensagem de Sucesso */
.elementor-message-success {
    background-color: #e8f5e9 !important;
    color: #2e7d32 !important;
    border: 1px solid #a5d6a7 !important;
}

/* Mensagem de Erro */
.elementor-message-danger {
    background-color: #ffebee !important;
    color: #c62828 !important;
    border: 1px solid #ef9a9a !important;
}

/* Erro em campo específico */
.elementor-error .elementor-field-textual {
    border-color: #e53935 !important;
    box-shadow: 0 0 0 3px rgba(229, 57, 53, 0.1) !important;
}

/* ESPAÇAMENTO ENTRE CAMPOS */
.elementor-form .elementor-field-group {
    margin-bottom: 20px !important;
}

/* SELECT / DROPDOWN - Remove TODAS as setas primeiro */
.elementor-select-wrapper::before,
.elementor-select-wrapper::after,
.elementor-field-type-select::before,
.elementor-field-type-select::after {
    display: none !important;
    content: none !important;
    background: none !important;
}

/* Estiliza o select */
.elementor-field-type-select select,
.elementor-field-type-select .elementor-field-textual {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: none !important;
    font-weight: 600 !important;
    color: var(--oshiman-roxo, #332f83) !important;
    padding-right: 45px !important;
}

/* Seta amarela única no wrapper */
.elementor-select-wrapper {
    position: relative !important;
    background: none !important;
}

.elementor-select-wrapper::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    right: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 6px solid transparent !important;
    border-right: 6px solid transparent !important;
    border-top: 8px solid var(--oshiman-amarelo, #dba133) !important;
    pointer-events: none !important;
}

/* CHECKBOX E RADIO */
.elementor-field-type-checkbox input[type="checkbox"],
.elementor-field-type-radio input[type="radio"] {
    accent-color: var(--oshiman-amarelo, #dba133) !important;
    width: 18px !important;
    height: 18px !important;
    cursor: pointer;
}

.elementor-field-subgroup label {
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    color: #333333 !important;
    cursor: pointer;
}

/* RESPONSIVO - MOBILE */
@media (max-width: 768px) {
    .elementor-field-textual {
        padding: 12px 15px !important;
        font-size: 16px !important;
    }
    
    .elementor-form .elementor-button {
        width: 100% !important;
        padding: 16px 30px !important;
    }
    
    .elementor-field-type-textarea .elementor-field-textual {
        min-height: 120px !important;
    }
}

/* Esconde a seta nativa do Elementor */
.select-caret-down-wrapper {
    display: none !important;
}

/* FEEDBACK VISUAL - CAMPO PREENCHIDO */
body .elementor-field-textual:not(:placeholder-shown),
html body .elementor-field-textual:not(:placeholder-shown) {
    border-color: var(--oshiman-amarelo, #dba133) !important;
    background-color: #fffdf8 !important;
    font-weight: 500 !important;
}

/* Hover em campo já preenchido */
body .elementor-field-textual:not(:placeholder-shown):hover:not(:focus),
html body .elementor-field-textual:not(:placeholder-shown):hover:not(:focus) {
    border-color: var(--oshiman-amarelo, #dba133) !important;
    box-shadow: 0 0 0 2px rgba(219, 161, 51, 0.1) !important;
}

/* SELECT - Estado inicial CINZA */
.elementor-field-type-select select,
.elementor-field-type-select select.elementor-field-textual,
.elementor-field-type-select .elementor-field-textual {
    border-color: #e0e0e0 !important;
    color: #999999 !important;
    font-weight: 400 !important;
    background-color: #ffffff !important;
}

/* SELECT - Hover */
.elementor-field-type-select select:hover,
.elementor-field-type-select .elementor-field-textual:hover {
    border-color: rgba(219, 161, 51, 0.5) !important;
}

/* SELECT - Quando selecionado */
.elementor-field-type-select select.selected,
.elementor-field-type-select.field-selected select,
.elementor-field-type-select.field-selected .elementor-field-textual {
    border-color: var(--oshiman-amarelo, #dba133) !important;
    background-color: #fffdf8 !important;
    font-weight: 600 !important;
    color: var(--oshiman-roxo, #332f83) !important;
}

/* Garante que SELECT não pega o estilo genérico de preenchido */
.elementor-field-type-select .elementor-field-textual:not(:placeholder-shown) {
    border-color: #e0e0e0 !important;
    background-color: #ffffff !important;
    color: #999999 !important;
    font-weight: 400 !important;
}

/* Sobrescreve quando TEM a classe field-selected */
.elementor-field-type-select.field-selected .elementor-field-textual:not(:placeholder-shown) {
    border-color: var(--oshiman-amarelo, #dba133) !important;
    background-color: #fffdf8 !important;
    font-weight: 600 !important;
    color: var(--oshiman-roxo, #332f83) !important;
}

/* BOTÃO - ESTADO DINÂMICO (CINZA → AMARELO) */
.elementor-form .elementor-button {
    background-color: #cccccc !important;
    cursor: not-allowed;
    animation: none !important;
    box-shadow: none !important;
}

/* Estado ativo - Amarelo com Pulse */
.elementor-form.form-valid .elementor-button {
    background-color: var(--oshiman-amarelo, #dba133) !important;
    cursor: pointer;
    animation: pulse-amarelo 2s infinite !important;
}

.elementor-form.form-valid .elementor-button:hover {
    background-color: #c4912d !important;
    transform: translateY(-2px) !important;
    animation: none !important;
    box-shadow: 0 6px 20px rgba(219, 161, 51, 0.4) !important;
}

/* Placeholder do Select */
.elementor-field-type-select select option:first-child {
    color: #999999 !important;
}

/* Esconde o placeholder quando dropdown abre */
.elementor-field-type-select select option[value=""] {
    display: none;
}


/* ═══════════════════════════════════════════════════════════════════════════
   17. PATTERNS & BACKGROUNDS DECORATIVOS
   ═══════════════════════════════════════════════════════════════════════════ */

/* Pattern de Pontos */
.bg-dots {
    background-image: radial-gradient(circle, rgba(51, 47, 131, 0.1) 1px, transparent 1px) !important;
    background-size: 20px 20px !important;
}

.bg-dots-light {
    background-image: radial-gradient(circle, rgba(255, 255, 255, 0.3) 1px, transparent 1px) !important;
    background-size: 20px 20px !important;
}

/* Pattern de Linhas Diagonais */
.bg-diagonal {
    background-image: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 10px,
        rgba(51, 47, 131, 0.03) 10px,
        rgba(51, 47, 131, 0.03) 20px
    ) !important;
}

.bg-diagonal-light {
    background-image: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 10px,
        rgba(255, 255, 255, 0.1) 10px,
        rgba(255, 255, 255, 0.1) 20px
    ) !important;
}

/* Pattern de Grade/Grid */
.bg-grid {
    background-image: 
        linear-gradient(rgba(51, 47, 131, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(51, 47, 131, 0.05) 1px, transparent 1px) !important;
    background-size: 30px 30px !important;
}

.bg-grid-light {
    background-image: 
        linear-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.1) 1px, transparent 1px) !important;
    background-size: 30px 30px !important;
}

/* Pattern Japonês - Seigaiha (Ondas) */
.bg-seigaiha {
    background-color: #f5f5f5;
    background-image: 
        radial-gradient(circle at 100% 150%, #f5f5f5 24%, rgba(51, 47, 131, 0.1) 24%, rgba(51, 47, 131, 0.1) 28%, transparent 28%, transparent),
        radial-gradient(circle at 0% 150%, #f5f5f5 24%, rgba(51, 47, 131, 0.1) 24%, rgba(51, 47, 131, 0.1) 28%, transparent 28%, transparent),
        radial-gradient(circle at 50% 100%, rgba(51, 47, 131, 0.1) 10%, #f5f5f5 10%, #f5f5f5 23%, rgba(51, 47, 131, 0.1) 23%, rgba(51, 47, 131, 0.1) 30%, #f5f5f5 30%, #f5f5f5 43%, rgba(51, 47, 131, 0.1) 43%, rgba(51, 47, 131, 0.1) 50%, #f5f5f5 50%, #f5f5f5 63%, rgba(51, 47, 131, 0.1) 63%, rgba(51, 47, 131, 0.1) 71%, transparent 71%, transparent),
        radial-gradient(circle at 100% 50%, rgba(51, 47, 131, 0.1) 5%, #f5f5f5 5%, #f5f5f5 15%, rgba(51, 47, 131, 0.1) 15%, rgba(51, 47, 131, 0.1) 20%, #f5f5f5 20%, #f5f5f5 29%, rgba(51, 47, 131, 0.1) 29%, rgba(51, 47, 131, 0.1) 34%, #f5f5f5 34%, #f5f5f5 44%, rgba(51, 47, 131, 0.1) 44%, rgba(51, 47, 131, 0.1) 49%, transparent 49%, transparent),
        radial-gradient(circle at 0% 50%, rgba(51, 47, 131, 0.1) 5%, #f5f5f5 5%, #f5f5f5 15%, rgba(51, 47, 131, 0.1) 15%, rgba(51, 47, 131, 0.1) 20%, #f5f5f5 20%, #f5f5f5 29%, rgba(51, 47, 131, 0.1) 29%, rgba(51, 47, 131, 0.1) 34%, #f5f5f5 34%, #f5f5f5 44%, rgba(51, 47, 131, 0.1) 44%, rgba(51, 47, 131, 0.1) 49%, transparent 49%, transparent) !important;
    background-size: 60px 30px !important;
}

/* Pattern Hexagonal */
.bg-hexagon {
    background-color: #f5f5f5;
    background-image: 
        linear-gradient(30deg, rgba(51, 47, 131, 0.05) 12%, transparent 12.5%, transparent 87%, rgba(51, 47, 131, 0.05) 87.5%, rgba(51, 47, 131, 0.05)),
        linear-gradient(150deg, rgba(51, 47, 131, 0.05) 12%, transparent 12.5%, transparent 87%, rgba(51, 47, 131, 0.05) 87.5%, rgba(51, 47, 131, 0.05)),
        linear-gradient(30deg, rgba(51, 47, 131, 0.05) 12%, transparent 12.5%, transparent 87%, rgba(51, 47, 131, 0.05) 87.5%, rgba(51, 47, 131, 0.05)),
        linear-gradient(150deg, rgba(51, 47, 131, 0.05) 12%, transparent 12.5%, transparent 87%, rgba(51, 47, 131, 0.05) 87.5%, rgba(51, 47, 131, 0.05)),
        linear-gradient(60deg, rgba(219, 161, 51, 0.05) 25%, transparent 25.5%, transparent 75%, rgba(219, 161, 51, 0.05) 75%, rgba(219, 161, 51, 0.05)),
        linear-gradient(60deg, rgba(219, 161, 51, 0.05) 25%, transparent 25.5%, transparent 75%, rgba(219, 161, 51, 0.05) 75%, rgba(219, 161, 51, 0.05)) !important;
    background-size: 40px 70px !important;
    background-position: 0 0, 0 0, 20px 35px, 20px 35px, 0 0, 20px 35px !important;
}

/* Noise/Textura Sutil */
.bg-noise {
    position: relative;
}
.bg-noise::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
    opacity: 0.03;
    pointer-events: none;
    z-index: 1;
}
.bg-noise > * {
    position: relative;
    z-index: 2;
}

/* Gradiente Roxo Suave */
.bg-gradient-roxo {
    background: linear-gradient(135deg, rgba(51, 47, 131, 0.05) 0%, rgba(51, 47, 131, 0.1) 100%) !important;
}

/* Gradiente Amarelo Suave */
.bg-gradient-amarelo {
    background: linear-gradient(135deg, rgba(219, 161, 51, 0.05) 0%, rgba(219, 161, 51, 0.15) 100%) !important;
}

/* Gradiente Diagonal Oshiman */
.bg-gradient-oshiman {
    background: linear-gradient(135deg, rgba(51, 47, 131, 0.08) 0%, rgba(219, 161, 51, 0.08) 100%) !important;
}

/* Círculos Decorativos */
.bg-circles {
    position: relative;
    overflow: hidden;
}
.bg-circles::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(219, 161, 51, 0.1) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
.bg-circles::after {
    content: '';
    position: absolute;
    bottom: -30%;
    left: -10%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(51, 47, 131, 0.08) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
.bg-circles > * {
    position: relative;
    z-index: 2;
}

/* Ondas no Topo */
.bg-wave-top {
    position: relative;
}
.bg-wave-top::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 80px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80'%3E%3Cpath fill='%23ffffff' d='M0,32L48,37.3C96,43,192,53,288,58.7C384,64,480,64,576,58.7C672,53,768,43,864,42.7C960,43,1056,53,1152,53.3C1248,53,1344,43,1392,37.3L1440,32L1440,0L1392,0C1344,0,1248,0,1152,0C1056,0,960,0,864,0C768,0,672,0,576,0C480,0,384,0,288,0C192,0,96,0,48,0L0,0Z'%3E%3C/path%3E%3C/svg%3E") no-repeat;
    background-size: cover;
    pointer-events: none;
}

/* Ondas no Bottom */
.bg-wave-bottom {
    position: relative;
}
.bg-wave-bottom::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 80px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80'%3E%3Cpath fill='%23ffffff' d='M0,32L48,37.3C96,43,192,53,288,58.7C384,64,480,64,576,58.7C672,53,768,43,864,42.7C960,43,1056,53,1152,53.3C1248,53,1344,43,1392,37.3L1440,32L1440,80L1392,80C1344,80,1248,80,1152,80C1056,80,960,80,864,80C768,80,672,80,576,80C480,80,384,80,288,80C192,80,96,80,48,80L0,80Z'%3E%3C/path%3E%3C/svg%3E") no-repeat;
    background-size: cover;
    pointer-events: none;
}





/* ═══════════════════════════════════════════════════════════════════════════
   19. BANNER SOBRE - RESPONSIVO MOBILE
   ═══════════════════════════════════════════════════════════════════════════ */

@media (max-width: 767px) {
  /* REMOVE o pseudo-elemento */
  .banner-sobre-container::before,
  body .banner-sobre-container::before {
    display: none !important;
    content: none !important;
    height: 0 !important;
  }
  
  /* Container externo - IMAGEM COBRE TUDO */
  .banner-sobre-container,
  body .banner-sobre-container {
    min-height: 70vh !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 0 !important;
    background-size: cover !important;
  }
  
  /* Caixa roxa */
  .banner-sobre-box,
  body .banner-sobre-box {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 25px 20px !important;
    border-radius: 0 !important;
    background-color: #332f83 !important;
  }
  
  /* Título AMARELO */
  .banner-sobre-box .elementor-heading-title,
  body .banner-sobre-box .elementor-heading-title {
    font-size: 28px !important;
    color: #dba133 !important;
    margin: 0 !important;
  }
  
  /* Widget do título */
  .banner-sobre-box .elementor-widget-heading {
    margin: 0 0 0px 0 !important;
  }
  
  /* Texto branco */
  .banner-sobre-box p,
  .banner-sobre-box .elementor-text-editor,
  .banner-sobre-box .elementor-text-editor p,
  body .banner-sobre-box p,
  body .banner-sobre-box .elementor-text-editor p {
    font-size: 14px !important;
    color: #ffffff !important;
    margin: 0 !important;
  }
  
  /* Widget do texto */
  .banner-sobre-box .elementor-widget-text-editor {
    margin: 0 !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════════════
   20. PÁGINA SOBRE - 28 ANOS (Classes específicas)
   ═══════════════════════════════════════════════════════════════════════════ */

/* Hero - Box branco */
.hero-content-box {
  position: relative;
  z-index: 2;
}

/* Filosofia - Box amarelo com decoração */
.filosofia-box-amarelo {
  position: relative;
  overflow: hidden;
}
.filosofia-box-amarelo::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 150px;
  height: 150px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  transform: translate(30%, -30%);
}
.filosofia-box-amarelo::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100px;
  height: 100px;
  background: rgba(51, 47, 131, 0.1);
  border-radius: 50%;
  transform: translate(-30%, 30%);
}

/* Menu lateral - Mais do Oshiman */
.mais-oshiman-menu-box {
  position: sticky;
  top: 100px;
}
@media (max-width: 1024px) {
  .mais-oshiman-menu-box {
    position: relative;
    top: 0;
  }
}

.menu-lateral-mais-oshiman .elementor-icon-list-item {
  padding: 12px 0;
  border-bottom: 1px solid rgba(51, 47, 131, 0.1);
  transition: var(--trans);
  cursor: pointer;
}
.menu-lateral-mais-oshiman .elementor-icon-list-item:last-child {
  border-bottom: none;
}
.menu-lateral-mais-oshiman .elementor-icon-list-item:hover {
  padding-left: 10px;
}
.menu-lateral-mais-oshiman .elementor-icon-list-item:hover .elementor-icon-list-text {
  color: var(--roxo) !important;
  font-weight: 600;
}
.menu-lateral-mais-oshiman .elementor-icon-list-item.active {
  padding-left: 15px;
  border-left: 3px solid var(--amarelo);
  background: rgba(219, 161, 51, 0.05);
}

/* Diferenciais - Box roxo */
.diferenciais-box-roxo {
  position: relative;
  overflow: hidden;
}
.diferenciais-box-roxo::before {
  content: '';
  position: absolute;
  bottom: -50px;
  right: -50px;
  width: 200px;
  height: 200px;
  background: rgba(219, 161, 51, 0.15);
  border-radius: 50%;
}

/* Diferenciais - Cards */
.diferencial-card {
  transition: var(--trans);
}
.diferencial-card:hover {
  transform: translateX(5px);
  box-shadow: var(--shadow-md) !important;
}
.diferencial-card:hover .elementor-icon {
  transform: scale(1.1);
}
.diferencial-card .elementor-icon {
  transition: var(--trans);
}

/* Educador - Perfil card */
.educador-perfil-card {
  transition: var(--trans);
}
.educador-perfil-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-lg) !important;
}
.educador-perfil-card .elementor-image img {
  transition: var(--trans);
}
.educador-perfil-card:hover .elementor-image img {
  transform: scale(1.05);
}/* End custom CSS */