/* Lazu Core — CSS base dos Temas Visuais (antes inline em todas as páginas). */
/* ================================
   1. Classes utilitárias
================================ */

body.lazu-theme-active .lz-theme-text {
  color: var(--lz-theme-primary) !important;
}

body.lazu-theme-active .lz-theme-bg-soft {
  background: var(--lz-theme-soft) !important;
}

body.lazu-theme-active .lz-theme-border {
  border-color: var(--lz-theme-primary) !important;
}

body.lazu-theme-active .lz-theme-card {
  border: 1px solid var(--lz-theme-soft);
  box-shadow: 0px 1px 10px 0px rgba(17, 17, 17, 0.05);
  border-radius: 12px;
}

body.lazu-theme-active .lz-theme-button {
  background: var(--lz-theme-primary) !important;
  border-color: var(--lz-theme-primary) !important;
  color: #fff !important;
}

body.lazu-theme-active .lz-theme-button:hover {
  background: var(--lz-theme-secondary) !important;
  border-color: var(--lz-theme-secondary) !important;
  color: #fff !important;
}

body.lazu-theme-active .lz-theme-pill {
  background: var(--lz-theme-soft) !important;
  color: var(--lz-theme-primary) !important;
  border: 1px solid var(--lz-theme-soft);
}

body.lazu-theme-active .lz-theme-icon {
  color: var(--lz-theme-primary) !important;
}

body.lazu-theme-active .lz-theme-outline-button {
  background: transparent !important;
  color: var(--lz-theme-primary) !important;
  border: 1px solid var(--lz-theme-primary) !important;
}

body.lazu-theme-active .lz-theme-outline-button:hover {
  background: var(--lz-theme-soft) !important;
  color: var(--lz-theme-primary) !important;
}

/* ================================
   2. Áreas principais
================================ */

body.lazu-theme-active,
body.lazu-theme-active .elementor-element.elementor-element-de5ba0f.e-grid.e-con-boxed.e-con.e-parent.e-lazyloaded,
body.lazu-theme-active .topo_lazu,
body.lazu-theme-active .lazu-topbar,
body.lazu-theme-active .lz-chip span,
body.lazu-theme-active .lz-tab.is-active,
body.lazu-theme-active button#lzTurmaFab,
body.lazu-theme-active .lazu-search,
body.lazu-theme-active .elementor-element.elementor-element-9bccebd.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded {
  background-color: var(--lz-theme-primary) !important;
}
	
	.lazu-sidebar,
	.lazu-sidebar__footer  {
  background: var(--lz-theme-primary);
}
	 

body.lazu-theme-active button#qe-buscar {
  background-color: var(--lz-theme-primary) !important;
  border-color: var(--lz-theme-primary) !important;
}

body.lazu-theme-active .qe-row-value {
  color: var(--lz-theme-primary) !important;
}

body.lazu-theme-active .lz-tabs,
body.lazu-theme-active .lz-chipset button.is-active,
body.lazu-theme-active button.re-item:hover {
  background: var(--lz-theme-soft) !important;
}

body.lazu-theme-active button.lz-btn:hover,
body.lazu-theme-active button.re-step.is-active,
body.lazu-theme-active .re-chipfilter.is-active,
body.lazu-theme-active .re-btn--primary {
  background: var(--lz-theme-secondary) !important;
}

body.lazu-theme-active .lz-subjectRing,
body.lazu-theme-active .qe-btn.qe-btn--primary,
body.lazu-theme-active .elementor-button-text {
  --purple: var(--lz-theme-primary) !important;
}

body.lazu-theme-active .lz-subjectRing {
  --ringBg: var(--lz-theme-soft) !important;
}

body.lazu-theme-active .lz-qc-icon {
  background: var(--lz-theme-soft) !important;
}

body.lazu-theme-active .elementor-14 .elementor-element.elementor-element-4763dd9 .uc_details-icon svg,
body.lazu-theme-active .elementor-14 .elementor-element.elementor-element-4763dd9 .uc_details-icon svg * {
  fill: var(--lz-theme-primary) !important;
}

/* ================================
   3. Avatar do usuário
================================ */

body.lazu-theme-active .lazu-avatarui {
  background: var(--lz-theme-secondary) !important;
}

body.lazu-theme-active.lazu-theme-has-icon .lazu-avatarui {
  background: var(--lz-theme-primary) !important;
  border: 1px solid rgba(255, 255, 255, .35);
}

body.lazu-theme-active.lazu-theme-has-icon .lazu-avatarui .lazu-avatarimg {
  display: none !important;
}

