/* =========================================================
   Área do Aluno — refinamento sobre Elementor + tokens kk-ui-tokens.
   body.kk-area-do-aluno (slug area-do-aluno)
   ========================================================= */

/* Canvas / body: alinhar fundo ao kit em modo claro */
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno.elementor-page,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno.elementor-template-canvas {
  background-color: hsl(var(--background)) !important;
  color: hsl(var(--foreground)) !important;
}

html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno #main-content,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .site-content,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-location-header,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-location-footer {
  background-color: hsl(var(--background)) !important;
}

/* ----- Hero (secção com .kk-area-hero-enhance no Advanced → CSS Classes) ----- */
body.kk-area-do-aluno .kk-area-hero-enhance {
  position: relative;
  min-height: 614px;
  border-radius: 16px;
  overflow: hidden;
  background-color: hsl(var(--muted));
  background-image: var(--kk-area-hero-image, linear-gradient(135deg, #0da2d0 0%, #0a7da0 100%));
  background-size: cover;
  background-position: center;
}

body.kk-area-do-aluno .kk-area-hero-enhance::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(130deg, rgba(247, 249, 251, 0.92) 38%, rgba(255, 255, 255, 0.2) 68%, rgba(255, 255, 255, 0) 88%);
  z-index: 0;
}

html.kk-site-dark body.kk-area-do-aluno .kk-area-hero-enhance::before,
html.dark body.kk-area-do-aluno .kk-area-hero-enhance::before {
  background-image: linear-gradient(130deg, rgba(12, 14, 18, 0.88) 35%, rgba(12, 14, 18, 0.35) 65%, rgba(12, 14, 18, 0) 90%);
}

body.kk-area-do-aluno .kk-area-hero-enhance > .e-con-inner,
body.kk-area-do-aluno .kk-area-hero-enhance > .elementor-container {
  position: relative;
  z-index: 1;
}

/* Barra / cartão vidro no topo do hero */
body.kk-area-do-aluno .kk-area-hero-enhance .glass-effect,
body.kk-area-do-aluno .glass-effect {
  background: rgba(255, 255, 255, 0.72);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 12px;
  box-shadow: var(--shadow-card, 0 8px 32px -8px rgba(15, 23, 42, 0.08));
}

html.kk-site-dark body.kk-area-do-aluno .glass-effect,
html.dark body.kk-area-do-aluno .glass-effect {
  background: rgba(26, 32, 48, 0.65);
  border-color: rgba(255, 255, 255, 0.08);
}

/* Botão primário reutilizável (classe em botão Elementor) */
body.kk-area-do-aluno .btn-primary.elementor-button,
body.kk-area-do-aluno .elementor-button.btn-primary {
  background: var(--gradient-premium, linear-gradient(135deg, #0da2d0 0%, #0a7da0 100%)) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  box-shadow: var(--shadow-glow, 0 0 40px -10px rgba(13, 162, 208, 0.25));
  font-family: var(--font-heading, "Outfit", sans-serif);
}

body.kk-area-do-aluno .btn-primary.elementor-button:hover,
body.kk-area-do-aluno .elementor-button.btn-primary:hover {
  box-shadow: var(--shadow-hover, 0 16px 48px -12px rgba(15, 23, 42, 0.12));
  filter: brightness(1.03);
}

/* Cartões de loop / carrossel */
body.kk-area-do-aluno .card-premium {
  border-radius: 16px;
  overflow: hidden;
  background: hsl(var(--card));
  box-shadow: var(--shadow-card);
  border: 1px solid hsl(var(--border));
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

body.kk-area-do-aluno .card-premium:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-2px);
}

/* Imagem de fundo do hero (ficheiro no tema) */
body.kk-area-do-aluno .kk-area-hero-enhance {
  --kk-area-hero-image: url("../images/hero-area-aluno.jpg");
}

/* =========================================================
   Light por defeito + dark só com toggle (paridade home-nova-tutoria).
   IDs alinhados à página Elementor em staging (estrutura clonada da home).
   ========================================================= */

/* Body: Elementor injecta #0C0E12 em body.elementor-page-{id} */
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno.elementor-page,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno.elementor-template-canvas {
  background-color: hsl(var(--background)) !important;
  color: hsl(var(--foreground)) !important;
}

html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno.elementor-page > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: hsl(var(--background)) !important;
}

/* Sticky header */
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .scroll-blur.elementor-sticky--effects {
  background: rgba(255, 255, 255, 0.92) !important;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  box-shadow: 0 4px 20px rgba(15, 23, 42, 0.08) !important;
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

/* Hero: overlay claro (substitui gradiente #131212 do post CSS) */
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-7914b90e::before,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-7914b90e > .elementor-background-video-container::before,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-7914b90e > .e-con-inner > .elementor-background-video-container::before,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-7914b90e > .elementor-background-slideshow::before,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-7914b90e > .e-con-inner > .elementor-background-slideshow::before,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-7914b90e > .elementor-motion-effects-container > .elementor-motion-effects-layer::before {
  background-image: linear-gradient(130deg, #f7f9fb 45%, rgba(255, 255, 255, 0.15) 72%, rgba(255, 255, 255, 0) 88%) !important;
}

/* Badge “Bem-vindo…” */
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-23a0706c > .elementor-widget-container {
  background-color: #e0f4fc !important;
  border: 1px solid rgba(13, 162, 208, 0.25);
}

html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-23a0706c .elementor-icon-list-icon i,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-23a0706c .elementor-icon-list-icon svg {
  color: #0da2d0 !important;
  fill: #0da2d0 !important;
}

html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-23a0706c .elementor-icon-list-text,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-23a0706c .elementor-icon-list-item > a {
  color: #0b7fab !important;
}

/* Título + subtítulo hero */
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-6a421ce0 .elementor-heading-title {
  color: #1f2937 !important;
}

html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-76417d7c,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-76417d7c p {
  color: #64748b !important;
}

html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-1cc598a3 .elementor-button {
  background-color: #0da2d0 !important;
  color: #ffffff !important;
}

/* Pills header */
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-2125963c .elementor-button,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-6ad91d23 .elementor-button,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-1866a10a .elementor-button,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-2cd2749 .elementor-button {
  background-color: rgba(241, 245, 249, 0.95) !important;
  color: #1e293b !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
}

/* Secção “meus cursos” / carrossel topo (fundo #0C0E12 no post) */
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-639368de:not(.elementor-motion-effects-element-type-background),
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-639368de > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: #e8ecf1 !important;
}

html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-535518d6 .elementor-heading-title {
  color: #1f2937 !important;
}

/* Visitante: título + texto */
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-35c68704 .elementor-heading-title {
  color: #1f2937 !important;
  text-shadow: none !important;
}

html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-46524a9,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-46524a9 p {
  color: #64748b !important;
}

/* “Cursos livres” */
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-30d57631:not(.elementor-motion-effects-element-type-background),
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-30d57631 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: #e8ecf1 !important;
}

html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-4aa926bd .elementor-heading-title {
  color: #1f2937 !important;
}

/* Cards carrossel (imagens): overlay mais suave em modo claro */
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-5d82e113::before,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-9ff9db1::before,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-77045df::before,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-462c5332::before,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-3f4cc50d::before,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-be3ad30::before,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-55153ccc::before,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-28e0fc09::before,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-87b1f64::before,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-5d82e113 > .elementor-background-video-container::before,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-9ff9db1 > .elementor-background-video-container::before,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-77045df > .elementor-background-video-container::before,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-462c5332 > .elementor-background-video-container::before,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-3f4cc50d > .elementor-background-video-container::before,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-be3ad30 > .elementor-background-video-container::before,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-55153ccc > .elementor-background-video-container::before,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-28e0fc09 > .elementor-background-video-container::before,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-87b1f64 > .elementor-background-video-container::before {
  background-image: linear-gradient(104deg, rgba(15, 23, 42, 0.35) 0%, rgba(15, 23, 42, 0.06) 55%, rgba(255, 255, 255, 0) 100%) !important;
}

/* Títulos brancos sobre imagens dos cards — mantêm branco + sombra */
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-1d782706 .elementor-heading-title,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-7b0f26ee .elementor-heading-title,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-36daef1 .elementor-heading-title,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-152ee2b9 .elementor-heading-title,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-4c8edd6e .elementor-heading-title,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-62f2579c .elementor-heading-title,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-48ab90b2 .elementor-heading-title,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-24b7644b .elementor-heading-title,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-5ef563d4 .elementor-heading-title {
  color: #ffffff !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.55);
}

/* Nested carousel — setas só ícone */
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-widget-n-carousel .elementor-swiper-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
  color: #0da2d0 !important;
}

html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-widget-n-carousel .elementor-swiper-button svg {
  width: 1.35rem !important;
  height: 1.35rem !important;
  fill: currentColor !important;
}

html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-widget-n-carousel .elementor-swiper-button:not(.swiper-button-disabled):hover,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-widget-n-carousel .elementor-swiper-button:not(.swiper-button-disabled):focus {
  background: transparent !important;
  background-color: transparent !important;
  color: #0b7fab !important;
  box-shadow: none !important;
}

html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-widget-n-carousel .elementor-swiper-button.swiper-button-disabled {
  opacity: 0.35 !important;
}

/* Bloco inferior (última reunião / aula ao vivo) */
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-67c0060:not(.elementor-motion-effects-element-type-background),
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-67c0060 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: #e8ecf1 !important;
}

html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-0d9ceee .elementor-heading-title,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-2d862c1 .elementor-heading-title {
  color: #1f2937 !important;
}

html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-98a4cda,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-98a4cda p,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-66443fb,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-66443fb p {
  color: #64748b !important;
}

html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-0485b78 .elementor-button,
html:not(.kk-site-dark):not(.dark) body.kk-area-do-aluno .elementor-element-9b2ac73 .elementor-button {
  background-color: #0da2d0 !important;
  color: #ffffff !important;
}