body.lazu-theme-active.lazu-theme-has-icon .lazu-avatarui .lazu-initials {
  font-size: 0 !important;
  color: transparent !important;
  width: 100%;
  height: 100%;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

body.lazu-theme-active.lazu-theme-has-icon .lazu-avatarui .lazu-initials::before {
  content: "";
  width: 18px;
  height: 18px;
  display: block;
  background: #fff;
  -webkit-mask: var(--lz-theme-icon-url) center / contain no-repeat;
  mask: var(--lz-theme-icon-url) center / contain no-repeat;
}

/* ================================
   4. Loading
================================ */

body.lazu-theme-active .lz-lottie-loader {
  background: var(--lz-theme-primary) !important;
  border: 1px solid rgba(255, 255, 255, .35);
}

body.lazu-theme-active .lz-spinner,
body.lazu-theme-active .lazu-spinner,
body.lazu-theme-active .loading-spinner,
body.lazu-theme-active .lz-loader,
body.lazu-theme-active .lazu-loader {
  border-color: var(--lz-theme-soft) !important;
  border-top-color: var(--lz-theme-primary) !important;
}

body.lazu-theme-active .lz-loading-dot,
body.lazu-theme-active .lazu-loading-dot,
body.lazu-theme-active .loading-dot {
  background: var(--lz-theme-primary) !important;
}

/* ================================
   5. Ilustração principal
================================ */

body.lazu-theme-active.lazu-theme-has-main-illustration .elementor-14 .elementor-element.elementor-element-0324195::before,
body.lazu-theme-active.lazu-theme-has-main-illustration .elementor-14 .elementor-element.elementor-element-0324195 > .elementor-background-video-container::before,
body.lazu-theme-active.lazu-theme-has-main-illustration .elementor-14 .elementor-element.elementor-element-0324195 > .e-con-inner > .elementor-background-video-container::before,
body.lazu-theme-active.lazu-theme-has-main-illustration .elementor-14 .elementor-element.elementor-element-0324195 > .elementor-background-slideshow::before,
body.lazu-theme-active.lazu-theme-has-main-illustration .elementor-14 .elementor-element.elementor-element-0324195 > .e-con-inner > .elementor-background-slideshow::before,
body.lazu-theme-active.lazu-theme-has-main-illustration .elementor-14 .elementor-element.elementor-element-0324195 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before {
  background-image: var(--lz-theme-main-illustration) !important;
}

/* ================================
   6. Fundo decorativo
================================ */

body.lazu-theme-active.lazu-theme-has-decorative-bg .topo_lazu.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded {
  background-image: var(--lz-theme-decorative-bg) !important;
  background-position: top center !important;
  background-attachment: fixed !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
}

/* ================================
   7. Menu mobile inferior
================================ */

body.lazu-theme-active .lazu-bottombar li.is-active a::before,
body.lazu-theme-active .lazu-bottombar a.is-active::before,
body.lazu-theme-active .lazu-bottombar li.current-menu-item a::before,
body.lazu-theme-active .lazu-bottombar a[aria-current="page"]::before {
  background: var(--lz-theme-soft) !important;
  border-color: var(--lz-theme-primary) !important;
}
		   /* Ícones Lottie das matérias — versão mais segura */
body.lazu-theme-active .lz-iconCircle {
  background: var(--lz-theme-soft) !important;
}

body.lazu-theme-active .lz-lottie svg *,
body.lazu-theme-active .lz-lottie svg path,
body.lazu-theme-active .lz-lottie svg rect,
body.lazu-theme-active .lz-lottie svg circle,
body.lazu-theme-active .lz-lottie svg ellipse,
body.lazu-theme-active .lz-lottie svg polygon,
body.lazu-theme-active .lz-lottie svg polyline {
  fill: var(--lz-theme-primary) !important;
}
		   /* ================================
   Ícones dos capítulos de questões
================================ */

body.lazu-theme-active .lz-qc-icon {
  background: var(--lz-theme-soft) !important;
  position: relative;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.lazu-theme-active .lz-qc-icon img {
  opacity: 0 !important;
  width: 28px;
  height: 28px;
}

body.lazu-theme-active .lz-qc-icon::before {
  content: "";
  width: 28px;
  height: 28px;
  display: block;
  background: var(--lz-theme-primary) !important;

  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);

  -webkit-mask: var(--lz-qc-icon-mask) center / contain no-repeat;
  mask: var(--lz-qc-icon-mask) center / contain no-repeat;
}