/* ----- DARK (toggle): canvas + header + secções (tokens) ----- */
html.kk-site-dark body.kk-area-do-aluno.elementor-page,
html.dark body.kk-area-do-aluno.elementor-page,
html.kk-site-dark body.kk-area-do-aluno.elementor-template-canvas,
html.dark body.kk-area-do-aluno.elementor-template-canvas {
  background-color: hsl(var(--background)) !important;
  color: hsl(var(--foreground)) !important;
}

html.kk-site-dark body.kk-area-do-aluno .scroll-blur.elementor-sticky--effects,
html.dark body.kk-area-do-aluno .scroll-blur.elementor-sticky--effects {
  background: rgba(15, 23, 42, 0.72) !important;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35) !important;
  border-bottom: 1px solid hsl(var(--border));
}

html.kk-site-dark body.kk-area-do-aluno .elementor-element-639368de:not(.elementor-motion-effects-element-type-background),
html.dark body.kk-area-do-aluno .elementor-element-639368de:not(.elementor-motion-effects-element-type-background),
html.kk-site-dark body.kk-area-do-aluno .elementor-element-639368de > .elementor-motion-effects-container > .elementor-motion-effects-layer,
html.dark body.kk-area-do-aluno .elementor-element-639368de > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: hsl(var(--card)) !important;
}

html.kk-site-dark body.kk-area-do-aluno .elementor-element-30d57631:not(.elementor-motion-effects-element-type-background),
html.dark body.kk-area-do-aluno .elementor-element-30d57631:not(.elementor-motion-effects-element-type-background),
html.kk-site-dark body.kk-area-do-aluno .elementor-element-30d57631 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
html.dark body.kk-area-do-aluno .elementor-element-30d57631 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: hsl(var(--card-hover)) !important;
}

html.kk-site-dark body.kk-area-do-aluno .elementor-element-535518d6 .elementor-heading-title,
html.dark body.kk-area-do-aluno .elementor-element-535518d6 .elementor-heading-title,
html.kk-site-dark body.kk-area-do-aluno .elementor-element-4aa926bd .elementor-heading-title,
html.dark body.kk-area-do-aluno .elementor-element-4aa926bd .elementor-heading-title,
html.kk-site-dark body.kk-area-do-aluno .elementor-element-35c68704 .elementor-heading-title,
html.dark body.kk-area-do-aluno .elementor-element-35c68704 .elementor-heading-title {
  color: hsl(var(--foreground)) !important;
}

html.kk-site-dark body.kk-area-do-aluno .elementor-element-46524a9,
html.dark body.kk-area-do-aluno .elementor-element-46524a9,
html.kk-site-dark body.kk-area-do-aluno .elementor-element-46524a9 p,
html.dark body.kk-area-do-aluno .elementor-element-46524a9 p {
  color: hsl(var(--muted-foreground)) !important;
}

html.kk-site-dark body.kk-area-do-aluno .elementor-element-67c0060:not(.elementor-motion-effects-element-type-background),
html.dark body.kk-area-do-aluno .elementor-element-67c0060:not(.elementor-motion-effects-element-type-background),
html.kk-site-dark body.kk-area-do-aluno .elementor-element-67c0060 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
html.dark body.kk-area-do-aluno .elementor-element-67c0060 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: hsl(var(--card-hover)) !important;
}

html.kk-site-dark body.kk-area-do-aluno .elementor-element-0d9ceee .elementor-heading-title,
html.dark body.kk-area-do-aluno .elementor-element-0d9ceee .elementor-heading-title,
html.kk-site-dark body.kk-area-do-aluno .elementor-element-2d862c1 .elementor-heading-title,
html.dark body.kk-area-do-aluno .elementor-element-2d862c1 .elementor-heading-title {
  color: hsl(var(--foreground)) !important;
}

html.kk-site-dark body.kk-area-do-aluno .elementor-element-98a4cda,
html.dark body.kk-area-do-aluno .elementor-element-98a4cda,
html.kk-site-dark body.kk-area-do-aluno .elementor-element-98a4cda p,
html.dark body.kk-area-do-aluno .elementor-element-98a4cda p,
html.kk-site-dark body.kk-area-do-aluno .elementor-element-66443fb,
html.dark body.kk-area-do-aluno .elementor-element-66443fb,
html.kk-site-dark body.kk-area-do-aluno .elementor-element-66443fb p,
html.dark body.kk-area-do-aluno .elementor-element-66443fb p {
  color: hsl(var(--muted-foreground)) !important;
}

html.kk-site-dark body.kk-area-do-aluno .elementor-widget-n-carousel .elementor-swiper-button,
html.dark body.kk-area-do-aluno .elementor-widget-n-carousel .elementor-swiper-button {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  color: hsl(var(--primary)) !important;
}

html.kk-site-dark body.kk-area-do-aluno .elementor-widget-n-carousel .elementor-swiper-button:not(.swiper-button-disabled):hover,
html.dark body.kk-area-do-aluno .elementor-widget-n-carousel .elementor-swiper-button:not(.swiper-button-disabled):hover,
html.kk-site-dark body.kk-area-do-aluno .elementor-widget-n-carousel .elementor-swiper-button:not(.swiper-button-disabled):focus,
html.dark body.kk-area-do-aluno .elementor-widget-n-carousel .elementor-swiper-button:not(.swiper-button-disabled):focus {
  background: transparent !important;
  color: hsl(var(--foreground)) !important;
}

html.kk-site-dark body.kk-area-do-aluno .elementor-element-1cc598a3 .elementor-button,
html.dark body.kk-area-do-aluno .elementor-element-1cc598a3 .elementor-button,
html.kk-site-dark body.kk-area-do-aluno .elementor-element-0485b78 .elementor-button,
html.dark body.kk-area-do-aluno .elementor-element-0485b78 .elementor-button {
  background-color: hsl(var(--primary)) !important;
  color: hsl(var(--primary-foreground)) !important;
}
