/* Fourclass — área do aluno estilo streaming: barra no topo, menu recolhido, banner de ponta a ponta e fileiras. */

.fc-nx { --nx-g: clamp(16px, 4vw, 60px); background: var(--fc-bg); }

/* ============ Barra do topo ============ */
.fc-nx-top {
  position: fixed; top: 0; left: 0; right: 0; z-index: 60; height: var(--fc-topbar);
  display: flex; align-items: center; gap: var(--fc-s3); padding: 0 calc(var(--nx-g) - 8px);
  background: rgba(18, 25, 35, 0.92); backdrop-filter: saturate(160%) blur(16px); -webkit-backdrop-filter: saturate(160%) blur(16px);
  border-bottom: 0; box-shadow: inset 0 -1px 0 var(--fc-border); background-repeat: no-repeat; transition: background var(--fc-mid) var(--fc-ease), box-shadow var(--fc-mid);
}
.fc-nx--cheia .fc-nx-top:not(.is-solid) { background: linear-gradient(180deg, rgba(18, 25, 35, 0.85), rgba(18, 25, 35, 0)); box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
.fc-nx-top__logo { display: flex; align-items: center; margin-left: 4px; }
.fc-nx-top__logo img { height: 26px; width: auto; flex: none; object-fit: contain; }
.fc-nx-top__acoes { margin-left: auto; display: flex; align-items: center; gap: 4px; }
.fc-nx-top .fc-btn--ghost { color: var(--fc-text); }

/* ============ Menu recolhido (gaveta) ============ */
.fc-nx-veu { position: fixed; inset: 0; z-index: 70; background: var(--fc-overlay); opacity: 0; pointer-events: none; transition: opacity var(--fc-mid) var(--fc-ease); }
.fc-nx-menu {
  position: fixed; top: 0; bottom: 0; left: 0; z-index: 71; width: min(300px, 86vw); display: flex; flex-direction: column; gap: var(--fc-s4);
  padding: var(--fc-s4) var(--fc-s4) var(--fc-s5); background: var(--fc-surface); border-right: 1px solid var(--fc-border-2); box-shadow: var(--fc-shadow-modal);
  transform: translateX(-102%); visibility: hidden; transition: transform var(--fc-slow) var(--fc-ease), visibility 0s linear var(--fc-slow); overflow-y: auto;
}
.fc-nx-menu__head { display: flex; align-items: center; justify-content: space-between; padding: 4px 4px 4px 8px; min-height: 40px; }
.fc-nx-menu__head img { height: 24px; width: auto; object-fit: contain; }
.fc-nx-menu .fc-nav { flex: 1; }
.fc-nx-menu__sair { color: var(--fc-text-2); }
.fc-nx-menu__sair:hover { color: var(--fc-danger); }
.is-menu .fc-nx-veu { opacity: 1; pointer-events: auto; }
.is-menu .fc-nx-menu { transform: none; visibility: visible; transition: transform var(--fc-slow) var(--fc-ease), visibility 0s; }
.is-menu { overflow: hidden; }

/* ============ Conteúdo ============ */
.fc-nx-main { width: 100%; max-width: calc(var(--fc-container) + 2 * var(--nx-g)); margin: 0 auto; padding: calc(var(--fc-topbar) + var(--fc-s6)) var(--nx-g) var(--fc-s9); }
.fc-nx--cheia .fc-nx-main { max-width: none; padding: 0 0 var(--fc-s9); }
@media (max-width: 1023px) { .fc-nx-main { padding-top: calc(var(--fc-topbar) + var(--fc-s5)); } }

/* ============ Banner de ponta a ponta ============ */
.fc-nx-hero { position: relative; height: clamp(380px, 58vh, 620px); overflow: hidden; isolation: isolate; background: var(--fc-sunken); }
.fc-nx-hero--curso { height: clamp(380px, 54vh, 560px); }
.fc-nx-hero__slide { position: absolute; inset: 0; display: flex; align-items: center; opacity: 0; visibility: hidden; transition: opacity 700ms var(--fc-ease), visibility 0s linear 700ms; }
.fc-nx-hero__slide.is-active { opacity: 1; visibility: visible; transition: opacity 700ms var(--fc-ease); }
.fc-nx-hero__bg { position: absolute; inset: 0; z-index: -2; }
.fc-nx-hero__bg img, .fc-nx-hero__bg picture { width: 100%; height: 100%; object-fit: cover; object-position: 70% center; display: block; }
.fc-nx-hero__slide::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(90deg, rgba(18, 25, 35, 0.95) 0%, rgba(18, 25, 35, 0.7) 32%, rgba(18, 25, 35, 0) 62%), linear-gradient(0deg, var(--fc-bg) 0%, rgba(18, 25, 35, 0) 32%);
}
/* Banner só com arte (texto já na imagem): sem escurecer a lateral */
.fc-nx-hero__slide:has(.is-arte)::after { background: linear-gradient(0deg, var(--fc-bg) 0%, rgba(18, 25, 35, 0) 28%), linear-gradient(180deg, rgba(18, 25, 35, 0.55) 0%, rgba(18, 25, 35, 0) 22%); }
.fc-nx-hero__link { position: absolute; inset: 0; z-index: 1; }
.fc-nx-hero__content { display: flex; flex-direction: column; align-items: flex-start; gap: var(--fc-s4); width: min(620px, 100%); padding: var(--fc-topbar) var(--nx-g) 96px; }
.fc-nx-hero__content--rodape { align-self: flex-end; gap: var(--fc-s3); padding-bottom: 110px; }
.fc-nx-hero__content--rodape .fc-nx-hero__text { color: var(--fc-text); font-weight: 500; text-shadow: 0 1px 12px rgba(0, 0, 0, 0.6); }
.fc-nx-hero--curso .fc-nx-hero__content { width: min(700px, 100%); padding-bottom: 72px; }
.fc-nx-hero__title { font: 700 clamp(32px, 4.4vw, 56px)/1.04 var(--fc-font-title); letter-spacing: -0.035em; margin: 0; text-wrap: balance; text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35); }
.fc-nx-hero__text { font-size: clamp(15px, 1.3vw, 18px); color: var(--fc-text-2); margin: 0; max-width: 540px; }
.fc-nx-hero__dots { left: var(--nx-g); right: auto; bottom: 110px; z-index: 3; }
.fc-nx-progresso { display: flex; align-items: center; gap: var(--fc-s3); font-size: 13px; color: var(--fc-text-2); width: min(420px, 100%); }
.fc-nx-progresso .fc-progress { flex: 1; }
@media (max-width: 767px) {
  .fc-nx-hero { height: auto; min-height: 460px; }
  .fc-nx-hero__slide { align-items: flex-end; }
  .fc-nx-hero__bg img { object-position: 65% top; }
  .fc-nx-hero__slide::after { background: linear-gradient(0deg, var(--fc-bg) 12%, rgba(18, 25, 35, 0.75) 50%, rgba(18, 25, 35, 0.1) 80%); }
  .fc-nx-hero__content { padding-bottom: 72px; }
  .fc-nx-hero__dots { bottom: 40px; top: auto; }
}

/* Alturas (padrão de áreas de membros premium): banner 3:1 no computador = cerca de 1/3 da tela, com as fileiras visíveis na primeira dobra */
.fc-nx-hero--arte, .fc-nx-hero--curso.fc-nx-hero--arte { width: 100%; height: clamp(240px, 33.34vw, 55vh); min-height: 0; }
.fc-nx-hero--texto { width: 100%; height: 33.34vw; min-height: 380px; } /* mesmo tamanho do banner sem texto */
.fc-nx-hero--banners .fc-nx-hero__bg img { object-position: center top; }
.fc-nx-hero--texto .fc-nx-hero__slide::after { background: linear-gradient(180deg, rgba(18, 25, 35, 0.5) 0, rgba(18, 25, 35, 0) 140px), linear-gradient(90deg, rgba(18, 25, 35, 0.9) 0%, rgba(18, 25, 35, 0.55) 30%, rgba(18, 25, 35, 0) 58%), linear-gradient(0deg, var(--fc-bg) 0%, rgba(18, 25, 35, 0.55) 5.5%, rgba(18, 25, 35, 0) 15%); }
.fc-nx-hero--boasvindas { height: auto; min-height: 0; }
.fc-nx-hero--boasvindas .fc-nx-hero__slide { position: relative; }
.fc-nx-hero--boasvindas .fc-nx-hero__content { padding-top: calc(var(--fc-topbar) + 56px); padding-bottom: 104px; }
@media (max-width: 767px) {
  .fc-nx-hero--arte, .fc-nx-hero--curso.fc-nx-hero--arte { height: 56.25vw; min-height: 210px; }
  .fc-nx-hero--texto { height: auto; min-height: 460px; }
  .fc-nx-hero--arte .fc-nx-hero__slide::after { background: linear-gradient(0deg, var(--fc-bg) 0%, rgba(18, 25, 35, 0) 30%); }
  .fc-nx-hero--boasvindas { min-height: 0; }
  .fc-nx-hero--boasvindas .fc-nx-hero__content { padding-bottom: 72px; }
}

/* Informações logo abaixo do banner com arte */
.fc-nx-info .fc-nx-hero__content { padding: 0; width: min(760px, 100%); gap: var(--fc-s3); }
.fc-nx-info .fc-nx-hero__title { font-size: clamp(26px, 2.6vw, 36px); text-shadow: none; }
.fc-nx-info--boasvindas { display: flex; align-items: center; justify-content: space-between; gap: var(--fc-s4); flex-wrap: wrap; }
.fc-nx-info__texto { margin: 6px 0 0; font: 600 clamp(18px, 1.6vw, 22px)/1.3 var(--fc-font-title); letter-spacing: -0.01em; }

/* ============ Fileiras (sobem sobre o pé do banner) ============ */
.fc-nx-rows { position: relative; z-index: 2; display: flex; flex-direction: column; gap: var(--fc-s7); margin-top: -64px; padding: 0 var(--nx-g); }
.fc-nx-hero--curso + .fc-nx-rows { margin-top: -40px; }
.fc-nx-rail .fc-rail__title { display: flex; align-items: center; gap: 10px; font-size: 19px; margin: 0; }
.fc-nx-rail .fc-rail__title .fc-icon { width: 18px; height: 18px; color: var(--fc-green); }
.fc-nx-rail__link { display: inline-flex; align-items: center; gap: 2px; font-size: 13px; font-weight: 600; color: var(--fc-text-2); }
.fc-nx-rail__link:hover { color: var(--fc-green); }
.fc-nx-rail__link .fc-icon { width: 16px; height: 16px; }
.fc-nx-rail .fc-rail__track { --cols: 6; /* 6 por fileira; a sombra da direita mostra que tem mais (estilo Netflix) */ }
.fc-nx-rail.fc-rail--wide .fc-rail__track { --cols: 4.9; }
@media (max-width: 1400px) { .fc-nx-rail .fc-rail__track { --cols: 4.6; } .fc-nx-rail.fc-rail--wide .fc-rail__track { --cols: 4; } }
@media (max-width: 1100px) { .fc-nx-rail .fc-rail__track { --cols: 3.6; } .fc-nx-rail.fc-rail--wide .fc-rail__track { --cols: 2.8; } }
@media (max-width: 767px) { .fc-nx-rail .fc-rail__track { --cols: 1.55; } .fc-nx-rail.fc-rail--wide .fc-rail__track { --cols: 1.15; } .fc-nx-rows { gap: var(--fc-s6); margin-top: -32px; } }

/* Card de curso (pôster): o link cobre o card; o botão de compra fica por cima */
.fc-course__link { position: absolute; inset: 0; z-index: 2; border-radius: var(--fc-r-lg); }
.fc-course .fc-course__cta { z-index: 4; }
.fc-course:hover .fc-course__media { transform: translateY(-4px) scale(1.02); box-shadow: 0 24px 48px -20px rgba(0, 0, 0, 0.8); }

/* Card largo: continuar assistindo */
.fc-nx-wide { display: flex; flex-direction: column; gap: 10px; color: var(--fc-text); }
.fc-nx-wide__media { position: relative; aspect-ratio: 16 / 9; border-radius: var(--fc-r-md); overflow: hidden; background: var(--fc-sunken); outline: 1px solid var(--fc-border); outline-offset: -1px; transition: transform var(--fc-slow) var(--fc-ease); }
.fc-nx-wide__media img { width: 100%; height: 100%; object-fit: cover; }
.fc-nx-wide:hover .fc-nx-wide__media { transform: translateY(-3px); }
.fc-nx-wide:hover .fc-continue__play { background: var(--fc-green); color: var(--fc-on-green); }
.fc-nx-wide__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; padding: 0 2px; }
.fc-nx-wide__t { font: 600 15px/1.35 var(--fc-font-title); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fc-nx-wide__s { font-size: 13px; color: var(--fc-text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Card de módulo (pôster com arte) */
.fc-nx-mod { display: flex; flex-direction: column; gap: 10px; color: var(--fc-text); }
.fc-nx-mod__media {
  position: relative; aspect-ratio: 5 / 8; border-radius: var(--fc-r-lg); overflow: hidden; background: var(--fc-sunken);
  outline: 1px solid var(--fc-border); outline-offset: -1px; transition: transform var(--fc-slow) var(--fc-ease), box-shadow var(--fc-slow) var(--fc-ease);
}
.fc-nx-mod__media img { width: 100%; height: 100%; object-fit: cover; }
.fc-nx-mod:hover .fc-nx-mod__media { transform: translateY(-4px) scale(1.02); box-shadow: 0 24px 48px -20px rgba(0, 0, 0, 0.8); }
.fc-nx-mod.is-active .fc-nx-mod__media { outline: 2px solid var(--fc-foco); outline-offset: -2px; }
.fc-nx-mod.is-locked .fc-nx-mod__media > :not(.fc-nx-mod__lock) { filter: grayscale(0.6) brightness(0.55); }
.fc-nx-mod__fundo { position: absolute; inset: 0; filter: brightness(0.38) saturate(0.8); transform: scale(1.04); }
.fc-nx-mod__arte { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; gap: 8px; padding: 16px; background: linear-gradient(180deg, transparent 35%, rgba(18, 25, 35, 0.8)); }
.fc-nx-mod__arte::before { content: ""; position: absolute; left: 16px; top: 16px; width: 28px; height: 3px; border-radius: 3px; background: var(--fc-green); }
.fc-nx-mod__n { font-size: 11px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--fc-green); }
.fc-nx-mod__t { font: 700 20px/1.12 var(--fc-font-title); letter-spacing: -0.02em; color: var(--fc-white); text-wrap: balance; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.fc-nx-mod__lock { position: absolute; top: 10px; right: 10px; z-index: 2; height: 28px; width: 28px; padding: 0; justify-content: center; }
.fc-nx-mod__info { display: flex; flex-direction: column; gap: 2px; padding: 0 2px; }
.fc-nx-mod__nome { font: 600 14px/1.35 var(--fc-font-title); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fc-nx-mod__media:has(.fc-nx-mod__arte) + .fc-nx-mod__info .fc-nx-mod__nome { display: none; }
.fc-nx-mod__meta { font-size: 12px; color: var(--fc-text-3); }
@media (max-width: 767px) { .fc-nx-mod__t { font-size: 16px; } }

/* ============ Página do curso: aulas no estilo "episódios" ============ */
.fc-nx .fc-course-body { scroll-margin-top: calc(var(--fc-topbar) + 16px); }
.fc-ep {
  display: grid; grid-template-columns: 28px 168px minmax(0, 1fr) auto; align-items: center; gap: var(--fc-s4);
  padding: 10px var(--fc-s3); border-radius: var(--fc-r-md); color: var(--fc-text-2); border: 1px solid transparent; transition: background var(--fc-fast), border-color var(--fc-fast);
}
a.fc-ep:hover { background: var(--fc-surface); border-color: var(--fc-border); color: var(--fc-text); }
.fc-ep__n { font: 600 18px/1 var(--fc-font-title); color: var(--fc-text-3); text-align: center; }
.fc-ep__media { position: relative; aspect-ratio: 16 / 9; border-radius: var(--fc-r-sm); overflow: hidden; background: var(--fc-sunken); outline: 1px solid var(--fc-border); outline-offset: -1px; }
.fc-ep__media img { width: 100%; height: 100%; object-fit: cover; }
.fc-ep__icon { position: absolute; inset: 0; margin: auto; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: rgba(18, 25, 35, 0.6); backdrop-filter: blur(6px); color: var(--fc-white); transition: all var(--fc-mid) var(--fc-ease); }
.fc-ep__icon .fc-icon { width: 16px; height: 16px; }
a.fc-ep:hover .fc-ep__icon { background: var(--fc-green); color: var(--fc-on-green); }
.fc-ep.is-done .fc-ep__icon { background: var(--fc-green); color: var(--fc-on-green); }
.fc-ep.is-locked { opacity: 0.55; cursor: pointer; }
.fc-ep__info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.fc-ep__t { font: 600 15px/1.35 var(--fc-font-title); color: var(--fc-text); }
.fc-ep__s { font-size: 13px; color: var(--fc-text-3); }
.fc-ep.is-done .fc-ep__s { color: var(--fc-green); }
.fc-ep__d { font-size: 13px; color: var(--fc-text-3); }
@media (max-width: 767px) {
  .fc-ep { grid-template-columns: 112px minmax(0, 1fr); gap: var(--fc-s3); padding: 8px; }
  .fc-ep__n, .fc-ep__d { display: none; }
  .fc-ep__t { font-size: 14px; }
}
.fc-nx-hero--banners .fc-nx-hero__dots { bottom: 36px; }

/* Banner com arte: começa no topo da página, por trás da barra (logo "dentro" do banner), e aparece inteiro (3:1, sem corte).
   Degradê suave em cima (logo legível mesmo em banner claro) e embaixo (funde com o fundo). */
.fc-nx-hero--arte { margin-top: 0; height: 33.34vw; min-height: 200px; }
.fc-nx-hero--arte .fc-nx-hero__bg img { object-position: center top; }
.fc-nx-hero--arte .fc-nx-hero__slide::after { background: linear-gradient(180deg, rgba(18, 25, 35, 0.5) 0, rgba(18, 25, 35, 0.2) 70px, rgba(18, 25, 35, 0) 140px), linear-gradient(0deg, var(--fc-bg) 0%, rgba(18, 25, 35, 0.55) 9%, rgba(18, 25, 35, 0) 24%); }
@media (max-width: 767px) {
  .fc-nx-hero--arte { height: 56.25vw; min-height: 200px; }
  .fc-nx-hero--arte .fc-nx-hero__bg img { object-position: center; }
  /* imagem do celular 4:5 (1080 × 1350 px): o banner tem a mesma proporção, a arte aparece inteira, sem cortar em cima nem embaixo */
  .fc-nx-hero--arte.fc-nx-hero--quadrado { height: auto; min-height: 0; aspect-ratio: 4 / 5; }
  .fc-nx-hero--arte.fc-nx-hero--quadrado .fc-nx-hero__slide::after { background: linear-gradient(0deg, var(--fc-bg) 0%, rgba(18, 25, 35, 0) 5%); }
}

/* Curso não liberado: capa em preto e branco + cadeado; clique leva ao checkout */
.fc-course.is-locked-sale .fc-course__media img, .fc-course.is-locked-sale .fc-course__media .fc-cover { filter: grayscale(1) brightness(0.72); transition: filter var(--fc-slow) var(--fc-ease); }
.fc-course.is-locked-sale:hover .fc-course__media img, .fc-course.is-locked-sale:hover .fc-course__media .fc-cover { filter: grayscale(0.5) brightness(0.85); }
.fc-course__cadeado {
  position: absolute; inset: 0; margin: auto; width: 52px; height: 52px; border-radius: 50%; z-index: 2; display: grid; place-items: center;
  background: rgba(18, 25, 35, 0.6); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border: 1px solid var(--fc-border-strong); color: var(--fc-white);
}
.fc-course__cadeado .fc-icon { width: 22px; height: 22px; }
.fc-course__quero {
  position: absolute; left: 12px; right: 12px; bottom: 12px; z-index: 2; display: flex; align-items: center; justify-content: center; gap: 6px;
  height: 36px; border-radius: var(--fc-r-full); background: var(--fc-green); color: var(--fc-on-green); font-size: 13px; font-weight: 700;
  opacity: 0; transform: translateY(6px); transition: all var(--fc-mid) var(--fc-ease);
}
.fc-course__quero .fc-icon { width: 15px; height: 15px; }
.fc-course.is-locked-sale:hover .fc-course__quero { opacity: 1; transform: none; }
@media (hover: none) { .fc-course__quero { opacity: 1; transform: none; height: 32px; font-size: 12px; } }

/* Aviso do "modo aluno" (equipe vendo a área como aluno) */
.fc-modo-aluno {
  position: fixed; left: 50%; bottom: 20px; transform: translateX(-50%); z-index: 65; display: flex; align-items: center; gap: 10px;
  padding: 8px 8px 8px 16px; border-radius: var(--fc-r-full); background: rgba(42, 52, 70, 0.92); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--fc-green-line); box-shadow: var(--fc-shadow-pop); font-size: 13px; color: var(--fc-text-2); white-space: nowrap;
}
.fc-modo-aluno > .fc-icon { width: 16px; height: 16px; color: var(--fc-green); }
.fc-modo-aluno strong { color: var(--fc-text); }

/* Página do curso: "Sobre o curso" abaixo dos módulos */
.fc-nx-sobre { display: grid; gap: var(--fc-s4); max-width: 820px; }
.fc-nx-sobre .fc-prose { color: var(--fc-text-2); font-size: 15px; }
.fc-nx-sobre .fc-prose > :last-child { margin-bottom: 0; }
div.fc-nx-mod { cursor: not-allowed; }

/* Ajustes (rodada 5): cadeado pequeno no canto, botão com o mesmo canto do botão do banner,
   e só o título da primeira fileira sobre a imagem */
.fc-course__cadeado { inset: auto; top: 10px; right: 10px; margin: 0; width: 32px; height: 32px; }
.fc-course__cadeado .fc-icon { width: 15px; height: 15px; }
.fc-course__quero { height: 40px; border-radius: var(--fc-r-md); }

/* Favoritos (coração) */
.fc-fav.is-on { color: var(--fc-green); }
.fc-fav.is-on svg { fill: currentColor; }
.fc-fav-aula { position: relative; grid-template-columns: 168px minmax(0, 1fr) auto; }
.fc-fav-aula:hover { background: var(--fc-surface); border-color: var(--fc-border); }
.fc-ep__link { position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.fc-fav-aula .fc-fav { position: relative; z-index: 2; }
@media (max-width: 767px) { .fc-fav-aula { grid-template-columns: 112px minmax(0, 1fr) auto; } }

/* Materiais da aula (aluno) */
.fc-materiais { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--fc-s3); max-width: 900px; }
.fc-material { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: var(--fc-s3); align-items: center; padding: var(--fc-s3) var(--fc-s4); border-radius: var(--fc-r-md); border: 1px solid var(--fc-border); background: var(--fc-surface); color: var(--fc-text); transition: border-color var(--fc-fast), background var(--fc-fast); }
.fc-material:hover { border-color: var(--fc-border-strong); background: var(--fc-surface-3); }
.fc-material__icone { width: 44px; height: 44px; border-radius: var(--fc-r-sm); display: grid; place-items: center; background: var(--fc-green-soft); color: var(--fc-green); }
.fc-material__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.fc-material__nome { font-weight: 600; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fc-material__desc { font-size: 12px; color: var(--fc-text-3); }
.fc-material__acao { color: var(--fc-text-3); }
.fc-material:hover .fc-material__acao { color: var(--fc-green); }

/* Aula: lista lateral no estilo "episódios" (sem caixa; miniatura, número, título e duração) */
.fc-aula__side { background: transparent; border: 0; border-radius: 0; overflow: visible; gap: var(--fc-s4); max-height: calc(100vh - var(--fc-topbar) - var(--fc-s7)); }
.fc-aula__course { padding: 0 4px; border: 0; }
.fc-aula__modsel .fc-select { width: 100%; }
.fc-aula__modtitulo { display: flex; flex-direction: column; gap: 2px; padding: 0 4px; }
.fc-aula__list { padding: 0 4px 0 0; overflow-y: auto; scrollbar-width: thin; }
.fc-aula__grupo { display: flex; flex-direction: column; gap: 4px; }
.fc-ep2 { position: relative; display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: var(--fc-s3); align-items: center; padding: 8px; border-radius: var(--fc-r-md); color: var(--fc-text-2); transition: background var(--fc-fast); }
a.fc-ep2:hover { background: rgba(255, 255, 255, 0.04); }
.fc-ep2.is-current { background: rgba(255, 255, 255, 0.07); box-shadow: inset 3px 0 0 var(--fc-green); }
.fc-ep2__thumb { position: relative; aspect-ratio: 16 / 9; border-radius: var(--fc-r-sm); overflow: hidden; background: var(--fc-sunken); outline: 1px solid var(--fc-border); outline-offset: -1px; }
.fc-ep2__thumb img { width: 100%; height: 100%; object-fit: cover; }
.fc-ep2__icone { position: absolute; inset: 0; margin: auto; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: rgba(18, 25, 35, 0.62); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); color: var(--fc-white); transition: all var(--fc-mid) var(--fc-ease); }
.fc-ep2__icone .fc-icon { width: 14px; height: 14px; }
a.fc-ep2:hover .fc-ep2__icone, .fc-ep2.is-current .fc-ep2__icone, .fc-ep2.is-done .fc-ep2__icone { background: var(--fc-green); color: var(--fc-on-green); }
.fc-ep2__barra { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(255, 255, 255, 0.2); }
.fc-ep2__barra span { display: block; height: 100%; background: var(--fc-green); }
.fc-ep2__info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.fc-ep2__n { font-size: 11px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--fc-text-3); }
.fc-ep2__t { font: 600 14px/1.35 var(--fc-font-title); color: var(--fc-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fc-ep2__s { font-size: 12px; color: var(--fc-text-3); }
.fc-ep2.is-done .fc-ep2__s, .fc-ep2.is-current .fc-ep2__s { color: var(--fc-green); }
.fc-ep2.is-locked { opacity: 0.5; cursor: not-allowed; }
@media (max-width: 1100px) { .fc-aula__side { max-height: none; } .fc-aula__list { overflow: visible; } }

/* Aula: trilha lateral (módulos com anel de progresso; aulas ligadas por uma linha, com bolinha de play) */
.fc-trilha { gap: var(--fc-s5); }
.fc-trilha__topo { display: flex; align-items: center; gap: var(--fc-s3); padding: 0 4px; }
.fc-trilha__anel { --p: 0; position: relative; flex: none; width: 30px; height: 30px; border-radius: 50%; background: conic-gradient(var(--fc-green) calc(var(--p) * 1%), rgba(255, 255, 255, 0.12) 0); }
.fc-trilha__anel::after { content: ""; position: absolute; inset: 4px; border-radius: 50%; background: var(--fc-bg); }
.fc-trilha__anel--sm { width: 22px; height: 22px; }
.fc-trilha__anel--sm::after { inset: 3px; }
.fc-trilha__titulo { font: 600 15px/1.3 var(--fc-font-title); }
.fc-trilha__sub { display: block; font-size: 12px; color: var(--fc-text-3); margin-top: 2px; }
.fc-trilha__mods { display: flex; flex-direction: column; gap: 2px; padding-right: 4px; }
.fc-trilha__mod-btn { list-style: none; display: flex; align-items: center; gap: var(--fc-s3); padding: 10px 4px; border-radius: var(--fc-r-sm); cursor: pointer; transition: background var(--fc-fast); }

.fc-trilha__mod-btn:hover { background: rgba(255, 255, 255, 0.03); }
.fc-trilha__mod-t { display: block; font: 600 14px/1.35 var(--fc-font-title); color: var(--fc-text); }
.fc-trilha__aulas { list-style: none; margin: 0 0 var(--fc-s2); padding: 0; }
.fc-trilha__aulas li { position: relative; }
.fc-trilha__aulas li:not(:last-child)::after { content: ""; position: absolute; left: 15px; top: 32px; bottom: -8px; width: 1px; background: rgba(255, 255, 255, 0.12); }
.fc-trilha__aula { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: var(--fc-s3); align-items: start; padding: 8px 4px; border-radius: var(--fc-r-sm); color: var(--fc-text-2); }
a.fc-trilha__aula:hover { color: var(--fc-text); }
a.fc-trilha__aula:hover .fc-trilha__play { border-color: var(--fc-border-strong); color: var(--fc-green); }
.fc-trilha__play { position: relative; z-index: 1; width: 22px; height: 22px; margin-top: 1px; border-radius: 50%; display: grid; place-items: center; border: 1.5px solid rgba(255, 255, 255, 0.25); background: var(--fc-bg); color: var(--fc-text-3); transition: all var(--fc-fast); }
.fc-trilha__play .fc-icon { width: 10px; height: 10px; }
.fc-trilha__play svg.lucide-play { fill: currentColor; margin-left: 1px; }
.fc-trilha__aula.is-done .fc-trilha__play { border-color: var(--fc-green); color: var(--fc-green); }
.fc-trilha__aula.is-current .fc-trilha__play { background: var(--fc-green); border-color: var(--fc-green); color: var(--fc-on-green); }
.fc-trilha__aula.is-current { color: var(--fc-green); }
.fc-trilha__aula.is-locked { opacity: 0.45; cursor: pointer; }
.fc-trilha__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.fc-trilha__aula-t { font-size: 13.5px; line-height: 1.4; }
.fc-trilha__dur { font-size: 11px; color: var(--fc-text-3); }
.fc-trilha__barra { display: block; height: 2px; margin-top: 6px; border-radius: 2px; background: rgba(255, 255, 255, 0.12); overflow: hidden; max-width: 220px; }
.fc-trilha__barra span { display: block; height: 100%; background: var(--fc-green); }

/* Trilha: cabeçalho com o nome do curso e o progresso geral em barra (diferente dos anéis dos módulos) */
.fc-trilha__topo { display: block; padding: 0 4px var(--fc-s4); border-bottom: 1px solid var(--fc-border); }
.fc-trilha__rotulo { display: block; font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--fc-text-3); margin-bottom: 4px; }
.fc-trilha__curso { display: block; font: 700 18px/1.3 var(--fc-font-title); letter-spacing: -0.01em; color: var(--fc-text); }
.fc-trilha__curso:hover { color: var(--fc-green); }
.fc-trilha__progresso { margin-top: var(--fc-s3); }
.fc-trilha__progresso .fc-progress { height: 4px; }
.fc-trilha__nums { display: flex; justify-content: space-between; margin-top: 6px; font-size: 12px; color: var(--fc-text-3); }
.fc-trilha__nums [data-curso-percent] { color: var(--fc-green); font-weight: 600; }

/* Comentários e dúvidas na aula */
.fc-aula__panel .fc-comments { max-width: 820px; }
.fc-avatar--equipe { background: var(--fc-green); color: var(--fc-on-green); }
.fc-comment.is-off > .fc-comment__main > .fc-comment__body { opacity: 0.6; }
.fc-comment__actions { flex-wrap: wrap; }
.fc-comment__actions .fc-btn .fc-icon { width: 14px; height: 14px; }
.fc-composer--resposta .fc-composer__box textarea { min-height: 56px; }
.fc-comment__body a { color: var(--fc-green); text-decoration: underline; text-underline-offset: 3px; word-break: break-word; }

/* ============ Páginas personalizadas ============ */
.fc-pg-aviso { max-width: 820px; margin: 0 auto var(--fc-s5); }
.fc-pg { max-width: 820px; margin: 0 auto; display: flex; flex-direction: column; gap: var(--fc-s6); }
.fc-pg-titulo h1 { font: 700 clamp(30px, 4.2vw, 46px)/1.12 var(--fc-font-title); margin: 0; letter-spacing: -0.01em; }
.fc-pg-titulo p { margin: var(--fc-s3) 0 0; font-size: 18px; line-height: 1.6; color: var(--fc-text-2); }
.fc-pg-titulo.is-centro, .fc-pg-botao.is-centro { text-align: center; }
.fc-pg-texto { font-size: 17px; line-height: 1.75; color: var(--fc-text-2); }
.fc-pg-texto > :first-child { margin-top: 0; } .fc-pg-texto > :last-child { margin-bottom: 0; }
.fc-pg-texto p, .fc-pg-texto ul, .fc-pg-texto ol { margin: 0 0 1em; }
.fc-pg-texto h3 { font: 600 22px/1.3 var(--fc-font-title); color: var(--fc-text); margin: 1.4em 0 0.5em; }
.fc-pg-texto strong { color: var(--fc-text); }
.fc-pg-texto a { color: var(--fc-green); text-decoration: underline; text-underline-offset: 3px; }
.fc-pg-texto li + li { margin-top: 0.35em; }
.fc-pg-imagem { margin: 0; }
.fc-pg-imagem img { display: block; width: 100%; height: auto; border-radius: var(--fc-r-lg); }
.fc-pg-imagem.is-cheia { width: min(100vw - 2 * var(--nx-g), var(--fc-container)); margin-left: 50%; transform: translateX(-50%); }
.fc-pg-video { margin: 0; --plyr-color-main: var(--fc-menta, #2EFFA0); --plyr-video-control-color: var(--fc-branco, #FFFFFF); --plyr-range-thumb-background: var(--fc-branco, #FFFFFF); } /* player das páginas: verde da marca, como o das lives */
.fc-pg-video__quadro { position: relative; aspect-ratio: 16 / 9; border-radius: var(--fc-r-lg); overflow: hidden; background: var(--fc-marinho, #121923); }
.fc-pg-video__quadro iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.fc-pg-video__quadro .plyr, .fc-pg-video__quadro > video { position: absolute; inset: 0; width: 100%; height: 100%; } /* o player ocupa o quadro 16:9 inteiro */
.fc-pg-video figcaption { margin-top: var(--fc-s2); font-size: 14px; color: var(--fc-text-3); text-align: center; }
.fc-pg-cursos .fc-catalog { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
.fc-pg-destaque { display: flex; gap: var(--fc-s4); padding: var(--fc-s5); border-radius: var(--fc-r-lg); border: 1px solid var(--fc-border); background: var(--fc-surface); }
.fc-pg-destaque.is-verde { border-color: var(--fc-green-line); background: var(--fc-green-soft); }
.fc-pg-destaque.is-aviso { border-color: color-mix(in srgb, var(--fc-warning) 40%, transparent); background: var(--fc-warning-soft); }
.fc-pg-destaque__icone { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(255, 255, 255, 0.06); color: var(--fc-text); }
.fc-pg-destaque.is-verde .fc-pg-destaque__icone { color: var(--fc-green); }
.fc-pg-destaque.is-aviso .fc-pg-destaque__icone { color: var(--fc-warning); }
.fc-pg-destaque strong { display: block; font: 600 18px/1.4 var(--fc-font-title); margin-bottom: 4px; }
.fc-pg-destaque .fc-pg-texto { font-size: 16px; }
.fc-pg-faq__item { border-bottom: 1px solid var(--fc-border); }
.fc-pg-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: var(--fc-s4); padding: var(--fc-s4) 0; cursor: pointer; list-style: none; font-weight: 600; font-size: 17px; }
.fc-pg-faq__item summary::-webkit-details-marker { display: none; }
.fc-pg-faq__item summary .fc-icon { flex: none; color: var(--fc-text-3); transition: transform var(--fc-fast); }
.fc-pg-faq__item[open] summary .fc-icon { transform: rotate(180deg); }
.fc-pg-faq__item .fc-pg-texto { padding: 0 0 var(--fc-s4); font-size: 16px; }
.fc-pg-divisor { height: 1px; background: var(--fc-border); }
.fc-pg-divisor.is-espaco { height: var(--fc-s6); background: none; }
@media (max-width: 480px) { .fc-modo-aluno { left: 12px; right: 12px; transform: none; width: auto; justify-content: space-between; font-size: 13px; } .fc-modo-aluno > span { min-width: 0; } .fc-modo-aluno .fc-btn { flex: none; } }
@media (max-width: 480px) { .fc-modo-aluno > span { white-space: normal; line-height: 1.3; } }

/* Trilha da aula: módulo com fundo discreto (sempre), aulas limpas embaixo */
.fc-trilha__mods { gap: 6px; }
.fc-trilha__mod-btn { padding: 10px 12px; background: var(--fc-surface); border-radius: var(--fc-r-md); }
.fc-trilha__mod-btn:hover { background: var(--fc-surface-2); }
.fc-trilha__mod-btn .fc-trilha__anel::after { background: var(--fc-surface); }
.fc-trilha__mod-btn:hover .fc-trilha__anel::after { background: var(--fc-surface-2); }
.fc-trilha__aulas { padding: 6px 0 4px 8px; }
/* Curso em fileira horizontal (mesmo formato do Continue assistindo) */
.fc-course-largo.is-locked-sale .fc-nx-wide__media img, .fc-course-largo.is-locked-sale .fc-nx-wide__media .fc-cover { filter: grayscale(1) brightness(0.72); transition: filter var(--fc-slow) var(--fc-ease); }
.fc-course-largo.is-locked-sale:hover .fc-nx-wide__media img { filter: grayscale(0.5) brightness(0.85); }
.fc-course-largo .fc-course__cadeado { position: absolute; top: 10px; right: 10px; }

/* Trilha: movimentos suaves (pedido do dono: nada "seco") */
@property --p { syntax: '<number>'; inherits: false; initial-value: 0; }
.fc-trilha__anel { transition: --p 700ms cubic-bezier(0.2, 0.8, 0.2, 1), transform 220ms ease; }
.fc-trilha__mod-btn { transition: background 220ms ease, transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1); }
.fc-trilha__mod-btn:hover { transform: translateX(3px); }
.fc-trilha__mod-btn:hover .fc-trilha__anel { transform: scale(1.08); }
.fc-trilha__mod-btn:active { transform: translateX(3px) scale(0.99); }
.fc-trilha__mod-btn > span:nth-child(2) { flex: 1; }
.fc-trilha__seta { flex: none; color: var(--fc-text-3); transition: transform 300ms cubic-bezier(0.2, 0.8, 0.2, 1), color 220ms; }
.fc-trilha__mod.is-open .fc-trilha__seta { transform: rotate(180deg); }
.fc-trilha__mod-btn:hover .fc-trilha__seta { color: var(--fc-text); }
.fc-trilha__aula { transition: color 200ms ease, transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1), background 200ms; }
a.fc-trilha__aula:hover { transform: translateX(3px); }
.fc-trilha__play { transition: border-color 200ms, color 200ms, background 200ms, transform 220ms ease; }
a.fc-trilha__aula:hover .fc-trilha__play { transform: scale(1.1); }
.fc-trilha__barra span, [data-curso-barra] { transition: width 700ms cubic-bezier(0.2, 0.8, 0.2, 1); }
@media (prefers-reduced-motion: reduce) { .fc-trilha__anel, .fc-trilha__mod-btn, .fc-trilha__aula, .fc-trilha__play, .fc-trilha__seta { transition: none; } .fc-trilha__mod-btn:hover, a.fc-trilha__aula:hover { transform: none; } }

/* Módulo abre/fecha: a altura anima de 0fr a 1fr (o navegador calcula; fica fluido nos dois sentidos) */
.fc-trilha__mod-btn { width: 100%; border: 0; color: inherit; font: inherit; text-align: left; list-style: none; display: flex; align-items: center; gap: var(--fc-s3); cursor: pointer; }
.fc-trilha__mod-btn:focus-visible { outline: 2px solid var(--fc-foco); outline-offset: 2px; }
.fc-trilha__corpo { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows 380ms cubic-bezier(0.32, 0.72, 0, 1), opacity 280ms ease; }
.fc-trilha__mod.is-open > .fc-trilha__corpo { grid-template-rows: 1fr; opacity: 1; }
.fc-trilha__dentro { min-height: 0; overflow: hidden; }
.fc-trilha__aulas { margin: 0; padding: 8px 0 6px 8px; }
.fc-trilha__aulas li { opacity: 0; transform: translateY(-6px); transition: opacity 260ms ease, transform 320ms cubic-bezier(0.32, 0.72, 0, 1); }
.fc-trilha__mod.is-open .fc-trilha__aulas li { opacity: 1; transform: none; }
.fc-trilha__mod.is-open .fc-trilha__aulas li:nth-child(1) { transition-delay: 60ms; }
.fc-trilha__mod.is-open .fc-trilha__aulas li:nth-child(2) { transition-delay: 95ms; }
.fc-trilha__mod.is-open .fc-trilha__aulas li:nth-child(3) { transition-delay: 130ms; }
.fc-trilha__mod.is-open .fc-trilha__aulas li:nth-child(4) { transition-delay: 165ms; }
.fc-trilha__mod.is-open .fc-trilha__aulas li:nth-child(n+5) { transition-delay: 200ms; }
@media (prefers-reduced-motion: reduce) { .fc-trilha__corpo, .fc-trilha__aulas li { transition: none; } }
.fc-trilha__corpo { visibility: hidden; transition: grid-template-rows 420ms cubic-bezier(0.45, 0, 0.2, 1), opacity 320ms ease, visibility 0s linear 420ms; }
.fc-trilha__mod.is-open > .fc-trilha__corpo { visibility: visible; transition-delay: 0s; }
/* Aula com liberação programada */
.fc-trilha__libera { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; color: var(--fc-warning); }
.fc-trilha__libera .fc-icon { width: 12px; height: 12px; }
.fc-trilha__aula.is-locked:has(.fc-trilha__libera) { opacity: 0.8; }
/* Módulo com liberação programada: cadeado no lugar do anel */
.fc-trilha__trava { flex: none; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--fc-warning-soft); color: var(--fc-warning); transition: transform 220ms ease; }
.fc-trilha__trava .fc-icon { width: 12px; height: 12px; }
.fc-trilha__mod-btn:hover .fc-trilha__trava { transform: scale(1.08); }
.fc-trilha__sub.fc-trilha__libera { display: block; margin-top: 2px; }
/* Curso travado por trilha (aluno tem o curso, mas precisa concluir o anterior) */
.fc-course.is-trava .fc-course__media img, .fc-course.is-trava .fc-course__media .fc-cover { filter: brightness(0.55) saturate(0.6); }
.fc-course__trava { position: absolute; left: 10px; right: 10px; bottom: 10px; z-index: 2; padding: 6px 10px; border-radius: var(--fc-r-sm); background: rgba(18, 25, 35, 0.78); backdrop-filter: blur(6px); font-size: 12px; line-height: 1.35; color: var(--fc-text); text-align: center; }

/* ============ Trilhas ============ */
.fc-trilha-hero { position: relative; overflow: hidden; isolation: isolate; border-radius: var(--fc-r-xl); padding: clamp(24px, 4vw, 48px); margin-bottom: var(--fc-s7); background: radial-gradient(120% 120% at 100% 0%, var(--fc-green-soft), transparent 55%), var(--fc-surface); border: 1px solid var(--fc-border); }
.fc-trilha-hero.has-banner { min-height: 300px; display: flex; align-items: flex-end; }
.fc-trilha-hero__bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.fc-trilha-hero.has-banner::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(18, 25, 35, 0.92) 0%, rgba(18, 25, 35, 0.6) 55%, rgba(18, 25, 35, 0.2)); }
.fc-trilha-hero__texto { max-width: 620px; display: flex; flex-direction: column; gap: var(--fc-s3); }
.fc-trilha-hero__texto .fc-eyebrow { display: inline-flex; align-items: center; gap: 6px; color: var(--fc-green); }
.fc-trilha-hero h1 { margin: 0; font: 700 clamp(28px, 4vw, 42px)/1.1 var(--fc-font-title); }
.fc-trilha-hero p { margin: 0; color: var(--fc-text-2); font-size: 16px; line-height: 1.6; }
.fc-trilha-hero__prog { display: flex; align-items: center; gap: var(--fc-s3); font-size: 14px; color: var(--fc-text-2); max-width: 420px; margin: 4px 0 8px; }
.fc-trilha-hero__prog .fc-progress { flex: 1; }
.fc-trilha-hero .fc-btn { align-self: flex-start; }

.fc-etapas { list-style: none; margin: 0; padding: 0; max-width: 900px; }
.fc-etapa { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: var(--fc-s4); padding-bottom: var(--fc-s4); }
.fc-etapa:not(:last-child)::before { content: ""; position: absolute; left: 21px; top: 44px; bottom: 0; width: 2px; background: var(--fc-border-2); }
.fc-etapa.is-feito:not(:last-child)::before { background: var(--fc-green); }
.fc-etapa__marco { position: relative; z-index: 1; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 2px solid var(--fc-border-strong); background: var(--fc-bg); font: 700 16px var(--fc-font-title); color: var(--fc-text-2); }
.fc-etapa.is-feito .fc-etapa__marco { background: var(--fc-green); border-color: var(--fc-green); color: var(--fc-on-green); }
.fc-etapa.is-andamento .fc-etapa__marco, .fc-etapa.is-novo .fc-etapa__marco { border-color: var(--fc-green); color: var(--fc-green); }
.fc-etapa__card { display: grid; grid-template-columns: 200px minmax(0, 1fr) auto; gap: var(--fc-s4); align-items: center; padding: var(--fc-s3); border-radius: var(--fc-r-lg); background: var(--fc-surface); border: 1px solid var(--fc-border); color: var(--fc-text); text-decoration: none; transition: border-color 200ms, transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1), background 200ms; }
.fc-etapa__card:hover { border-color: var(--fc-border-2); background: var(--fc-surface-2); transform: translateX(3px); }
.fc-etapa__media { position: relative; aspect-ratio: 16 / 9; border-radius: var(--fc-r-md); overflow: hidden; background: var(--fc-sunken); }
.fc-etapa__media img, .fc-etapa__media .fc-cover { width: 100%; height: 100%; object-fit: cover; }
.fc-etapa.is-trava .fc-etapa__media img, .fc-etapa.is-venda .fc-etapa__media img { filter: grayscale(1) brightness(0.6); }
.fc-etapa__media .fc-course__cadeado { inset: auto; top: 8px; right: 8px; margin: 0; width: 30px; height: 30px; }
.fc-etapa__media .fc-course__cadeado .fc-icon { width: 14px; height: 14px; }
.fc-etapa__info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.fc-etapa__n { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--fc-text-3); }
.fc-etapa__t { font: 600 17px/1.3 var(--fc-font-title); }
.fc-etapa__s { font-size: 13px; color: var(--fc-text-3); }
.fc-etapa__aviso { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--fc-warning); }
.fc-etapa__prog { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--fc-text-3); max-width: 260px; }
.fc-etapa__prog .fc-progress { flex: 1; height: 4px; }
@media (max-width: 767px) { .fc-etapa__card { grid-template-columns: minmax(0, 1fr); } .fc-etapa__card > .fc-badge { justify-self: start; } }

.fc-trilhas-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--fc-s5); }
.fc-trilha-card { display: flex; flex-direction: column; border-radius: var(--fc-r-lg); overflow: hidden; background: var(--fc-surface); border: 1px solid var(--fc-border); color: var(--fc-text); text-decoration: none; transition: transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1), border-color 200ms; }
.fc-trilha-card:hover { transform: translateY(-3px); border-color: var(--fc-border-2); }
.fc-trilha-card__media { aspect-ratio: 16 / 9; background: var(--fc-sunken); }
.fc-trilha-card__media img, .fc-trilha-card__media .fc-cover { width: 100%; height: 100%; object-fit: cover; }
.fc-trilha-card__info { display: flex; flex-direction: column; gap: 8px; padding: var(--fc-s4); }
.fc-trilha-card__info .fc-eyebrow { display: inline-flex; align-items: center; gap: 6px; }
.fc-trilha-card__t { font: 600 18px/1.3 var(--fc-font-title); }

/* Aula: abas abaixo do vídeo — "Sobre a aula" (descrição → botão → comentários) e "Materiais de apoio" */
.fc-aula__corpo { max-width: 860px; margin-top: var(--fc-s5); }
.fc-aula__corpo > .fc-tabs { margin-bottom: var(--fc-s4); }
.fc-aula__painel { display: flex; flex-direction: column; gap: var(--fc-s6); }
.fc-aula__painel[hidden] { display: none; }
.fc-aula__sobre { display: flex; flex-direction: column; gap: var(--fc-s4); }
.fc-aula__sobre .fc-prose { color: var(--fc-text-2); }
.fc-aula__sobre .fc-prose > :last-child { margin-bottom: 0; }
.fc-aula__sobre .fc-prose > :first-child { margin-top: 0; }
.fc-aula__cta svg { color: var(--fc-green); }
.fc-aula__ctas { display: flex; flex-wrap: wrap; gap: var(--fc-s2); }
.fc-btn--suave { background: var(--fc-green-soft); color: var(--fc-green); border-color: var(--fc-green-line); }
.fc-btn--suave:hover:not(:disabled) { background: var(--fc-green); color: var(--fc-bg); border-color: var(--fc-green); }
.fc-aula__secao { display: flex; flex-direction: column; gap: var(--fc-s3); padding-top: var(--fc-s5); border-top: 1px solid var(--fc-border); }
.fc-aula__secao-t { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 17px; font-weight: 700; color: var(--fc-text); }
.fc-aula__secao-t svg { width: 18px; height: 18px; color: var(--fc-text-3); }
.fc-downloads { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--fc-s3); }
.fc-download { display: grid; grid-template-columns: 44px minmax(0, 1fr) 36px; gap: var(--fc-s3); align-items: center; padding: var(--fc-s3); border-radius: var(--fc-r-md); border: 1px solid var(--fc-border); background: var(--fc-surface); color: var(--fc-text); text-decoration: none; transition: border-color var(--fc-fast), background var(--fc-fast), transform var(--fc-fast); }
.fc-download:hover { border-color: var(--fc-border-strong); background: var(--fc-surface-2); transform: translateY(-1px); }
.fc-download:focus-visible { outline: 2px solid var(--fc-foco); outline-offset: 2px; }
.fc-download__icone { width: 44px; height: 44px; border-radius: var(--fc-r-sm); display: grid; place-items: center; background: var(--fc-surface-3); color: var(--fc-text-2); }
.fc-download__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.fc-download__nome { font-weight: 600; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fc-download__desc { font-size: 12px; color: var(--fc-text-3); text-transform: uppercase; letter-spacing: .02em; }
.fc-download__btn { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--fc-green-soft); color: var(--fc-green); transition: background var(--fc-fast), color var(--fc-fast); }
.fc-download__btn svg { width: 18px; height: 18px; }
.fc-download:hover .fc-download__btn { background: var(--fc-green); color: var(--fc-bg); }
.fc-aula__corpo .fc-comments { max-width: none; }
/* Concluir aula: discreto até concluir; verde quando concluída */
.fc-aula__done.is-done .when-done { color: inherit; }
@media (max-width: 640px) { .fc-aula__ctas .fc-btn { flex: 1 1 100%; justify-content: center; } }

/* Editor de texto (textarea[data-rico]) */
.fc-rico { border: 1px solid var(--fc-border-2); border-radius: var(--fc-r-md); background: var(--fc-surface); overflow: hidden; transition: border-color var(--fc-fast); }
.fc-rico:focus-within { border-color: var(--fc-border-strong); }
.fc-rico__barra { display: flex; flex-wrap: wrap; gap: 2px; padding: 6px; border-bottom: 1px solid var(--fc-border); background: var(--fc-surface-2); }
.fc-rico__btn { width: 32px; height: 32px; display: grid; place-items: center; border: 0; border-radius: var(--fc-r-sm); background: transparent; color: var(--fc-text-2); cursor: pointer; }
.fc-rico__btn svg { width: 17px; height: 17px; }
.fc-rico__btn:hover { background: var(--fc-surface-3); color: var(--fc-text); }
.fc-rico__btn.is-on { background: var(--fc-green-soft); color: var(--fc-green); }
.fc-rico__btn[data-cmd="ul"], .fc-rico__btn[data-cmd="link"] { margin-left: 8px; }
.fc-rico__area { min-height: 180px; max-height: 480px; overflow-y: auto; padding: var(--fc-s3) var(--fc-s4); color: var(--fc-text); outline: none; font-size: 15px; line-height: 1.6; }
.fc-rico__area > :last-child { margin-bottom: 0; }
.fc-rico__area h3 { margin: var(--fc-s4) 0 var(--fc-s2); font-size: 18px; }
.fc-rico__area ul, .fc-rico__area ol { padding-left: 1.4em; }
.fc-rico__area:empty::before { content: attr(data-placeholder); color: var(--fc-text-3); }

/* Agenda de eventos */
.fc-eventos { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--fc-s5); }
.fc-evento { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.fc-evento__media { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: var(--fc-r-md); overflow: hidden; background: var(--fc-surface-2); border: 1px solid var(--fc-border); transition: transform var(--fc-fast); }
.fc-evento__media:hover { transform: translateY(-3px); }
.fc-evento__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fc-evento__sem { width: 100%; height: 100%; display: grid; place-items: center; color: var(--fc-text-3); background: linear-gradient(135deg, var(--fc-surface-3), var(--fc-surface)); }
.fc-evento__sem svg { width: 40px; height: 40px; }
.fc-evento__data { position: absolute; left: 10px; top: 10px; min-width: 48px; padding: 6px 8px; border-radius: var(--fc-r-sm); background: rgb(10 15 21 / .82); backdrop-filter: blur(6px); display: flex; flex-direction: column; align-items: center; line-height: 1; color: var(--fc-branco, #FFFFFF); }
.fc-evento__data b { font: 800 20px/1 var(--fc-font-title); }
.fc-evento__data span { margin-top: 3px; font-size: 11px; font-weight: 700; letter-spacing: .06em; color: var(--fc-green); }
.fc-evento__rasc { position: absolute; right: 10px; top: 10px; }
.fc-evento__info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.fc-evento__t { font-weight: 700; font-size: 16px; color: var(--fc-text); line-height: 1.3; }
.fc-evento__t:hover { color: var(--fc-green); }
.fc-evento__quando { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--fc-text-2); }
.fc-evento.is-passado .fc-evento__media { filter: grayscale(.7); opacity: .7; }
.fc-evento-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 12px; }
.fc-evento-ok { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--fc-green); }
.fc-ao-vivo { position: absolute; right: 10px; bottom: 10px; display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: var(--fc-menta, #2EFFA0); color: var(--fc-marinho, #121923); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.fc-ao-vivo--inline { position: static; }
.fc-ao-vivo__ponto { width: 8px; height: 8px; border-radius: 50%; background: currentColor; animation: fc-pulsar 1.4s ease-in-out infinite; }
.fc-btn--primary .fc-ao-vivo__ponto { background: var(--fc-framboesa, #F04A68); }
@keyframes fc-pulsar { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .fc-ao-vivo__ponto { animation: none; } }
.fc-rail--eventos .fc-evento { scroll-snap-align: start; }
.fc-agenda-opcoes { display: flex; flex-direction: column; gap: 8px; }
.fc-agenda-opcao { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 12px; border-radius: var(--fc-r-md); border: 1px solid var(--fc-border); background: var(--fc-surface-2); color: var(--fc-text); transition: border-color var(--fc-fast), background var(--fc-fast); }
.fc-agenda-opcao:hover { border-color: var(--fc-border-strong); background: var(--fc-surface-3); }
.fc-agenda-opcao strong { display: block; font-size: 14px; }
.fc-agenda-opcao small { display: block; font-size: 12px; color: var(--fc-text-3); }
.fc-agenda-opcao__ic { width: 40px; height: 40px; border-radius: var(--fc-r-sm); display: grid; place-items: center; background: var(--fc-green-soft); color: var(--fc-green); }
.fc-evento-pg { max-width: 900px; margin: 0 auto; }
.fc-evento-pg__banner { margin: var(--fc-s4) 0 var(--fc-s5); aspect-ratio: 16 / 9; border-radius: var(--fc-r-lg); overflow: hidden; border: 1px solid var(--fc-border); }
.fc-evento-pg__banner img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fc-evento-pg__topo { display: flex; flex-direction: column; align-items: flex-start; gap: var(--fc-s4); padding-bottom: var(--fc-s5); border-bottom: 1px solid var(--fc-border); }
.fc-evento-pg__meta { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 14px; color: var(--fc-text-2); }
.fc-evento-pg__meta > span { display: inline-flex; align-items: center; gap: 6px; }
.fc-evento-pg__desc { margin-top: var(--fc-s5); color: var(--fc-text-2); }
.fc-evento-pg__desc > :first-child { margin-top: 0; }
.fc-nx-rail.fc-rail--eventos .fc-rail__track { --cols: 3.4; }
@media (max-width: 1100px) { .fc-nx-rail.fc-rail--eventos .fc-rail__track { --cols: 2.3; } }
@media (max-width: 767px) { .fc-nx-rail.fc-rail--eventos .fc-rail__track { --cols: 1.25; } }

/* Fileira "Agenda" na página inicial: cartão horizontal (capa à esquerda, texto à direita); 3 por vez no computador, 1 no celular */
.fc-nx-rail.fc-rail--agenda .fc-rail__track { --cols: 3; }
.fc-rail--agenda .fc-rail__title .fc-icon { color: inherit; }
.fc-rail--agenda .fc-evento { display: grid; grid-template-columns: minmax(0, 46%) minmax(0, 1fr); grid-template-rows: auto auto; gap: 10px 14px; align-items: center; scroll-snap-align: start; }
.fc-rail--agenda .fc-evento__media { grid-row: 1 / span 2; }
.fc-rail--agenda .fc-evento__media:hover { transform: none; }
.fc-rail--agenda .fc-evento__info { align-self: end; }
.fc-rail--agenda .fc-evento__t { font-size: 15px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fc-rail--agenda .fc-evento__quando { font-size: 12px; }
.fc-rail--agenda .fc-evento-acoes { align-self: start; gap: 14px 8px; }
.fc-rail--agenda .fc-evento__data { min-width: 40px; padding: 4px 6px; }
.fc-rail--agenda .fc-evento__data b { font-size: 16px; }
@media (max-width: 1400px) {
  .fc-nx-rail.fc-rail--agenda .fc-rail__track { --cols: 2.5; }
  .fc-rail--agenda .fc-evento-acoes__txt { display: none; } /* tela menor: botão do Google só com o ícone */
}
@media (max-width: 1100px) { .fc-nx-rail.fc-rail--agenda .fc-rail__track { --cols: 1.8; } }
@media (max-width: 767px) { .fc-nx-rail.fc-rail--agenda .fc-rail__track { --cols: 1.08; } }
/* Chave de presença */
.fc-evento-presenca { font-size: 14px; font-weight: 600; color: var(--fc-text-2); gap: 10px; white-space: nowrap; }
.fc-evento-presenca.is-on { color: var(--fc-green); }
.fc-evento-presenca { transition: color var(--fc-mid) var(--fc-ease); }
[data-evento-so-confirmado] { transition: opacity 320ms var(--fc-ease), transform 320ms var(--fc-ease), visibility 0s linear 0s; }
[data-evento-so-confirmado].is-off { opacity: 0; transform: translateX(-8px); visibility: hidden; pointer-events: none; transition: opacity 220ms var(--fc-ease), transform 220ms var(--fc-ease), visibility 0s linear 220ms; }
.fc-rail--agenda .fc-evento-presenca { font-size: 13px; }
.fc-image-field--largo { grid-template-columns: 220px minmax(0, 1fr); }
.fc-image-field--largo .fc-image-field__preview { height: auto; aspect-ratio: 16 / 9; padding: 0; }
.fc-image-field--largo .fc-image-field__preview img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 600px) { .fc-image-field--largo { grid-template-columns: minmax(0, 1fr); } }

/* Aula: aba "Aulas" só no celular/tablet (no computador a lista fica na lateral) */
.fc-tab--celular, .fc-so-cel { display: none; }
/* Número nas abas: verde quando tem algo (comentários, materiais) */
.fc-aba-num { display: inline-grid; place-items: center; min-width: 20px; height: 20px; margin-left: 6px; padding: 0 6px; border-radius: 999px; background: var(--fc-green-soft); color: var(--fc-green); font-size: 12px; font-weight: 700; line-height: 1; }
.fc-aba-num[hidden] { display: none; }
/* Comentários na aba própria: o título da seção vira redundante */
.fc-aula__painel[data-panel="comentarios"] > .fc-aula__secao { border-top: 0; padding-top: 0; }
.fc-aula__painel[data-panel="comentarios"] .fc-aula__secao-t { display: none; }
@media (max-width: 1100px) {
  .fc-tab--celular { display: inline-flex; align-items: center; }
  .fc-so-cel { display: inline; } .fc-so-pc { display: none; }
  .fc-aula__corpo > .fc-tabs { gap: 4px; justify-content: space-between; }
  .fc-aula__corpo > .fc-tabs .fc-tab { font-size: 14px; padding-left: 0; padding-right: 0; }
  .fc-aula__corpo > .fc-tabs .fc-aba-num { margin-left: 4px; }
  .fc-aula__painel[data-panel="aulas"] .fc-aula__side { max-height: none; }
}




/* Novo produto: "O que você vai vender?" */
.fc-modal--lg { width: min(680px, calc(100vw - 32px)); max-width: 680px; }
.fc-np-tipos { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.fc-np-tipos[hidden] { display: none; }
.fc-np-tipo { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 18px; border: 1.5px solid var(--fc-border-2); border-radius: var(--fc-r-lg); background: var(--fc-surface-2); cursor: pointer; transition: border-color var(--fc-fast), background var(--fc-fast); }
.fc-np-tipo:hover { border-color: var(--fc-border-strong); }
.fc-np-tipo input { position: absolute; opacity: 0; pointer-events: none; }
.fc-np-tipo:has(input:checked) { border-color: var(--fc-green); background: var(--fc-green-soft); }
.fc-np-tipo__ic { width: 40px; height: 40px; border-radius: var(--fc-r-md); display: grid; place-items: center; background: var(--fc-surface-3); color: var(--fc-green); margin-bottom: 4px; }



/* Título no meio da barra do topo (ex.: nome do desafio na conversa) */
.fc-nx-top__titulo { position: absolute; left: 50%; transform: translateX(-50%); max-width: 46%; font: 700 15px/1.2 var(--fc-font-title); color: var(--fc-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; pointer-events: none; }
@media (max-width: 640px) { .fc-nx-top__titulo { display: none; } }

/* Criar produto: "O que você vai vender?" */
.fc-np-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px; }
.fc-np-cartao { display: flex; flex-direction: column; border: 1px solid var(--fc-border); border-radius: var(--fc-r-xl, 20px); overflow: hidden; background: var(--fc-surface); color: var(--fc-text); transition: border-color var(--fc-mid) var(--fc-ease), transform var(--fc-mid) var(--fc-ease); }
a.fc-np-cartao:hover { border-color: var(--fc-border-strong); transform: translateY(-3px); }
.fc-np-cartao__arte { position: relative; display: grid; place-items: center; aspect-ratio: 16 / 10; background: radial-gradient(120% 120% at 30% 10%, var(--fc-green-soft), var(--fc-surface-2) 70%); color: var(--fc-green); }
.fc-np-cartao__arte .fc-icon { width: 56px; height: 56px; stroke-width: 1.5; }
.fc-np-cartao__breve { position: absolute; top: 12px; right: 12px; }
.fc-np-cartao__txt { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px 20px; }
.fc-np-cartao__txt strong { font: 700 17px/1.25 var(--fc-font-title); }
.fc-np-cartao__txt span { color: var(--fc-text-2); font-size: 14px; line-height: 1.5; }
.fc-np-cartao.is-breve { opacity: 0.55; cursor: default; }
.fc-np-form { max-width: 640px; display: flex; flex-direction: column; gap: 16px; }
.fc-np-escolhido { display: flex; align-items: center; gap: 16px; }
.fc-np-escolhido .fc-np-cartao__arte { width: 96px; flex: none; border-radius: var(--fc-r-lg); aspect-ratio: 1; }
.fc-np-escolhido .fc-np-cartao__arte .fc-icon { width: 36px; height: 36px; }

/* Página do aluno: eBook e evento */
.fc-prod { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: var(--fc-s7); align-items: start; }
@media (max-width: 860px) { .fc-prod { grid-template-columns: minmax(0, 1fr); } .fc-prod__capa { max-width: 260px; } }
.fc-prod__capa { border-radius: var(--fc-r-lg); overflow: hidden; aspect-ratio: 2 / 3; background: var(--fc-surface-2); }
.fc-prod__capa img, .fc-prod__capa .fc-cover { width: 100%; height: 100%; object-fit: cover; }
.fc-prod__corpo { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.fc-prod__titulo { font: 800 clamp(26px, 4vw, 36px)/1.1 var(--fc-font-title); margin: 0; }
.fc-prod__sub { color: var(--fc-text-2); margin: 0; font-size: 17px; }
.fc-prod__lista { display: flex; flex-direction: column; gap: 10px; }
.fc-prod__arq { display: flex; align-items: center; gap: 14px; padding: 14px 16px; color: var(--fc-text); }
.fc-prod__arq-ic { flex: none; width: 42px; height: 42px; border-radius: var(--fc-r-md); display: grid; place-items: center; background: var(--fc-green-soft); color: var(--fc-green); }
.fc-prod__desc { margin-top: 12px; }

/* Painel: abas das páginas irmãs (ex.: Produtos › Trilhas › Categorias) */
.fc-subnav { display: flex; gap: 4px; flex-wrap: wrap; margin: 0 0 var(--fc-s5); padding: 4px; border: 1px solid var(--fc-border); border-radius: var(--fc-r-full, 999px); width: fit-content; max-width: 100%; background: var(--fc-surface); }
.fc-subnav__item { padding: 7px 14px; border-radius: var(--fc-r-full, 999px); font-size: 14px; font-weight: 600; color: var(--fc-text-2); white-space: nowrap; }
.fc-subnav__item:hover { color: var(--fc-text); background: var(--fc-surface-3); }
.fc-subnav__item.is-active { background: var(--fc-green-soft); color: var(--fc-green); }
@media (max-width: 640px) { .fc-subnav { flex-wrap: nowrap; overflow-x: auto; border-radius: var(--fc-r-lg); } }








/* ============ Visual calmo: menos caixas e linhas (pedido do dono, 08/10) ============
   Campos sem contorno (só um fundo suave), cartões quase sem borda, e nos editores de duas colunas
   as seções viram blocos abertos separados por uma linha fina, em vez de caixas dentro de caixas. */
.fc-input, .fc-select, .fc-textarea { background: rgba(255, 255, 255, 0.045); border-color: transparent; }
.fc-input:hover, .fc-select:hover, .fc-textarea:hover { border-color: var(--fc-border-2); }
.fc-input:focus, .fc-select:focus, .fc-textarea:focus { background: rgba(255, 255, 255, 0.06); }
.fc-card { border-color: rgba(255, 255, 255, 0.045); }

.fc-two-col > :first-child > .fc-card:not(.fc-card--interactive):not(.fc-stat),
.fc-two-col__side > .fc-card:not(.fc-card--interactive):not(.fc-stat) { background: transparent; border: 0; border-radius: 0; padding: 0 0 var(--fc-s6); border-bottom: 1px solid var(--fc-border); }
.fc-two-col > :first-child > .fc-card:last-child, .fc-two-col__side > .fc-card:last-child { border-bottom: 0; }
.fc-two-col > :first-child { display: flex; flex-direction: column; gap: var(--fc-s6); }
@media (min-width: 1101px) { .fc-two-col__side { padding-left: var(--fc-s6); border-left: 1px solid var(--fc-border); } }



/* Colunas laterais rolam junto com a página (nada fica parado no scroll) */
.fc-two-col__side { position: static; }
.fc-course-body > aside, .fc-email-previa  { position: static; }

/* Criar produto v2: cartões iguais, ilustração grande, título numa linha e uma frase curta */
.fc-np-grade { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; max-width: 1180px; }
.fc-np-cartao { border: 0; background: var(--fc-surface); }
.fc-np-cartao__arte { aspect-ratio: 16 / 10; background: var(--fc-marinho, #121923); padding: 18px 24px; }
.fc-np-cartao__arte img { width: 100%; height: 100%; object-fit: contain; }
.fc-np-cartao__txt { padding: 18px 20px 22px; gap: 4px; }
.fc-np-cartao__txt strong { font-size: 18px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fc-np-cartao__txt span { font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
a.fc-np-cartao:hover { box-shadow: 0 0 0 2px var(--fc-foco); transform: translateY(-3px); }
.fc-np-escolhido .fc-np-cartao__arte { width: 140px; aspect-ratio: 16 / 10; padding: 8px 12px; }
.fc-np-op { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border-radius: var(--fc-r-md); background: rgba(255, 255, 255, 0.035); cursor: pointer; }
.fc-np-op + .fc-np-op { margin-top: 8px; }
.fc-np-op input { margin-top: 4px; accent-color: var(--fc-green); }
.fc-np-op span { display: flex; flex-direction: column; gap: 2px; }
.fc-np-op small { color: var(--fc-text-3); font-size: 13px; line-height: 1.45; }
.fc-np-op:has(input:checked) { box-shadow: inset 0 0 0 1.5px var(--fc-green-line); }
.fc-np-op.is-breve { opacity: 0.55; cursor: default; }
.fc-np-grade { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 1080px; }
@media (max-width: 900px) { .fc-np-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .fc-np-grade { grid-template-columns: minmax(0, 1fr); } }
.fc-np-cartao__txt span { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; min-height: 2.9em; line-height: 1.45; }

/* Criar produto v3: cartões menores (5 por linha nas telas comuns) */
.fc-np-grade { grid-template-columns: repeat(auto-fill, minmax(190px, 220px)); gap: 14px; max-width: none; }
@media (max-width: 560px) { .fc-np-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fc-np-cartao { border-radius: 14px; }
.fc-np-cartao__arte { aspect-ratio: 16 / 9; padding: 10px 16px; }
.fc-np-cartao__txt { padding: 10px 12px 12px; gap: 2px; }
.fc-np-cartao__txt strong { font-size: 14px; }
.fc-np-cartao__txt span { font-size: 12px; -webkit-line-clamp: 1; min-height: 0; white-space: nowrap; display: block; text-overflow: ellipsis; }
.fc-np-cartao__breve { top: 8px; right: 8px; font-size: 10px; }

/* Presença: uma pessoa por linha, com busca e filtro (cabe muita gente na tela) */
.fc-pres-busca { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-bottom: 12px; }
.fc-presenca__lista { display: flex; flex-direction: column; gap: 0; max-height: 60vh; overflow-y: auto; border-top: 1px solid var(--fc-border); }
.fc-presenca__item { padding: 9px 6px; border: 0; border-bottom: 1px solid var(--fc-border); border-radius: 0; background: none; }
.fc-presenca__item[hidden] { display: none; }
.fc-presenca__item:has(input:checked) { background: none; border-color: var(--fc-border); }
.fc-presenca__item:hover { background: rgba(255, 255, 255, 0.03); }
.fc-presenca__nome { flex-direction: row; align-items: baseline; gap: 12px; font-weight: 500; }
.fc-presenca__nome small { font-size: 13px; }
.fc-presenca__item .fc-badge { font-size: 11px; }
/* Início do painel: "Precisa de você" (o que espera a equipe, com link direto) */
.fc-pend { margin-bottom: var(--fc-s6); }
.fc-pend__tit { display: flex; align-items: center; gap: 8px; font: 700 16px var(--fc-font-title); margin: 0 0 10px; }
.fc-pend__tit .fc-icon { color: var(--fc-green); }
.fc-pend__lista { display: flex; flex-direction: column; border-top: 1px solid var(--fc-border); }
.fc-pend__item { display: flex; align-items: center; gap: 12px; padding: 12px 6px; border-bottom: 1px solid var(--fc-border); color: var(--fc-text); }
.fc-pend__item > .fc-icon:first-child { color: var(--fc-warning); }
.fc-pend__item span { flex: 1; }
.fc-pend__item:hover { background: rgba(255, 255, 255, 0.03); }
.fc-pend__seta { color: var(--fc-text-3); }
.fc-pend__ok { margin: 0; color: var(--fc-text-3); font-size: 14px; }
/* Criar produto v4: 4 por linha */
.fc-np-grade { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 1180px; gap: 16px; }
@media (max-width: 1100px) { .fc-np-grade { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .fc-np-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fc-np-cartao__arte { padding: 14px 20px; }
.fc-np-cartao__txt { padding: 12px 16px 16px; }
.fc-np-cartao__txt strong { font-size: 16px; }
.fc-np-cartao__txt span { font-size: 13px; }

/* Reserva o espaço da barra de rolagem: a página não "pula" para o lado quando um módulo abre e a página cresce */
html { scrollbar-gutter: stable; }

/* ============ Painel administrativo: esqueleto novo (08/10, estilo MemberKit nas cores Fourclass) ============ */
.fc-adm-corpo { --adm-topo: 58px; --adm-lado: 232px; background: var(--fc-bg); }
.fc-adm-corpo.is-mini { --adm-lado: 68px; }
.fc-adm-topo { position: fixed; inset: 0 0 auto 0; z-index: 50; height: var(--adm-topo); display: flex; align-items: center; gap: 12px; padding: 0 16px; background: var(--fc-sunken); border-bottom: 1px solid var(--fc-border); }
.fc-adm-ico { width: 38px; height: 38px; flex: none; border-radius: 50%; display: grid; place-items: center; border: 0; background: none; color: var(--fc-text); cursor: pointer; }
.fc-adm-ico:hover { background: rgba(255, 255, 255, 0.07); }
.fc-adm-marca { display: flex; align-items: center; gap: 12px; }
.fc-adm-marca img { height: 24px; width: auto; }
.fc-adm-marca span { font-size: 13px; font-weight: 500; letter-spacing: 0.32em; color: var(--fc-text-2); padding-left: 12px; border-left: 1px solid rgba(255, 255, 255, 0.22); }
.fc-adm-topo__dir { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.fc-adm-busca { width: 260px; height: 38px; border-radius: 8px; border: 0; background: rgba(255, 255, 255, 0.06); color: var(--fc-text-3); display: flex; align-items: center; justify-content: space-between; padding: 0 12px; font: inherit; font-size: 14px; cursor: pointer; }
.fc-adm-busca:hover { background: rgba(255, 255, 255, 0.09); }

.fc-adm-lado { position: fixed; z-index: 45; top: var(--adm-topo); bottom: 0; left: 0; width: var(--adm-lado); background: var(--fc-marinho, #121923); border-right: 1px solid var(--fc-border); padding: 14px 10px; overflow-y: auto; overflow-x: hidden; transition: width 200ms var(--fc-ease); }
.fc-adm-nav { display: flex; flex-direction: column; gap: 2px; }
.fc-adm-nav hr { border: 0; border-top: 1px solid var(--fc-border-2); margin: 12px 6px; }
.fc-adm-nav__item { position: relative; display: flex; align-items: center; gap: 14px; height: 42px; padding: 0 13px; border-radius: 8px; color: var(--fc-text-2); font-weight: 500; font-size: 14.5px; white-space: nowrap; }
.fc-adm-nav__item .fc-icon { flex: none; width: 20px; height: 20px; }
.fc-adm-nav__item:hover { background: rgba(255, 255, 255, 0.06); color: var(--fc-text); }
.fc-adm-nav__item.is-ativo { background: var(--fc-green-soft); color: var(--fc-green); }
.fc-adm-nav__n { margin-left: auto; font-style: normal; font-size: 11px; font-weight: 700; background: var(--fc-text); color: var(--fc-bg); border-radius: 6px; padding: 1px 6px; }
.fc-adm-corpo.is-mini .fc-adm-nav__txt { display: none; }
.fc-adm-corpo.is-mini .fc-adm-nav__n { position: absolute; left: 30px; top: 5px; margin: 0; padding: 0 5px; }
.fc-adm-corpo.is-mini .fc-adm-nav hr { margin: 12px 4px; }

.fc-adm-main { margin-left: var(--adm-lado); padding: calc(var(--adm-topo) + 40px) 48px 96px; transition: margin 200ms var(--fc-ease); min-height: 100vh; }
.fc-adm-wrap { max-width: 1440px; margin: 0 auto; }
.fc-adm-eyebrow { font-size: 11.5px; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; color: var(--fc-text-3); margin-bottom: 6px; }
.fc-adm-veu { display: none; }

/* Título da página: discreto, com uma linha embaixo (como na MemberKit) */
.fc-adm .fc-page-head { padding-bottom: 22px; border-bottom: 1px solid var(--fc-border); margin-bottom: 28px; align-items: flex-end; }
.fc-adm .fc-page-head h1, .fc-adm .fc-editor-head h1 { font: 600 26px/1.2 var(--fc-font-title); letter-spacing: -0.01em; }
.fc-adm .fc-page-head__desc { font-size: 14px; color: var(--fc-text-3); }

/* Abas das páginas irmãs: sublinhadas */
.fc-adm .fc-subnav { border: 0; border-bottom: 1px solid var(--fc-border); border-radius: 0; padding: 0; gap: 26px; width: 100%; background: none; margin: 0 0 28px; }
.fc-adm .fc-subnav__item { padding: 10px 0; border-radius: 0; font-weight: 500; color: var(--fc-text-3); border-bottom: 2px solid transparent; margin-bottom: -1px; background: none; }
.fc-adm .fc-subnav__item:hover { background: none; color: var(--fc-text); }
.fc-adm .fc-subnav__item.is-active { background: none; color: var(--fc-text); border-bottom-color: var(--fc-green); }

/* Configurações em duas colunas: explicação à esquerda, caixa suave à direita */
.fc-adm .fc-form-section { grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: 40px; padding: 32px 0; }
.fc-adm .fc-form-section__intro h2 { font: 600 17px var(--fc-font-title); }
.fc-adm .fc-form-section__intro p { font-size: 14px; color: var(--fc-text-2); line-height: 1.55; }
.fc-adm .fc-form-section__fields { background: var(--fc-surface); border: 1px solid var(--fc-border); border-radius: 10px; padding: 22px 24px; }
.fc-adm .fc-card { border-radius: 10px; }
.fc-adm .fc-table-wrap { border-radius: 10px; }

@media (max-width: 1023px) {
  .fc-adm-corpo { --adm-lado: 0px; }
  .fc-adm-lado { width: min(280px, 85vw); transform: translateX(-100%); transition: transform 220ms var(--fc-ease); }
  .fc-adm-corpo.is-gaveta .fc-adm-lado { transform: none; box-shadow: var(--fc-shadow-modal); }
  .fc-adm-corpo.is-gaveta .fc-adm-veu { display: block; position: fixed; inset: var(--adm-topo) 0 0 0; z-index: 44; background: rgba(0, 0, 0, 0.5); }
  .fc-adm-corpo.is-mini .fc-adm-nav__txt { display: inline; }
  .fc-adm-main { padding: calc(var(--adm-topo) + 24px) 16px 80px; }
  .fc-adm-busca, .fc-adm-marca span { display: none; }
  .fc-adm .fc-form-section { grid-template-columns: minmax(0, 1fr); gap: 16px; }
}

/* Produtos: ver em cartões ou lista; reordenar nos dois */
.fc-prod-barra { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.fc-prod-ver { display: inline-flex; padding: 3px; border-radius: 8px; background: rgba(255, 255, 255, 0.05); }
.fc-prod-ver a { width: 32px; height: 28px; display: grid; place-items: center; border-radius: 6px; color: var(--fc-text-3); }
.fc-prod-ver a.is-on { background: var(--fc-surface-3); color: var(--fc-text); }
.fc-prod-alca { display: none; position: absolute; inset: 0; z-index: 3; place-items: center; background: rgba(18, 25, 35, 0.45); color: var(--fc-branco, #FFFFFF); }
.fc-prod-alca .fc-icon { width: 30px; height: 30px; }
.is-ordenando .fc-prod-alca { display: grid; }
.is-ordenando .fc-course { cursor: grab; }
.is-ordenando .fc-course__overlay, .is-ordenando > .fc-catalog__new { display: none; }
.fc-sortable:not(.is-ordenando) .fc-handle { visibility: hidden; width: 0; padding: 0; margin: 0; }
.fc-catalog .fc-sort-vaga { border: 2px dashed var(--fc-green-line); border-radius: var(--fc-r-lg); background: var(--fc-green-soft); }
.fc-catalog .fc-sort-vaga > * { visibility: hidden; }
/* Ajustes 08/10: verde só como destaque. Item ativo do menu e vaga do arrastar em marinho (#202836), sem verde escuro */
.fc-adm-nav__item.is-ativo { background: var(--fc-surface-3); color: var(--fc-text); }
.fc-adm-nav__item.is-ativo .fc-icon { color: var(--fc-green); }
.fc-catalog .fc-sort-vaga { border: 2px dashed var(--fc-border-strong); background: var(--fc-surface-2); }
.fc-cat-nova { align-self: flex-start; margin-top: 8px; display: inline-flex; align-items: center; gap: 6px; border: 0; background: none; padding: 0; color: var(--fc-green); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.fc-cat-nova:hover { text-decoration: underline; }

/* Painel: nada de fundo verde-escuro. O "verde suave" vira marinho; o verde fica só em texto, ícone e botão */
.fc-adm { --fc-green-soft: var(--fc-surface-3); }
.fc-adm .fc-catalog__new:hover { background: var(--fc-surface-2); border-color: var(--fc-border-strong); color: var(--fc-text); }

/* ============ Painel: modo claro (botão lua/sol no topo) ============
   Topo e menu continuam marinho; só a área do conteúdo fica clara (sem branco chapado, regra da marca). */
.fc-adm-tema__sol { display: none; }
.fc-adm-corpo.is-claro .fc-adm-tema__lua { display: none; }
.fc-adm-corpo.is-claro .fc-adm-tema__sol { display: inline-flex; }
.fc-adm-corpo.is-claro { background: var(--fc-nevoa, #EAEFEE); }
.fc-adm-corpo.is-claro .fc-adm-main {
  --fc-bg: var(--fc-nevoa, #EAEFEE); --fc-sunken: var(--fc-nevoa, #EAEFEE); --fc-surface: var(--fc-branco, #FFFFFF); --fc-surface-2: var(--fc-nevoa, #EAEFEE); --fc-surface-3: var(--fc-nevoa, #EAEFEE);
  --fc-text: var(--fc-marinho, #121923); --fc-text-2: var(--fc-tom-24, #4B5058); --fc-text-3: var(--fc-tom-40, #71757B); --fc-text-disabled: var(--fc-tom-60, #A0A3A7);
  --fc-border: var(--fc-tom-88, #E3E3E5); --fc-border-2: var(--fc-tom-80, #D0D1D3); --fc-border-strong: var(--fc-tom-70, #B8BABD);
  --fc-green: var(--fc-menta, #2EFFA0); --fc-green-hover: var(--fc-menta, #2EFFA0); --fc-green-press: var(--fc-marinho, #121923); --fc-on-green: var(--fc-branco, #FFFFFF); --fc-green-soft: var(--fc-nevoa, #EAEFEE); --fc-green-line: rgba(46, 255, 160, 0.45);
  background: var(--fc-nevoa, #EAEFEE); color: var(--fc-text);
}
.fc-adm-corpo.is-claro .fc-adm-main .fc-input, .fc-adm-corpo.is-claro .fc-adm-main .fc-select, .fc-adm-corpo.is-claro .fc-adm-main .fc-textarea { background: var(--fc-branco, #FFFFFF); border-color: var(--fc-border-2); color: var(--fc-text); }
.fc-adm-corpo.is-claro .fc-adm-main .fc-card, .fc-adm-corpo.is-claro .fc-adm-main .fc-table-wrap, .fc-adm-corpo.is-claro .fc-adm-main .fc-form-section__fields { box-shadow: 0 1px 2px rgba(18, 25, 35, 0.06); }
.fc-adm-corpo.is-claro .fc-adm-main .fc-table tbody tr:hover, .fc-adm-corpo.is-claro .fc-adm-main .fc-sort-item:hover { background: rgba(18, 25, 35, 0.03); }
.fc-adm-corpo.is-claro .fc-adm-main .fc-btn--ghost:hover, .fc-adm-corpo.is-claro .fc-adm-main .fc-btn--secondary:hover:not(:disabled) { background: rgba(18, 25, 35, 0.05); }

.fc-adm-corpo.is-claro .fc-adm-main .fc-badge--glass { color: var(--fc-branco, #FFFFFF); }
.fc-adm-corpo.is-claro .fc-adm-main .fc-form-actions { background: linear-gradient(0deg, var(--fc-nevoa, #EAEFEE) 65%, transparent); }
/* Botões sem sombra (pedido do dono, 08/10). No lugar do brilho: inversão de cor animada.
   Botão verde, ao passar o mouse, vira marinho com contorno e texto verdes. */
:root { --fc-green-glow: none; }
.fc-btn { box-shadow: none !important; transition: background 220ms var(--fc-ease), color 220ms var(--fc-ease), border-color 220ms var(--fc-ease), transform 140ms var(--fc-ease); }
.fc-btn--primary { border-color: var(--fc-green); }
.fc-btn--primary:hover:not(:disabled) { background: var(--fc-green); color: var(--fc-marinho, #121923); border-color: var(--fc-green); filter: brightness(1.08); } /* sem contorno verde no escuro */
.fc-btn--primary:active:not(:disabled) { background: var(--fc-marinho, #121923); color: var(--fc-green); transform: scale(0.97); }
.fc-adm-corpo.is-claro .fc-adm-main .fc-btn--primary:hover:not(:disabled) { background: var(--fc-marinho, #121923); color: var(--fc-menta, #2EFFA0); border-color: var(--fc-marinho, #121923); }
.fc-player__big { box-shadow: none; }

/* Criar produto: cartão "Novo tipo de produto" (tracejado) e lápis dos tipos próprios */
.fc-np-grade { position: relative; }
.fc-np-novo { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-height: 100%; border: 1.5px dashed var(--fc-border-strong); background: transparent; color: var(--fc-text-2); cursor: pointer; font: inherit; padding: 24px; text-align: center; }
.fc-np-novo:hover { border-color: var(--fc-text-3); color: var(--fc-text); background: var(--fc-surface-2); }
.fc-np-novo .fc-icon { width: 26px; height: 26px; }
.fc-np-novo strong { font: 700 15px var(--fc-font-title); }
.fc-np-novo span { font-size: 12.5px; color: var(--fc-text-3); }
.fc-np-grade > .fc-np-cartao { position: relative; }
.fc-np-editar { position: absolute; z-index: 2; top: 10px; right: 10px; width: 32px; height: 32px; border-radius: 8px; border: 0; background: rgba(18, 25, 35, 0.75); color: var(--fc-branco, #FFFFFF); display: grid; place-items: center; cursor: pointer; }
.fc-np-cartao__arte img.is-foto { object-fit: cover; width: calc(100% + 40px); height: calc(100% + 28px); margin: -14px -20px; }
/* Painel: cores das caixas, do menu e do topo vêm de Aparência › Cores */
.fc-adm-main { --fc-surface: var(--fc-adm-caixa, #121923); }
.fc-adm-lado { background: var(--fc-adm-menu, #121923); }
.fc-adm-topo { background: var(--fc-adm-topo, #121923); }

/* ============ Painel, modo claro v2 (estilo MemberKit clara) ============
   Fundo cinza bem claro, caixas brancas com borda definida, botões no verde da marca com texto escuro.
   O verde mais fechado (#0A9E63) só em textos e ícones, para dar leitura sobre o claro. */
.fc-adm-corpo.is-claro { background: var(--fc-nevoa, #EAEFEE); }
.fc-adm-corpo.is-claro .fc-adm-main {
  --fc-bg: var(--fc-nevoa, #EAEFEE); --fc-sunken: var(--fc-nevoa, #EAEFEE); --fc-surface: var(--fc-branco, #FFFFFF); --fc-surface-2: var(--fc-branco, #FFFFFF); --fc-surface-3: var(--fc-nevoa, #EAEFEE);
  --fc-text: var(--fc-marinho, #121923); --fc-text-2: var(--fc-tom-24, #4B5058); --fc-text-3: var(--fc-tom-40, #71757B); --fc-text-disabled: var(--fc-tom-60, #A0A3A7);
  --fc-border: var(--fc-nevoa, #EAEFEE); --fc-border-2: var(--fc-tom-80, #D0D1D3); --fc-border-strong: var(--fc-tom-70, #B8BABD);
  --fc-green: var(--fc-marinho, #121923); --fc-green-hover: var(--fc-marinho, #121923); --fc-green-press: var(--fc-marinho, #121923); --fc-on-green: var(--fc-branco, #FFFFFF);
  --fc-green-soft: var(--fc-nevoa, #EAEFEE); --fc-green-line: rgba(18, 25, 35, 0.45);
  background: var(--fc-nevoa, #EAEFEE);
}
.fc-adm-corpo.is-claro .fc-adm-main .fc-card,
.fc-adm-corpo.is-claro .fc-adm-main .fc-table-wrap,
.fc-adm-corpo.is-claro .fc-adm-main .fc-form-section__fields { background: var(--fc-branco, #FFFFFF); border: 1px solid var(--fc-nevoa, #EAEFEE); box-shadow: 0 1px 2px rgba(18, 25, 35, 0.05); }

/* Botões: o mesmo verde da marca do topo, com texto escuro; ao passar o mouse, inverte para marinho */
.fc-adm-corpo.is-claro .fc-adm-main .fc-btn--primary { background: var(--fc-menta, #2EFFA0); color: var(--fc-marinho, #121923); border-color: var(--fc-menta, #2EFFA0); }
.fc-adm-corpo.is-claro .fc-adm-main .fc-btn--primary:hover:not(:disabled) { background: var(--fc-marinho, #121923); color: var(--fc-menta, #2EFFA0); border-color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-claro .fc-adm-main .fc-btn--secondary { background: var(--fc-branco, #FFFFFF); color: var(--fc-marinho, #121923); border-color: var(--fc-tom-80, #D0D1D3); }
.fc-adm-corpo.is-claro .fc-adm-main .fc-btn--secondary:hover:not(:disabled) { background: var(--fc-nevoa, #EAEFEE); border-color: var(--fc-tom-70, #B8BABD); }
.fc-adm-corpo.is-claro .fc-adm-main .fc-btn--ghost { color: var(--fc-tom-24, #4B5058); }
.fc-adm-corpo.is-claro .fc-adm-main .fc-btn--ghost:hover:not(:disabled) { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); }
/* Campos */
.fc-adm-corpo.is-claro .fc-adm-main .fc-input, .fc-adm-corpo.is-claro .fc-adm-main .fc-select, .fc-adm-corpo.is-claro .fc-adm-main .fc-textarea { background: var(--fc-branco, #FFFFFF); border: 1px solid var(--fc-tom-80, #D0D1D3); color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-claro .fc-adm-main .fc-input:focus, .fc-adm-corpo.is-claro .fc-adm-main .fc-select:focus, .fc-adm-corpo.is-claro .fc-adm-main .fc-textarea:focus { border-color: var(--fc-marinho, #121923); box-shadow: 0 0 0 3px rgba(18, 25, 35, 0.12); }
/* Selos sobre fundo claro */
.fc-adm-corpo.is-claro .fc-adm-main .fc-badge { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-tom-24, #4B5058); }
.fc-adm-corpo.is-claro .fc-adm-main .fc-badge--accent { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-claro .fc-adm-main .fc-badge--solid { background: var(--fc-menta, #2EFFA0); color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-claro .fc-adm-main .fc-badge--warning { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-claro .fc-adm-main .fc-badge--danger { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-framboesa, #F04A68); }
.fc-adm-corpo.is-claro .fc-adm-main .fc-badge--glass { background: rgba(18, 25, 35, 0.72); color: var(--fc-branco, #FFFFFF); }
.fc-adm-corpo.is-claro .fc-adm-main .fc-table th { background: var(--fc-branco, #FFFFFF); color: var(--fc-tom-40, #71757B); }
.fc-adm-corpo.is-claro .fc-adm-main .fc-subnav__item.is-active { color: var(--fc-marinho, #121923); border-bottom-color: var(--fc-menta, #2EFFA0); }
.fc-adm-corpo.is-claro .fc-adm-main .fc-form-actions { background: linear-gradient(0deg, var(--fc-nevoa, #EAEFEE) 65%, transparent); }

/* Modo claro: o faturamento vira um bloco marinho em destaque (verde da marca sobre escuro) */

/* Ao vivo (escolhido 08/10): selo vermelho forte, um pouco menor, no lugar da data, com a bolinha branca piscando.
   Botão "Entre agora": contorno verde, letra branca, bolinha vermelha com onda pulsando; ao passar o mouse só escurece o fundo. */
.fc-ao-vivo--topo { left: 10px; top: 10px; right: auto; bottom: auto; padding: 4px 9px; font-size: 11px; background: var(--fc-menta, #2EFFA0); color: var(--fc-marinho, #121923); font-weight: 800; }
.fc-ao-vivo--topo .fc-ao-vivo__ponto { width: 7px; height: 7px; background: var(--fc-marinho, #121923); }
.fc-btn--vivo { background: transparent; color: var(--fc-branco, #FFFFFF); border: 1px solid var(--fc-menta, #2EFFA0); font-weight: 700; gap: 12px; }
.fc-btn--vivo:hover:not(:disabled) { background: rgba(0, 0, 0, 0.28); color: var(--fc-branco, #FFFFFF); border-color: var(--fc-menta, #2EFFA0); }
.fc-btn--vivo .fc-ao-vivo__ponto { position: relative; width: 12px; height: 12px; background: var(--fc-menta, #2EFFA0); animation: none; }
.fc-btn--vivo .fc-ao-vivo__ponto::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--fc-menta, #2EFFA0); animation: fc-vivo-onda 1.6s ease-out infinite; }
@keyframes fc-vivo-onda { from { transform: scale(1); opacity: 0.9; } to { transform: scale(2.4); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .fc-btn--vivo .fc-ao-vivo__ponto::after { animation: none; } }
/* "Entre agora": contorno branco, botão um pouco menor, bolinha mais perto da borda esquerda */
.fc-btn--vivo { --h: var(--fc-control-sm); font-size: 14px; border-color: rgba(255, 255, 255, 0.85); padding: 0 16px 0 12px; gap: 10px; border-radius: var(--fc-r-sm); }
.fc-btn--vivo:hover:not(:disabled) { border-color: rgba(255, 255, 255, 0.85); }
.fc-btn--vivo .fc-ao-vivo__ponto { width: 11px; height: 11px; }

/* "Entre agora": contorno no verde Fourclass */
.fc-btn--vivo, .fc-btn--vivo:hover:not(:disabled) { border-color: var(--fc-menta, #2EFFA0); }

/* Ao vivo v-final (teste): imagem limpa; embaixo do nome, bolinha vermelha com onda + "ao vivo"; botão verde normal "Entrar na sala" */
.fc-evento__agora { color: var(--fc-branco, #FFFFFF); font-weight: 600; gap: 10px; }
.fc-ao-vivo__ponto--onda { position: relative; width: 10px; height: 10px; background: var(--fc-menta, #2EFFA0); animation: none; flex: none; margin-left: 2px; }
.fc-ao-vivo__ponto--onda::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--fc-menta, #2EFFA0); animation: fc-vivo-onda 1.6s ease-out infinite; }
@media (prefers-reduced-motion: reduce) { .fc-ao-vivo__ponto--onda::after { animation: none; } }
/* "AO VIVO" em caixa alta embaixo do nome */
.fc-evento__agora { text-transform: uppercase; letter-spacing: .07em; font-size: 12.5px; font-weight: 800; }

/* Cartão do evento: até 2 linhas da descrição embaixo do título */
.fc-evento__desc { margin: 2px 0 0; font-size: 13.5px; line-height: 1.45; color: var(--fc-text-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-width: 520px; }

/* AO VIVO acima do nome: selo vermelho no estilo do YouTube, cantos arredondados como o botão, bolinha branca pulsando */
.fc-evento__agora { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; padding: 4px 10px 4px 9px; border-radius: var(--fc-r-sm); background: var(--fc-menta, #2EFFA0); color: var(--fc-marinho, #121923); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; line-height: 1.2; }
.fc-evento__agora .fc-ao-vivo__ponto--onda { width: 8px; height: 8px; background: var(--fc-marinho, #121923); margin-left: 0; }
.fc-evento__agora .fc-ao-vivo__ponto--onda::after { border-color: var(--fc-marinho, #121923); }

/* AO VIVO menor, com o símbolo de transmissão (estilo YouTube) piscando de leve; mais respiro até o nome; descrição em 1 linha com "…" */
.fc-evento__agora { padding: 3px 8px 3px 7px; gap: 5px; font-size: 10.5px; letter-spacing: .07em; margin-bottom: 6px; border-radius: 6px; }
.fc-evento__agora-ic { width: 13px; height: 13px; stroke-width: 2.4; animation: fc-pulsar 1.4s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .fc-evento__agora-ic { animation: none; } }
.fc-evento__desc { -webkit-line-clamp: 1; }

/* Título do evento na fileira Agenda maior (17px) */
.fc-rail--agenda .fc-evento__t { font-size: 17px; line-height: 1.2; }

/* Título do evento na Agenda: 16px (escolhido) */
.fc-rail--agenda .fc-evento__t { font-size: 16px; line-height: 1.3; }

/* ============ Editar a vitrine na tela do aluno (só equipe que gerencia) ============ */
.fc-vit-ligar {
  position: fixed; right: 20px; bottom: 20px; z-index: 66; display: inline-flex; align-items: center; gap: 8px;
  height: 38px; padding: 0 16px; border-radius: var(--fc-r-full); border: 1px solid var(--fc-border-2);
  background: rgba(42, 52, 70, 0.92); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  color: var(--fc-text); font: 600 13px/1 var(--fc-font, inherit); cursor: pointer; transition: background .15s, color .15s;
}
.fc-vit-ligar:hover { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); }
.fc-vit-ligar[hidden], .fc-vit-barra[hidden] { display: none; }
.fc-vit-barra {
  position: fixed; left: 50%; bottom: 20px; transform: translateX(-50%); z-index: 66; display: flex; align-items: center; gap: 10px;
  padding: 8px 8px 8px 16px; border-radius: var(--fc-r-full); background: rgba(42, 52, 70, 0.95); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--fc-border-2); font-size: 13px; color: var(--fc-text-2); white-space: nowrap;
}
.fc-vit-barra > .fc-icon { width: 16px; height: 16px; color: var(--fc-green); }
@media (max-width: 767px) { .fc-vit-barra > span { display: none; } .fc-vit-ligar { right: 12px; bottom: 12px; } }
/* Organizar: cada seção abre em grade, com todos os cards à vista, para arrastar */
.is-vit-editando .fc-nx-rail .fc-rail__track[data-fc-sortable] { grid-auto-flow: row; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-columns: auto; overflow: visible; scroll-snap-type: none; row-gap: 24px; }
.is-vit-editando .fc-nx-rail.fc-rail--wide .fc-rail__track[data-fc-sortable] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.is-vit-editando .fc-rail__lado { display: none; }
.is-vit-editando .fc-rail__track[data-fc-sortable] > [data-id] { cursor: grab; touch-action: none; -webkit-user-drag: none; user-select: none; }
.is-vit-editando .fc-rail__track[data-fc-sortable] > [data-id] * { -webkit-user-drag: none; }
.is-vit-editando .fc-rail__track > .fc-sort-vaga { opacity: .25; outline: 1px dashed rgba(255, 255, 255, 0.5); border-radius: 10px; }
.is-vit-editando .is-dragging { cursor: grabbing; opacity: .92; }
/* alça da seção inteira (só no modo Organizar) */
.fc-vit-ctrl { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.fc-vit-jeito { display: inline-flex; gap: 2px; padding: 3px; border-radius: 999px; background: var(--fc-ardosia, #2A3446); }
.fc-vit-jeito button { height: 30px; padding: 0 14px; border: 0; border-radius: 999px; background: none; color: rgba(255, 255, 255, 0.7); font: 600 13px var(--fc-font-body, Inter, sans-serif); cursor: pointer; }
.fc-vit-jeito button[aria-pressed="true"] { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); }
.fc-vit-mais { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 16px; border: 0; border-radius: 999px; background: var(--fc-menta, #2EFFA0); color: var(--fc-marinho, #121923); font: 600 13px var(--fc-font-body, Inter, sans-serif); cursor: pointer; }
.fc-vit-mais .fc-icon { width: 16px; height: 16px; }
.is-vit-editando .fc-rail__track[data-fc-sortable] > [data-id] { position: relative; }
/* Organizar: marcar vários cards e Travar */
.fc-vit-sel { position: absolute; top: 8px; left: 8px; z-index: 3; width: 28px; height: 28px; display: grid; place-items: center; border: 2px solid var(--fc-branco, #FFFFFF); border-radius: 50%; background: rgba(18, 25, 35, .6); color: transparent; cursor: pointer; }
.fc-vit-sel .fc-icon { width: 16px; height: 16px; }
.fc-vit-sel[aria-pressed="true"] { background: var(--fc-menta, #2EFFA0); border-color: var(--fc-menta, #2EFFA0); color: var(--fc-marinho, #121923); }
.is-vit-marcado { outline: 3px solid var(--fc-menta, #2EFFA0); outline-offset: 2px; border-radius: 10px; }
.fc-vit-sel-n { font-weight: 600; white-space: nowrap; }
.fc-vit-trava__ops { display: flex; flex-direction: column; gap: 8px; }
.fc-vit-trava__op { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border-radius: 10px; background: var(--fc-surface-2); cursor: pointer; }
.fc-vit-trava__op > input { margin-top: 4px; accent-color: var(--fc-menta, #2EFFA0); }
.fc-vit-trava__op > span { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1; }
.fc-vit-trava__op small { color: var(--fc-text-3, rgba(255, 255, 255, .6)); }
.fc-vit-trava__op .fc-input, .fc-vit-trava__n { display: none; margin-top: 6px; }
.fc-vit-trava__op:has(> input:checked) { outline: 2px solid var(--fc-foco); }
.fc-vit-trava__op:has(> input:checked) .fc-input, .fc-vit-trava__op:has(> input:checked) .fc-vit-trava__n { display: flex; align-items: center; gap: 8px; }
.fc-vit-trava__n .fc-input { display: block; width: 90px; margin: 0; }
.fc-vit-trava__aviso { display: flex; gap: 8px; align-items: center; margin-top: 6px; color: var(--fc-text-2, rgba(255, 255, 255, .8)); }
.fc-vit-x { position: absolute; top: 8px; right: 8px; z-index: 3; width: 30px; height: 30px; display: grid; place-items: center; border: 0; border-radius: 50%; background: var(--fc-marinho, #121923); color: var(--fc-branco, #FFFFFF); box-shadow: 0 2px 8px rgba(0, 0, 0, .4); cursor: pointer; }
.fc-vit-x:hover { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); }
.fc-vit-x .fc-icon { width: 16px; height: 16px; }
.fc-vit-add { width: min(560px, calc(100vw - 32px)); }
.fc-vit-add .fc-modal__body { display: grid; gap: 12px; }
.fc-vit-add__lista { display: grid; gap: 4px; max-height: min(52vh, 460px); overflow-y: auto; }
.fc-vit-add__item { display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: 10px; cursor: pointer; color: var(--fc-text); }
.fc-vit-add__item[hidden] { display: none; }
.fc-vit-add__item:hover { background: var(--fc-ardosia, #2A3446); }
.fc-vit-add__item input { width: 18px; height: 18px; accent-color: var(--fc-menta, #2EFFA0); flex: none; }
.fc-vit-add__item input:disabled + .fc-vit-add__capa { opacity: .5; }
.fc-vit-add__capa { width: 36px; height: 56px; flex: none; overflow: hidden; border-radius: 6px; background: var(--fc-ardosia, #2A3446); }
.fc-vit-add__capa img { width: 100%; height: 100%; object-fit: cover; }
.fc-vit-add__item small { color: var(--fc-text-2); }
.fc-vit-alca { display: inline-grid; place-items: center; width: 32px; height: 32px; margin-right: 8px; border: 0; border-radius: 8px; background: var(--fc-ardosia, #2A3446); color: var(--fc-branco, #FFFFFF); cursor: grab; touch-action: none; }
.fc-vit-alca .fc-icon { width: 18px; height: 18px; }
.is-vit-editando .fc-nx-rows > .fc-nx-rail[data-id] > .fc-rail__head { justify-content: flex-start; }
.is-vit-editando .fc-nx-rows > .fc-nx-rail.is-dragging { max-height: 220px; overflow: hidden; border-radius: 12px; background: var(--fc-ardosia, #2A3446); box-shadow: 0 20px 50px rgba(0, 0, 0, .45); }
.is-vit-editando .fc-nx-rows > .fc-sort-vaga { max-height: 220px; border-radius: 12px; outline: 1px dashed rgba(255, 255, 255, 0.5); opacity: .4; }
.is-vit-editando .fc-rail__track[data-fc-grupo] { min-height: 120px; border-radius: 12px; transition: outline-color .15s ease; outline: 1px dashed transparent; outline-offset: 6px; } /* seção sua: recebe card de outra seção */
.is-vit-editando .fc-rail__track[data-fc-grupo].is-alvo { outline-color: rgba(255, 255, 255, 0.5); }

/* Menu do painel em blocos (09/10): título pequeno de cada bloco; itens mais baixos para tudo caber à mostra */
.fc-adm-nav__item { height: 36px; font-size: 14px; }
.fc-adm-nav__item .fc-icon { width: 18px; height: 18px; }
.fc-adm-nav__bloco { margin: 14px 13px 4px; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--fc-text-3); white-space: nowrap; }
.fc-adm-nav__bloco:empty { margin: 10px 6px 6px; height: 1px; background: var(--fc-border-2); }
.fc-adm-corpo.is-mini .fc-adm-nav__bloco { font-size: 0; height: 1px; margin: 10px 6px 6px; background: var(--fc-border-2); }
@media (max-width: 1023px) { .fc-adm-corpo.is-mini .fc-adm-nav__bloco { font-size: 11px; height: auto; background: none; margin: 14px 13px 4px; } }
.fc-adm-corpo.is-claro .fc-adm-nav__bloco { color: var(--fc-tom-40, #71757B); }

/* Texto do banner da vitrine mais largo (09/10): ~700px de texto; em telas menores não passa de 55% para não cobrir a foto */
.fc-nx-hero--banners .fc-nx-hero__content, .fc-nx-hero--boasvindas .fc-nx-hero__content { width: min(760px, 55vw, 100%); }
@media (max-width: 767px) { .fc-nx-hero--banners .fc-nx-hero__content, .fc-nx-hero--boasvindas .fc-nx-hero__content { width: 100%; } }

/* Texto só para leitores de tela */
.fc-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* ============ Menu do topo (computador) ============ */
.fc-nx-top__abas { display: flex; align-items: stretch; gap: 26px; align-self: stretch; margin-left: 28px; }
.fc-nx-top__aba { display: inline-flex; align-items: center; color: var(--fc-text-2); font-size: 15px; font-weight: 500; border-bottom: 2px solid transparent; white-space: nowrap; }
.fc-nx-top__aba:hover { color: var(--fc-text); }
.fc-nx-top__aba.is-on { color: var(--fc-text); border-bottom-color: var(--fc-green); }
@media (max-width: 1023px) { .fc-nx-top__abas { display: none; } }

/* ============ Área do aluno · modo claro (escolha de cada aluno, botão de sol/lua no topo) ============
   O fundo e as caixas ficam claros; banners (topo do início, do curso, da trilha) continuam escuros como uma "ilha",
   para o texto branco sobre a foto seguir legível. Verde da marca nos botões; verde mais fechado em textos e ícones. */
.fc-logo-preta { display: none !important; }
.fc-tema__sol { display: none; }
body.fc-claro .fc-tema__sol { display: inline-flex; }
body.fc-claro .fc-tema__lua { display: none; }
body.fc-claro {
  --fc-foco: rgba(18, 25, 35, 0.35);
  --fc-bg: var(--fc-nevoa, #EAEFEE); --fc-sunken: var(--fc-nevoa, #EAEFEE); --fc-surface: var(--fc-branco, #FFFFFF); --fc-surface-2: var(--fc-branco, #FFFFFF); --fc-surface-3: var(--fc-nevoa, #EAEFEE);
  --fc-overlay: rgba(18, 25, 35, 0.72);
  --fc-text: var(--fc-marinho, #121923); --fc-text-2: var(--fc-tom-24, #4B5058); --fc-text-3: var(--fc-tom-40, #71757B); --fc-text-disabled: var(--fc-tom-60, #A0A3A7);
  --fc-border: rgba(18, 25, 35, 0.08); --fc-border-2: rgba(18, 25, 35, 0.14); --fc-border-strong: rgba(18, 25, 35, 0.26);
  --fc-green: var(--fc-marinho, #121923); --fc-green-hover: var(--fc-marinho, #121923); --fc-green-press: var(--fc-marinho, #121923);
  --fc-green-soft: var(--fc-nevoa, #EAEFEE); --fc-green-line: rgba(18, 25, 35, 0.45);
  --fc-shadow-pop: 0 16px 40px -12px rgba(18, 25, 35, 0.18), 0 0 0 1px rgba(18, 25, 35, 0.10);
  --fc-shadow-modal: 0 32px 80px -16px rgba(18, 25, 35, 0.28), 0 0 0 1px rgba(18, 25, 35, 0.10);
  background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923);
}
/* Barra do topo: branca (sobre o banner do início, enquanto não rola, continua transparente e escura) */
body.fc-claro:not(.fc-nx--cheia) .fc-nx-top, body.fc-claro .fc-nx-top.is-solid { background: rgba(255, 255, 255, 0.94); box-shadow: inset 0 -1px 0 var(--fc-nevoa, #EAEFEE); }
body.fc-claro:not(.fc-nx--cheia) .fc-nx-top .fc-logo-branca, body.fc-claro .fc-nx-top.is-solid .fc-logo-branca { display: none !important; }
body.fc-claro:not(.fc-nx--cheia) .fc-nx-top .fc-logo-preta, body.fc-claro .fc-nx-top.is-solid .fc-logo-preta { display: block !important; }
body.fc-claro.fc-nx--cheia .fc-nx-top:not(.is-solid) { --fc-text: var(--fc-nevoa, #EAEFEE); --fc-text-2: rgba(255, 255, 255, 0.75); --fc-green: var(--fc-menta, #2EFFA0); color: var(--fc-branco, #FFFFFF); }
body.fc-claro .fc-nx-menu .fc-logo-branca { display: none !important; }
body.fc-claro .fc-nx-menu .fc-logo-preta { display: block !important; }
/* Banners: ilhas escuras (texto branco sobre a foto) */
body.fc-claro :is(.fc-nx-hero, .fc-course-hero, .fc-trilha-hero.has-banner, .fc-hero) {
  --fc-bg: var(--fc-marinho, #121923); --fc-surface: var(--fc-marinho, #121923); --fc-surface-3: var(--fc-ardosia, #2A3446);
  --fc-text: var(--fc-nevoa, #EAEFEE); --fc-text-2: rgba(255, 255, 255, 0.72); --fc-text-3: rgba(255, 255, 255, 0.5);
  --fc-border: rgba(255, 255, 255, 0.08); --fc-border-2: rgba(255, 255, 255, 0.14); --fc-border-strong: rgba(255, 255, 255, 0.24);
  --fc-green: var(--fc-menta, #2EFFA0); color: var(--fc-branco, #FFFFFF);
}
body.fc-claro .fc-nx-hero { background: var(--fc-marinho, #121923); }
body.fc-claro .fc-nx-hero--banners + .fc-nx-rows, body.fc-claro .fc-nx-hero--arte + .fc-nx-rows { margin-top: 0; padding-top: var(--fc-s6); }
/* Botões */
body.fc-claro .fc-btn--primary { background: var(--fc-menta, #2EFFA0); color: var(--fc-marinho, #121923); border-color: var(--fc-menta, #2EFFA0); }
body.fc-claro .fc-btn--primary:hover:not(:disabled) { background: var(--fc-marinho, #121923); color: var(--fc-menta, #2EFFA0); border-color: var(--fc-marinho, #121923); }
body.fc-claro .fc-btn--secondary { background: var(--fc-branco, #FFFFFF); color: var(--fc-marinho, #121923); border-color: var(--fc-tom-80, #D0D1D3); }
body.fc-claro .fc-btn--secondary:hover:not(:disabled) { background: var(--fc-marinho, #121923); color: var(--fc-branco, #FFFFFF); border-color: var(--fc-marinho, #121923); }
body.fc-claro .fc-btn--ghost:hover:not(:disabled) { background: rgba(18, 25, 35, 0.06); }
body.fc-claro :is(.fc-nx-hero, .fc-course-hero, .fc-trilha-hero.has-banner, .fc-hero) .fc-btn--secondary { background: rgba(255, 255, 255, 0.12); color: var(--fc-branco, #FFFFFF); border-color: rgba(255, 255, 255, 0.3); }
/* Caixas, campos e listas */
body.fc-claro .fc-card { background: var(--fc-branco, #FFFFFF); border-color: var(--fc-nevoa, #EAEFEE); }
body.fc-claro :is(.fc-input, .fc-select, .fc-textarea) { background: var(--fc-branco, #FFFFFF); border: 1px solid var(--fc-tom-80, #D0D1D3); color: var(--fc-marinho, #121923); }
body.fc-claro :is(.fc-input, .fc-select, .fc-textarea):focus { border-color: var(--fc-marinho, #121923); box-shadow: 0 0 0 3px rgba(18, 25, 35, 0.12); }
body.fc-claro .fc-badge { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-tom-24, #4B5058); }
body.fc-claro .fc-badge--accent { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); }
body.fc-claro .fc-badge--solid { background: var(--fc-menta, #2EFFA0); color: var(--fc-marinho, #121923); }
body.fc-claro .fc-alert { background: var(--fc-branco, #FFFFFF); border-color: var(--fc-nevoa, #EAEFEE); }
body.fc-claro :is(.fc-progress, .fc-course__bar, .fc-trilha__barra, .fc-meter span, .fc-steps span) { background: rgba(18, 25, 35, 0.10); }
body.fc-claro .fc-trilha__aulas li:not(:last-child)::after { background: rgba(18, 25, 35, 0.12); }

body.fc-claro .fc-nav__item.is-active { background: var(--fc-nevoa, #EAEFEE); }
body.fc-claro :is(.fc-menu, .fc-notif, .fc-popover, .fc-dropdown) { background: var(--fc-branco, #FFFFFF); }
body.fc-claro .fc-notif__icon { background: var(--fc-nevoa, #EAEFEE); }
body.fc-claro .fc-search-trigger { background: var(--fc-branco, #FFFFFF); }

body.fc-claro .fc-modal { background: var(--fc-branco, #FFFFFF); }

/* Campo de endereço do produto: o começo (app.fourclass.com.br/tipo/) fica fixo ao lado, sem encavalar no texto */
.fc-slug-campo { display: flex; align-items: center; gap: 0; cursor: text; }
.fc-slug-campo > span { flex: none; color: var(--fc-text-3); white-space: nowrap; }
.fc-slug-campo > input { flex: 1; min-width: 80px; border: 0; background: transparent; color: var(--fc-text); font: inherit; outline: none; padding: 0; height: 100%; }
.fc-slug-campo:focus-within { border-color: var(--fc-border-strong); }

/* Evento com cadeado (de um produto que o aluno não tem) */
.fc-evento.is-bloqueado .fc-evento__media img { filter: grayscale(1) brightness(.75); }
.fc-evento__cadeado { position: absolute; top: 10px; right: 10px; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: rgba(18, 25, 35, .7); color: var(--fc-branco, #FFFFFF); }
.fc-evento__cadeado .fc-icon { width: 15px; height: 15px; }
.fc-evento.is-bloqueado .fc-evento-acoes { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }

/* Módulo bloqueado: preto e branco como as capas à venda; ganha cor ao passar o mouse */
.fc-nx-mod.is-locked .fc-nx-mod__media > :not(.fc-nx-mod__lock) { filter: grayscale(1) brightness(.72); transition: filter var(--fc-slow) var(--fc-ease); }
a.fc-nx-mod.is-locked:hover .fc-nx-mod__media > :not(.fc-nx-mod__lock) { filter: grayscale(.5) brightness(.85); }
.fc-evento.is-bloqueado .fc-evento__media img { transition: filter var(--fc-slow) var(--fc-ease); }
.fc-evento.is-bloqueado:hover .fc-evento__media img { filter: grayscale(.5) brightness(.85); }

/* ===================== Lives: banner do topo ===================== */
.fc-lives-banner { position: relative; overflow: hidden; isolation: isolate; margin: 28px clamp(20px, 3vw, 44px) 0; border-radius: 24px; min-height: 320px; display: flex; align-items: center; padding: 48px clamp(28px, 5vw, 72px); color: var(--fc-branco, #FFFFFF);
  background: radial-gradient(55% 90% at 78% 50%, var(--fc-marinho, #121923) 0%, rgba(18, 25, 35, 0) 70%), linear-gradient(120deg, var(--fc-marinho, #121923) 0%, var(--fc-ardosia, #2A3446) 55%, var(--fc-marinho, #121923) 100%); }
.fc-lives-banner.has-img { background: linear-gradient(90deg, rgba(18, 25, 35, .92) 0%, rgba(18, 25, 35, .6) 45%, rgba(18, 25, 35, .1) 100%), var(--bn-img) center / cover; }

.fc-lives-banner h2 { margin: 0; font-size: clamp(30px, 3.6vw, 46px); line-height: 1.12; letter-spacing: -.025em; color: var(--fc-branco, #FFFFFF); }
.fc-lives-banner h2 b { color: var(--fc-menta, #2EFFA0); }

@media (max-width: 1023px) {
  .fc-lives-banner { min-height: 220px; margin-top: 16px; }
}
/* ===================== App instalável (PWA) ===================== */
/* Barra de baixo no celular (site e app instalado): as portas da Fourclass */
.fc-app-abas { display: none; }
@media (max-width: 1023px) {
  .fc-app-abas { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: flex; justify-content: space-around; align-items: flex-start; padding: 8px 6px calc(8px + env(safe-area-inset-bottom)); background: color-mix(in srgb, var(--fc-bg) 94%, transparent); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-top: 1px solid var(--fc-border); }
  .fc-nx-main, .fc-nx--cheia .fc-nx-main { padding-bottom: calc(84px + env(safe-area-inset-bottom)); }
  .fc-app-convite { bottom: calc(84px + env(safe-area-inset-bottom)); }
  .fc-toasts { bottom: calc(90px + env(safe-area-inset-bottom)); }
  body.fc-app .fc-nx-top { padding-top: env(safe-area-inset-top); }
}
.fc-app-abas__a { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 4px 0; color: var(--fc-text-3); font-size: 11px; font-weight: 500; }
.fc-app-abas__a .fc-icon { width: 22px; height: 22px; }
.fc-app-abas__a.is-on { color: var(--fc-green); }

/* Convite para instalar */
.fc-app-convite { position: fixed; left: 12px; right: 12px; bottom: calc(14px + env(safe-area-inset-bottom)); z-index: 90; max-width: 440px; margin: 0 auto; padding: 16px; border-radius: 20px; background: var(--fc-branco, #FFFFFF); color: var(--fc-marinho, #121923); box-shadow: 0 20px 50px -10px rgba(0, 0, 0, .55); transform: translateY(130%); transition: transform .3s var(--fc-ease); }
.fc-app-convite.is-on { transform: none; }
.fc-app-convite[hidden] { display: none; }
.fc-app-convite__topo { display: flex; gap: 12px; align-items: center; }
.fc-app-convite__topo b { display: block; font-size: 15px; }
.fc-app-convite__topo small { color: var(--fc-tom-32, #5E6369); font-size: 13px; }
.fc-app-ico { flex: none; width: 48px; height: 48px; border-radius: 12px; background: var(--fc-marinho, #121923); display: grid; place-items: center; }
.fc-app-ico svg { width: 28px; height: 28px; color: var(--fc-menta, #2EFFA0); }
.fc-app-convite__ios ol { margin: 12px 0 0; padding-left: 20px; font-size: 14px; }
.fc-app-convite__ios li { margin: 6px 0; }
.fc-app-convite__ios .fc-icon { display: inline-block; width: 16px; height: 16px; margin: 0 2px; vertical-align: -3px; color: var(--fc-marinho, #121923); }
.fc-app-convite__bt { display: flex; gap: 8px; margin-top: 14px; }
.fc-app-convite__bt .fc-btn { flex: 1; }
.fc-app-convite__bt .fc-btn--secondary { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); border-color: transparent; }
.fc-app-convite__bt .fc-btn--primary { background: var(--fc-marinho, #121923); color: var(--fc-menta, #2EFFA0); }
.fc-app-convite__bt [hidden] { display: none; }

/* Lives: banners do topo (lives em destaque), passando um por um */
.fc-lives-topo { position: relative; margin: 28px clamp(20px, 3vw, 44px) 0; }
.fc-lives-topo__trilho { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; border-radius: 24px; }
.fc-lives-topo__trilho::-webkit-scrollbar { display: none; }
.fc-lives-topo .fc-lives-banner { flex: 0 0 100%; margin: 0; scroll-snap-align: start; border-radius: 0; }
.fc-lives-topo__seta { position: absolute; top: 50%; z-index: 3; width: 42px; height: 42px; margin-top: -21px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .14); color: var(--fc-branco, #FFFFFF); display: grid; place-items: center; cursor: pointer; backdrop-filter: blur(6px); opacity: 0; transition: opacity var(--fc-fast), background var(--fc-fast); }
.fc-lives-topo:hover .fc-lives-topo__seta { opacity: 1; } .fc-lives-topo__seta:hover { background: rgba(255, 255, 255, .26); }
.fc-lives-topo__seta.is-ant { left: 14px; } .fc-lives-topo__seta.is-prox { right: 14px; }
.fc-lives-topo__pontos { position: absolute; left: 0; right: 0; bottom: 14px; z-index: 3; display: flex; justify-content: center; gap: 8px; }
.fc-lives-topo__pontos button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .4); cursor: pointer; transition: width var(--fc-fast), background var(--fc-fast); }
.fc-lives-topo__pontos button.is-on { width: 24px; background: var(--fc-menta, #2EFFA0); }
/* banner do encontro: imagem do evento, sempre escuro (texto branco também no modo claro) */

@media (max-width: 1023px) {
  .fc-lives-topo { margin-top: 16px; }

  .fc-lives-topo__seta { display: none; }
}
/* Lives: banner do topo mais leve */

.fc-lives-topo { margin-top: 20px; }
.fc-lives-banner { min-height: 260px; padding: 36px clamp(24px, 4vw, 56px); }
.fc-lives-banner h2 { font-size: clamp(24px, 2.6vw, 34px); }

/* Lives: banners com imagem, com ou sem texto */
.fc-lives-banner--img { padding: 0; min-height: 0; aspect-ratio: 3 / 1; background: var(--fc-marinho, #121923); }

.fc-lives-banner--img.com-texto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(18, 25, 35, .9) 0%, rgba(18, 25, 35, .55) 45%, rgba(18, 25, 35, 0) 80%); }

.fc-lives-banner__link { position: absolute; inset: 0; z-index: 2; }
@media (max-width: 767px) { .fc-lives-banner--img { aspect-ratio: 1 / 1; } }

/* Menu do aluno: botão "Baixar o app" com a mesma cara dos links do menu */
button.fc-nav__item.fc-nx-menu__app { width: 100%; border: 0; background: none; font: inherit; text-align: left; cursor: pointer; color: var(--fc-green); margin-top: auto; }
button.fc-nav__item.fc-nx-menu__app:hover { background: var(--fc-green-soft); }

/* ===================== Publicidade ===================== */
/* anúncios na área do aluno */
.fc-anuncio { display: block; position: relative; overflow: hidden; border-radius: 16px; aspect-ratio: var(--ratio, 3/1); background: var(--fc-surface-3); }
.fc-anuncio img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s var(--fc-ease); }
a.fc-anuncio:hover img { transform: scale(1.02); }
.fc-anuncio--faixa { margin: 8px 0 28px; }
.fc-anuncio--aula { margin-bottom: 16px; border-radius: 14px; }

@media (max-width: 767px) { .fc-anuncio--faixa { aspect-ratio: auto; } .fc-anuncio--faixa img { height: auto; } }

/* painel: mapa */
.fc-pub-areas { display: flex; gap: 6px; margin-bottom: 12px; }
.fc-pub-areas button { height: 40px; padding: 0 18px; border: 0; border-radius: 999px; background: var(--fc-surface-2); color: var(--fc-text-2); font: inherit; font-weight: 600; cursor: pointer; }
.fc-pub-areas button.is-on { background: var(--fc-text); color: var(--fc-bg); }
.fc-pub-paginas { display: flex; gap: 22px; border-bottom: 1px solid var(--fc-border); margin-bottom: 20px; }
.fc-pub-paginas[hidden] { display: none; }
.fc-pub-paginas button { padding: 10px 0; border: 0; border-bottom: 2px solid transparent; background: none; color: var(--fc-text-2); font: inherit; font-weight: 500; cursor: pointer; }
.fc-pub-paginas button.is-on { color: var(--fc-text); border-color: var(--fc-green); }
.fc-pub-mapa { max-width: 980px; padding: 16px; border-radius: 20px; background: var(--fc-surface); border: 1px solid var(--fc-border-2); }
.fc-pub-mapa__barra { display: flex; gap: 6px; align-items: center; height: 28px; padding: 0 12px; margin-bottom: 14px; border-radius: 8px; background: var(--fc-surface-3); }
.fc-pub-mapa__barra i { width: 8px; height: 8px; border-radius: 50%; background: var(--fc-text-3); }
.fc-pub-pag { display: flex; flex-direction: column; gap: 10px; }
.fc-pub-pag[hidden] { display: none; }
.fc-pub-pag--aula, .fc-pub-pag--cm { flex-direction: row; align-items: flex-start; }
.fc-pub-col2 { flex: 2; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.fc-pub-col1 { flex: 1; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.fc-pub-menu { width: 22%; min-height: 360px; }
.fc-pub-cinza { background: var(--fc-surface-3); border-radius: 10px; }
.fc-pub-capas { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.fc-pub-capas--3 { grid-template-columns: repeat(4, 1fr); }
.fc-pub-capas i { aspect-ratio: 2/3; border-radius: 8px; background: var(--fc-surface-3); }
.fc-pub-capas--3 i { aspect-ratio: 1/1; }
.fc-pub-slot { position: relative; width: 100%; display: grid; place-items: center; padding: 8px; border: 2px dashed var(--fc-green-line); border-radius: 12px; background: var(--fc-green-soft); color: var(--fc-green); font: inherit; text-align: center; cursor: pointer; transition: background var(--fc-fast), transform var(--fc-fast); }
.fc-pub-slot:hover { background: rgba(255, 255, 255, .2); transform: scale(1.01); }
.fc-pub-slot b { display: block; font-size: 13.5px; }
.fc-pub-slot small { display: block; color: var(--fc-text-2); font-size: 11.5px; }
.fc-pub-slot em { position: absolute; top: 8px; right: 8px; font-style: normal; font-size: 11px; font-weight: 600; padding: 1px 8px; border-radius: 999px; background: var(--fc-green); color: var(--fc-marinho, #121923); }
.fc-pub-slot.is-cheio { border-style: solid; background: linear-gradient(rgba(18, 25, 35, .45), rgba(18, 25, 35, .45)), var(--img) center / cover; color: var(--fc-branco, #FFFFFF); }
.fc-pub-slot.is-cheio small { color: rgba(255, 255, 255, .8); }
.fc-pub-bv { max-width: 980px; margin-top: 16px; padding: 16px 20px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.fc-pub-bv[hidden] { display: none; }
.fc-pub-bv > div { flex: 1; min-width: 240px; }
/* painel: janela do lugar */
.fc-pub-modal { width: min(620px, calc(100vw - 32px)); }
.fc-pub-lista { display: flex; flex-direction: column; gap: 8px; }
.fc-pub-item { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 12px; background: var(--fc-surface-2); }
.fc-pub-item__img { width: 96px; flex: none; border-radius: 8px; background: var(--fc-surface-3) center / cover; }
.fc-pub-item b { display: block; font-size: 14px; } .fc-pub-item small { color: var(--fc-text-3); font-size: 12.5px; }
.fc-pub-item__acoes { margin-left: auto; display: flex; flex-wrap: wrap; justify-content: flex-end; }
.fc-pub-form { display: flex; flex-direction: column; gap: 14px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--fc-border); }
.fc-pub-form[hidden] { display: none; }
.fc-pub-up { position: relative; display: grid; place-items: center; overflow: hidden; border: 2px dashed var(--fc-border-strong); border-radius: 14px; color: var(--fc-text-2); cursor: pointer; }
.fc-pub-up:hover { border-color: var(--fc-border-strong); }
.fc-pub-up img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 760px) { .fc-pub-pag--aula, .fc-pub-pag--cm { flex-direction: column; } .fc-pub-menu { display: none; } }
/* anúncio da aula não encolhe quando a lista de módulos abre */
.fc-anuncio--aula { flex: none; width: 100%; }

/* Topo do Lives: todos os banners com a mesma altura, fininha (5:1) */
.fc-lives-topo .fc-lives-banner, .fc-lives-topo .fc-lives-banner--img  { aspect-ratio: 5 / 1; min-height: 250px; height: auto; }
@media (max-width: 767px) { .fc-lives-topo .fc-lives-banner, .fc-lives-topo .fc-lives-banner--img { aspect-ratio: auto; min-height: 280px; } .fc-lives-topo .fc-lives-banner--img:has(source) { aspect-ratio: 1 / 1; } }

/* ===================== Menu do app (Academy, Lives, Mentorias…) ===================== */
.fc-portas { margin-left: 36px; }
@media (max-width: 1023px) {
  .fc-app-convite { bottom: calc(84px + env(safe-area-inset-bottom)); }
  .fc-modo-aluno, .fc-vit-barra, .fc-vit-ligar { bottom: calc(90px + env(safe-area-inset-bottom)); }
}
.fc-pt-trilhos, .fc-pt-trilhos.fc-nx-rows { margin-top: 0; padding: 0; }
.fc-pt-trilhos .fc-nx-rail { margin-left: 0; margin-right: 0; }
@media (max-width: 767px) { .fc-pt-trilhos.fc-nx-rows { margin-top: 0; } }
.fc-pub-capas--4 { grid-template-columns: repeat(4, 1fr); }
.fc-pub-capas--4 i { aspect-ratio: 4/3; }

/* ===== Barra do topo igual em todas as portas: transparente com esmaecimento; sólida ao rolar ===== */
.fc-nx .fc-nx-top:not(.is-solid) { background: linear-gradient(180deg, rgba(18, 25, 35, 0.85), rgba(18, 25, 35, 0)); box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
body.fc-claro:not(.fc-nx--cheia) .fc-nx-top:not(.is-solid) { background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0)); box-shadow: none; }

/* ===================== Um menu por vez: ▦ trocar de área · logo + nome da área · menu da área ===================== */
.fc-ar-grade { position: relative; }
.fc-ar-grade.is-on .fc-ar-grade__bt { background: rgba(255, 255, 255, .08); }
.fc-ar-grade__pop { position: absolute; left: 0; top: calc(100% + 10px); width: 340px; max-width: calc(100vw - 24px); padding: 14px; border-radius: 18px; background: var(--fc-surface-2); box-shadow: var(--fc-shadow-pop); display: none; z-index: 90; }
.fc-ar-grade.is-on .fc-ar-grade__pop { display: block; }
.fc-ar-grade__pop small { display: block; color: var(--fc-text-3); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; padding: 2px 6px 10px; }
.fc-ar-grade__pop a { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 12px; color: var(--fc-text); }
.fc-ar-grade__pop a:hover { background: rgba(255, 255, 255, .06); }
.fc-ar-grade__pop a.is-on { background: var(--fc-green-soft); }
.fc-ar-grade__pop a.is-breve { opacity: .55; }
.fc-ar-grade__ic { width: 40px; height: 40px; flex: none; border-radius: 11px; display: grid; place-items: center; background: var(--fc-green-soft); color: var(--fc-green); }
.fc-ar-grade__pop b { display: block; font-size: 15px; font-weight: 600; }
.fc-ar-grade__pop em { font-style: normal; font-size: 13px; color: var(--fc-text-2); }
.fc-ar-grade__pop .fc-ar-grade__ini { justify-content: center; gap: 8px; margin-top: 6px; padding-top: 12px; border-top: 1px solid var(--fc-border); border-radius: 0; color: var(--fc-text-2); font-size: 14px; }
.fc-ar-nome { font-family: var(--fc-font-title); font-weight: 700; font-size: 19px; letter-spacing: -.01em; color: var(--fc-text); padding-left: 12px; margin-left: 2px; border-left: 1px solid var(--fc-border-strong); line-height: 1.1; white-space: nowrap; }
.fc-ar-menu { margin-left: 32px; }
.fc-ar-mais { display: flex; align-self: stretch; }
.fc-ar-mais > button { background: none; border: 0; border-bottom: 2px solid transparent; cursor: pointer; font: inherit; font-size: 15px; font-weight: 500; gap: 4px; }
.fc-ar-mais .fc-menu { top: 100%; left: 0; right: auto; min-width: 220px; }
.fc-app-abas button.fc-app-abas__a { background: none; border: 0; font: inherit; font-size: 11px; font-weight: 500; cursor: pointer; }
.fc-claro .fc-ar-grade__pop { background: var(--fc-branco, #FFFFFF); }
@media (max-width: 1023px) { .fc-ar-nome { font-size: 16px; padding-left: 10px; } }

/* topo do celular: logo sem espremer; o tema vai para o menu da conta */
.fc-nx-top__logo { flex: none; }
.fc-conta__tema { display: none; width: 100%; background: none; border: 0; font: inherit; text-align: left; cursor: pointer; }
@media (max-width: 640px) {
  .fc-nx-top__acoes > [data-nx-tema] { display: none; }
  .fc-conta__tema { display: flex; }
  .fc-nx-top__logo img { height: 22px; }
  .fc-ar-nome { font-size: 15px; padding-left: 9px; }
}
@media (max-width: 640px) {
  .fc-nx-top { gap: 6px; padding-left: 8px; padding-right: 10px; }
  .fc-nx-top__acoes { gap: 0; }
  .fc-nx-top .fc-btn--icon { width: 36px; height: 36px; }
  .fc-nx-top__logo { margin-left: 0; }
  .fc-nx-top__logo img { height: 20px; }
  .fc-ar-nome { font-size: 14.5px; padding-left: 8px; }
}

/* Trocar de área pela foto: menu da conta (computador) e "Você" na barra de baixo (celular) */
.fc-conta__grupo { padding: 6px 12px 4px; font-size: 11.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--fc-text-3); }
.fc-menu__item.is-breve { opacity: .55; }
.fc-menu__item small { margin-left: auto; font-size: 11px; color: var(--fc-text-3); }
.fc-menu__item.is-active { color: var(--fc-green); }
button.fc-nav__item { width: 100%; background: none; border: 0; font: inherit; text-align: left; cursor: pointer; }
.fc-app-abas__voce .fc-avatar { --size: 24px; width: 24px; height: 24px; font-size: 10px; box-shadow: 0 0 0 2px var(--fc-border-2); }
.fc-app-abas__voce[aria-expanded="true"] .fc-avatar, body.is-menu .fc-app-abas__voce .fc-avatar { box-shadow: 0 0 0 2px var(--fc-green); }
@media (max-width: 1023px) {
  .fc-nx-top__acoes > .fc-conta, .fc-nx-top__acoes > [data-nx-tema] { display: none; }
}

/* nome da área discreto: a logo é o destaque */
.fc-ar-nome { font-family: var(--fc-font-text); font-weight: 500; font-size: 15px; letter-spacing: 0; color: var(--fc-text-2); padding-left: 12px; border-left-color: var(--fc-border-2); }
.fc-ar-nome:hover { color: var(--fc-text); }
@media (max-width: 640px) { .fc-ar-nome { font-size: 13.5px; padding-left: 9px; } }
.fc-app-abas__a span { max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* celular: foto no topo (abre a gaveta), logo maior */
.fc-conta-cel { display: none; }
@media (max-width: 1023px) {
  .fc-conta-cel { display: inline-flex; }
  .fc-nx-top__logo img { height: 26px; }
  .fc-nx-menu__head img { height: 32px; }
}
@media (max-width: 640px) {
  .fc-nx-top__logo img { height: 25px; }
}

/* app no celular: sem linha branca embaixo e sem a barra balançar (efeito elástico) */
html { background: var(--fc-bg); }
html:has(body.fc-claro) { background: var(--fc-nevoa, #EAEFEE); }
@media (max-width: 1023px) {
  .fc-app-abas { background: var(--fc-bg); backdrop-filter: none; -webkit-backdrop-filter: none; transform: translateZ(0); box-shadow: 0 40px 0 0 var(--fc-bg); }
  .fc-claro .fc-app-abas { background: var(--fc-branco, #FFFFFF); box-shadow: 0 40px 0 0 var(--fc-branco, #FFFFFF); border-top-color: rgba(18, 25, 35, .08); }
}

/* Agenda no celular: card em pé (imagem grande em cima, texto embaixo), presença e agenda em botões grandes */
@media (max-width: 767px) {
  .fc-rail--agenda .fc-evento { display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
  .fc-rail--agenda .fc-evento__info { align-self: auto; gap: 6px; }
  .fc-rail--agenda .fc-evento__t { font-size: 18px; }
  .fc-rail--agenda .fc-evento__quando { font-size: 14.5px; align-items: flex-start; }
  .fc-rail--agenda .fc-evento__quando .fc-icon { flex: none; margin-top: 3px; }
  .fc-rail--agenda .fc-evento__data { min-width: 54px; padding: 6px 8px; }
  .fc-rail--agenda .fc-evento__data b { font-size: 22px; }
  .fc-rail--agenda .fc-evento-acoes { gap: 10px; flex-wrap: nowrap; }
  .fc-rail--agenda .fc-evento-presenca { flex: 1; min-width: 0; height: 50px; padding: 0 16px; border: 1px solid var(--fc-border-2); border-radius: 14px; background: var(--fc-surface); font-size: 15px; gap: 12px; }
  .fc-rail--agenda .fc-evento-presenca.is-on { border-color: var(--fc-green-line); background: var(--fc-green-soft); }
  .fc-rail--agenda .fc-evento-presenca input { transform: scale(1.2); flex: none; }
  .fc-rail--agenda .fc-evento-acoes .fc-btn--sm { height: 50px; min-width: 50px; border-radius: 14px; flex: none; }
  .fc-rail--agenda .fc-evento-acoes .fc-btn--sm .fc-icon { width: 20px; height: 20px; }
}
@media (max-width: 767px) { .fc-rail--agenda .fc-evento-acoes { width: 100%; align-self: stretch; } }

/* App instalado no celular: só o conteúdo rola (como apps nativos); topo e barra de baixo ficam parados */
@media (max-width: 1023px) {
  html:has(body.fc-rola), body.fc-rola { height: 100%; overflow: hidden; }
  body.fc-rola .fc-nx-main { position: fixed; inset: 0; max-width: none; margin: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
}
.fc-puxar { position: fixed; left: 50%; top: calc(var(--fc-topbar) + env(safe-area-inset-top) - 30px); z-index: 59; width: 38px; height: 38px; border-radius: 50%; background: var(--fc-surface-2); box-shadow: var(--fc-shadow-pop); display: grid; place-items: center; opacity: 0; transform: translate(-50%, 0); pointer-events: none; transition: opacity .15s; }
.fc-puxar span { width: 18px; height: 18px; border-radius: 50%; border: 2.5px solid var(--fc-text-3); border-top-color: transparent; }
.fc-puxar.is-pronto span, .fc-puxar.is-girando span { border-color: var(--fc-green); border-top-color: transparent; }
.fc-puxar.is-girando { opacity: 1 !important; transition: transform .2s; }
.fc-puxar.is-girando span { animation: fc-gira .7s linear infinite; }
@keyframes fc-gira { to { transform: rotate(360deg); } }

/* topo do celular: mais respiro entre busca, sino e foto; foto maior */
@media (max-width: 1023px) {
  .fc-nx-top__acoes { gap: 10px; }
  .fc-conta-cel .fc-avatar { --size: 36px; width: 36px; height: 36px; }
}
@media (max-width: 380px) { .fc-nx-top__acoes { gap: 6px; } .fc-ar-nome { font-size: 13px; } }

/* celular: sem "efeito mola" nas pontas da rolagem (o menu de baixo não estica); o arrastar para atualizar é o nosso */
@media (max-width: 1023px) {
  html, body { overscroll-behavior: none; }
  body.fc-rola .fc-nx-main { overscroll-behavior: contain; }
}

/* ===================== Versão enxuta do celular (o computador continua completo) ===================== */
@media (max-width: 767px) {
  /* barra de baixo: ícone com o nome curto embaixo (21/10/2026) */
  .fc-app-abas { padding-top: 6px; }
  .fc-app-abas__a { justify-content: center; gap: 4px; min-height: 50px; font-size: 11.5px; font-weight: 600; }
  .fc-app-abas__a .fc-icon { width: 24px; height: 24px; }
  .fc-nx-main, .fc-nx--cheia .fc-nx-main { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }

  /* Início: Continuar grande, próximo ao vivo, áreas só com ícone e nome; as fileiras ficam no computador */
  .fc-pt-trilhos { display: none; }

  /* Academy: topo com texto mais baixo; o banner do Início segue a imagem vertical 4:5 do celular (regra no fim deste arquivo) */
  .fc-nx-hero--texto:not(.fc-nx-hero--curso):not(.fc-nx-hero--banners) { min-height: 0; height: 320px; }
  .fc-nx-hero__title { font-size: 26px; }
  .fc-nx-hero__text { font-size: 15px; }

  /* Aula: botões grandes, abas maiores (a barra de baixo continua, para navegar) */
  .fc-aula__head { flex-direction: column; align-items: stretch; gap: 14px; }
  .fc-aula__title { font-size: 21px; }
  .fc-aula__nav { display: flex; gap: 8px; }
  .fc-aula__nav > * { height: 50px; }
  .fc-aula__nav .fc-aula__done { flex: 1; font-size: 16px; }
  .fc-aula__nav .fc-fav, .fc-aula__nav a, .fc-aula__nav #fc-proxima { min-width: 50px; }
  .fc-aula__abas .fc-tab { font-size: 15.5px; padding-block: 12px; }

  .fc-lives-banner { min-height: 200px; padding: 24px 20px; }
  .fc-lives-banner h2 { font-size: 24px; }
}

/* topo: ícones com respiro e foto maior (computador) */
@media (min-width: 1024px) {
  .fc-nx-top__acoes { gap: 14px; }
  .fc-nx-top__acoes .fc-conta__btn .fc-avatar { --size: 40px; width: 40px; height: 40px; }
  .fc-nx-top__acoes > .fc-btn--icon, .fc-nx-top__acoes .fc-bell > .fc-btn--icon { width: 42px; height: 42px; }
}

/* Área de conteúdos mais estreita (como as outras áreas de membros): banner de ponta a ponta,
   mas as fileiras e o texto do banner centralizados em até 1320px, alinhados entre si */
@media (min-width: 1024px) {
  .fc-nx { --nx-g: max(40px, calc((100vw - 1664px) / 2)); } /* mesma largura da área de membros da Hotmart */
  .fc-nx-rows { max-width: none; }
}
@media (min-width: 1024px) {
  .fc-nx-hero__content, .fc-nx-hero--banners .fc-nx-hero__content, .fc-nx-hero--boasvindas .fc-nx-hero__content { width: min(calc(760px + 2 * var(--nx-g)), 100%); }
  .fc-nx-hero--curso .fc-nx-hero__content { width: min(calc(700px + 2 * var(--nx-g)), 100%); }
}

/* topo de ponta a ponta (como a Hotmart); só o conteúdo fica em 1664px */
@media (min-width: 1024px) { .fc-nx-top { padding: 0 32px; } }

/* TESTE pedido pelo dono: banner da Academy sem nenhum esmaecido (computador) */
@media (min-width: 768px) { .fc-nx-hero__slide::after { background: none !important; } }

/* ===================== Painel no modelo da Hotmart (11/10): menu de uma lista só, tudo maior e mais fácil de ler.
   Backup do painel anterior: tag "antes-painel-hotmart" no GitHub. ===================== */
.fc-adm-corpo { --adm-topo: 72px; --adm-lado: 300px; }
.fc-adm-corpo.is-mini { --adm-lado: 78px; }
.fc-adm-topo { padding: 0 24px; gap: 16px; border-bottom: 2px solid var(--fc-green); }
.fc-adm-marca img { height: 28px; }
.fc-adm-ico { width: 44px; height: 44px; }
.fc-adm-ico .fc-icon { width: 22px; height: 22px; }
.fc-adm-busca { width: 300px; height: 44px; font-size: 15px; border-radius: 10px; }
.fc-adm-lado { padding: 18px 14px; }
.fc-adm-nav { gap: 4px; }
.fc-adm-nav__item { height: 52px; gap: 16px; padding: 0 16px; border-radius: 10px; font-size: 17px; font-weight: 500; }
.fc-adm-nav__item .fc-icon { width: 25px; height: 25px; stroke-width: 1.6; }
.fc-adm-nav__item.is-ativo { font-weight: 600; }
.fc-adm-nav__bloco { display: none; }
.fc-adm-nav__n { font-size: 12px; padding: 2px 7px; border-radius: 8px; }
.fc-adm-corpo.is-mini .fc-adm-nav__item { justify-content: center; padding: 0; }
.fc-adm-main { padding: calc(var(--adm-topo) + 44px) 56px 96px; font-size: 16px; }
.fc-adm .fc-page-head { padding-bottom: 26px; margin-bottom: 30px; }
.fc-adm .fc-page-head h1, .fc-adm .fc-editor-head h1 { font-size: 34px; line-height: 1.15; letter-spacing: -0.02em; }
.fc-adm .fc-page-head__desc { font-size: 16.5px; color: var(--fc-text-2); margin-top: 6px; max-width: 760px; }
.fc-adm-eyebrow { display: none; }
.fc-adm .fc-btn:not(.fc-btn--sm):not(.fc-btn--icon) { min-height: 46px; padding-inline: 20px; font-size: 15.5px; border-radius: 10px; }
.fc-adm .fc-subnav { gap: 6px; padding: 5px; margin-bottom: 28px; }
.fc-adm .fc-subnav__item { font-size: 15.5px; padding: 10px 18px; }
.fc-adm .fc-tab { font-size: 16px; }
.fc-adm .fc-table th { font-size: 14px; }
.fc-adm .fc-table td { font-size: 15.5px; padding-top: 14px; padding-bottom: 14px; }
.fc-adm .fc-label { font-size: 15px; }
.fc-adm .fc-input, .fc-adm .fc-select, .fc-adm .fc-textarea { font-size: 16px; }
.fc-adm .fc-input, .fc-adm .fc-select { min-height: 46px; }
@media (max-width: 1023px) {
  .fc-adm-corpo { --adm-topo: 64px; }
  .fc-adm-main { padding: calc(var(--adm-topo) + 28px) 18px 80px; }
  .fc-adm .fc-page-head h1 { font-size: 28px; }
  .fc-adm-busca { width: auto; }
}

/* Painel no modo claro igual ao da Hotmart: topo e menu brancos, fundo cinza bem claro, letras escuras */
.fc-adm-logo-cla { display: none; }
.fc-adm-corpo.is-claro .fc-adm-logo-esc { display: none; }
.fc-adm-corpo.is-claro .fc-adm-logo-cla { display: block; }
.fc-adm-corpo.is-claro { background: var(--fc-branco, #FFFFFF); }
.fc-adm-corpo.is-claro .fc-adm-topo, .fc-adm-corpo.is-claro .fc-adm-lado { --fc-text: var(--fc-marinho, #121923); --fc-text-2: var(--fc-ardosia, #2A3446); --fc-text-3: var(--fc-tom-40, #71757B); --fc-border: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-claro .fc-adm-topo { background: var(--fc-branco, #FFFFFF); border-bottom: 2px solid var(--fc-marinho, #121923); }
.fc-adm-corpo.is-claro .fc-adm-ico { color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-claro .fc-adm-ico:hover { background: var(--fc-nevoa, #EAEFEE); }
.fc-adm-corpo.is-claro .fc-adm-busca { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-tom-40, #71757B); }
.fc-adm-corpo.is-claro .fc-adm-busca:hover { background: var(--fc-nevoa, #EAEFEE); }
.fc-adm-corpo.is-claro .fc-adm-lado { background: var(--fc-branco, #FFFFFF); border-right: 1px solid var(--fc-nevoa, #EAEFEE); }
.fc-adm-corpo.is-claro .fc-adm-nav__item { color: var(--fc-tom-16, #383E46); }
.fc-adm-corpo.is-claro .fc-adm-nav__item:hover { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-claro .fc-adm-nav__item.is-ativo { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-claro .fc-adm-nav__n { background: var(--fc-marinho, #121923); color: var(--fc-branco, #FFFFFF); }

/* ===================== Painel igual ao da Hotmart (branco), 11/10. O que sobra fica oculto. ===================== */
.fc-adm-topo__nome, .fc-adm-lado__cab { display: none; }
.fc-adm-corpo.is-hotmart { --adm-topo: 74px; --adm-lado: 330px; background: var(--fc-nevoa, #EAEFEE); }
.fc-adm-corpo.is-hotmart.is-mini { --adm-lado: 84px; }
/* topo: logo + "Área de Membros"; à direita só sino e foto */
.fc-adm-corpo.is-hotmart .fc-adm-topo { background: var(--fc-branco, #FFFFFF); border-bottom: 2px solid var(--fc-green, #2EFFA0); padding: 0 28px; gap: 18px; }
.fc-adm-corpo.is-hotmart .fc-adm-topo > [data-adm-menu] { display: none; }
.fc-adm-corpo.is-hotmart .fc-adm-marca img { height: 30px; }
.fc-adm-corpo.is-hotmart .fc-adm-topo__nome { display: block; font-size: 26px; font-weight: 600; color: var(--fc-marinho, #121923); letter-spacing: -0.01em; padding-left: 4px; }
.fc-adm-corpo.is-hotmart .fc-adm-busca, .fc-adm-corpo.is-hotmart .fc-adm-topo [data-fc-modal="fc-busca"], .fc-adm-corpo.is-hotmart .fc-adm-topo__dir > .fc-btn--primary, .fc-adm-corpo.is-hotmart [data-adm-tema] { display: none !important; }
.fc-adm-corpo.is-hotmart .fc-adm-topo__dir { gap: 22px; }
.fc-adm-corpo.is-hotmart .fc-adm-topo .fc-icon { width: 26px; height: 26px; stroke-width: 1.5; }
/* menu lateral: cabeçalho com ☰, nome e link; itens grandes, sem fundo no ativo */
.fc-adm-corpo.is-hotmart .fc-adm-lado { background: var(--fc-branco, #FFFFFF); border-right: 1px solid var(--fc-nevoa, #EAEFEE); padding: 0 0 20px; }
.fc-adm-corpo.is-hotmart .fc-adm-lado__cab { display: flex; align-items: center; gap: 18px; height: 78px; padding: 0 18px 0 26px; border-bottom: 1px solid var(--fc-nevoa, #EAEFEE); margin-bottom: 14px; }
.fc-adm-corpo.is-hotmart .fc-adm-lado__menu { display: grid; place-items: center; background: none; border: 0; color: var(--fc-marinho, #121923); cursor: pointer; padding: 0; }
.fc-adm-corpo.is-hotmart .fc-adm-lado__menu .fc-icon { width: 30px; height: 30px; }
.fc-adm-corpo.is-hotmart .fc-adm-lado__nome { flex: 1; font-size: 18px; color: var(--fc-marinho, #121923); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fc-adm-corpo.is-hotmart .fc-adm-lado__link { width: 44px; height: 44px; border-radius: 6px; border: 1.5px solid var(--fc-marinho, #121923); color: var(--fc-marinho, #121923); display: grid; place-items: center; flex: none; }
.fc-adm-corpo.is-hotmart .fc-adm-lado__link .fc-icon { width: 20px; height: 20px; }
.fc-adm-corpo.is-hotmart.is-mini .fc-adm-lado__nome, .fc-adm-corpo.is-hotmart.is-mini .fc-adm-lado__link { display: none; }
.fc-adm-corpo.is-hotmart.is-mini .fc-adm-lado__cab { padding: 0; justify-content: center; }
.fc-adm-corpo.is-hotmart .fc-adm-nav { padding: 0 10px; gap: 2px; }
.fc-adm-corpo.is-hotmart .fc-adm-nav__item { height: 53px; gap: 22px; padding: 0 16px; border-radius: 8px; font-size: 18px; font-weight: 600; color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-hotmart .fc-adm-nav__item .fc-icon { width: 28px; height: 28px; stroke-width: 1.4; color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-hotmart .fc-adm-nav__item:hover { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-hotmart .fc-adm-nav__item.is-ativo { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); font-weight: 600; }
.fc-adm-corpo.is-hotmart .fc-adm-nav__item.is-ativo .fc-icon { color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-hotmart .fc-adm-nav hr, .fc-adm-corpo.is-hotmart .fc-adm-nav__bloco { display: none; }
/* conteúdo: fundo cinza bem claro, título grande e leve, frase cinza */
.fc-adm-corpo.is-hotmart .fc-adm-main { padding: calc(var(--adm-topo) + 48px) 72px 96px; }
.fc-adm-corpo.is-hotmart .fc-adm-main .fc-page-head { border-bottom: 0; padding-bottom: 0; margin-bottom: 36px; }
.fc-adm-corpo.is-hotmart .fc-adm-main .fc-page-head h1, .fc-adm-corpo.is-hotmart .fc-adm-main .fc-editor-head h1 { font-family: var(--fc-font-title); font-weight: 600; font-size: 38px; letter-spacing: -0.02em; color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-hotmart .fc-adm-main .fc-page-head__desc { font-size: 17px; color: var(--fc-tom-40, #71757B); }
/* abas: sublinhado, como a Hotmart (sem pílulas) */
.fc-adm-corpo.is-hotmart .fc-subnav { border: 0; border-bottom: 1px solid var(--fc-nevoa, #EAEFEE); border-radius: 0; padding: 0; gap: 36px; background: none; margin-bottom: 34px; }
.fc-adm-corpo.is-hotmart .fc-subnav__item { padding: 14px 2px; border-radius: 0; font-size: 17px; font-weight: 700; color: var(--fc-tom-40, #71757B); background: none !important; border-bottom: 3px solid transparent; margin-bottom: -1px; }
.fc-adm-corpo.is-hotmart .fc-subnav__item:hover { color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-hotmart .fc-subnav__item.is-active { color: var(--fc-marinho, #121923); border-bottom-color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-hotmart .fc-adm-main .fc-tabs { gap: 30px; border-bottom: 1px solid var(--fc-nevoa, #EAEFEE); }
.fc-adm-corpo.is-hotmart .fc-adm-main .fc-tab { font-size: 17px; font-weight: 700; color: var(--fc-tom-40, #71757B); padding: 14px 2px; }
.fc-adm-corpo.is-hotmart .fc-adm-main .fc-tab.is-active { color: var(--fc-marinho, #121923); }
/* botões: o principal é escuro (como os pretos da Hotmart) */
.fc-adm-corpo.is-hotmart .fc-adm-main .fc-btn--primary { background: var(--fc-marinho, #121923); color: var(--fc-branco, #FFFFFF); border-color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-hotmart .fc-adm-main .fc-btn--primary:hover:not(:disabled) { background: var(--fc-marinho, #121923); color: var(--fc-menta, #2EFFA0); border-color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-hotmart .fc-adm-main .fc-btn--secondary { background: var(--fc-branco, #FFFFFF); border: 1.5px solid var(--fc-tom-80, #D0D1D3); color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-hotmart .fc-adm-main .fc-card, .fc-adm-corpo.is-hotmart .fc-adm-main .fc-table-wrap, .fc-adm-corpo.is-hotmart .fc-adm-main .fc-form-section__fields { border-radius: 10px; border-color: var(--fc-nevoa, #EAEFEE); box-shadow: none; }
@media (max-width: 1023px) {
  .fc-adm-corpo.is-hotmart { --adm-topo: 64px; }
  .fc-adm-corpo.is-hotmart .fc-adm-topo > [data-adm-menu] { display: grid; color: var(--fc-marinho, #121923); }
  .fc-adm-corpo.is-hotmart .fc-adm-topo__nome { font-size: 18px; }
  .fc-adm-corpo.is-hotmart .fc-adm-main { padding: calc(var(--adm-topo) + 28px) 18px 80px; }
  .fc-adm-corpo.is-hotmart .fc-adm-main .fc-page-head h1 { font-size: 30px; }
  .fc-adm-corpo.is-hotmart .fc-adm-lado__menu { display: none; }
}
@media (max-width: 560px) { .fc-adm-corpo.is-hotmart .fc-adm-topo__nome { display: none; } }

/* cores da Hotmart: azul nos ativos, links, abas e botão principal; sem verde no painel */
.fc-adm-corpo.is-hotmart { --hm-azul: var(--fc-marinho, #121923); --hm-azul-esc: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-hotmart .fc-adm-topo { border-bottom: 1px solid var(--fc-nevoa, #EAEFEE); }
.fc-adm-corpo.is-hotmart .fc-adm-nav__item.is-ativo { background: none; color: var(--hm-azul); font-weight: 600; }
.fc-adm-corpo.is-hotmart .fc-adm-nav__item.is-ativo .fc-icon { color: var(--hm-azul); }
.fc-adm-corpo.is-hotmart .fc-adm-lado__menu { color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-hotmart .fc-adm-lado__link { border-color: var(--hm-azul); color: var(--hm-azul); }
.fc-adm-corpo.is-hotmart .fc-adm-main .fc-subnav__item.is-active, .fc-adm-corpo.is-hotmart .fc-adm-main .fc-tab.is-active { color: var(--hm-azul); border-bottom-color: var(--hm-azul); }
.fc-adm-corpo.is-hotmart .fc-adm-main .fc-btn--primary { background: var(--hm-azul); border-color: var(--hm-azul); color: var(--fc-branco, #FFFFFF); }
.fc-adm-corpo.is-hotmart .fc-adm-main .fc-btn--primary:hover:not(:disabled) { background: var(--hm-azul-esc); border-color: var(--hm-azul-esc); color: var(--fc-branco, #FFFFFF); }
.fc-adm-corpo.is-hotmart .fc-adm-main { --fc-green: var(--hm-azul); --fc-green-soft: var(--fc-nevoa, #EAEFEE); --fc-green-line: rgba(18, 25, 35, .4); --fc-on-green: var(--fc-branco, #FFFFFF); }
.fc-adm-corpo.is-hotmart .fc-adm-main a:not(.fc-btn) { color: inherit; }
.fc-adm-corpo.is-hotmart .fc-adm-nav__n { background: var(--fc-framboesa, #F04A68); color: var(--fc-branco, #FFFFFF); }

/* ===================== Peças das telas no modelo da Hotmart (hm-*) ===================== */
.hm-cab { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 34px; }
.hm-cab h1 { margin: 0; font-family: var(--fc-font-text); font-weight: 600; font-size: 38px; line-height: 1.15; letter-spacing: -0.02em; color: var(--fc-marinho, #121923); }
.hm-cab p { margin: 10px 0 0; font-size: 17px; color: var(--fc-tom-40, #71757B); max-width: 820px; }
.hm-cab__acoes { display: flex; gap: 16px; flex-wrap: wrap; }
.hm-bt { display: inline-flex; align-items: center; justify-content: center; gap: 12px; height: 48px; padding: 0 22px; border-radius: 4px; font-size: 18px; font-weight: 700; border: 1.5px solid transparent; cursor: pointer; text-decoration: none; white-space: nowrap; transition: background .15s, border-color .15s; }
.hm-bt .fc-icon { width: 22px; height: 22px; }
.hm-bt--azul { background: var(--fc-marinho, #121923); color: var(--fc-branco, #FFFFFF) !important; }
.hm-bt--azul:hover { background: var(--fc-marinho, #121923); }
.hm-bt--escuro { background: var(--fc-marinho, #121923); color: var(--fc-branco, #FFFFFF) !important; border-radius: 6px; }
.hm-bt--escuro:hover { background: var(--fc-marinho, #121923); }
.hm-bt--contorno { background: var(--fc-branco, #FFFFFF); color: var(--fc-marinho, #121923) !important; border-color: var(--fc-marinho, #121923); }
.hm-bt--contorno:hover { background: var(--fc-nevoa, #EAEFEE); }
.hm-bt--branco { background: var(--fc-branco, #FFFFFF); color: var(--fc-marinho, #121923) !important; border-color: var(--fc-marinho, #121923); border-radius: 6px; }
.hm-ico { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; border: 0; background: none; color: var(--fc-marinho, #121923); cursor: pointer; }
.hm-ico:hover { background: var(--fc-nevoa, #EAEFEE); }
.hm-link { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; color: var(--fc-marinho, #121923) !important; text-decoration: none; }
.hm-link .fc-icon { width: 17px; height: 17px; }
.hm-link:hover { text-decoration: underline; }
.hm-chips { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.hm-chip { display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border-radius: 999px; font-size: 14.5px; color: var(--fc-tom-24, #4B5058); border: 1px solid var(--fc-tom-80, #D0D1D3); background: var(--fc-branco, #FFFFFF); }
.hm-chip--amarelo { background: var(--fc-nevoa, #EAEFEE); border-color: var(--fc-menta, #2EFFA0); color: var(--fc-marinho, #121923); }
.hm-chip--verde { background: var(--fc-nevoa, #EAEFEE); border-color: var(--fc-tom-80, #D0D1D3); color: var(--fc-marinho, #121923); }
.hm-chip--vermelho { background: var(--fc-nevoa, #EAEFEE); border-color: var(--fc-tom-70, #B8BABD); color: var(--fc-marinho, #121923); }
.hm-chip--azul { background: var(--fc-nevoa, #EAEFEE); border-color: var(--fc-tom-70, #B8BABD); color: var(--fc-marinho, #121923); }
/* lista de produtos */
.hm-lista { display: flex; flex-direction: column; gap: 16px; }
.hm-prod { position: relative; display: grid; grid-template-columns: 140px minmax(0, 1fr) auto; gap: 26px; align-items: start; padding: 18px; background: var(--fc-branco, #FFFFFF); border-radius: 6px; }
.hm-prod__capa { width: 140px; height: 140px; border-radius: 4px; overflow: hidden; display: block; background: var(--fc-nevoa, #EAEFEE); }
.hm-prod__capa img, .hm-prod__capa .fc-cover { width: 100%; height: 100%; object-fit: cover; display: block; }
.hm-prod__info { display: flex; flex-direction: column; gap: 4px; padding-top: 14px; min-width: 0; }
.hm-prod__info small { font-size: 14px; font-weight: 700; color: var(--fc-marinho, #121923); }
.hm-prod__nome { font-size: 19px; font-weight: 700; color: var(--fc-marinho, #121923) !important; text-decoration: none; }
.hm-prod__nome:hover { text-decoration: underline; }
.hm-prod__id { font-size: 14.5px; color: var(--fc-tom-24, #4B5058); display: inline-flex; align-items: center; gap: 10px; margin-top: 4px; }
.hm-prod__id i { width: 4px; height: 4px; background: var(--fc-ardosia, #2A3446); display: inline-block; }
.hm-prod__mais { position: absolute; top: 14px; right: 14px; }
.hm-prod__mais .fc-menu { right: 0; left: auto; min-width: 200px; }
.hm-prod__acoes { align-self: end; display: flex; gap: 22px; padding-bottom: 8px; }
/* vazio */
.hm-vazio { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; padding: 60px 20px; }
.hm-vazio__ic { width: 120px; height: 120px; border-radius: 50%; background: var(--fc-nevoa, #EAEFEE); display: grid; place-items: center; color: var(--fc-tom-50, #898C91); }
.hm-vazio__ic .fc-icon { width: 52px; height: 52px; stroke-width: 1.3; }
.hm-vazio h2 { margin: 6px 0 0; font-size: 22px; font-weight: 700; color: var(--fc-marinho, #121923); }
.hm-vazio p { margin: 0 0 6px; font-size: 16px; color: var(--fc-tom-24, #4B5058); max-width: 620px; }
@media (max-width: 760px) {
  .hm-cab h1 { font-size: 30px; }
  .hm-prod { grid-template-columns: 96px minmax(0, 1fr); gap: 16px; }
  .hm-prod__capa { width: 96px; height: 96px; }
  .hm-prod__info { padding-top: 0; padding-right: 36px; }
  .hm-prod__acoes { grid-column: 1 / -1; justify-content: flex-end; }
  .hm-bt { font-size: 16px; height: 44px; }
}

/* medidas oficiais da Hotmart (tokens que o Luciano copiou do painel deles, 11/10).
   A fonte "Hotmart Sans" é deles (não pode ser usada); a Nunito Sans é a que a Hotmart usava antes e é livre. */
.fc-adm-corpo.is-hotmart { --fc-font-text: "Nunito Sans", Arial, Helvetica, sans-serif; --fc-font-title: "Nunito Sans", Arial, Helvetica, sans-serif; font-family: var(--fc-font-text); color: var(--fc-tom-12, #2A3446); line-height: 1.5; -webkit-font-smoothing: antialiased; }
.fc-adm-corpo.is-hotmart ::selection { background: var(--fc-marinho, #121923); color: var(--fc-branco, #FFFFFF); }
.fc-adm-corpo.is-hotmart .fc-adm-main { color: var(--fc-tom-12, #2A3446); }
.fc-adm-corpo.is-hotmart .fc-adm-main .fc-card, .fc-adm-corpo.is-hotmart .fc-adm-main .fc-table-wrap, .fc-adm-corpo.is-hotmart .fc-adm-main .fc-form-section__fields { border-radius: 8px; border-color: var(--fc-nevoa, #EAEFEE); }
.fc-adm-corpo.is-hotmart .hm-prod { border-radius: 8px; }
.fc-adm-corpo.is-hotmart .hm-bt { border-radius: 4px; font-weight: 800; }
.fc-adm-corpo.is-hotmart .hm-cab h1 { font-size: 36px; font-weight: 600; }

/* ===================== Página do produto no modelo da Hotmart ===================== */
.hm-voltar { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; color: var(--fc-tom-24, #4B5058) !important; text-decoration: none; margin-bottom: 18px; }
.hm-voltar .fc-icon { width: 18px; height: 18px; }
.hm-voltar:hover { color: var(--fc-marinho, #121923) !important; }
.hm-cab--prod { align-items: flex-start; margin-bottom: 26px; }
.hm-cab__tit { min-width: 0; flex: 1 1 420px; }
.hm-cab--prod p { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font-size: 15px; color: var(--fc-tom-24, #4B5058); margin-top: 8px; }
.hm-cab--prod p i { width: 4px; height: 4px; background: var(--fc-tom-60, #A0A3A7); display: inline-block; }
.hm-cab--prod .hm-chips { margin-top: 12px; }
.hm-cab--prod .hm-cab__acoes { align-items: center; gap: 10px; }
.hm-cab--prod .hm-cab__acoes form { margin: 0; }
.hm-ibt { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 4px; border: 1.5px solid var(--fc-tom-80, #D0D1D3); background: var(--fc-branco, #FFFFFF); color: var(--fc-tom-12, #2A3446) !important; transition: border-color .15s, color .15s; }
.hm-ibt .fc-icon { width: 22px; height: 22px; }
.hm-ibt:hover { border-color: var(--fc-marinho, #121923); color: var(--fc-marinho, #121923) !important; }
.hm-ibt.is-ativo { border-color: var(--fc-marinho, #121923); background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923) !important; }
.hm-cab--prod .fc-btn--secondary { height: 48px; border-radius: 4px; }
/* abas sublinhadas */
.hm-abas { display: flex; gap: 34px; border-bottom: 1px solid var(--fc-nevoa, #EAEFEE); margin-bottom: 28px; overflow-x: auto; scrollbar-width: none; }
.hm-abas::-webkit-scrollbar { display: none; }
.hm-aba { padding: 14px 2px; font-size: 16px; font-weight: 800; color: var(--fc-tom-40, #71757B) !important; text-decoration: none; border-bottom: 3px solid transparent; margin-bottom: -1px; white-space: nowrap; }
.hm-aba:hover { color: var(--fc-tom-12, #2A3446) !important; }
.hm-aba.is-ativo { color: var(--fc-marinho, #121923) !important; border-bottom-color: var(--fc-marinho, #121923); }
/* barra: busca à esquerda, botões à direita */
.hm-barra { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
.hm-barra__dir { display: flex; gap: 12px; flex-wrap: wrap; }
.hm-barra__dir .fc-menu { right: 0; left: auto; min-width: 220px; }
.hm-busca { display: flex; align-items: center; gap: 10px; height: 48px; width: min(420px, 100%); padding: 0 14px; background: var(--fc-branco, #FFFFFF); border: 1px solid var(--fc-tom-80, #D0D1D3); border-radius: 4px; color: var(--fc-tom-40, #71757B); }
.hm-busca:focus-within { border-color: var(--fc-marinho, #121923); box-shadow: 0 0 0 3px rgba(18, 25, 35, .18); }
.hm-busca .fc-icon { width: 20px; height: 20px; flex: none; }
.hm-busca input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; font: inherit; font-size: 16px; color: var(--fc-tom-12, #2A3446); }
/* módulos e aulas: cartões brancos */
.fc-adm-corpo.is-hotmart .fc-mod { background: var(--fc-branco, #FFFFFF); border: 1px solid var(--fc-nevoa, #EAEFEE); border-radius: 8px; }
.fc-adm-corpo.is-hotmart .fc-mod + .fc-mod { margin-top: 12px; }
.fc-adm-corpo.is-hotmart .fc-mod__head { padding: 14px 18px 14px 8px; }
.fc-adm-corpo.is-hotmart .fc-mod__title { font: 800 17px/1.35 var(--fc-font-text); color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-hotmart .fc-mod__meta { font-size: 14px; color: var(--fc-tom-40, #71757B); }
.fc-adm-corpo.is-hotmart .fc-mod__body { border-top: 1px solid var(--fc-nevoa, #EAEFEE); padding: 6px 8px 10px; }
.fc-adm-corpo.is-hotmart .fc-lrow { min-height: 54px; }
.fc-adm-corpo.is-hotmart .fc-lrow:hover { background: var(--fc-nevoa, #EAEFEE); }
.fc-adm-corpo.is-hotmart .fc-lrow__title { font-size: 16px; color: var(--fc-tom-12, #2A3446); }
.fc-adm-corpo.is-hotmart .fc-lrow__state { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-tom-40, #71757B); }
.fc-adm-corpo.is-hotmart .fc-lrow__state.has-video { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-hotmart .fc-handle { color: var(--fc-tom-60, #A0A3A7); }
.fc-mod[hidden], .fc-lrow[hidden] { display: none !important; }
@media (max-width: 760px) {
  .hm-cab--prod .hm-cab__acoes { width: 100%; }
  .hm-abas { gap: 24px; }
  .hm-barra__dir { width: 100%; }
  .hm-barra__dir > * { flex: 1; }
  .hm-barra__dir .hm-bt { width: 100%; }
}
/* dentro do produto não aparecem as abas do grupo (como na Hotmart) */
.fc-adm-main:has(.hm-cab--prod) > .fc-subnav, .fc-adm-main:has(.hm-cab--prod) .fc-subnav { display: none; }

/* ajustes comparando com o print da Hotmart (11/10) */
.fc-adm-corpo.is-hotmart .fc-adm-nav__item.is-ativo { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); font-weight: 600; }
.fc-adm-corpo.is-hotmart .fc-adm-nav__item.is-ativo .fc-icon { color: var(--fc-marinho, #121923); }
.hm-cab p { color: var(--fc-tom-24, #4B5058); }
.hm-prod__info small { font-size: 13px; font-weight: 800; color: var(--fc-marinho, #121923); }
.hm-prod__nome { font-size: 17px; font-weight: 800; }
.hm-prod__id, .hm-prod__id * { font-size: 13px; color: var(--fc-marinho, #121923) !important; }
.hm-prod__id i { width: 3px; height: 3px; background: var(--fc-marinho, #121923); }
.hm-prod .hm-chips { margin-top: 26px; gap: 8px; }
.hm-chip { height: 24px; padding: 0 9px; font-size: 13px; }
.hm-chip--verde { background: var(--fc-nevoa, #EAEFEE); border-color: var(--fc-menta, #2EFFA0); color: var(--fc-marinho, #121923); }
.hm-chip--amarelo { border-color: var(--fc-menta, #2EFFA0); }
.hm-link { font-size: 14px; }
.hm-link .fc-icon { width: 15px; height: 15px; }
.hm-prod__acoes { gap: 20px; padding-bottom: 6px; }
.hm-bt { font-weight: 700; font-size: 17px; height: 46px; }
.hm-cab__acoes { align-self: flex-end; }
.hm-cab--prod .hm-cab__acoes { align-self: flex-start; }
/* pílulas dentro de Conteúdo (Principal / Trilhas) */
.hm-pilulas { display: flex; gap: 10px; margin-bottom: 20px; }
.hm-pilula { height: 36px; padding: 0 16px; display: inline-flex; align-items: center; border-radius: 999px; border: 1px solid var(--fc-tom-80, #D0D1D3); background: var(--fc-branco, #FFFFFF); font-size: 15px; font-weight: 700; color: var(--fc-tom-24, #4B5058) !important; text-decoration: none; }
.hm-pilula:hover { border-color: var(--fc-marinho, #121923); }
.hm-pilula.is-ativo { background: var(--fc-nevoa, #EAEFEE); border-color: var(--fc-marinho, #121923); color: var(--fc-marinho, #121923) !important; }
/* menu ⋮ dos produtos igual ao da Hotmart: branco, sombra suave, letras grandes */
.hm-prod__mais .fc-menu { background: var(--fc-branco, #FFFFFF); border: 0; border-radius: 4px; box-shadow: 0 4px 16px rgba(18, 25, 35, .12); padding: 8px 0; min-width: 280px; top: calc(100% + 4px); }
.hm-prod__mais .fc-menu__item { gap: 14px; padding: 10px 20px; font-size: 17px; color: var(--fc-tom-12, #2A3446); background: none; border-radius: 0; }
.hm-prod__mais .fc-menu__item:hover { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); }
.hm-prod__mais .fc-menu__item .fc-icon { width: 20px; height: 20px; stroke-width: 1.5; }
.hm-prod__mais .hm-ico[aria-expanded="true"] { border-radius: 2px; outline: 1.5px solid var(--fc-marinho, #121923); background: var(--fc-branco, #FFFFFF); }

/* ===================== MEDIDAS REAIS da Hotmart (lidas do painel deles em 11/10, em px de tela).
   Fonte: "Hotmart Sans" é exclusiva deles; a Albert Sans é a gratuita mais parecida (mesma largura de palavras).
   Onde eles usam a cor da marca (laranja), usamos o azul deles. Vale por cima de tudo que veio antes. ===================== */
.fc-adm-corpo.is-hotmart { --adm-topo: 72px; --adm-lado: 300px; --fc-font-text: "Albert Sans", Arial, Helvetica, sans-serif; --fc-font-title: "Albert Sans", Arial, Helvetica, sans-serif; font-family: var(--fc-font-text); font-size: 16px; line-height: 24px; color: var(--fc-tom-12, #2A3446); background: var(--fc-nevoa, #EAEFEE); }
/* topo: 72px branco */
.fc-adm-corpo.is-hotmart .fc-adm-topo { height: 72px; background: var(--fc-branco, #FFFFFF); border-bottom: 2px solid var(--fc-nevoa, #EAEFEE); padding: 0 24px; gap: 16px; }
.fc-adm-corpo.is-hotmart .fc-adm-marca img { height: 30px; }
.fc-adm-corpo.is-hotmart .fc-adm-topo__nome { font-family: "Nunito Sans", Arial, sans-serif; font-size: 24px; font-weight: 600; line-height: 24px; color: var(--fc-marinho, #121923); letter-spacing: 0; padding-left: 0; }
.fc-adm-corpo.is-hotmart .fc-adm-topo .fc-icon { width: 24px; height: 24px; stroke-width: 1.5; color: var(--fc-tom-12, #2A3446); }
.fc-adm-corpo.is-hotmart .fc-adm-topo__dir { gap: 32px; }
/* lateral: 300px, borda #E6E9ED; cabeçalho 70px; itens 48px, raio 4, ícone 24 em x=24, texto em x=72 */
.fc-adm-corpo.is-hotmart .fc-adm-lado { width: 300px; background: var(--fc-branco, #FFFFFF); border-right: 1px solid var(--fc-nevoa, #EAEFEE); padding: 0; }
.fc-adm-corpo.is-hotmart .fc-adm-lado__cab { height: 70px; padding: 0 24px; gap: 22px; margin: 0; border-bottom: 1px solid var(--fc-nevoa, #EAEFEE); }
.fc-adm-corpo.is-hotmart .fc-adm-lado__menu { color: var(--fc-tom-12, #2A3446); }
.fc-adm-corpo.is-hotmart .fc-adm-lado__menu .fc-icon { width: 24px; height: 24px; }
.fc-adm-corpo.is-hotmart .fc-adm-lado__nome { font-size: 16px; font-weight: 600; color: var(--fc-tom-12, #2A3446); }
.fc-adm-corpo.is-hotmart .fc-adm-lado__link { width: 44px; height: 40px; border-radius: 4px; border: 1px solid var(--fc-marinho, #121923); color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-hotmart .fc-adm-lado__link .fc-icon { width: 18px; height: 18px; }
.fc-adm-corpo.is-hotmart .fc-adm-nav { padding: 8px; gap: 0; }
.fc-adm-corpo.is-hotmart .fc-adm-nav__item { height: 48px; padding: 0 16px; gap: 24px; border-radius: 4px; font-size: 16px; font-weight: 600; line-height: 24px; color: var(--fc-tom-12, #2A3446); }
.fc-adm-corpo.is-hotmart .fc-adm-nav__item .fc-icon { width: 24px; height: 24px; stroke-width: 1.5; color: var(--fc-tom-12, #2A3446); }
.fc-adm-corpo.is-hotmart .fc-adm-nav__item:hover { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-tom-12, #2A3446); }
.fc-adm-corpo.is-hotmart .fc-adm-nav__item.is-ativo { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); font-weight: 600; }
.fc-adm-corpo.is-hotmart .fc-adm-nav__item.is-ativo .fc-icon { color: var(--fc-marinho, #121923); }
/* conteúdo: 64px de margem; título 32px fino */
.fc-adm-corpo.is-hotmart .fc-adm-main { padding: calc(72px + 64px) 64px 96px; font-size: 16px; line-height: 24px; color: var(--fc-tom-12, #2A3446); }
.hm-cab { margin-bottom: 32px; gap: 16px; align-items: flex-end; }
.hm-cab h1, .fc-adm-corpo.is-hotmart .hm-cab h1 { font-family: var(--fc-font-text); font-size: 32px; font-weight: 400; line-height: 38px; letter-spacing: 0; color: var(--fc-tom-24, #4B5058); margin: 0 0 8px; }
.hm-cab p, .fc-adm-corpo.is-hotmart .hm-cab p { font-size: 16px; line-height: 24px; color: var(--fc-tom-40, #71757B); margin: 0; }
.hm-cab__acoes { gap: 16px; align-self: auto; }
/* botões: 42px, 8px 16px, raio 4, 16px normal */
.hm-bt { height: 42px; padding: 8px 16px; border-radius: 4px; border: 1px solid transparent; font-size: 16px; font-weight: 600; line-height: 19px; gap: 8px; }
.hm-bt .fc-icon { width: 20px; height: 20px; stroke-width: 1.5; }
.hm-bt--azul { background: var(--fc-marinho, #121923); border-color: var(--fc-marinho, #121923); color: var(--fc-branco, #FFFFFF) !important; }
.hm-bt--azul:hover { background: var(--fc-marinho, #121923); border-color: var(--fc-marinho, #121923); }
.hm-bt--contorno { background: transparent; border-color: var(--fc-marinho, #121923); color: var(--fc-marinho, #121923) !important; }
.hm-bt--contorno:hover { background: var(--fc-nevoa, #EAEFEE); }
.hm-bt--escuro { border-radius: 4px; }
/* cartão do produto: branco, raio 4, sem sombra, 16px de respiro, capa 128, texto a 24px da capa */
.hm-lista { gap: 14px; }
.hm-prod { grid-template-columns: 128px minmax(0, 1fr) auto; gap: 24px; padding: 16px; border-radius: 4px; border: 1px solid transparent; background: var(--fc-branco, #FFFFFF); box-shadow: none; }
.fc-adm-corpo.is-hotmart .hm-prod { border-radius: 4px; }
.hm-prod__capa { width: 128px; height: 128px; border-radius: 0; }
.hm-prod__info { padding-top: 10px; gap: 0; }
.hm-prod__info small { font-size: 12px; font-weight: 800; line-height: 18px; color: var(--fc-tom-24, #4B5058); }
.hm-prod__nome { font-size: 16px; font-weight: 800; line-height: 19.2px; color: var(--fc-tom-12, #2A3446) !important; }
.hm-prod__id, .hm-prod__id * { font-size: 12px; line-height: 18px; color: var(--fc-tom-24, #4B5058) !important; margin-top: 8px; }
.hm-prod__id i { width: 3px; height: 3px; margin: 0; background: var(--fc-ardosia, #2A3446); }
.hm-prod .hm-chips { margin-top: 24px; gap: 8px; }
/* etiquetas: 22px, 4px 8px, pílula, 12px */
.hm-chip { height: 22px; padding: 4px 8px; border-radius: 48px; border: 1px solid var(--fc-tom-80, #D0D1D3); background: var(--fc-nevoa, #EAEFEE); font-size: 12px; line-height: 12px; color: var(--fc-tom-12, #2A3446); }
.hm-chip--amarelo { background: var(--fc-nevoa, #EAEFEE); border-color: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); }
.hm-chip--verde { background: var(--fc-nevoa, #EAEFEE); border-color: var(--fc-tom-80, #D0D1D3); color: var(--fc-marinho, #121923); }
.hm-chip--vermelho { background: var(--fc-nevoa, #EAEFEE); border-color: var(--fc-framboesa, #F04A68); color: var(--fc-marinho, #121923); }
/* Visualizar / Editar: 12px azul, 4px 8px */
.hm-prod__acoes { gap: 0; padding-bottom: 0; align-self: end; }
.hm-link { height: 28px; padding: 4px 8px; border-radius: 4px; font-size: 12px; font-weight: 600; line-height: 18px; gap: 8px; color: var(--fc-marinho, #121923) !important; }
.hm-link .fc-icon { width: 15px; height: 15px; }
.hm-link:hover { background: var(--fc-nevoa, #EAEFEE); text-decoration: none; }
.hm-prod__mais { top: 16px; right: 16px; }
.hm-prod__mais .hm-ico { width: 32px; height: 32px; }
.hm-prod__mais .hm-ico .fc-icon { width: 18px; height: 18px; }
.hm-prod__mais .fc-menu__item { font-size: 16px; white-space: nowrap; }
@media (max-width: 1023px) {
  .fc-adm-corpo.is-hotmart .fc-adm-main { padding: calc(72px + 24px) 16px 80px; }
  .fc-adm-corpo.is-hotmart .fc-adm-lado { width: min(300px, 86vw); }
}
@media (max-width: 760px) {
  .hm-prod { grid-template-columns: 80px minmax(0, 1fr); gap: 16px; }
  .hm-prod__capa { width: 80px; height: 80px; }
}
.fc-adm-corpo.is-hotmart .hm-bt { font-weight: 600; }

/* ===================== Página do produto: MEDIDAS REAIS da Hotmart (11/10) ===================== */
.fc-adm-corpo.is-hotmart .fc-adm-main:has(.hm-cab--prod) { padding: calc(72px + 24px) 40px 96px; }
.hm-cab--prod { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.hm-prodcab { display: flex; gap: 16px; align-items: flex-start; min-width: 0; }
.hm-prodcab__capa { width: 48px; height: 48px; border-radius: 8px; overflow: hidden; flex: none; display: block; background: var(--fc-nevoa, #EAEFEE); }
.hm-prodcab__capa img, .hm-prodcab__capa .fc-cover { width: 100%; height: 100%; object-fit: cover; display: block; }
.hm-prodcab__txt { min-width: 0; }
.fc-adm-corpo.is-hotmart .hm-cab--prod h1 { font-size: 24px; font-weight: 600; line-height: 28.8px; color: var(--fc-tom-08, #252B35); margin: 0; }
.fc-adm-corpo.is-hotmart .hm-cab--prod p { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0; font-size: 14px; line-height: 24px; color: var(--fc-tom-40, #71757B); }
.hm-chip--p { height: 20px; padding: 0 6px; border-radius: 4px; font-size: 12px; line-height: 18px; }
.hm-chip--p.hm-chip--amarelo { background: var(--fc-nevoa, #EAEFEE); border-color: var(--fc-menta, #2EFFA0); color: var(--fc-marinho, #121923); }
.hm-chip--p.hm-chip--verde { background: var(--fc-nevoa, #EAEFEE); border-color: var(--fc-menta, #2EFFA0); color: var(--fc-marinho, #121923); }
.hm-cab--prod .hm-cab__acoes { gap: 16px; align-self: flex-start; padding-top: 10px; }
.hm-ibt { width: 54px; height: 34px; padding: 8px 16px; border-radius: 4px; border: 1px solid var(--fc-tom-80, #D0D1D3); background: transparent; color: var(--fc-tom-24, #4B5058) !important; }
.hm-ibt .fc-icon { width: 18px; height: 18px; stroke-width: 1.5; }
.hm-ibt:hover { border-color: var(--fc-tom-60, #A0A3A7); color: var(--fc-tom-12, #2A3446) !important; }
.hm-ibt.is-ativo { border-color: var(--fc-marinho, #121923); background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923) !important; }
.hm-cab--prod .fc-menu { right: 0; left: auto; min-width: 220px; }
/* aviso amarelo de "não publicado" */
.hm-alerta { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; margin: 0 0 56px; padding: 16px; border: 1px solid var(--fc-menta, #2EFFA0); border-radius: 4px; background: var(--fc-nevoa, #EAEFEE); font-size: 16px; line-height: 24px; color: var(--fc-marinho, #121923); }
.hm-alerta button { display: inline-flex; align-items: center; gap: 6px; border: 0; background: none; padding: 0; font: inherit; font-weight: 800; color: var(--fc-marinho, #121923); cursor: pointer; }
.hm-alerta button .fc-icon { width: 16px; height: 16px; }
.hm-alerta button:hover { text-decoration: underline; }
.hm-cab--prod + .hm-abas { margin-top: 40px; }
/* abas: 16px negrito, 0 12px 12px, 12px entre elas, linha #E6E9ED */
.hm-abas { gap: 12px; border-bottom: 1px solid var(--fc-nevoa, #EAEFEE); margin-bottom: 40px; }
.hm-aba { padding: 0 12px 12px; font-size: 16px; font-weight: 800; line-height: 24px; color: var(--fc-tom-40, #71757B) !important; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.hm-aba:hover { color: var(--fc-tom-12, #2A3446) !important; }
.hm-aba.is-ativo { color: var(--fc-marinho, #121923) !important; border-bottom-color: var(--fc-marinho, #121923); }
/* pílulas: 42px, 8px 16px, redondas; ativa escura */
.hm-pilulas { gap: 16px; margin: 0; }
.hm-pilula { height: 42px; padding: 8px 16px; border-radius: 48px; border: 1px solid var(--fc-nevoa, #EAEFEE); background: var(--fc-branco, #FFFFFF); font-size: 16px; font-weight: 600; line-height: 24px; color: var(--fc-tom-24, #4B5058) !important; }
.hm-pilula:hover { border-color: var(--fc-tom-80, #D0D1D3); }
.hm-pilula.is-ativo { background: var(--fc-marinho, #121923); border-color: var(--fc-marinho, #121923); color: var(--fc-branco, #FFFFFF) !important; }
/* barra: pílulas à esquerda, lupa + Enviar arquivos + Criar à direita (todos 40px, raio 6, 16px semi-negrito) */
.hm-pilulas + .hm-barra { margin-top: -42px; }
.hm-barra { justify-content: flex-end; margin-bottom: 24px; }
.hm-barra > span:empty { display: none; }
.hm-barra__dir { align-items: center; gap: 16px; }
.hm-bt--preto, .hm-bt--preto-contorno { height: 40px; padding: 8px 16px; border-radius: 6px; font-size: 16px; font-weight: 700 !important; line-height: 24px; gap: 8px; }
.hm-bt--preto { background: var(--fc-marinho, #121923); border-color: var(--fc-marinho, #121923); color: var(--fc-branco, #FFFFFF) !important; }
.hm-bt--preto:hover { background: var(--fc-ardosia, #2A3446); border-color: var(--fc-tom-08, #252B35); }
.hm-bt--preto-contorno { background: var(--fc-branco, #FFFFFF); border: 1px solid var(--fc-marinho, #121923); color: var(--fc-marinho, #121923) !important; }
.hm-bt--preto-contorno:hover { background: var(--fc-nevoa, #EAEFEE); }
.hm-bt--preto .fc-icon, .hm-bt--preto-contorno .fc-icon { width: 18px; height: 18px; }
.hm-busca { position: relative; width: 48px; height: 40px; padding: 0; border: 1px solid var(--fc-tom-80, #D0D1D3); border-radius: 6px; background: var(--fc-branco, #FFFFFF); transition: width .2s; overflow: hidden; cursor: pointer; }
.hm-busca:focus-within { width: 320px; border-color: var(--fc-marinho, #121923); box-shadow: none; cursor: text; }
.hm-busca input { position: absolute; inset: 0 44px 0 14px; width: auto; font-size: 16px; }
.hm-busca__bt { position: absolute; right: 0; top: 0; width: 46px; height: 38px; display: grid; place-items: center; color: var(--fc-tom-12, #2A3446); pointer-events: none; }
.hm-busca__bt .fc-icon { width: 20px; height: 20px; }
/* vazio: título 20px negrito, texto 14px, botões pretos */
.hm-vazio { gap: 8px; padding: 48px 20px; }
.hm-vazio h2 { font-family: "Nunito Sans", Arial, sans-serif; font-size: 20px; font-weight: 800; line-height: 24px; color: var(--fc-marinho, #121923); margin: 16px 0 4px; }
.hm-vazio p { font-size: 14px; line-height: 21px; color: var(--fc-tom-12, #2A3446); max-width: 600px; margin: 0 0 12px; }
.hm-vazio__bts { display: flex; gap: 16px; flex-wrap: wrap; justify-content: center; }
@media (max-width: 1023px) {
  .fc-adm-corpo.is-hotmart .fc-adm-main:has(.hm-cab--prod) { padding: calc(72px + 20px) 16px 80px; }
  .hm-cab--prod { flex-wrap: wrap; }
  .hm-pilulas + .hm-barra { margin-top: 16px; }
  .hm-barra { justify-content: flex-start; }
}
/* ícones Phosphor Light no painel (troca feita por js/icones-hotmart.js): o desenho vem como máscara na cor do texto */
.fc-adm-corpo i.fc-ph { display: inline-block; flex: none; background-color: currentColor; -webkit-mask: var(--ph) center / contain no-repeat; mask: var(--ph) center / contain no-repeat; font-style: normal; vertical-align: middle; }
.fc-adm-corpo.is-hotmart .fc-adm-lado { scrollbar-width: thin; scrollbar-color: transparent transparent; } .fc-adm-corpo.is-hotmart .fc-adm-lado:hover { scrollbar-color: var(--fc-tom-80, #D0D1D3) transparent; }

/* ===================== Início no modelo da Hotmart (medidas deles, 11/10) ===================== */
.fc-adm-corpo.is-hotmart .fc-adm-main:has(.hm-inicio) { padding-top: calc(72px + 47px); }
.hm-inicio { max-width: 938px; margin: 0 auto; }
.hm-inicio__topo { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 32px; }
.hm-inicio__topo h1 { margin: 0; font-size: 24px; font-weight: 600; line-height: 28.8px; color: var(--fc-tom-12, #2A3446); }
.hm-passos { background: var(--fc-branco, #FFFFFF); border-radius: 8px; padding: 16px; margin-bottom: 32px; }
.hm-passos__cab { display: flex; align-items: center; gap: 16px; padding: 0 12px 0 0; min-height: 56px; }
.hm-passos__cab > div { flex: 1; min-width: 0; }
.hm-passos__cab h2 { margin: 0; font-size: 20px; font-weight: 600; line-height: 24px; color: var(--fc-tom-12, #2A3446); }
.hm-passos__cab p { margin: 8px 0 0; font-size: 12px; line-height: 14.4px; color: var(--fc-tom-40, #71757B); }
.hm-passos__pct { width: 48px; height: 48px; flex: none; display: grid; place-items: center; border-radius: 50%; font-size: 14px; color: var(--fc-marinho, #121923); background: radial-gradient(var(--fc-branco, #FFFFFF) 62%, transparent 63%), conic-gradient(var(--fc-marinho, #121923) calc(var(--p) * 1%), var(--fc-nevoa, #EAEFEE) 0); }
.hm-passos__ocultar { display: inline-flex; align-items: center; gap: 6px; border: 0; background: none; padding: 0; font: inherit; font-size: 12px; line-height: 18px; color: var(--fc-marinho, #121923); cursor: pointer; }
.hm-passos__ocultar .fc-icon { width: 12px; height: 12px; transition: transform .2s; }
.hm-passos.is-fechado .hm-passos__ocultar .fc-icon { transform: rotate(180deg); }
.hm-passos.is-fechado .hm-passos__lista { display: none; }
.hm-passos__lista { display: flex; flex-direction: column; gap: 16px; margin-top: 16px; }
.hm-passo { display: flex; align-items: center; gap: 16px; min-height: 80px; padding: 12px 16px; border: 1px solid var(--fc-nevoa, #EAEFEE); border-radius: 8px; background: var(--fc-branco, #FFFFFF); }
.hm-passo.is-feito { border-color: var(--fc-menta, #2EFFA0); }
.hm-passo__ic { width: 29px; height: 29px; flex: none; display: grid; place-items: center; border-radius: 50%; background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); }
.hm-passo.is-feito .hm-passo__ic { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); }
.hm-passo__ic .fc-icon { width: 16px; height: 16px; }
.hm-passo__txt { flex: 1; min-width: 0; }
.hm-passo__txt h3 { margin: 0; font-size: 20px; font-weight: 600; line-height: 24px; color: var(--fc-marinho, #121923); }
.hm-passo__txt p { margin: 8px 0 0; font-size: 12px; line-height: 14.4px; color: var(--fc-tom-40, #71757B); }
.hm-tag-ok { display: inline-flex; align-items: center; height: 30px; padding: 8px 12px; border-radius: 48px; border: 1px solid var(--fc-menta, #2EFFA0); background: var(--fc-nevoa, #EAEFEE); font-size: 12px; line-height: 12px; color: var(--fc-marinho, #121923); flex: none; }
.hm-passo__link { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; line-height: 18px; color: var(--fc-marinho, #121923) !important; text-decoration: none; flex: none; padding-right: 8px; }
.hm-passo__link .fc-icon { width: 12px; height: 12px; }
.hm-passo__link:hover { text-decoration: underline; }
.hm-dicas h2 { margin: 0; font-size: 20px; font-weight: 600; line-height: 24px; color: var(--fc-tom-12, #2A3446); }
.hm-dicas > p { margin: 8px 0 16px; font-size: 12px; line-height: 14.4px; color: var(--fc-tom-40, #71757B); }
.hm-dicas__grade { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.hm-dica { display: flex; flex-direction: column; min-height: 301px; background: var(--fc-branco, #FFFFFF); border-radius: 8px; overflow: hidden; }
.hm-dica__capa { height: 126px; display: grid; place-items: center; background: var(--fc-marinho, #121923); border-radius: 4px 4px 0 0; margin: 1px 1px 0; }
.hm-dica__capa span { width: 54px; height: 54px; display: grid; place-items: center; color: var(--fc-branco, #FFFFFF); }
.hm-dica__capa .fc-icon { width: 30px; height: 30px; }
.hm-dica__capa--escura span { background: transparent; border: 1.5px solid var(--fc-branco, #FFFFFF); border-radius: 6px; }
.hm-dica__capa--laranja span { background: #F04E23; }
.hm-dica__capa--verde span { background: var(--fc-marinho, #121923); }
.hm-dica__capa--fogo { background: linear-gradient(180deg, var(--fc-marinho, #121923) 35%, var(--fc-framboesa, #F04A68) 85%, var(--fc-framboesa, #F04A68)); }
.hm-dica__capa--fogo span { background: rgba(255, 255, 255, .9); color: var(--fc-tom-24, #4B5058); border-radius: 6px; }
.hm-dica__corpo { flex: 1; padding: 16px; }
.hm-dica__corpo h3 { margin: 0; font-size: 16px; font-weight: 800; line-height: 19.2px; color: var(--fc-tom-12, #2A3446); }
.hm-dica__corpo p { margin: 8px 0 0; font-size: 12px; line-height: 18px; color: var(--fc-tom-40, #71757B); }
.hm-dica__link { padding: 0 16px 16px; font-size: 16px; line-height: 24px; color: var(--fc-marinho, #121923) !important; text-decoration: none; }
.hm-dica__link:hover { text-decoration: underline; }
@media (max-width: 1023px) { .hm-dicas__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } .fc-adm-corpo.is-hotmart .fc-adm-main:has(.hm-inicio) { padding-top: calc(72px + 24px); } }
@media (max-width: 560px) { .hm-dicas__grade { grid-template-columns: 1fr; } .hm-passo { flex-wrap: wrap; } }

/* ===================== Agenda no modelo da Hotmart (medidas deles, 11/10). Título na Bitter (a mais parecida com a Hotmart Display) ===================== */
.fc-adm-corpo.is-hotmart .fc-adm-main:has(.hm-agenda) { padding: calc(72px + 44px) 44px 96px; }
.hm-tit { margin-bottom: 36px; }
.hm-tit h1 { margin: 0; font-family: "Bitter", Georgia, serif; font-size: 36px; font-weight: 700; line-height: 40px; color: var(--fc-tom-12, #2A3446); letter-spacing: 0; }
.hm-tit p { margin: 0; font-size: 16px; font-weight: 400; line-height: 28px; color: var(--fc-tom-40, #71757B); }
.hm-agenda__q { margin: 0; font-size: 16px; font-weight: 800; line-height: 24px; color: var(--fc-tom-12, #2A3446); }
.hm-agenda__qs { margin: 0 0 16px; font-size: 14px; font-weight: 400; line-height: 20px; color: var(--fc-tom-40, #71757B); }
.hm-agenda__tipos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-bottom: 24px; }
.hm-tipo { display: flex; flex-direction: column; min-height: 274px; padding: 0; text-align: left; background: var(--fc-branco, #FFFFFF); border: 1px solid var(--fc-tom-70, #B8BABD); border-radius: 12px; overflow: hidden; cursor: pointer; font: inherit; color: inherit; transition: box-shadow .15s; }
.hm-tipo:hover { box-shadow: 0 4px 16px rgba(18, 25, 35, .08); }
.hm-tipo__arte { position: relative; height: 169px; display: grid; place-items: center; background: var(--fc-nevoa, #EAEFEE); border-bottom: 1px solid var(--fc-tom-70, #B8BABD); color: var(--fc-marinho, #121923); }
.hm-tipo__arte > .fc-icon { width: 84px; height: 84px; }
.hm-tipo__seta { position: absolute; top: 14px; right: 14px; width: 26px; height: 26px; display: grid; place-items: center; border: 1.5px solid var(--fc-marinho, #121923); border-radius: 50%; background: var(--fc-branco, #FFFFFF); }
.hm-tipo__seta .fc-icon { width: 14px; height: 14px; }
.hm-tipo__txt { display: flex; flex-direction: column; gap: 8px; padding: 39px 16px 16px; }
.hm-tipo__txt strong { font-size: 16px; font-weight: 800; line-height: 16px; color: var(--fc-marinho, #121923); }
.hm-tipo__txt span { font-size: 14px; font-weight: 400; line-height: 19px; color: var(--fc-tom-40, #71757B); }
.hm-seg { display: inline-flex; gap: 0; padding: 4px; border-radius: 8px; background: var(--fc-nevoa, #EAEFEE); }
.hm-seg__item { display: inline-flex; align-items: center; height: 40px; padding: 0 12px; border-radius: 6px; font-size: 14px; font-weight: 600; line-height: 20px; color: var(--fc-tom-40, #71757B) !important; text-decoration: none; }
.hm-seg__item.is-ativo { background: var(--fc-marinho, #121923); color: var(--fc-branco, #FFFFFF) !important; }
.hm-agenda__linha { border: 0; height: 1px; background: var(--fc-tom-70, #B8BABD); margin: 24px 0 32px; }
.hm-agenda__vazio { display: flex; flex-direction: column; align-items: center; gap: 24px; padding: 120px 20px 60px; text-align: center; }
.hm-agenda__vazio span { width: 120px; height: 100px; display: grid; place-items: center; color: var(--fc-tom-60, #A0A3A7); }
.hm-agenda__vazio .fc-icon { width: 96px; height: 96px; }
.hm-agenda__vazio p { margin: 0; font-family: "Bitter", Georgia, serif; font-size: 20px; font-weight: 700; line-height: 28px; color: var(--fc-tom-12, #2A3446); max-width: 360px; }
@media (max-width: 1023px) { .hm-agenda__tipos { grid-template-columns: 1fr; } .fc-adm-corpo.is-hotmart .fc-adm-main:has(.hm-agenda) { padding: calc(72px + 24px) 16px 80px; } }
.fc-adm-corpo.is-hotmart .fc-adm-wrap { max-width: none; margin: 0; } /* a Hotmart usa a largura toda */

/* ===================== Moderação no modelo da Hotmart (medidas deles, 11/10) ===================== */
.fc-adm-corpo.is-hotmart .fc-adm-main:has(.hm-mod) { padding: calc(72px + 32px) 28px 96px 28px; }
.hm-mod { margin: 0 0 32px; }
.hm-mod__tit { margin: 0 0 0 4px; font-size: 30px; font-weight: 600; line-height: 36px; color: var(--fc-tom-12, #2A3446); }
.hm-mod__abas { display: flex; border-bottom: 1px solid var(--fc-nevoa, #EAEFEE); }
.hm-mod__abas a { display: inline-flex; align-items: center; height: 52px; padding: 0 10px; font-size: 16px; font-weight: 800; line-height: 24px; color: var(--fc-tom-40, #71757B) !important; text-decoration: none; border-bottom: 3px solid transparent; margin-bottom: -1px; }
.hm-mod__abas a:hover { color: var(--fc-tom-12, #2A3446) !important; }
.hm-mod__abas a.is-ativo { color: var(--fc-marinho, #121923) !important; border-bottom-color: var(--fc-marinho, #121923); }
.hm-filtros { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 32px; }
.hm-sel { position: relative; display: block; }
.hm-sel select { width: 100%; height: 42px; padding: 8px 48px 8px 16px; appearance: none; -webkit-appearance: none; background: var(--fc-branco, #FFFFFF); border: 1px solid var(--fc-tom-80, #D0D1D3); border-radius: 4px; font: inherit; font-size: 16px; line-height: 24px; color: var(--fc-tom-12, #2A3446); cursor: pointer; }
.hm-sel select:focus { outline: none; border-color: var(--fc-marinho, #121923); }
.hm-sel .fc-icon { position: absolute; right: 16px; top: 13px; width: 16px; height: 16px; pointer-events: none; color: var(--fc-tom-12, #2A3446); }
.hm-busca2 { position: relative; display: block; }
.hm-busca2 input { width: 100%; height: 42px; padding: 8px 48px 8px 16px; background: var(--fc-branco, #FFFFFF); border: 1px solid var(--fc-nevoa, #EAEFEE); border-radius: 8px; font: inherit; font-size: 16px; color: var(--fc-tom-12, #2A3446); }
.hm-busca2 input::placeholder { color: var(--fc-tom-60, #A0A3A7); }
.hm-busca2 input:focus { outline: none; border-color: var(--fc-marinho, #121923); }
.hm-busca2 button { position: absolute; right: 8px; top: 5px; width: 32px; height: 32px; display: grid; place-items: center; border: 0; background: none; color: var(--fc-tom-12, #2A3446); cursor: pointer; }
.hm-busca2 .fc-icon { width: 18px; height: 18px; }
.hm-mod__vazio { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 64px 20px; }
.hm-mod__vazio span { width: 144px; height: 144px; border-radius: 9999px; background: var(--fc-branco, #FFFFFF); display: grid; place-items: center; color: var(--fc-marinho, #121923); margin-bottom: 24px; }
.hm-mod__vazio .fc-icon { width: 72px; height: 72px; }
.hm-mod__vazio h2 { margin: 0 0 4px; font-size: 20px; font-weight: 700; line-height: 28px; color: var(--fc-marinho, #121923); }
.hm-mod__vazio p { margin: 0; font-size: 14px; line-height: 20px; color: var(--fc-tom-24, #4B5058); max-width: 256px; }
@media (max-width: 760px) { .hm-filtros { grid-template-columns: 1fr; } .fc-adm-corpo.is-hotmart .fc-adm-main:has(.hm-mod) { padding: calc(72px + 20px) 16px 80px; } }

/* ===================== Membros no modelo da Hotmart (medidas deles, 11/10): fundo branco ===================== */
.fc-adm-corpo.is-hotmart .fc-adm-main:has(.hm-membros) { padding: calc(72px + 32px) 32px 96px; background: var(--fc-branco, #FFFFFF); min-height: 100vh; }
.hm-membros .hm-tit { margin-bottom: 0; }
.hm-membros .hm-tit h1 { font-size: 30px; line-height: 36px; color: var(--fc-marinho, #121923); }
.hm-membros .hm-tit p { margin-top: 12px; font-size: 16px; font-weight: 600; line-height: 24px; color: var(--fc-tom-40, #71757B); }
.hm-membros__topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
.hm-membros__topo .hm-bt--preto { margin-top: 16px; }
.hm-membros__topo .fc-menu { right: 0; left: auto; min-width: 230px; }
.hm-membros__abas { display: flex; margin: 24px 0 24px; }
.hm-membros__abas a { display: inline-flex; align-items: center; height: 34px; padding: 0 10px; font-size: 14px; font-weight: 700; line-height: 20px; color: var(--fc-tom-40, #71757B) !important; text-decoration: none; border-bottom: 2px solid transparent; }
.hm-membros__abas a.is-ativo { color: var(--fc-marinho, #121923) !important; border-bottom-color: var(--fc-marinho, #121923); }
.hm-nums { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 24px; }
.hm-num { display: flex; flex-direction: column; min-height: 124px; padding: 24px; border-radius: 12px; background: var(--fc-nevoa, #EAEFEE); text-decoration: none; color: inherit; }
a.hm-num:hover { background: var(--fc-tom-88, #EAEFEE); }
.hm-num span { font-size: 12px; line-height: 16px; letter-spacing: 2px; text-transform: uppercase; color: var(--fc-tom-40, #71757B); }
.hm-num strong { margin-top: 12px; font-size: 20px; font-weight: 800; line-height: 28px; color: var(--fc-marinho, #121923); }
.hm-num small { margin-top: 4px; font-size: 12px; line-height: 16px; color: var(--fc-tom-40, #71757B); }
.hm-membros__barra { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 24px; }
.hm-membros__busca { display: flex; align-items: stretch; height: 40px; }
.hm-membros__busca span { width: 44px; display: grid; place-items: center; background: var(--fc-nevoa, #EAEFEE); border: 1px solid var(--fc-tom-70, #B8BABD); border-right: 0; border-radius: 6px 0 0 6px; color: var(--fc-marinho, #121923); }
.hm-membros__busca span .fc-icon { width: 18px; height: 18px; }
.hm-membros__busca input { width: 175px; padding: 4px 12px; border: 1px solid var(--fc-tom-70, #B8BABD); border-left: 0; border-right: 0; background: var(--fc-branco, #FFFFFF); font: inherit; font-size: 14px; color: var(--fc-marinho, #121923); }
.hm-membros__busca input:focus { outline: none; }
.hm-membros__busca button, .hm-membros__filtrar { height: 40px; padding: 0 16px; border: 1px solid var(--fc-tom-70, #B8BABD); border-radius: 0 6px 6px 0; background: var(--fc-branco, #FFFFFF); font: inherit; font-size: 16px; font-weight: 700; line-height: 24px; color: var(--fc-marinho, #121923); cursor: pointer; }
.hm-membros__filtrar { border-radius: 6px; }
.hm-membros__busca button:hover, .hm-membros__filtrar:hover { background: var(--fc-nevoa, #EAEFEE); }
.hm-membros__filtros { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.hm-drop { position: relative; display: block; }
.hm-drop select { height: 40px; padding: 4px 36px 4px 12px; appearance: none; -webkit-appearance: none; background: var(--fc-branco, #FFFFFF); border: 1px solid var(--fc-tom-70, #B8BABD); border-radius: 6px; font: inherit; font-size: 16px; line-height: 24px; color: var(--fc-tom-40, #71757B); cursor: pointer; max-width: 220px; }
.hm-drop .fc-icon { position: absolute; right: 12px; top: 13px; width: 14px; height: 14px; pointer-events: none; color: var(--fc-marinho, #121923); }
.hm-membros__limpar { font-size: 14px; color: var(--fc-tom-40, #71757B) !important; }
.hm-tabela { width: 100%; border-collapse: collapse; }
.hm-tabela th { height: 40px; padding: 0 8px; text-align: left; font-size: 14px; font-weight: 600; line-height: 20px; color: var(--fc-tom-40, #71757B); border-bottom: 1px solid var(--fc-tom-88, #E3E3E5); }
.hm-tabela td { height: 49px; padding: 4px 8px; font-size: 14px; line-height: 20px; color: var(--fc-marinho, #121923); border-bottom: 1px solid var(--fc-tom-88, #E3E3E5); }
.hm-tabela tbody tr:hover { background: var(--fc-branco, #FFFFFF); }
.hm-pessoa { display: flex; align-items: center; gap: 12px; }
.hm-pessoa__foto { width: 32px; height: 32px; border-radius: 50%; overflow: hidden; flex: none; display: grid; place-items: center; background: var(--fc-nevoa, #EAEFEE); font-size: 12px; font-weight: 700; color: var(--fc-tom-16, #383E46); }
.hm-pessoa__foto img { width: 100%; height: 100%; object-fit: cover; }
.hm-pessoa a { display: block; font-size: 14px; line-height: 20px; color: var(--fc-marinho, #121923) !important; text-decoration: none; }
.hm-pessoa a:hover { text-decoration: underline; }
.hm-pessoa small { display: block; font-size: 12px; line-height: 16px; color: var(--fc-tom-40, #71757B); }
.hm-acesso { display: inline-flex; align-items: center; height: 20px; padding: 2px 6px; border-radius: 4px; font-size: 12px; font-weight: 600; line-height: 16px; color: var(--fc-marinho, #121923); }
.hm-acesso--bloq { background: var(--fc-nevoa, #EAEFEE); }
.hm-acesso--ok { background: var(--fc-nevoa, #EAEFEE); }
.hm-acesso--pend { background: var(--fc-nevoa, #EAEFEE); }
.hm-acesso--sem { background: var(--fc-nevoa, #EAEFEE); }
.hm-formatos { display: flex; gap: 6px; flex-wrap: wrap; }
.hm-formato { display: inline-flex; align-items: center; gap: 4px; height: 20px; padding: 2px 6px; border-radius: 4px; background: var(--fc-nevoa, #EAEFEE); font-size: 12px; font-weight: 600; line-height: 16px; color: var(--fc-marinho, #121923); }
.hm-formato .fc-icon { width: 12px; height: 12px; }
.hm-acoes { display: flex; gap: 8px; }
.hm-acao { width: 28px; height: 28px; display: grid; place-items: center; border: 0; border-radius: 9999px; background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923) !important; cursor: pointer; }
.hm-acao:hover { background: var(--fc-nevoa, #EAEFEE); }
.hm-acao .fc-icon { width: 14px; height: 14px; }
.hm-acoes .fc-menu { right: 0; left: auto; min-width: 190px; }
.hm-paginas { display: flex; justify-content: center; gap: 8px; margin-top: 24px; }
.hm-paginas a { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid transparent; border-radius: 6px; font-size: 16px; font-weight: 700; color: var(--fc-marinho, #121923) !important; text-decoration: none; }
.hm-paginas a.is-ativo, .hm-paginas a:hover { border-color: var(--fc-tom-70, #B8BABD); }
@media (max-width: 1023px) { .hm-nums { grid-template-columns: repeat(2, minmax(0, 1fr)); } .fc-adm-corpo.is-hotmart .fc-adm-main:has(.hm-membros) { padding: calc(72px + 20px) 16px 80px; } .hm-tabela th:nth-child(3), .hm-tabela td:nth-child(3), .hm-tabela th:nth-child(4), .hm-tabela td:nth-child(4) { display: none; } }

/* ===================== Vendas no modelo da Hotmart "Impulsione suas vendas" (medidas deles, 11/10): fundo branco ===================== */
.fc-adm-corpo.is-hotmart .fc-adm-main:has(.hm-vendas) { padding: calc(72px + 40px) 40px 96px; background: var(--fc-branco, #FFFFFF); min-height: 100vh; }
.hm-vendas .hm-tit { margin-bottom: 24px; }
.hm-vendas .hm-tit h1 { font-size: 30px; line-height: 36px; }
.hm-vendas .hm-tit p { margin-top: 12px; font-size: 16px; font-weight: 600; line-height: 24px; color: var(--fc-tom-40, #71757B); }
.hm-vf { display: flex; border: 1px solid var(--fc-tom-88, #E3E3E5); border-radius: 12px; overflow: hidden; background: var(--fc-branco, #FFFFFF); }
.hm-vf__arte { width: 416px; flex: none; display: grid; place-items: center; background: var(--fc-nevoa, #EAEFEE); padding: 24px 24px 16px; }
.hm-vf__arte--p { width: 180px; padding: 0; }
.hm-vf__arte span { width: 96px; height: 96px; display: grid; place-items: center; border-radius: 16px; background: var(--fc-branco, #FFFFFF); color: var(--fc-marinho, #121923); box-shadow: 0 6px 20px rgba(18, 25, 35, .08); }
.hm-vf__arte--p span { width: 72px; height: 72px; border-radius: 12px; }
.hm-vf__arte .fc-icon { width: 44px; height: 44px; }
.hm-vf__arte--p .fc-icon { width: 34px; height: 34px; }
.hm-vf__txt { flex: 1; min-width: 0; padding: 24px; }
.hm-vf__txt h2 { margin: 0 0 12px; font-size: 20px; font-weight: 700; line-height: 28px; color: var(--fc-marinho, #121923); }
.hm-vf__txt .hm-vf__tit-g { font-family: "Bitter", Georgia, serif; font-size: 30px; font-weight: 700; line-height: 36px; color: var(--fc-marinho, #121923); }
.hm-vf__txt p { margin: 0 0 24px; font-size: 16px; line-height: 24px; color: var(--fc-tom-40, #71757B); }
.hm-vf__bts { display: flex; gap: 8px; flex-wrap: wrap; }
.hm-vf--grande { min-height: 210px; margin-bottom: 20px; }
.hm-vf__dupla { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.hm-vf__dupla .hm-vf { min-height: 202px; }
.hm-vendas__sub { margin: 28px 0 16px; font-size: 20px; font-weight: 700; line-height: 28px; color: var(--fc-tom-12, #2A3446); }
.hm-aviso-roxo { display: flex; align-items: center; gap: 14px; padding: 12px 16px; border-radius: 8px; background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); margin-bottom: 16px; }
.hm-aviso-roxo > .fc-icon { width: 16px; height: 16px; align-self: flex-start; margin-top: 2px; }
.hm-aviso-roxo > div { flex: 1; min-width: 0; }
.hm-aviso-roxo strong { font-size: 16px; font-weight: 800; line-height: 16px; }
.hm-aviso-roxo p { margin: 4px 0 0; font-size: 14px; line-height: 20px; }
.hm-aviso-roxo p strong { font-size: 14px; font-weight: 700; }
.hm-aviso-roxo .hm-bt { background: transparent; }
.hm-vf__trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.hm-vf3 { display: flex; flex-direction: column; align-items: flex-start; min-height: 246px; padding: 24px; border: 1px solid var(--fc-tom-88, #E3E3E5); border-radius: 12px; background: var(--fc-branco, #FFFFFF); }
.hm-vf3__ic { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 12px; background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); margin-bottom: 14px; }
.hm-vf3__ic .fc-icon { width: 28px; height: 28px; }
.hm-vf3 h3 { margin: 0 0 6px; font-size: 16px; font-weight: 800; line-height: 16px; color: var(--fc-marinho, #121923); }
.hm-vf3 p { margin: 0 0 24px; font-size: 14px; line-height: 20px; color: var(--fc-tom-40, #71757B); flex: 1; }
@media (max-width: 1100px) { .hm-vf__dupla, .hm-vf__trio { grid-template-columns: 1fr; } .hm-vf__arte { width: 180px; } }
@media (max-width: 640px) { .hm-vf { flex-direction: column; } .hm-vf__arte, .hm-vf__arte--p { width: auto; height: 140px; } .fc-adm-corpo.is-hotmart .fc-adm-main:has(.hm-vendas) { padding: calc(72px + 20px) 16px 80px; } .hm-aviso-roxo { flex-wrap: wrap; } }

/* ===================== Combos no modelo da Hotmart (medidas deles, 11/10) ===================== */
.fc-adm-corpo.is-hotmart .fc-adm-main:has(.hm-combos) { padding: calc(72px + 100px) 40px 96px; }
.hm-combos { max-width: 1390px; margin: 0 auto; }
.hm-combos__cab { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.hm-combos__cab h1 { margin: 0 0 16px; font-size: 32px; font-weight: 600; line-height: 38.4px; color: var(--fc-tom-08, #252B35); }
.hm-combos__cab p { margin: 0; max-width: 600px; font-size: 16px; line-height: 24px; color: var(--fc-tom-40, #71757B); }
.hm-combos__vazio { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 40px 20px; }
.hm-combos__arte { width: 200px; height: 200px; display: grid; place-items: center; color: var(--fc-tom-80, #D0D1D3); margin-bottom: 28px; }
.hm-combos__arte .fc-icon { width: 170px; height: 170px; }
.hm-combos__vazio h2 { margin: 0 0 8px; font-size: 28px; font-weight: 400; line-height: 32px; color: var(--fc-tom-12, #2A3446); }
.hm-combos__vazio p { margin: 0; font-size: 16px; line-height: 24px; color: var(--fc-tom-24, #4B5058); }

/* ===================== Personalização no modelo da Hotmart (medidas deles, 11/10) ===================== */
.fc-adm-corpo.is-hotmart .fc-adm-main:has(.hm-perso) { padding: calc(72px + 24px) 40px 96px; }
.hm-perso__tit { margin: 0 0 24px; font-size: 24px; font-weight: 700; line-height: 28.8px; color: var(--fc-tom-12, #2A3446); }
.hm-perso__cab { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 24px; padding: 24px; background: var(--fc-branco, #FFFFFF); border-radius: 8px; margin-bottom: 24px; }
.hm-perso__cab strong { display: block; font-size: 16px; font-weight: 700; line-height: 24px; color: var(--fc-marinho, #121923); }
.hm-perso__cab small { font-size: 12px; line-height: 14px; color: var(--fc-tom-40, #71757B); }
.hm-perso__link span { display: block; font-size: 12px; line-height: 12px; color: var(--fc-marinho, #121923); margin-bottom: 8px; }
.hm-perso__link a { font-size: 12px; line-height: 18px; color: var(--fc-marinho, #121923) !important; }
.hm-perso__tema { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 8px 16px; font-size: 16px; line-height: 24px; color: var(--fc-marinho, #121923) !important; text-decoration: none; border-radius: 4px; }
.hm-perso__tema:hover { background: var(--fc-nevoa, #EAEFEE); }
.hm-perso__tema .fc-icon { width: 18px; height: 18px; }
.hm-perso__lista { display: flex; flex-direction: column; gap: 16px; padding: 24px; background: var(--fc-branco, #FFFFFF); border-radius: 8px; }
.hm-pg { display: grid; grid-template-columns: 40px minmax(0, 1fr) minmax(0, 1.4fr) auto; align-items: center; gap: 16px; min-height: 74px; padding: 16px; border: 1px solid var(--fc-nevoa, #EAEFEE); border-radius: 8px; }
.hm-pg__ic { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 8px; background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); overflow: hidden; }
.hm-pg__ic img { width: 100%; height: 100%; object-fit: cover; }
.hm-pg__ic .fc-icon { width: 18px; height: 18px; }
.hm-pg__nome strong { display: block; font-size: 16px; font-weight: 600; line-height: 19.2px; color: var(--fc-tom-12, #2A3446); }
.hm-pg__nome small { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; line-height: 24px; }
.hm-pg__nome small .fc-icon { width: 14px; height: 14px; }
.hm-roxo { color: var(--fc-marinho, #121923); }
.hm-cinza { color: var(--fc-tom-40, #71757B); }
.hm-st--amarelo { color: var(--fc-marinho, #121923); }
.hm-st--verde { color: var(--fc-marinho, #121923); }
.hm-pg__url { display: flex; align-items: center; gap: 8px; min-width: 0; }
.hm-pg__url .fc-icon { width: 14px; height: 14px; color: var(--fc-marinho, #121923); flex: none; }
.hm-pg__url a { font-size: 12px; line-height: 18px; color: var(--fc-marinho, #121923) !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hm-pg__acoes { display: flex; align-items: center; gap: 8px; }
.hm-pg__pub { display: inline-flex; align-items: center; height: 30px; padding: 0 14px; border-radius: 8px; border: 1px solid var(--fc-menta, #2EFFA0); background: var(--fc-nevoa, #EAEFEE); font-size: 12px; color: var(--fc-marinho, #121923); }
.hm-pg__ver { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--fc-marinho, #121923); border-radius: 4px; color: var(--fc-marinho, #121923) !important; }
.hm-pg__ver .fc-icon { width: 16px; height: 16px; }
.hm-pg__perso { display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 8px; border: 1px solid var(--fc-marinho, #121923); border-radius: 4px; font-size: 12px; line-height: 18px; color: var(--fc-marinho, #121923) !important; text-decoration: none; }
.hm-pg__perso .fc-icon { width: 14px; height: 14px; }
.hm-pg__ver:hover, .hm-pg__perso:hover { background: var(--fc-nevoa, #EAEFEE); }
.hm-pg__ver.is-off, .hm-pg__perso.is-off { border-color: var(--fc-tom-80, #D0D1D3); color: var(--fc-tom-80, #D0D1D3) !important; pointer-events: none; }
@media (max-width: 1023px) { .hm-perso__cab { grid-template-columns: 1fr; } .hm-pg { grid-template-columns: 40px minmax(0, 1fr); } .hm-pg__url { display: none; } .hm-pg__acoes { grid-column: 1 / -1; justify-content: flex-end; } .fc-adm-corpo.is-hotmart .fc-adm-main:has(.hm-perso) { padding: calc(72px + 20px) 16px 80px; } }

/* ===================== Gamificação no modelo da Hotmart (medidas deles, 11/10): fundo branco ===================== */
.fc-adm-corpo.is-hotmart .fc-adm-main:has(.hm-gami) { padding: calc(72px + 48px) 48px 96px; background: var(--fc-branco, #FFFFFF); min-height: 100vh; }
.hm-gami__topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
.hm-gami .hm-tit { margin: 0; }
.hm-gami .hm-tit h1 { font-size: 30px; line-height: 36px; color: var(--fc-marinho, #121923); }
.hm-gami .hm-tit p { margin-top: 12px; font-size: 16px; font-weight: 600; line-height: 24px; color: var(--fc-tom-40, #71757B); }
.hm-gami__bts { display: flex; gap: 16px; align-items: center; }
.hm-gami__on { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 8px 16px; border-radius: 6px; background: var(--fc-nevoa, #EAEFEE); font-size: 16px; font-weight: 800; line-height: 24px; color: var(--fc-marinho, #121923); }
.hm-gami__on i { width: 10px; height: 10px; border-radius: 50%; background: var(--fc-menta, #2EFFA0); }
.hm-gami__abas { display: flex; gap: 0; margin: 32px 0 40px; border-bottom: 1px solid var(--fc-tom-88, #E3E3E5); }
.hm-gami__abas a { display: inline-flex; align-items: center; height: 34px; padding: 0 12px; margin-right: 12px; font-size: 14px; line-height: 20px; color: var(--fc-tom-40, #71757B) !important; text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.hm-gami__abas a.is-ativo { color: var(--fc-marinho, #121923) !important; border-bottom-color: var(--fc-marinho, #121923); }
.hm-gbox { padding: 24px; border: 1px solid var(--fc-nevoa, #EAEFEE); border-radius: 8px; margin-bottom: 24px; background: var(--fc-branco, #FFFFFF); }
.hm-gbox h2 { margin: 0 0 16px; font-size: 16px; font-weight: 800; line-height: 19.2px; color: var(--fc-marinho, #121923); }
.hm-gbox .hm-gbox__t18 { font-size: 18px; line-height: 28px; }
.hm-gbox__nada { margin: 40px 0; text-align: center; font-size: 16px; color: var(--fc-marinho, #121923); }
.hm-gnums { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.hm-gnums > div { padding: 16px; background: var(--fc-nevoa, #EAEFEE); border: 1px solid var(--fc-nevoa, #EAEFEE); border-radius: 8px; }
.hm-gnums span { display: block; font-size: 14px; line-height: 20px; color: var(--fc-marinho, #121923); }
.hm-gnums strong { display: block; margin-top: 8px; font-size: 30px; font-weight: 400; line-height: 36px; color: var(--fc-marinho, #121923); }
.hm-gbarras { display: flex; flex-direction: column; gap: 12px; }
.hm-gbarra { display: grid; grid-template-columns: 180px 1fr 60px; align-items: center; gap: 16px; font-size: 14px; color: var(--fc-marinho, #121923); }
.hm-gbarra > div { height: 12px; border-radius: 6px; background: var(--fc-nevoa, #EAEFEE); overflow: hidden; }
.hm-gbarra i { display: block; height: 100%; background: var(--fc-marinho, #121923); border-radius: 6px; }
.hm-gbarra b { text-align: right; }
.hm-gbox--rk { border-radius: 12px; }
.hm-gvazio { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 56px 32px; }
.hm-gvazio > span { width: 120px; height: 100px; display: grid; place-items: center; color: var(--fc-marinho, #121923); margin-bottom: 20px; }
.hm-gvazio > span .fc-icon { width: 80px; height: 80px; }
.hm-gvazio h3 { margin: 0 0 16px; font-family: "Bitter", Georgia, serif; font-size: 22px; font-weight: 700; line-height: 26.4px; color: var(--fc-marinho, #121923); }
.hm-gvazio p { margin: 0 0 16px; max-width: 760px; font-size: 14px; line-height: 20px; color: var(--fc-tom-40, #71757B); }
.hm-gdupla { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.hm-gcard { display: flex; flex-direction: column; align-items: flex-start; }
.hm-gcard > .fc-icon { width: 20px; height: 20px; color: var(--fc-marinho, #121923); margin-bottom: 16px; }
.hm-gcard h3 { margin: 0 0 4px; font-size: 16px; font-weight: 800; line-height: 24px; color: var(--fc-marinho, #121923); }
.hm-gcard p { margin: 0 0 16px; font-size: 14px; line-height: 20px; color: var(--fc-tom-40, #71757B); }
.hm-gniveis { text-align: center; padding: 40px 24px; }
.hm-gniveis h2 { font-size: 22px; line-height: 28px; margin-bottom: 12px; }
.hm-gniveis > p { max-width: 560px; margin: 0 auto 24px; font-size: 14px; line-height: 20px; color: var(--fc-tom-40, #71757B); }
.hm-gniveis__lista { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-bottom: 20px; }
.hm-gniveis__lista > div { display: flex; flex-direction: column; align-items: center; gap: 4px; width: 150px; padding: 14px; border: 1px solid var(--fc-nevoa, #EAEFEE); border-radius: 12px; }
.hm-gniveis__lista span { color: var(--fc-marinho, #121923); }
.hm-gniveis__lista strong { font-size: 14px; color: var(--fc-marinho, #121923); }
.hm-gniveis__lista small { font-size: 12px; color: var(--fc-tom-40, #71757B); }
.hm-gnovo { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 6px; width: 298px; padding: 20px; text-align: left; border: 1px solid var(--fc-tom-88, #E3E3E5); border-radius: 12px; text-decoration: none; color: inherit; }
.hm-gnovo:hover { border-color: var(--fc-marinho, #121923); }
.hm-gnovo span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 6px; background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); margin-bottom: 8px; }
.hm-gnovo strong { font-size: 14px; font-weight: 800; color: var(--fc-marinho, #121923); }
.hm-gnovo small { font-size: 13px; color: var(--fc-tom-40, #71757B); }
.hm-gpts__cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 16px; }
.hm-gpts__cab h2 { margin: 0 0 4px; }
.hm-gpts__cab p { margin: 0; font-size: 14px; color: var(--fc-tom-40, #71757B); }
.hm-gpts { width: 100%; border-collapse: collapse; }
.hm-gpts th { text-align: left; padding: 10px 0; font-size: 12px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--fc-tom-40, #71757B); border-bottom: 1px solid var(--fc-tom-88, #E3E3E5); }
.hm-gpts th:last-child, .hm-gpts td:last-child { text-align: right; }
.hm-gpts td { padding: 14px 0; border-bottom: 1px solid var(--fc-nevoa, #EAEFEE); font-size: 14px; color: var(--fc-marinho, #121923); }
.hm-gpts td strong { display: block; font-size: 14px; font-weight: 700; }
.hm-gpts td small { display: block; font-size: 12px; color: var(--fc-tom-40, #71757B); }
.hm-gpts td b { font-size: 18px; }
.hm-gselos { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.hm-gselos > div { display: flex; flex-direction: column; gap: 4px; padding: 16px; border: 1px solid var(--fc-nevoa, #EAEFEE); border-radius: 12px; }
.hm-gselos span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 10px; background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); margin-bottom: 8px; }
.hm-gselos strong { font-size: 14px; color: var(--fc-marinho, #121923); }
.hm-gselos small { font-size: 12px; color: var(--fc-tom-40, #71757B); }
.hm-gselos em { font-style: normal; font-size: 12px; color: var(--fc-marinho, #121923); margin-top: 6px; }
@media (max-width: 900px) { .hm-gdupla, .hm-gnums { grid-template-columns: 1fr; } .fc-adm-corpo.is-hotmart .fc-adm-main:has(.hm-gami) { padding: calc(72px + 20px) 16px 80px; } .hm-gbarra { grid-template-columns: 110px 1fr 40px; } }

/* ===================== Mensagens no modelo da Hotmart (medidas deles, 11/10): fundo branco ===================== */
.fc-adm-corpo.is-hotmart .fc-adm-main:has(.hm-msgs) { padding: calc(72px + 44px) 44px 96px; background: var(--fc-branco, #FFFFFF); min-height: 100vh; }
.hm-msgs .hm-tit { margin: 0; }
.hm-msgs .hm-tit h1 { font-size: 30px; line-height: 36px; }
.hm-msgs .hm-tit p { font-size: 16px; font-weight: 600; line-height: 36px; color: var(--fc-tom-40, #71757B); }
.hm-msgs__abas { margin: 28px 0 32px; }
.hm-msgs__abas a { font-weight: 700; color: var(--fc-tom-40, #71757B) !important; }
.hm-msgs__abas a.is-ativo { color: var(--fc-marinho, #121923) !important; }
.hm-msgs__tab td strong { font-weight: 700; }
.hm-msgs__tab td:nth-child(2) { color: var(--fc-tom-40, #71757B); max-width: 520px; }
.hm-msgs__nota { margin: 0 0 20px; font-size: 14px; color: var(--fc-tom-40, #71757B); }

/* ===================== Insights no modelo da Hotmart (medidas deles, 11/10): faixa bege no topo, abas e conteúdo em branco ===================== */
.fc-adm-corpo.is-hotmart .fc-adm-main:has(.hm-ins) { padding: 72px 0 0; background: var(--fc-branco, #FFFFFF); min-height: 100vh; }
.fc-adm-main:has(.hm-ins) .fc-adm-wrap > :not(.hm-ins):not(script) { margin-left: 32px; margin-right: 32px; }
.hm-ins__faixa { padding: 32px 40px 40px; background: var(--fc-nevoa, #EAEFEE); text-align: center; }
.hm-ins__faixa h1 { margin: 0; text-align: left; font-family: "Bitter", Georgia, serif; font-size: 30px; font-weight: 700; line-height: 36px; color: var(--fc-marinho, #121923); }
.hm-ins__faixa > p { margin: 12px 0 28px; text-align: left; font-size: 16px; line-height: 19px; color: var(--fc-tom-40, #71757B); }
.hm-ins__cards { display: inline-flex; align-items: center; gap: 8px; }
.hm-ins__cards > div { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; width: 180px; padding: 14px 14px 40px; background: var(--fc-branco, #FFFFFF); border: 1px solid #F04E23; border-radius: 10px; text-align: left; }
.hm-ins__cards > div.is-meio { width: 240px; padding-bottom: 46px; }
.hm-ins__cards small { font-size: 11px; color: var(--fc-tom-40, #71757B); }
.hm-ins__cards strong { font-size: 26px; font-weight: 400; line-height: 30px; color: var(--fc-marinho, #121923); }
.hm-ins__cards em { font-style: normal; font-size: 11px; line-height: 15px; color: var(--fc-tom-40, #71757B); }
.hm-ins__cards span { position: absolute; left: 8px; right: 8px; bottom: 8px; display: flex; align-items: center; justify-content: center; gap: 6px; height: 22px; border-radius: 4px; background: var(--fc-marinho, #121923); color: var(--fc-branco, #FFFFFF); font-size: 10px; }
.hm-ins__cards span .fc-icon { width: 10px; height: 10px; color: #F04E23; }
.hm-ins__nota { margin: 22px 0 0; font-size: 14px; font-weight: 800; line-height: 21px; color: var(--fc-marinho, #121923); }
.hm-ins__abas { display: flex; gap: 20px; margin: 24px 24px 24px; border-bottom: 1px solid var(--fc-nevoa, #EAEFEE); }
.hm-ins__abas a { display: inline-flex; align-items: center; height: 36px; padding: 0 10px; font-size: 16px; font-weight: 800; line-height: 24px; color: var(--fc-tom-40, #71757B) !important; text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.hm-ins__abas a.is-ativo { color: var(--fc-marinho, #121923) !important; border-bottom-color: var(--fc-marinho, #121923); }
.hm-ins__aba { margin: 0 32px; }
.hm-ins__aba-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.hm-ins__aba-cab h2 { margin: 0 0 8px; font-size: 24px; font-weight: 400; line-height: 29px; color: var(--fc-marinho, #121923); }
.hm-ins__aba-cab p { margin: 0; font-size: 14px; line-height: 21px; color: var(--fc-tom-40, #71757B); }
.hm-ins__bt { display: inline-flex; align-items: center; height: 42px; padding: 8px 16px; border: 1px solid var(--fc-tom-70, #B8BABD); border-radius: 4px; font-size: 16px; color: var(--fc-marinho, #121923) !important; text-decoration: none; white-space: nowrap; }
.hm-ins__bt:hover { background: var(--fc-nevoa, #EAEFEE); }
.hm-ins__vazio { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 80px 20px; }
.hm-ins__vazio span { width: 100px; height: 100px; display: grid; place-items: center; border-radius: 50%; background: var(--fc-nevoa, #EAEFEE); color: var(--fc-tom-60, #A0A3A7); margin-bottom: 24px; }
.hm-ins__vazio .fc-icon { width: 48px; height: 48px; }
.hm-ins__vazio h3 { margin: 0 0 12px; font-size: 24px; font-weight: 400; line-height: 29px; color: var(--fc-tom-40, #71757B); }
.hm-ins__vazio p { margin: 0; max-width: 731px; font-size: 16px; line-height: 24px; color: var(--fc-tom-60, #A0A3A7); }
@media (max-width: 760px) { .hm-ins__cards { flex-direction: column; } .hm-ins__abas { overflow-x: auto; margin: 16px; } .hm-ins__aba, .fc-adm-main:has(.hm-ins) .fc-adm-wrap > :not(.hm-ins):not(script) { margin-left: 16px; margin-right: 16px; } }

/* ===================== Configurações no modelo da Hotmart "Ajustes gerais" (medidas deles, 11/10): fundo branco ===================== */
.fc-adm-corpo.is-hotmart .fc-adm-main:has(.hm-cfg) { padding: calc(72px + 40px) 48px 96px; background: var(--fc-branco, #FFFFFF); min-height: 100vh; }
.hm-cfg__tit { margin: 0 0 24px; font-family: "Bitter", Georgia, serif; font-size: 30px; font-weight: 700; line-height: 36px; color: var(--fc-marinho, #121923); }
.hm-cfg__abas { display: flex; gap: 0; margin-bottom: 32px; }
.hm-cfg__abas a { display: inline-flex; align-items: center; height: 40px; padding: 0 12px; font-size: 16px; font-weight: 700; line-height: 24px; color: var(--fc-tom-40, #71757B) !important; text-decoration: none; border-bottom: 2px solid transparent; }
.hm-cfg__abas a.is-ativo { color: var(--fc-marinho, #121923) !important; border-bottom-color: var(--fc-marinho, #121923); }
.hm-cfg__sub { margin: 4px 0 24px; font-size: 20px; font-weight: 700; line-height: 28px; color: var(--fc-marinho, #121923); }
.hm-ferr { display: flex; flex-direction: column; gap: 8px; }
.hm-ferr__item { display: flex; align-items: center; gap: 16px; min-height: 74px; padding: 16px 24px; border: 1px solid var(--fc-tom-88, #E3E3E5); border-radius: 8px; background: var(--fc-branco, #FFFFFF); }
.hm-ferr__ic { width: 24px; display: grid; place-items: center; color: var(--fc-marinho, #121923); flex: none; }
.hm-ferr__ic .fc-icon { width: 20px; height: 20px; }
.hm-ferr__txt { flex: 1; min-width: 0; }
.hm-ferr__txt strong { display: block; font-size: 14px; font-weight: 800; line-height: 20px; color: var(--fc-marinho, #121923); }
.hm-ferr__txt span { display: block; font-size: 14px; line-height: 20px; color: var(--fc-tom-40, #71757B); }
.hm-ferr__st { display: inline-flex; align-items: center; gap: 4px; height: 22px; padding: 0 8px; border-radius: 4px; background: var(--fc-nevoa, #EAEFEE); font-size: 12px; color: var(--fc-tom-16, #383E46); flex: none; }
.hm-ferr__st.is-on { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); }
.hm-ferr__st .fc-icon { width: 12px; height: 12px; }
.hm-ferr__bt { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 16px; border-radius: 6px; background: var(--fc-marinho, #121923); color: var(--fc-branco, #FFFFFF) !important; font-size: 14px; font-weight: 700; text-decoration: none; flex: none; }
.hm-ferr__bt:hover { background: var(--fc-ardosia, #2A3446); }
.hm-ferr__bt .fc-icon { width: 14px; height: 14px; }
.hm-ferr__bt.is-off { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-tom-40, #71757B) !important; }
.hm-ferr__nota { margin: 40px 0 0; font-size: 14px; color: var(--fc-tom-40, #71757B); }
.hm-ferr__nota a { color: var(--fc-marinho, #121923) !important; text-decoration: underline; }
.hm-ins__cards > div { border-color: var(--fc-marinho, #121923); }
.hm-ins__cards span .fc-icon { color: var(--fc-marinho, #121923); }
@media (max-width: 760px) { .fc-adm-corpo.is-hotmart .fc-adm-main:has(.hm-cfg) { padding: calc(72px + 20px) 16px 80px; } .hm-ferr__item { flex-wrap: wrap; } }
/* Central de Ajuda no pé do menu, como a Hotmart */
.fc-adm-corpo.is-hotmart .fc-adm-lado { display: flex; flex-direction: column; }
.fc-adm-corpo.is-hotmart .fc-adm-nav { flex: 1; display: flex; flex-direction: column; }
.fc-adm-corpo.is-hotmart .fc-adm-nav > a[href$="/admin/ajuda"] { margin-top: auto; }

/* letras um degrau mais pesadas no painel (pedido do Luciano, 11/10): o texto sem peso definido fica médio */
.fc-adm-corpo.is-hotmart { font-weight: 600; }
.fc-adm-corpo.is-hotmart .fc-adm-main :is(.fc-input, .fc-select, .fc-textarea, .fc-label, .fc-help, .fc-table td, .fc-small, p, li, td) { font-weight: 600; }
.fc-adm-corpo.is-hotmart .fc-adm-main :is(.fc-table th, .fc-strong, strong, b, h2, h3, .fc-h4) { font-weight: 700; }
/* tamanho visual igual ao da Hotmart Sans: a Albert Sans tem a letra "x" mais baixa, então aumentamos ~4% (11/10) */
.fc-adm-corpo.is-hotmart { font-size-adjust: 0.52; }
.fc-adm-corpo.is-hotmart :is(.hm-tit h1, .hm-cfg__tit, .hm-ins__faixa h1, .hm-gvazio h3, .hm-agenda__vazio p, .hm-vf__tit-g, .hm-tipo__arte) { font-size-adjust: none; }
/* ícones: o desenho da Phosphor ocupa ~80% da caixa; ampliado para encher como os da Hotmart */
.fc-adm-corpo i.fc-ph { -webkit-mask-size: 122% 122%; mask-size: 122% 122%; }
/* ícones do menu maiores, como os da Hotmart (texto continua começando no mesmo lugar) */
.fc-adm-corpo.is-hotmart .fc-adm-nav__item { gap: 20px; padding-left: 14px; }
.fc-adm-corpo.is-hotmart .fc-adm-nav__item .fc-icon { width: 28px; height: 28px; }
.fc-adm-corpo.is-hotmart .fc-adm-lado__menu .fc-icon, .fc-adm-corpo.is-hotmart .fc-adm-topo .fc-icon { width: 27px; height: 27px; }
.fc-adm-corpo.is-hotmart .fc-adm-nav__item { padding-left: 16px; }
/* ícones nos mesmos tamanhos da Hotmart (pedido do Luciano, 11/10): menu e topo 24, ícones do produto 20, botões 20, links 15 */
.fc-adm-corpo.is-hotmart .fc-adm-nav__item { gap: 24px; padding-left: 16px; }
.fc-adm-corpo.is-hotmart .fc-adm-nav__item .fc-icon { width: 24px; height: 24px; }
.fc-adm-corpo.is-hotmart .fc-adm-lado__menu .fc-icon, .fc-adm-corpo.is-hotmart .fc-adm-topo .fc-icon { width: 24px; height: 24px; }
.fc-adm-corpo.is-hotmart .hm-ibt .fc-icon { width: 20px; height: 20px; }
.fc-adm-corpo.is-hotmart .hm-bt .fc-icon { width: 20px; height: 20px; }
.fc-adm-corpo.is-hotmart .hm-link .fc-icon { width: 15px; height: 15px; }
/* suavidade igual à da Hotmart (valores do CSS deles, 11/10): letra suavizada e transições de 0,15s com a mesma curva */
.fc-adm-corpo.is-hotmart { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; font-synthesis: none; }
.fc-adm-corpo.is-hotmart :is(a, button, .hm-bt, .hm-ibt, .hm-link, .hm-acao, .hm-pilula, .hm-aba, .fc-adm-nav__item, .fc-menu__item, input, select, textarea, .hm-prod, .hm-tipo, .hm-num, .hm-pg__ver, .hm-pg__perso, .hm-ferr__bt) {
  transition-property: color, background-color, border-color, box-shadow, opacity, transform;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.fc-adm-corpo.is-hotmart .fc-menu { transition: opacity .15s cubic-bezier(.4, 0, .2, 1), transform .15s cubic-bezier(.4, 0, .2, 1); }

/* ===================== Painel macio (11/10): menus, janelas, listas de escolha e troca de página com animação ===================== */
.fc-adm-corpo { --hm-mola: cubic-bezier(.16, 1, .3, 1); }
/* menus (⋮, Criar, Adicionar membros…): entram deslizando e saem do mesmo jeito */
.fc-adm-corpo .fc-menu { opacity: 0; transform: translateY(-8px) scale(.96); transition: opacity .18s ease, transform .26s var(--hm-mola) !important; box-shadow: 0 12px 32px rgba(18, 25, 35, .14), 0 2px 6px rgba(18, 25, 35, .06); }
.fc-adm-corpo .fc-pop.is-open .fc-menu { opacity: 1; transform: none; }
.fc-adm-corpo .fc-pop.is-open .fc-menu__item { animation: hm-item-in .28s var(--hm-mola) both; }
.fc-adm-corpo .fc-pop.is-open .fc-menu__item:nth-child(2) { animation-delay: .02s; }
.fc-adm-corpo .fc-pop.is-open .fc-menu__item:nth-child(3) { animation-delay: .04s; }
.fc-adm-corpo .fc-pop.is-open .fc-menu__item:nth-child(n+4) { animation-delay: .06s; }
@keyframes hm-item-in { from { opacity: 0; transform: translateY(-3px); } }
/* janelas: fundo escurece aos poucos; a janela sobe ao abrir e desce ao fechar */
.fc-modal { animation: none !important; opacity: 0; transform: translateY(18px) scale(.97); transition: opacity .2s ease, transform .32s var(--hm-mola, cubic-bezier(.16, 1, .3, 1)), overlay .32s allow-discrete, display .32s allow-discrete; }
.fc-modal[open] { opacity: 1; transform: none; }
@starting-style { .fc-modal[open] { opacity: 0; transform: translateY(18px) scale(.97); } }
.fc-modal::backdrop { background: rgba(18, 25, 35, 0); backdrop-filter: blur(0); transition: background .3s ease, backdrop-filter .3s ease, overlay .32s allow-discrete, display .32s allow-discrete; }
.fc-modal[open]::backdrop { background: rgba(18, 25, 35, .45); backdrop-filter: blur(3px); }
@starting-style { .fc-modal[open]::backdrop { background: rgba(18, 25, 35, 0); backdrop-filter: blur(0); } }
/* botões: afundam de leve ao clicar */
.fc-adm-corpo :is(.hm-bt, .hm-ibt, .hm-acao, .hm-ico, .hm-pilula, .hm-pg__ver, .hm-pg__perso, .hm-ferr__bt, .fc-btn, .fc-adm-nav__item, .fc-menu__item, .hm-tipo):active { transform: scale(.97); }
/* listas de escolha desenhadas (Chrome atual): abrem animadas, itens grandes como na Hotmart */
@supports (appearance: base-select) {
  .fc-adm-corpo.is-hotmart :is(.fc-select, .hm-sel select, .hm-drop select), .fc-adm-corpo.is-hotmart :is(.fc-select, .hm-sel select, .hm-drop select)::picker(select) { appearance: base-select; }
  .fc-adm-corpo.is-hotmart :is(.fc-select, .hm-sel select, .hm-drop select) { display: flex; align-items: center; cursor: pointer; }
  .fc-adm-corpo.is-hotmart :is(.hm-sel select, .hm-drop select)::picker-icon { display: none; }
  .fc-adm-corpo.is-hotmart .fc-select::picker-icon { color: var(--fc-tom-40, #71757B); transition: rotate .25s var(--hm-mola); }
  .fc-adm-corpo.is-hotmart .fc-select:open::picker-icon { rotate: 180deg; }
  .fc-adm-corpo.is-hotmart :is(.hm-sel, .hm-drop) .fc-icon { transition: rotate .25s var(--hm-mola); }
  .fc-adm-corpo.is-hotmart :is(.hm-sel, .hm-drop):has(select:open) .fc-icon { rotate: 180deg; }
  .fc-adm-corpo.is-hotmart ::picker(select) { margin-top: 4px; padding: 6px 0; max-height: min(420px, 60vh); background: var(--fc-branco, #FFFFFF); border: 1px solid var(--fc-nevoa, #EAEFEE); border-radius: 8px; box-shadow: 0 12px 32px rgba(18, 25, 35, .14), 0 2px 6px rgba(18, 25, 35, .06);
    opacity: 0; transform: translateY(-8px) scale(.98); transform-origin: top center; transition: opacity .18s ease, transform .26s var(--hm-mola), overlay .26s allow-discrete, display .26s allow-discrete; }
  .fc-adm-corpo.is-hotmart :open::picker(select) { opacity: 1; transform: none; }
  @starting-style { .fc-adm-corpo.is-hotmart :open::picker(select) { opacity: 0; transform: translateY(-8px) scale(.98); } }
  .fc-adm-corpo.is-hotmart :is(.fc-select, .hm-sel select, .hm-drop select) option { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 12px 24px; border-bottom: 1px solid var(--fc-nevoa, #EAEFEE); font-size: 16px; font-weight: 500; color: var(--fc-tom-12, #2A3446); background: var(--fc-branco, #FFFFFF); transition: background-color .15s ease; }
  .fc-adm-corpo.is-hotmart :is(.fc-select, .hm-sel select, .hm-drop select) option:last-child { border-bottom: 0; }
  .fc-adm-corpo.is-hotmart :is(.fc-select, .hm-sel select, .hm-drop select) option:hover, .fc-adm-corpo.is-hotmart :is(.fc-select, .hm-sel select, .hm-drop select) option:focus-visible { background: var(--fc-nevoa, #EAEFEE); outline: none; }
  .fc-adm-corpo.is-hotmart :is(.fc-select, .hm-sel select, .hm-drop select) option:checked { color: var(--fc-marinho, #121923); font-weight: 700; }
  .fc-adm-corpo.is-hotmart :is(.fc-select, .hm-sel select, .hm-drop select) option::checkmark { order: 2; margin-left: auto; color: var(--fc-marinho, #121923); }
}
@media (prefers-reduced-motion: reduce) { .fc-adm-corpo *, .fc-modal, ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; transition: none !important; } }
@supports (appearance: base-select) { .fc-adm-corpo.is-hotmart .fc-select { background-image: none; padding-right: 14px; justify-content: space-between; } }
/* menu recolhido (Personalização e botão ☰): 70px como o da Hotmart, sem tapar o conteúdo */
.fc-adm-corpo.is-hotmart.is-mini { --adm-lado: 70px; }
.fc-adm-corpo.is-hotmart.is-mini .fc-adm-lado { width: 70px; }
.fc-adm-corpo.is-hotmart.is-mini .fc-adm-nav { padding: 8px 7px; }
.fc-adm-corpo.is-hotmart.is-mini .fc-adm-nav__item { justify-content: center; padding: 0; gap: 0; }
.fc-adm-corpo.is-hotmart.is-mini .fc-adm-nav__txt, .fc-adm-corpo.is-hotmart.is-mini .fc-adm-nav__n { display: none; }
.fc-adm-corpo.is-hotmart.is-mini .fc-adm-lado__cab { justify-content: center; padding: 0; }
@media (min-width: 1024px) { .fc-adm-corpo.is-hotmart.is-mini .fc-adm-main { margin-left: 70px; } }
/* ilustrações dos cartões da Agenda */
.hm-tipo__arte img { width: 220px; max-width: 80%; height: auto; }

/* ===================== Sino de notificações no painel branco (modelo da Hotmart, 11/10) ===================== */
.fc-adm-corpo.is-hotmart .fc-bell > button, .fc-adm-corpo.is-hotmart .fc-bell [data-fc-pop] { border: 0 !important; box-shadow: none !important; outline: none; background: none; color: var(--fc-tom-12, #2A3446); }
.fc-adm-corpo.is-hotmart .fc-bell [data-fc-pop]:hover, .fc-adm-corpo.is-hotmart .fc-bell.is-open [data-fc-pop] { background: var(--fc-nevoa, #EAEFEE); }
.fc-adm-corpo.is-hotmart .fc-bell [data-fc-pop]:focus-visible { box-shadow: 0 0 0 2px var(--fc-marinho, #121923) !important; }
.fc-adm-corpo.is-hotmart .fc-bell__count { background: var(--fc-framboesa, #F04A68); color: var(--fc-branco, #FFFFFF); border: 2px solid var(--fc-branco, #FFFFFF); font-weight: 700; }
.fc-adm-corpo.is-hotmart .fc-notif { width: 400px; background: var(--fc-branco, #FFFFFF) !important; border: 1px solid var(--fc-nevoa, #EAEFEE); border-radius: 8px; color: var(--fc-tom-12, #2A3446); }
.fc-adm-corpo.is-hotmart .fc-notif__head { border-bottom: 1px solid var(--fc-nevoa, #EAEFEE); padding: 16px 20px; }
.fc-adm-corpo.is-hotmart .fc-notif__head b { font-family: var(--fc-font-text) !important; font-size: 18px; font-weight: 700; color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-hotmart .fc-notif__head .fc-btn { background: none; border: 0; color: var(--fc-marinho, #121923); font-size: 14px; font-weight: 600; padding: 0 4px; min-height: 0; height: auto; }
.fc-adm-corpo.is-hotmart .fc-notif__head .fc-btn:hover { text-decoration: underline; }
.fc-adm-corpo.is-hotmart .fc-notif__item { border-bottom: 1px solid var(--fc-nevoa, #EAEFEE); padding: 16px 20px; background: var(--fc-branco, #FFFFFF); }
.fc-adm-corpo.is-hotmart .fc-notif__item:hover { background: var(--fc-nevoa, #EAEFEE); }
.fc-adm-corpo.is-hotmart .fc-notif__item.is-unread { background: var(--fc-branco, #FFFFFF); }
.fc-adm-corpo.is-hotmart .fc-notif__item.is-unread:hover { background: var(--fc-nevoa, #EAEFEE); }
.fc-adm-corpo.is-hotmart .fc-notif__icon { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-tom-24, #4B5058); }
.fc-adm-corpo.is-hotmart .fc-notif__icon--accent { background: var(--fc-nevoa, #EAEFEE); color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-hotmart .fc-notif__text { color: var(--fc-tom-24, #4B5058); font-size: 14px; line-height: 1.45; }
.fc-adm-corpo.is-hotmart .fc-notif__text strong { color: var(--fc-marinho, #121923); font-weight: 700; }
.fc-adm-corpo.is-hotmart .fc-notif__time { color: var(--fc-tom-40, #71757B); font-size: 12px; }
.fc-adm-corpo.is-hotmart .fc-notif .fc-dot { background: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-hotmart .fc-notif__todas { display: block; padding: 14px; text-align: center; font-size: 15px; font-weight: 700; color: var(--fc-marinho, #121923) !important; background: var(--fc-branco, #FFFFFF); border-top: 1px solid var(--fc-nevoa, #EAEFEE); text-decoration: none; }
.fc-adm-corpo.is-hotmart .fc-notif__todas:hover { background: var(--fc-nevoa, #EAEFEE); }
.fc-adm-corpo.is-hotmart .fc-notif__lista { scrollbar-width: thin; scrollbar-color: var(--fc-tom-80, #D0D1D3) transparent; }

/* ===================== Formulários internos no padrão da Hotmart (11/10): uma coluna, título da seção em cima, campos empilhados ===================== */
.fc-adm-corpo.is-hotmart .fc-adm-main form:has(> .fc-form-section) { max-width: 760px; padding: 8px 32px 0; background: var(--fc-branco, #FFFFFF); border: 1px solid var(--fc-nevoa, #EAEFEE); border-radius: 8px; }
.fc-adm-corpo.is-hotmart .fc-form-section { display: block; padding: 28px 0; border-top: 1px solid var(--fc-tom-80, #D0D1D3); }
.fc-adm-corpo.is-hotmart .fc-form-section:first-of-type { border-top: 0; padding-top: 24px; }
.fc-adm-corpo.is-hotmart .fc-form-section__intro { margin-bottom: 20px; }
.fc-adm-corpo.is-hotmart .fc-form-section__intro h2 { margin: 0 0 4px; font-family: "Bitter", Georgia, serif; font-size: 20px; font-weight: 700; line-height: 28px; color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-hotmart .fc-form-section__intro p { margin: 0; font-size: 14px; line-height: 20px; color: var(--fc-tom-32, #5E6369); }
.fc-adm-corpo.is-hotmart .fc-form-section__fields { gap: 20px; padding: 0; background: none !important; border: 0 !important; box-shadow: none !important; }
.fc-adm-corpo.is-hotmart .fc-adm-main .fc-label { font-size: 14px; font-weight: 700; line-height: 20px; color: var(--fc-tom-12, #2A3446); }
.fc-adm-corpo.is-hotmart .fc-adm-main .fc-label small { font-weight: 500; color: var(--fc-tom-40, #71757B); }
.fc-adm-corpo.is-hotmart .fc-adm-main :is(.fc-input, .fc-select) { min-height: 40px; height: 40px; padding: 4px 12px; border: 1px solid var(--fc-tom-70, #B8BABD); border-radius: 6px; background-color: var(--fc-branco, #FFFFFF); font-size: 16px; color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-hotmart .fc-adm-main .fc-textarea { padding: 8px 12px; border: 1px solid var(--fc-tom-70, #B8BABD); border-radius: 6px; background: var(--fc-branco, #FFFFFF); font-size: 16px; color: var(--fc-marinho, #121923); }
.fc-adm-corpo.is-hotmart .fc-adm-main :is(.fc-input, .fc-select, .fc-textarea):hover { border-color: var(--fc-tom-40, #71757B); }
.fc-adm-corpo.is-hotmart .fc-adm-main :is(.fc-input, .fc-select, .fc-textarea):focus { border-color: var(--fc-marinho, #121923); box-shadow: none; outline: none; }
.fc-adm-corpo.is-hotmart .fc-adm-main .fc-help { font-size: 12px; line-height: 16px; color: var(--fc-tom-40, #71757B); }
.fc-adm-corpo.is-hotmart .fc-adm-main .fc-form-actions { margin: 0 -32px; padding: 16px 32px; background: var(--fc-branco, #FFFFFF); border-top: 1px solid var(--fc-nevoa, #EAEFEE); border-radius: 0 0 8px 8px; }
.fc-adm-corpo.is-hotmart .fc-adm-main .fc-form-actions .fc-btn--primary { background: var(--fc-marinho, #121923); border-color: var(--fc-marinho, #121923); color: var(--fc-branco, #FFFFFF); border-radius: 6px; }
.fc-adm-corpo.is-hotmart .fc-adm-main .fc-form-actions .fc-btn--primary:hover:not(:disabled) { background: var(--fc-ardosia, #2A3446); border-color: var(--fc-tom-08, #252B35); }
.fc-adm-corpo.is-hotmart .fc-adm-main .fc-form-actions .fc-btn--secondary { background: var(--fc-branco, #FFFFFF); border: 1px solid var(--fc-marinho, #121923); color: var(--fc-marinho, #121923); border-radius: 6px; }
@media (max-width: 760px) { .fc-adm-corpo.is-hotmart .fc-adm-main form:has(> .fc-form-section) { padding: 0 16px; } .fc-adm-corpo.is-hotmart .fc-adm-main .fc-form-actions { margin: 0 -16px; padding: 12px 16px; } }

/* ===================== Janelas (modais) no padrão da Hotmart (11/10): título centralizado, X à direita, botão escuro ===================== */
.fc-adm-corpo.is-hotmart .fc-modal { width: min(600px, calc(100vw - 32px)); border: 1px solid var(--fc-tom-12, #2A3446); border-radius: 8px; background: var(--fc-branco, #FFFFFF); color: var(--fc-tom-12, #2A3446); box-shadow: 0 24px 64px rgba(18, 25, 35, .25); }
.fc-adm-corpo.is-hotmart .fc-modal__head { position: relative; justify-content: center; align-items: center; min-height: 64px; padding: 16px 56px; border-bottom: 1px solid var(--fc-nevoa, #EAEFEE); }
.fc-adm-corpo.is-hotmart .fc-modal__head .fc-h4 { font-family: var(--fc-font-text); font-size: 18px; font-weight: 700; line-height: 22px; color: var(--fc-tom-12, #2A3446); text-align: center; }
.fc-adm-corpo.is-hotmart .fc-modal__head [data-fc-close] { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; color: var(--fc-marinho, #121923); background: none; border: 0; }
.fc-adm-corpo.is-hotmart .fc-modal__head [data-fc-close] .fc-icon { width: 22px; height: 22px; }
.fc-adm-corpo.is-hotmart .fc-modal__body { padding: 24px; color: var(--fc-tom-12, #2A3446); }
.fc-adm-corpo.is-hotmart .fc-modal__foot { padding: 16px 24px; border-top: 1px solid var(--fc-nevoa, #EAEFEE); align-items: center; }
.fc-adm-corpo.is-hotmart .fc-modal__foot .fc-btn--primary { background: var(--fc-marinho, #121923); border-color: var(--fc-marinho, #121923); color: var(--fc-branco, #FFFFFF); border-radius: 6px; font-weight: 700; }
.fc-adm-corpo.is-hotmart .fc-modal__foot .fc-btn--primary:hover:not(:disabled) { background: var(--fc-ardosia, #2A3446); border-color: var(--fc-tom-08, #252B35); }
.fc-adm-corpo.is-hotmart .fc-modal__foot .fc-btn--secondary { background: var(--fc-branco, #FFFFFF); border: 1px solid var(--fc-marinho, #121923); color: var(--fc-marinho, #121923); border-radius: 6px; }
.fc-adm-corpo.is-hotmart .fc-modal :is(.fc-input, .fc-select) { height: 40px; min-height: 40px; padding: 4px 12px; border: 1px solid var(--fc-tom-70, #B8BABD); border-radius: 6px; font-size: 16px; }
.fc-adm-corpo.is-hotmart .fc-modal .fc-textarea { padding: 8px 12px; border: 1px solid var(--fc-tom-70, #B8BABD); border-radius: 6px; font-size: 16px; }
.fc-adm-corpo.is-hotmart .fc-modal :is(.fc-input, .fc-select, .fc-textarea):focus { border-color: var(--fc-marinho, #121923); box-shadow: none; }
.fc-adm-corpo.is-hotmart .fc-modal .fc-label { font-size: 14px; font-weight: 700; color: var(--fc-tom-12, #2A3446); }
.hm-modal__arte { display: grid; place-items: center; height: 131px; background: var(--fc-nevoa, #EAEFEE); border-bottom: 1px solid var(--fc-nevoa, #EAEFEE); }
.hm-modal__arte img { height: 110px; width: auto; }
.hm-modal__leg { margin: 0; font-family: "Bitter", Georgia, serif; font-size: 20px; font-weight: 700; line-height: 28px; color: var(--fc-marinho, #121923); }

/* Anúncio só com texto e anúncio no lugar de um card (mapa de anúncios do painel) */
.fc-anuncio--texto { aspect-ratio: auto; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px; border: 1px solid var(--fc-border); background: var(--fc-surface-2); font-size: 16px; font-weight: 700; color: var(--fc-text); }
a.fc-anuncio--texto:hover { border-color: var(--fc-primary); }
.fc-anuncio--texto .fc-icon { flex: none; color: var(--fc-primary); }
.fc-anuncio--aula-baixo { margin: 16px 0 0; }
.fc-anuncio-card .fc-course__media { background: var(--fc-surface-3); }
.fc-anuncio-card .fc-course__media img { width: 100%; height: 100%; object-fit: cover; }
.fc-anuncio-card__texto { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 16px; text-align: center; font-size: 15px; font-weight: 700; color: var(--fc-text); }
.fc-anuncio-card__selo { position: absolute; top: 8px; left: 8px; padding: 2px 8px; border-radius: 999px; background: rgba(0, 0, 0, .6); font-size: 11px; font-weight: 600; color: var(--fc-branco, #FFFFFF); }
.fc-nx-mod__extra { position: absolute; left: 10px; top: 10px; z-index: 2; }

/* Quiz (aula) */
.fc-quiz { display: flex; flex-direction: column; gap: 20px; padding: 24px; border: 1px solid var(--fc-border); border-radius: 16px; background: var(--fc-surface-2); }
.fc-quiz__cab { display: flex; align-items: center; gap: 12px; }
.fc-quiz__cab strong { display: block; font-size: 18px; }
.fc-quiz__cab small { color: var(--fc-text-muted); }
.fc-quiz__cab .fc-badge { margin-left: auto; }
.fc-quiz__ic { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; background: var(--fc-surface-3); color: var(--fc-primary); }
.fc-quiz__form { display: flex; flex-direction: column; gap: 20px; }
.fc-quiz__q { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; border: 0; }
.fc-quiz__q legend { margin-bottom: 8px; font-size: 16px; font-weight: 700; }
.fc-quiz__op { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--fc-border); border-radius: 12px; cursor: pointer; }
.fc-quiz__op:hover { border-color: var(--fc-primary); }
.fc-quiz__op input { accent-color: var(--fc-primary); }
.fc-quiz__op.is-certa { border-color: var(--fc-success, #2EFFA0); background: rgba(255, 255, 255, .12); }
.fc-quiz__op.is-errada { border-color: var(--fc-danger, #F04A68); background: rgba(240, 74, 104, .12); }
.fc-quiz__res { margin: 0; font-weight: 700; }
.fc-quiz__res:empty { display: none; }
.fc-quiz__res.is-ok { color: var(--fc-success, #2EFFA0); }
.fc-quiz__res.is-nao { color: var(--fc-danger, #F04A68); }
.fc-quiz__bts { display: flex; flex-wrap: wrap; gap: 8px; }
.fc-quiz__vazio { color: var(--fc-text-muted); }
/* Estrelas da aula */
.fc-nota { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 4px 0 16px; font-size: 14px; color: var(--fc-text-muted); }
.fc-nota__estrelas { display: flex; gap: 2px; }
.fc-nota__estrelas button { width: 32px; height: 32px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 8px; background: none; color: var(--fc-text-muted); cursor: pointer; }
.fc-nota__estrelas button:hover, .fc-nota__estrelas button.is-on { color: var(--fc-menta, #2EFFA0); }
.fc-nota__estrelas button.is-on .fc-icon { fill: currentColor; }
.fc-nota small:empty { display: none; }
/* Tutor (aula) */
.fc-tutor { display: flex; flex-direction: column; gap: 16px; }
.fc-tutor__cab { display: flex; align-items: center; gap: 12px; }
.fc-tutor__cab strong { display: block; font-size: 16px; }
.fc-tutor__cab small { color: var(--fc-text-muted); }
.fc-tutor__ic { width: 40px; height: 40px; flex: none; display: grid; place-items: center; border-radius: 12px; background: var(--fc-surface-3); color: var(--fc-primary); }
.fc-tutor__msgs { display: flex; flex-direction: column; gap: 10px; max-height: 460px; overflow-y: auto; }
.fc-tutor__msg { max-width: 85%; padding: 10px 14px; border-radius: 14px; font-size: 15px; line-height: 1.5; white-space: pre-wrap; }
.fc-tutor__msg.is-aluno { align-self: flex-end; background: var(--fc-primary); color: var(--fc-branco, #FFFFFF); }
.fc-tutor__msg.is-tutor { align-self: flex-start; background: var(--fc-surface-3); color: var(--fc-text); }
.fc-tutor__msg.is-pensando { opacity: .7; font-style: italic; }
.fc-tutor__vazio { color: var(--fc-text-muted); }
.fc-tutor__form { display: flex; gap: 8px; align-items: flex-end; }
.fc-tutor__form textarea { flex: 1; resize: vertical; min-height: 48px; }
.fc-tutor__erro { margin: 0; color: var(--fc-danger, #F04A68); font-size: 14px; }
.fc-tutor__erro:empty { display: none; }

/* ===================== Mesma largura em todas as telas do aluno: a do Início (1664px, como a Hotmart) ===================== */
@media (min-width: 1024px) {
  .fc-nx-main { max-width: none; }
}

.fc-lives-topo { margin-left: 0; margin-right: 0; }

/* Continue assistindo: mesmos cantos de 6px; e o canto não some ao passar o mouse (Chrome perde o recorte durante a animação) */
.fc-nx-rail .fc-nx-wide__media { border-radius: 6px; }
.fc-course__media, .fc-nx-mod__media, .fc-nx-wide__media { isolation: isolate; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
/* Continue assistindo: 6 por linha, na mesma largura dos cards em pé (é só um lembrete) */
@media (min-width: 1024px) {
  .fc-nx-rail.fc-rail--continuar .fc-rail__track { --cols: 6; --fc-s4: 12px; }
}

/* ===================== Página Eventos: topo (destaque ou banner fixo), próximos e gravações ===================== */
.fc-ev-topo { position: relative; margin: 0 0 40px; border-radius: 6px; overflow: hidden; background: var(--fc-sunken); }
.fc-ev-topo .fc-lives-topo__trilho { border-radius: 6px; }
.fc-ev-topo .fc-lives-banner, .fc-ev-topo--fixo { aspect-ratio: 4 / 1; min-height: 0; height: auto; }
.fc-ev-topo .fc-lives-banner { padding: 0; background: var(--fc-sunken); }
.fc-ev-topo__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fc-ev-topo--fixo .fc-ev-topo__img { position: static; display: block; }
.fc-ev-topo__bt { position: absolute; z-index: 2; left: clamp(16px, 3vw, 40px); bottom: clamp(16px, 2.6vw, 36px); display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.fc-ev-topo__vivo { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: var(--fc-framboesa, #F04A68); color: var(--fc-branco, #FFFFFF); font-size: 13px; font-weight: 700; }
.fc-ev-topo__vivo i { width: 7px; height: 7px; border-radius: 50%; background: var(--fc-branco, #FFFFFF); animation: fc-pulso 1.4s ease-in-out infinite; }
.fc-ev-rows { margin-top: 0; padding-left: 0; padding-right: 0; }
.fc-evento-lembra { display: inline-flex; align-items: center; gap: 6px; }
.fc-ev-voltar { display: inline-flex; margin-bottom: 16px; }
.fc-ev-filtros { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 28px; }
.fc-ev-filtros .fc-input { width: auto; min-width: 200px; }
.fc-ev-filtros input[type=search] { flex: 1 1 280px; max-width: 380px; }
.fc-ev-grade { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 24px 12px; }
@media (max-width: 1400px) { .fc-ev-grade { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 1100px) { .fc-ev-grade { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .fc-ev-topo .fc-lives-banner, .fc-ev-topo--fixo { aspect-ratio: 2 / 1; }
  .fc-ev-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fc-ev-filtros .fc-input { flex: 1 1 100%; max-width: none; }
}
.fc-evento-pg__video { position: relative; aspect-ratio: 16 / 9; margin: 0 0 var(--fc-s6); border-radius: 6px; overflow: hidden; background: var(--fc-marinho, #121923); }
.fc-evento-pg__video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (min-width: 768px) {
  .fc-lives-topo .fc-lives-banner, .fc-lives-topo .fc-lives-banner--img  { aspect-ratio: 4 / 1; min-height: 0; }
}
.fc-lives-topo, .fc-lives-topo .fc-lives-topo__trilho { border-radius: 6px; }

.fc-ev-secao { display: flex; flex-direction: column; gap: 16px; }
.fc-ev-secao .fc-rail__head { margin: 0; }
.fc-ev-secao .fc-rail__head { align-items: center; }
.fc-ev-secao .fc-rail__title { display: flex; align-items: center; gap: 10px; font-size: 19px; margin: 0; }
.fc-ev-secao .fc-rail__title .fc-icon { width: 18px; height: 18px; color: var(--fc-green); }

/* Gravação no player da plataforma: cores da marca; no YouTube a faixa de título e a marca ficam fora da área visível */
.fc-ev-player { --plyr-color-main: var(--fc-green); --plyr-video-control-color: var(--fc-branco, #FFFFFF); --plyr-range-thumb-background: var(--fc-branco, #FFFFFF); }
.fc-ev-player .plyr { position: absolute; inset: 0; height: 100%; border-radius: 6px; }
.fc-ev-player .plyr__video-embed { height: 100%; padding-bottom: 0 !important; overflow: hidden; }
.fc-ev-player .plyr--youtube .plyr__video-embed iframe { top: -50%; height: 200%; }
.fc-ev-player .plyr--youtube .plyr__video-embed iframe, .fc-ev-player .plyr--vimeo .plyr__video-embed iframe { pointer-events: none; }
.fc-ev-player .plyr__control--overlaid { background: var(--fc-green); color: var(--fc-marinho, #121923); }
/* pausado ou no fim: mostra a capa por cima (esconde as sugestões de outros vídeos do YouTube) */
.fc-ev-player .plyr--youtube.plyr--paused .plyr__poster, .fc-ev-player .plyr--vimeo.plyr--paused .plyr__poster { opacity: 1; }
/* Banner fixo com texto por cima (Lives e Mentorias), no estilo do banner do Início */
.fc-ev-topo--fixo { position: relative; }
.fc-ev-topo__txt { position: absolute; z-index: 2; left: clamp(20px, 3.4vw, 64px); top: 50%; transform: translateY(-50%); width: min(560px, 46%); display: flex; flex-direction: column; align-items: flex-start; gap: var(--fc-s4); }
.fc-ev-topo__txt .fc-nx-hero__title { font-size: clamp(26px, 3vw, 46px); }
.fc-ev-topo__txt::before { content: ""; position: absolute; z-index: -1; inset: -200px -40% -200px -200px; background: radial-gradient(closest-side, rgba(18, 25, 35, .55), rgba(18, 25, 35, 0)); pointer-events: none; }
@media (max-width: 767px) {
  .fc-ev-topo__txt { left: 16px; right: 16px; width: auto; top: auto; bottom: 16px; transform: none; gap: 8px; }
  .fc-ev-topo__txt .fc-nx-hero__text { display: none; }
  .fc-ev-topo__txt .fc-nx-hero__title { font-size: 22px; }
}
/* bolinha vermelha "ao vivo" antes do título do banner */
.fc-ev-ponto { display: inline-block; width: .32em; height: .32em; margin: 0 .3em .12em 0; border-radius: 50%; background: var(--fc-menta, #2EFFA0); vertical-align: middle; box-shadow: 0 0 0 0 rgba(240, 74, 104, .6); animation: fc-ev-pulso 1.8s ease-out infinite; }
@keyframes fc-ev-pulso { 0% { box-shadow: 0 0 0 0 rgba(46, 255, 160, .55); } 70% { box-shadow: 0 0 0 .35em rgba(46, 255, 160, 0); } 100% { box-shadow: 0 0 0 0 rgba(46, 255, 160, 0); } }
@media (prefers-reduced-motion: reduce) { .fc-ev-ponto { animation: none; } }

/* gravação no YouTube: o player dele fica escondido até o vídeo começar (sem "piscada" do YouTube) */
.fc-ev-player .plyr--youtube .plyr__video-embed iframe { opacity: 0; transition: opacity .3s ease; }
.fc-ev-player .plyr--youtube.plyr--playing .plyr__video-embed iframe { opacity: 1; }
.fc-ev-player .plyr--youtube .plyr__poster { opacity: 1; }
.fc-ev-player .plyr--youtube.plyr--playing .plyr__poster { opacity: 0; }



/* Fileiras: 6 cards dentro da área de 1664 px (nada vaza para fora). Quando tem mais cards, um degradê fraquinho
   pega só a pontinha do último card, e a seta fica do lado de fora, quase colada no card. */
.fc-nx-rail .fc-rail__nav { display: none; }
.fc-rail__corpo { --t: 40px; position: relative; }
.fc-rail__corpo::before, .fc-rail__corpo::after { content: ""; position: absolute; top: 0; bottom: 4px; z-index: 3; width: 56px; pointer-events: none; opacity: 0; transition: opacity .3s ease; }
.fc-rail__corpo::before { left: 0; border-radius: 6px 0 0 6px; background: linear-gradient(to right, color-mix(in srgb, var(--fc-bg) 55%, transparent), transparent); }
.fc-rail__corpo::after { right: 0; border-radius: 0 6px 6px 0; background: linear-gradient(to left, color-mix(in srgb, var(--fc-bg) 55%, transparent), transparent); }
.fc-rail__corpo.tem-mais:not(.no-fim)::after, .fc-rail__corpo.tem-mais:not(.no-inicio)::before { opacity: 1; }
.fc-rail__lado { position: absolute; top: 50%; z-index: 4; width: var(--t); height: var(--t); margin-top: calc(var(--t) / -2); display: grid; place-items: center; padding: 0; border: 1px solid rgba(255, 255, 255, .2); border-radius: 50%; background: rgba(18, 25, 35, .9); color: var(--fc-branco, #FFFFFF); cursor: pointer; opacity: 0; pointer-events: none; transition: opacity .25s ease, transform .2s ease, background .2s ease, border-color .2s ease; }
.fc-rail__lado .fc-icon { width: 20px; height: 20px; }
.fc-rail__lado--prev { left: calc(-1 * var(--t) - 10px); } /* do lado de fora, quase colada no primeiro card */
.fc-rail__lado--next { right: calc(-1 * var(--t) - 10px); } /* do lado de fora, quase colada no último card */
.fc-rail__corpo.sem-margem .fc-rail__lado--prev { left: 8px; } /* margem estreita: a seta entra um pouco no card */
.fc-rail__corpo.sem-margem .fc-rail__lado--next { right: 8px; }
.fc-rail__corpo.tem-mais:not(.no-fim) .fc-rail__lado--next, .fc-rail__corpo.tem-mais:not(.no-inicio) .fc-rail__lado--prev { opacity: 1; pointer-events: auto; }
.fc-rail__lado:hover { background: var(--fc-ardosia, #2A3446); border-color: rgba(46, 255, 160, .6); transform: scale(1.08); }
.fc-rail__lado:focus-visible { outline: 2px solid var(--fc-foco); outline-offset: 2px; }
@media (max-width: 767px) { .fc-rail__lado { display: none; } .fc-rail__corpo::before, .fc-rail__corpo::after { width: 28px; } }

/* Página do produto Mentoria (aluno) */
.fc-mt { max-width: 1664px; margin: 0 auto; padding: 24px var(--nx-g, 48px) 80px; }
.fc-mt__hero { position: relative; display: flex; align-items: flex-end; min-height: 320px; border-radius: 14px; overflow: hidden; background: var(--fc-surface) center / cover no-repeat; }
.fc-mt__hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(18, 25, 35, .95) 25%, rgba(18, 25, 35, .25)); }
.fc-mt__hero-tx { position: relative; z-index: 1; max-width: 640px; padding: 36px; }
.fc-mt__hero-tx h1 { margin: 8px 0 8px; font: 800 clamp(30px, 3vw, 44px) / 1.05 var(--fc-font-title); color: var(--fc-branco, #FFFFFF); }
.fc-mt__hero-tx p { margin: 0; color: rgba(255, 255, 255, .75); }
.fc-mt__tag { display: inline-block; padding: 3px 10px; border-radius: 99px; background: rgba(255, 255, 255, .15); color: var(--fc-menta, #2EFFA0); font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.fc-mt__prox { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 20px; align-items: center; margin-top: 20px; padding: 18px 22px; border-radius: 12px; background: var(--fc-surface); border: 1px solid rgba(46, 255, 160, .35); }
.fc-mt__dt { min-width: 64px; padding: 8px 12px; border-radius: 10px; background: rgba(255, 255, 255, .12); color: var(--fc-menta, #2EFFA0); text-align: center; font-size: 12px; font-weight: 800; line-height: 1.15; }
.fc-mt__dt b { display: block; font-size: 26px; }
.fc-mt__prox-tx small { font-size: 12px; font-weight: 800; letter-spacing: .05em; color: var(--fc-text-3); }
.fc-mt__prox-tx h2 { margin: 2px 0 2px; font: 700 20px / 1.25 var(--fc-font-title); }
.fc-mt__quando { display: block; margin-bottom: 8px; font-size: 14px; color: var(--fc-text-2); }
.fc-mt__nada { display: flex; align-items: center; gap: 10px; margin-top: 20px; padding: 16px 20px; border-radius: 12px; background: var(--fc-surface); color: var(--fc-text-2); }
.fc-mt__tit { display: flex; align-items: center; gap: 10px; margin: 34px 0 14px; font: 700 20px var(--fc-font-title); }
.fc-mt__tit .fc-icon { width: 20px; height: 20px; color: var(--fc-green); }
.fc-mt__grade { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 1100px) { .fc-mt__grade { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .fc-mt { padding: 16px 16px 60px; } .fc-mt__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } .fc-mt__prox { grid-template-columns: 1fr; } .fc-mt__hero-tx { padding: 24px; } }

/* Mentoria (aluno): mesma largura da página Eventos; card da próxima mentoria com título e data maiores e a contagem à direita */
.fc-mt { max-width: none; padding: 0 0 80px; }
.fc-mt__prox { padding: 22px 26px; gap: 24px; }
.fc-mt__dt { min-width: 84px; padding: 12px 14px; font-size: 13px; }
.fc-mt__dt b { font-size: 34px; }
.fc-mt__prox-tx h2 { margin: 4px 0 4px; font-size: clamp(22px, 2vw, 28px); line-height: 1.15; }
.fc-mt__quando { margin-bottom: 10px; font-size: 17px; color: var(--fc-text); }
.fc-mt__prox-acao { font-size: 13px; }
.fc-mt__conta { grid-template-columns: repeat(3, 76px); }
.fc-mt__conta div { padding: 10px 0; }
.fc-mt__conta b { font-size: 26px; }
@media (max-width: 767px) { .fc-mt__conta { grid-template-columns: repeat(3, 1fr); } }

/* Mentoria (aluno): gravações e aulas no mesmo tamanho dos cards de Eventos (6 / 4 / 3 / 2 por linha) */
.fc-mt__grade { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 24px 12px; }
@media (max-width: 1400px) { .fc-mt__grade { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 1100px) { .fc-mt__grade { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .fc-mt__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Mentoria (aluno): topo sem banner enviado vira uma faixa escura do mesmo tamanho */
.fc-mt__topo.is-sem-img { background: var(--fc-marinho, #121923); border-radius: 14px; }

/* Mentoria (aluno): fileira de próximos encontros com o mesmo respiro da página Eventos */
.fc-mt > .fc-nx-rail { margin-top: 32px; }

/* Mentoria (aluno): banner enviado em 3:1 no espaço 4:1 corta por baixo, nunca a cabeça */
.fc-mt__topo .fc-ev-topo__img { object-position: center 20%; }

/* Aula: lista de aulas sem barra de rolagem aparente (rola com a roda do mouse) e sem "puxar" a página junto */
.fc-aula__list { scrollbar-width: none; overscroll-behavior: contain; }
.fc-aula__list::-webkit-scrollbar { display: none; }

/* Mentoria: card de gravação (página da mentoria e lateral da gravação) */
.fc-mtg { display: flex; flex-direction: column; gap: 8px; color: var(--fc-text); text-decoration: none; min-width: 0; }
.fc-mtg__capa { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: 8px; overflow: hidden; background: var(--fc-surface-3, #121923); }
.fc-mtg__capa img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
.fc-mtg:hover .fc-mtg__capa img { transform: scale(1.04); }
.fc-mtg__data { position: absolute; top: 6px; left: 6px; padding: 2px 7px; border-radius: 5px; background: rgba(0, 0, 0, .65); color: var(--fc-branco, #FFFFFF); font-size: 11.5px; font-weight: 700; }
.fc-mtg__play { position: absolute; inset: 0; margin: auto; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(0, 0, 0, .55); color: var(--fc-branco, #FFFFFF); }
.fc-mtg__barra { position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: rgba(255, 255, 255, .2); }
.fc-mtg__barra span { display: block; height: 100%; background: var(--fc-menta, #2EFFA0); }
.fc-mtg__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.fc-mtg__t { font-weight: 700; font-size: 14px; line-height: 1.3; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.fc-mtg__s { font-size: 12.5px; color: var(--fc-text-3); }
.fc-mtg__ok { display: inline-flex; align-items: center; gap: 4px; color: var(--fc-green); font-weight: 600; }
.fc-mtg__ok .fc-icon { width: 14px; height: 14px; }

/* Mentoria: tela da gravação (data do encontro e lateral com capas) */
.fc-mt-aula__quando { display: flex; align-items: center; gap: 6px; margin: 4px 0 0; font-size: 13.5px; color: var(--fc-text-3); }
.fc-mt-lado { gap: 12px; }
.fc-mt-lado__prox { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border-radius: 10px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(46, 255, 160, .35); color: var(--fc-text); text-decoration: none; }
.fc-mt-lado__vivo { font-size: 11px; font-weight: 800; letter-spacing: .05em; color: var(--fc-green); }
.fc-mt-lado__prox strong { font-size: 14px; }
.fc-mt-lado__prox small { font-size: 12.5px; color: var(--fc-text-3); }
.fc-mt-lado__tit { font-size: 12.5px; color: var(--fc-text-3); }
.fc-mt-lado__lista { display: flex; flex-direction: column; gap: 6px; }
.fc-mt-lado__lista .fc-mtg { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 10px; align-items: center; padding: 6px; border-radius: 8px; }
.fc-mt-lado__lista .fc-mtg:hover { background: rgba(255, 255, 255, .05); }
.fc-mt-lado__lista .fc-mtg.is-atual { background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1.5px var(--fc-menta, #2EFFA0); }
.fc-mt-lado__lista .fc-mtg__play { width: 26px; height: 26px; }
.fc-mt-lado__lista .fc-mtg__t { font-size: 13px; }

/* Cards de evento: etiqueta do tipo (Live · YouTube, Encontro · Meet, Presencial, Mentoria) */
.fc-evento__tipo { position: absolute; right: 8px; bottom: 8px; z-index: 2; padding: 3px 8px; border-radius: 6px; background: rgba(18, 25, 35, .78); color: var(--fc-branco, #FFFFFF); font-size: 11px; font-weight: 700; letter-spacing: .02em; }
.fc-nx-wide__media { position: relative; }

/* Mentoria: pastas por dia na lateral do trecho e bloco de boas-vindas */
.fc-mt-lado__prox { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 10px; align-items: center; padding: 6px; border-radius: 8px; background: rgba(255, 255, 255, .05); border: 0; }
.fc-mt-lado__vivo { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 800; letter-spacing: .05em; color: var(--fc-framboesa, #F04A68); }
.fc-mt-lado__vivo .fc-ev-ponto { width: 8px; height: 8px; margin: 0; }
.fc-mt-lado__lista .fc-mt-lado__tit { display: block; margin: 10px 0 2px; }
.fc-mt-pasta { border-radius: 10px; background: rgba(255, 255, 255, .04); }
.fc-mt-pasta > summary { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 11px 12px; cursor: pointer; list-style: none; font-weight: 700; font-size: 14px; }
.fc-mt-pasta > summary::-webkit-details-marker { display: none; }
.fc-mt-pasta > summary span { display: inline-flex; align-items: center; gap: 8px; }
.fc-mt-pasta > summary .fc-icon { width: 17px; height: 17px; color: var(--fc-green); }
.fc-mt-pasta > summary small { font-size: 12px; font-weight: 600; color: var(--fc-text-3); }
.fc-mt-pasta__trechos { display: flex; flex-direction: column; gap: 4px; padding: 0 4px 8px; }
.fc-mt-bv { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 18px; align-items: center; margin-top: 24px; padding: 12px; border-radius: 12px; background: var(--fc-surface); border: 1px solid rgba(46, 255, 160, .35); color: var(--fc-text); text-decoration: none; }
.fc-mt-bv__capa { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: 8px; overflow: hidden; background: var(--fc-marinho, #121923); }
.fc-mt-bv__capa img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fc-mt-bv__tx { display: flex; flex-direction: column; gap: 3px; }
.fc-mt-bv__tx small { font-size: 11.5px; font-weight: 800; letter-spacing: .06em; color: var(--fc-green); }
.fc-mt-bv__tx strong { font: 700 20px var(--fc-font-title); }
.fc-mt-bv__tx span { font-size: 13.5px; color: var(--fc-text-3); }
@media (max-width: 767px) { .fc-mt-bv { grid-template-columns: 120px minmax(0, 1fr); gap: 12px; } .fc-mt-bv__tx strong { font-size: 16px; } }

/* Mentoria: página de boas-vindas (mesmo formato do Comece por aqui) */
.fc-mt-onb__ic { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: rgba(255, 255, 255, .12); color: var(--fc-green); }
.fc-mt-onb__pe { margin-top: auto; padding-top: 16px; }
.fc-mt-onb__pe .fc-btn { width: 100%; justify-content: center; }
.fc-mt-onb .is-sem-video { grid-template-columns: minmax(0, 560px); justify-content: center; }
.fc-mt-onb__ir { display: flex; align-items: center; justify-content: center; gap: 8px; height: 100%; color: var(--fc-branco, #FFFFFF); font-weight: 700; }

/* Mentoria: vídeo das boas-vindas ocupa o quadro inteiro */
.fc-mt-onb .fc-pg-video__quadro video { display: block; width: 100%; height: 100%; object-fit: cover; background: var(--fc-marinho, #121923); }

/* Mentoria: boas-vindas centralizada na altura da tela (só tem o vídeo e a caixa) */
.fc-mt-onb { min-height: calc(100vh - var(--fc-topbar, 64px) - 80px); display: flex; flex-direction: column; justify-content: center; }

/* Mentoria › boas-vindas: título à esquerda (nome da mentoria em destaque), altura exata da tela pelo script */
.fc-mt-onb { min-height: 0; }
.fc-mt-onb__cab { display: flex; flex-direction: column; gap: 6px; margin: 0 0 24px; }
.fc-mt-onb__cab span { font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--fc-green); }
.fc-mt-onb__cab h1 { margin: 0; font: 800 clamp(30px, 3.2vw, 48px) / 1.05 var(--fc-font-title); }

/* Página da live (sala de cinema): palco escuro na largura toda com o player grande no meio; título e data embaixo; fileira "Mais gravações" */
.fc-evento-pg--cinema { max-width: none; }
.fc-evento-pg--cinema .fc-evento-pg__video, .fc-evento-pg--cinema .fc-evento-pg__banner { width: min(100%, calc((100vh - 260px) * 16 / 9)); margin: var(--fc-s3) auto var(--fc-s6); border: 0; border-radius: 10px; box-shadow: 0 0 0 100vmax var(--fc-marinho, #121923) inset; }
.fc-evento-pg--cinema .fc-crumbs { margin-bottom: var(--fc-s3); }
.fc-evento-pg--cinema .fc-evento-pg__topo { flex-direction: row; justify-content: space-between; align-items: flex-end; }
.fc-evento-pg--cinema .fc-evento-pg__topo h1 { font-size: clamp(24px, 2.4vw, 34px); }
.fc-evento-pg--cinema .fc-evento-pg__desc { max-width: 900px; }
.fc-evento-pg__mais { margin-top: var(--fc-s7); }
@media (max-width: 767px) { .fc-evento-pg--cinema .fc-evento-pg__topo { flex-direction: column; align-items: flex-start; } .fc-evento-pg--cinema .fc-evento-pg__video { width: 100%; } }
/* Gravação de live em tela cheia (estilo Netflix) */
html.fc-tv-aberta, html.fc-tv-aberta body { overflow: hidden; }
.fc-tv { position: fixed; inset: 0; z-index: 2000; background: var(--fc-marinho, #121923); color: var(--fc-branco, #FFFFFF); cursor: default; }
.fc-tv:not(.is-mexeu):not(.is-pausado) { cursor: none; }
.fc-tv__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: var(--fc-marinho, #121923); }
.fc-tv__pausa { position: absolute; inset: 0; z-index: 3; display: flex; flex-direction: column; justify-content: center; padding: 0 clamp(24px, 6vw, 96px); background: linear-gradient(90deg, rgba(0, 0, 0, .9) 0%, rgba(0, 0, 0, .55) 45%, rgba(0, 0, 0, .15) 75%); opacity: 0; pointer-events: none; transition: opacity .35s; }
.fc-tv.is-pausado .fc-tv__pausa { opacity: 1; pointer-events: auto; }
.fc-tv__tag { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 800; letter-spacing: .06em; color: var(--fc-framboesa, #F04A68); }
.fc-tv__tag i { width: 9px; height: 9px; border-radius: 50%; background: var(--fc-framboesa, #F04A68); animation: fc-ev-pulso 1.8s ease-out infinite; }
.fc-tv__pausa h1 { max-width: 640px; margin: 12px 0 8px; font: 800 clamp(30px, 3.4vw, 52px) / 1.05 var(--fc-font-title); }
.fc-tv__meta { margin: 0; font-size: 15px; color: rgba(255, 255, 255, .7); }
.fc-tv__desc { max-width: 560px; margin: 14px 0 0; font-size: 16px; color: rgba(255, 255, 255, .85); }
.fc-tv__bts { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.fc-tv__bt { display: inline-flex; align-items: center; gap: 8px; padding: 13px 26px; border: 0; border-radius: 8px; background: rgba(255, 255, 255, .16); color: var(--fc-branco, #FFFFFF); font: 700 16px var(--fc-font-text); text-decoration: none; cursor: pointer; }
.fc-tv__bt.is-verde { background: var(--fc-menta, #2EFFA0); color: var(--fc-marinho, #121923); }
.fc-tv__bt .fc-icon { width: 20px; height: 20px; }
.fc-tv__ui { position: absolute; inset: 0; z-index: 4; pointer-events: none; opacity: 0; transition: opacity .35s; }
.fc-tv.is-mexeu:not(.is-pausado) .fc-tv__ui { opacity: 1; }
.fc-tv.is-mexeu:not(.is-pausado) .fc-tv__ui > * { pointer-events: auto; }
.fc-tv__topo { position: absolute; top: 0; left: 0; right: 0; display: flex; align-items: center; gap: 16px; padding: 22px 32px 50px; background: linear-gradient(rgba(0, 0, 0, .75), rgba(0, 0, 0, 0)); }
.fc-tv__topo strong { display: block; font-size: 17px; }
.fc-tv__topo small { font-size: 13px; color: rgba(255, 255, 255, .65); }
.fc-tv__voltar { display: flex; color: var(--fc-branco, #FFFFFF); }
.fc-tv__voltar .fc-icon { width: 28px; height: 28px; }
.fc-tv__base { position: absolute; left: 0; right: 0; bottom: 0; padding: 60px 32px 20px; background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, .88) 55%); }
.fc-tv__barra { position: relative; height: 5px; border-radius: 3px; background: rgba(255, 255, 255, .22); cursor: pointer; }
.fc-tv__barra:hover { height: 8px; }
.fc-tv__barra span { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 3px; }
.fc-tv__barra [data-tv-carregado] { background: rgba(255, 255, 255, .3); }
.fc-tv__barra [data-tv-feito] { background: var(--fc-menta, #2EFFA0); }
.fc-tv__ctl { display: flex; align-items: center; gap: 18px; margin-top: 12px; }
.fc-tv__ctl button { display: flex; align-items: center; padding: 0; border: 0; background: none; color: var(--fc-branco, #FFFFFF); font: 700 15px var(--fc-font-text); cursor: pointer; }
.fc-tv__ctl .fc-icon { width: 24px; height: 24px; }
.fc-tv__tempo { font-size: 14px; color: rgba(255, 255, 255, .8); }
.fc-tv__nome { flex: 1; text-align: center; font-weight: 600; font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fc-tv__bandeja { max-height: 0; overflow: hidden; opacity: 0; transition: max-height .35s, opacity .3s, margin .35s; }
.fc-tv.is-bandeja .fc-tv__bandeja { max-height: 220px; opacity: 1; margin-top: 18px; }
.fc-tv__bandeja h3 { margin: 0 0 10px; font-size: 15px; font-weight: 700; }
.fc-tv__cards { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.fc-tv__card { position: relative; aspect-ratio: 16 / 9; border-radius: 6px; overflow: hidden; background: var(--fc-marinho, #121923); color: var(--fc-branco, #FFFFFF); text-decoration: none; transition: transform .2s; }
.fc-tv__card:hover { transform: scale(1.06); outline: 2px solid var(--fc-foco); }
.fc-tv__card img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fc-tv__card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, .85)); }
.fc-tv__card small { position: absolute; z-index: 1; right: 6px; top: 6px; padding: 1px 6px; border-radius: 4px; background: rgba(0, 0, 0, .65); font-size: 10.5px; font-weight: 700; }
.fc-tv__card b { position: absolute; z-index: 1; left: 8px; right: 8px; bottom: 6px; font-size: 12.5px; line-height: 1.25; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
@media (max-width: 900px) { .fc-tv__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } .fc-tv__nome { display: none; } }

/* Tela cheia da live: o menu do site aparece por cima quando mexe o mouse; controles e bandeja valem pausado também */
html.fc-tv-aberta .fc-nx-top { z-index: 2100; background: linear-gradient(180deg, rgba(0, 0, 0, .8), rgba(0, 0, 0, 0)); box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; opacity: 0; pointer-events: none; transition: opacity .35s; }
html.fc-tv-aberta.fc-tv-mexeu .fc-nx-top { opacity: 1; pointer-events: auto; }
.fc-tv__topo { display: none; }
.fc-tv.is-mexeu .fc-tv__ui { opacity: 1; }
.fc-tv.is-mexeu .fc-tv__ui > * { pointer-events: auto; }
.fc-tv.is-pausado .fc-tv__ctl, .fc-tv.is-pausado .fc-tv__barra { display: none; }
.fc-tv.is-pausado .fc-tv__base { background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, .7) 60%); }
.fc-tv__seta { display: flex; flex-direction: column; align-items: center; gap: 0; margin: 0 auto 10px; width: max-content; font-size: 12px; font-weight: 700; color: rgba(255, 255, 255, .8); animation: fc-tv-seta 1.6s ease-in-out infinite; }
.fc-tv__seta .fc-icon { width: 22px; height: 22px; }
.fc-tv.is-bandeja .fc-tv__seta { display: none; }
@keyframes fc-tv-seta { 50% { transform: translateY(-4px); } }
.fc-tv.is-pausado .fc-tv__pausa { z-index: 3; }
.fc-tv.is-pausado .fc-tv__ui { z-index: 4; }
/* Tela cheia da live: setinha na borda de baixo (abre "Mais gravações" sem atrapalhar a barra de tempo) e "Ativar som" */
.fc-tv__seta { display: flex; flex-direction: row; align-items: center; gap: 6px; margin: 12px auto 0; padding: 0; border: 0; background: none; color: rgba(255, 255, 255, .75); font: 700 12px var(--fc-font-text); cursor: pointer; }
.fc-tv__seta .fc-icon { width: 18px; height: 18px; }
.fc-tv__somoff { position: absolute; z-index: 6; right: 32px; top: 90px; display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 0; border-radius: 99px; background: rgba(0, 0, 0, .7); color: var(--fc-branco, #FFFFFF); font: 700 14px var(--fc-font-text); cursor: pointer; }
.fc-tv__somoff[hidden] { display: none; }
/* Mentoria: boas-vindas dentro do banner (na 1ª vez a página escurece em volta, "holofote") */
.fc-mt-spot { position: fixed; inset: 0; z-index: 70; background: rgba(18, 25, 35, .86); }
html.fc-mt-spot-on, html.fc-mt-spot-on body { overflow: hidden; }
.fc-mt__topo.is-spot { position: relative; z-index: 80; overflow: visible; aspect-ratio: auto; min-height: 0; }
.fc-mt-bv2 { display: none; }
.fc-mt__topo.is-spot > .fc-ev-topo__img, .fc-mt__topo.is-spot > .fc-ev-topo__txt { display: none; }
.fc-mt__topo.is-spot .fc-mt-bv2 { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); grid-template-rows: auto auto; gap: 18px 32px; align-items: center; padding: clamp(20px, 3vw, 40px); border-radius: 10px; background: var(--fc-marinho, #121923); box-shadow: 0 30px 80px rgba(0, 0, 0, .6); }
.fc-mt-bv2__tx { display: flex; flex-direction: column; gap: 6px; }
.fc-mt-bv2__tx span { font-size: 12.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--fc-green); }
.fc-mt-bv2__tx strong { font: 800 clamp(28px, 3vw, 44px) / 1.05 var(--fc-font-title); color: var(--fc-branco, #FFFFFF); }
.fc-mt-bv2__tx small { font-size: 15px; color: rgba(255, 255, 255, .75); }
.fc-mt-bv2__video { grid-row: 1 / 3; grid-column: 2; aspect-ratio: 16 / 9; border-radius: 8px; overflow: hidden; background: var(--fc-marinho, #121923); }
.fc-mt-bv2__video video { width: 100%; height: 100%; display: block; object-fit: contain; }
.fc-mt-bv2 > .fc-btn { justify-self: start; }
.fc-mt-bvbt { display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; padding: 9px 16px; border: 1px solid rgba(255, 255, 255, .35); border-radius: 99px; background: rgba(0, 0, 0, .35); color: var(--fc-branco, #FFFFFF); font: 700 14px var(--fc-font-text); cursor: pointer; }
.fc-mt-bvbt:hover { border-color: var(--fc-border-strong); color: var(--fc-text); }
.fc-mt-bvbt .fc-icon { width: 16px; height: 16px; }
@media (max-width: 900px) { .fc-mt__topo.is-spot .fc-mt-bv2 { grid-template-columns: 1fr; } .fc-mt-bv2__video { grid-row: auto; grid-column: auto; } }
/* Boas-vindas (versão final): o banner continua; o vídeo entra no lugar do texto, à esquerda, e o resto da página escurece */
.fc-mt__topo.is-spot { aspect-ratio: 4 / 1; overflow: hidden; }
.fc-mt__topo.is-spot > .fc-ev-topo__img { display: block; }
.fc-mt__topo.is-spot > .fc-ev-topo__txt { display: none; }
.fc-mt__topo.is-spot .fc-mt-bv2 { position: absolute; z-index: 2; left: clamp(20px, 3.4vw, 64px); top: 50%; transform: translateY(-50%); width: min(44%, 620px); display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 0; background: none; box-shadow: none; border-radius: 0; }
.fc-mt__topo.is-spot .fc-mt-bv2__tx strong, .fc-mt__topo.is-spot .fc-mt-bv2__tx small { display: none; }
.fc-mt__topo.is-spot .fc-mt-bv2__video { width: 100%; box-shadow: 0 16px 40px rgba(0, 0, 0, .55); }
.fc-mt__topo.is-spot .fc-mt-bv2 > .fc-btn { align-self: flex-start; }
@media (max-width: 900px) { .fc-mt__topo.is-spot { aspect-ratio: auto; min-height: 320px; } .fc-mt__topo.is-spot .fc-mt-bv2 { position: relative; transform: none; top: auto; left: auto; width: auto; padding: 16px; } }
.fc-mt__topo.is-spot .fc-mt-bv2 { width: min(34%, 520px); }

/* Boas-vindas (final): tudo escuro e só o vídeo centralizado na tela, com o botão embaixo (não é tela cheia) */
.fc-mt-spot { z-index: 2050; background: rgba(18, 25, 35, .92); }
.fc-mt__topo.is-spot { position: relative; z-index: auto; overflow: hidden; }
.fc-mt__topo.is-spot > .fc-ev-topo__img { display: block; }
.fc-mt__topo.is-spot > .fc-ev-topo__txt { display: flex; }
.fc-mt__topo.is-spot .fc-mt-bv2 { position: fixed; z-index: 2060; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(880px, 86vw); display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 0; background: none; box-shadow: none; }
.fc-mt__topo.is-spot .fc-mt-bv2__tx { align-items: center; text-align: center; }
.fc-mt__topo.is-spot .fc-mt-bv2__tx strong { display: block; font-size: clamp(22px, 2.2vw, 32px); }
.fc-mt__topo.is-spot .fc-mt-bv2__tx small { display: none; }
.fc-mt__topo.is-spot .fc-mt-bv2__video { width: 100%; max-height: 62vh; aspect-ratio: 16 / 9; }
.fc-mt__topo.is-spot .fc-mt-bv2 > .fc-btn { align-self: center; padding: 14px 28px; font-size: 16px; }

/* Boas-vindas: vídeo + título + botão sempre cabem na altura da tela */
.fc-mt__topo.is-spot .fc-mt-bv2 { width: min(880px, 86vw, calc((100vh - 230px) * 16 / 9)); }
.fc-mt__topo.is-spot .fc-mt-bv2__video { max-height: none; }
.fc-mt__topo.is-spot .fc-mt-bv2 { width: min(1120px, 90vw, calc((100vh - 210px) * 16 / 9)); }
.fc-mt-spot { background: rgba(18, 25, 35, .85); }

/* "Próximos eventos/encontros": bolinha vermelha piscando no lugar do calendário */
.fc-rail__title .fc-ev-ponto { width: 10px; height: 10px; margin: 0 4px 0 2px; }

/* Lives › Destaques: gravações marcadas como destaque, 3 por linha (cards grandes) */
.fc-ev-grade.fc-ev-grade--grande { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 16px; }
.fc-ev-grade--grande .fc-nx-wide__t { font-size: 17px; }
@media (max-width: 700px) { .fc-ev-grade.fc-ev-grade--grande { grid-template-columns: 1fr; } }

/* Assinatura Fourclass: banner "Leve tudo" na Academy, porta dos exclusivos e cadeado nas gravações */
.fc-porta { position: relative; min-height: calc(100vh - 140px); display: grid; place-items: center; padding: 40px 16px; overflow: hidden; border-radius: 12px; }
.fc-porta__fundo { position: absolute; inset: -30px; background: var(--porta-img, none) center / cover no-repeat, var(--fc-marinho, #121923); filter: blur(18px) brightness(.45); transform: scale(1.05); }
.fc-porta__card { position: relative; max-width: 520px; display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; padding: 36px 32px; border-radius: 16px; background: rgba(18, 25, 35, .78); border: 1px solid rgba(255, 255, 255, .1); color: var(--fc-branco, #FFFFFF); backdrop-filter: blur(6px); }
.fc-porta__card h1 { margin: 0; font-size: 28px; line-height: 1.15; }
.fc-porta__card p { margin: 0; color: rgba(255, 255, 255, .78); }
.fc-porta__cad { display: grid; place-items: center; color: var(--fc-branco, #FFFFFF); }
.fc-porta__voltar { font-size: 14px; color: rgba(255, 255, 255, .7); text-decoration: underline; }
.fc-tranca { position: absolute; inset: 0; margin: auto; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: rgba(0, 0, 0, .7); color: var(--fc-branco, #FFFFFF); }
.fc-nx-wide.is-trancado .fc-nx-wide__media img { filter: brightness(.55); }

/* Mentoria: uma seção por encontro, trechos lado a lado (estilo Netflix, como as Lives) */
.fc-mts { margin-top: 36px; }
.fc-mts__cab { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.fc-mts__cab h2 { margin: 0; font-size: 21px; }
.fc-mts__cab small { color: var(--fc-text-3, rgba(255, 255, 255, .55)); font-size: 13px; font-weight: 600; }
.fc-mts__trilho { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 4 * 12px) / 5); gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
.fc-mts__trilho::-webkit-scrollbar { display: none; }
.fc-mts__card { scroll-snap-align: start; display: flex; flex-direction: column; gap: 7px; color: inherit; text-decoration: none; min-width: 0; }
.fc-mts__capa { position: relative; aspect-ratio: 16 / 9; border-radius: 6px; overflow: hidden; background: var(--fc-marinho, #121923); }
.fc-mts__capa img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.fc-mts__card:hover .fc-mts__capa img { transform: scale(1.05); }
.fc-mts__dur { position: absolute; right: 7px; bottom: 8px; padding: 2px 6px; border-radius: 4px; background: rgba(0, 0, 0, .75); color: var(--fc-branco, #FFFFFF); font-size: 11px; font-weight: 700; }
.fc-mts__barra { position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: rgba(255, 255, 255, .2); }
.fc-mts__barra span { display: block; height: 100%; background: var(--fc-menta, #2EFFA0); }
.fc-mts__t { font-weight: 700; font-size: 14px; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fc-mts__s { font-size: 12px; color: var(--fc-text-3, rgba(255, 255, 255, .55)); }
@media (max-width: 1100px) { .fc-mts__trilho { grid-auto-columns: calc((100% - 2 * 12px) / 3); } }
@media (max-width: 700px) { .fc-mts__trilho { grid-auto-columns: 72%; } }
.fc-tv__card.is-atual { outline: 2px solid var(--fc-foco); outline-offset: 2px; }
.fc-mts__nav { margin-left: auto; display: flex; gap: 8px; }
@media (max-width: 700px) { .fc-mts__nav { display: none; } }
.fc-rail__sub { margin-left: 10px; font-size: 13px; font-weight: 600; color: var(--fc-text-3, rgba(255, 255, 255, .55)); }

/* Mentorias (botão do menu): próximos encontros + um card grande por mentoria */
.fc-mtl { display: flex; flex-direction: column; gap: 36px; padding-top: 24px; }
.fc-mtl__cab h1 { margin: 0 0 6px; font-size: 40px; line-height: 1.1; }
.fc-mtl__cab p { margin: 0; color: var(--fc-text-2, rgba(255, 255, 255, .75)); font-size: 17px; }
.fc-mtl__grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 520px), 1fr)); gap: 20px; }
.fc-mtl__card { position: relative; display: flex; align-items: flex-end; min-height: 300px; border-radius: 12px; overflow: hidden; color: var(--fc-branco, #FFFFFF); text-decoration: none; background: var(--fc-marinho, #121923); }
.fc-mtl__img { position: absolute; inset: 0; background: center / cover no-repeat; transition: transform .4s; }
.fc-mtl__card::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg, rgba(18, 25, 35, .95) 0%, rgba(18, 25, 35, .55) 45%, rgba(18, 25, 35, .1) 100%); }
.fc-mtl__card:hover .fc-mtl__img { transform: scale(1.04); }
.fc-mtl__card.is-trancado .fc-mtl__img { filter: grayscale(.6) brightness(.7); }
.fc-mtl__txt { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 8px; padding: 26px 28px; }
.fc-mtl__tag { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--fc-menta, #2EFFA0); }
.fc-mtl__txt strong { font-size: 30px; line-height: 1.1; }
.fc-mtl__sub { color: rgba(255, 255, 255, .78); max-width: 520px; }
.fc-mtl__txt .fc-btn { align-self: flex-start; margin-top: 6px; }
.fc-mtl__vazio { color: var(--fc-text-3, rgba(255, 255, 255, .55)); }
/* Mentorias: faixa "Quer a mentoria completa?" embaixo dos melhores momentos (mesma peça do destaque) */
.fc-mtl__card.fc-mt-faixa { aspect-ratio: auto; min-height: 280px; opacity: 1; }
.fc-mt-faixa .fc-mtl__txt { max-width: 640px; }
.fc-mtl__tag--cinza { color: rgba(255, 255, 255, .75); }
/* Mentorias: a turma do mentorado (mensal) */
.fc-mt-turma { display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; padding: 20px 24px; border-radius: 12px; background: var(--fc-surface-2, #2A3446); }
.fc-mt-turma__tx { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.fc-mt-turma__tx span { color: rgba(255, 255, 255, .6); font-size: 13px; font-weight: 600; }
.fc-mt-turma__tx strong { font-size: 20px; }
.fc-mt-turma__tx small { color: rgba(255, 255, 255, .72); font-size: 14px; }
/* Lista de espera (porta com formulário) */
.fc-espera__form { display: flex; flex-direction: column; gap: 10px; width: 100%; margin-top: 4px; }
.fc-espera__form .fc-btn { justify-content: center; }
.fc-espera__erro { color: var(--fc-tom-80, #D0D1D3); }
/* Mentorias: destaques grandes (um por mentoria) */
.fc-mtl { padding-top: 0; }
.fc-mtl__dest .fc-mtl__grade { grid-template-columns: repeat(auto-fill, minmax(min(100%, 460px), 1fr)); }
.fc-mtl__card { min-height: 0; aspect-ratio: 16 / 7; }
.fc-mtl__card.is-on { outline: 3px solid var(--fc-menta, #2EFFA0); outline-offset: 3px; }
.fc-mtl__card:not(.is-on):not(.is-trancado) { opacity: .8; }
.fc-mtl__card:hover { opacity: 1; }
.fc-mtl__h { margin: 0 0 14px; font-size: 22px; }
/* Mentorias: a sombra das pontas da fileira um pouco mais marcada (as capas deitadas são escuras) */
.fc-mts .fc-rail__corpo::before, .fc-mts .fc-rail__corpo::after { width: 90px; top: -2px; bottom: -2px; border-radius: 0; }
.fc-mts .fc-rail__corpo::before { background: linear-gradient(to right, color-mix(in srgb, var(--fc-bg) 85%, transparent), transparent); }
.fc-mts .fc-rail__corpo::after { background: linear-gradient(to left, color-mix(in srgb, var(--fc-bg) 85%, transparent), transparent); }
/* a fileira passa 2px para fora em cada lado (espaço do contorno de foco): a sombra começa na ponta de verdade */
.fc-rail__corpo::before { left: -2px; } .fc-rail__corpo::after { right: -2px; }
/* Mentorias: cada encontro é um bloco com os trechos em grade (várias linhas, sem rolagem lateral) */
.fc-mts__grade { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 22px 12px; }
@media (max-width: 1400px) { .fc-mts__grade { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 1100px) { .fc-mts__grade { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) { .fc-mts__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 10px; } }

/* Porta da assinatura: a capa desfocada ocupa a tela inteira (sem bordas nem cantos) */
.fc-porta { border-radius: 0; overflow: visible; background: none; min-height: calc(100vh - 160px); }
.fc-porta__fundo { position: fixed; inset: -40px; z-index: 0; }
.fc-porta__card { z-index: 1; }
.fc-porta__cad .fc-icon { width: 44px; height: 44px; stroke-width: 1.5; }
.fc-porta__card h1 { margin-top: 4px; font-size: 36px; letter-spacing: -.02em; }
.fc-porta__card h2 { margin: 0 0 4px; color: var(--fc-branco, #FFFFFF); font: 600 22px/1.3 var(--fc-font-title); text-wrap: balance; }
.fc-porta__preco { margin-top: -2px; color: rgba(255, 255, 255, .78); font-size: 14px; }
.fc-porta__preco b { color: var(--fc-branco, #FFFFFF); font-weight: 600; }
.fc-porta { cursor: pointer; }
.fc-porta__card { cursor: default; }
.fc-porta__x { position: absolute; top: 12px; right: 12px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: rgba(255, 255, 255, .7); }
.fc-porta__x:hover { background: rgba(255, 255, 255, .08); color: var(--fc-branco, #FFFFFF); }
.fc-porta__card h1 { text-wrap: balance; }
.fc-porta__card p { text-wrap: pretty; }
.fc-porta__alt { font-size: 14px; font-weight: 600; color: var(--fc-menta, #2EFFA0); text-decoration: underline; }

/* Texto dos banners do topo (Academy, Lives, Mentorias): mesma fonte do título, um pouco menor, com peso de leitura */
.fc-nx-hero__text { font: 600 clamp(17px, 1.55vw, 22px)/1.35 var(--fc-font-title); letter-spacing: -0.01em; color: var(--fc-text); text-shadow: 0 1px 14px rgba(0, 0, 0, 0.45); }
@media (max-width: 720px) { .fc-nx-hero__text { font-size: 16px; } }

/* ===================== Conquistas: um foco só (🔥 no anel até o troféu), texto, cartão de aulas e a faixa das conquistas =====================
   Sem caixas. Laranja só no fogo; o resto é verde (a cor da marca) ou apagado. */
.fc-nx-main:has(> .fc-of) { padding-bottom: 0; }
.fc-of { position: relative; display: flex; flex-direction: column; min-height: calc(100dvh - var(--fc-topbar) - var(--fc-s6)); }
.fc-of::before { content: ""; position: absolute; left: -10%; top: -80px; width: 70%; height: 620px; background: radial-gradient(50% 50% at 40% 45%, rgba(18, 25, 35, .16), transparent 70%); pointer-events: none; }
.fc-of > * { position: relative; }
.fc-of__foco { flex: 1; display: grid; grid-template-columns: minmax(220px, 340px) minmax(0, 640px); justify-content: center; align-items: center; gap: clamp(28px, 5vw, 72px); padding: 12px 0 24px; }
.fc-of__anel { position: relative; width: 100%; max-width: min(340px, 44vh); aspect-ratio: 1; margin: 0 auto; }
.fc-of__anel > svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.fc-of__anel circle { fill: none; stroke: var(--fc-surface-2); stroke-width: 10; stroke-linecap: round; }
.fc-of__anel circle.is-aceso { stroke: var(--fc-green); }
.fc-of__chama { position: absolute; inset: 0; display: grid; place-items: center; font-size: clamp(96px, min(11vw, 22vh), 188px); line-height: 1; transform-origin: 50% 62%; animation: fc-chama 1.5s ease-in-out infinite; }
.fc-of.is-zero .fc-of__chama { filter: grayscale(1); opacity: .3; animation: none; }
/* troféu no topo do anel, no espaço entre a 4ª e a 1ª parte (o anel tem raio 104 de 240: a linha passa a 6,7% do topo) */
.fc-of__trofeu { position: absolute; top: 6.7%; left: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--fc-bg); border: 2px solid var(--fc-surface-2); color: var(--fc-text-3); }
.fc-of__trofeu .fc-icon { width: 22px; height: 22px; }
.fc-of__trofeu.is-ganho { border-color: var(--fc-green); color: var(--fc-green); }
.fc-of__texto { display: flex; flex-direction: column; align-items: flex-start; }
.fc-of__parabens { margin: 0; color: var(--fc-green); font: 700 22px var(--fc-font-title); }
.fc-of h1 { margin: 4px 0 14px; font: 700 clamp(32px, min(4.4vw, 7vh), 58px)/1.05 var(--fc-font-title); letter-spacing: -0.035em; text-wrap: balance; }
.fc-of__frase { margin: 0 0 8px; max-width: 560px; color: var(--fc-text); font-size: 19px; line-height: 1.5; }
.fc-of__frase b { font-weight: 700; }
.fc-of__cartao { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 18px 0 24px; }
.fc-of__cartao span { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 14px; border-radius: 999px; border: 2px dashed rgba(255, 255, 255, .2); color: var(--fc-text-3); font-size: 15px; font-weight: 600; }
.fc-of__cartao span.is-ok { border-style: solid; border-color: var(--fc-green); color: var(--fc-text); }
.fc-of__cartao span .fc-icon { width: 16px; height: 16px; }
.fc-of__cartao span.is-ok .fc-icon { color: var(--fc-green); stroke-width: 3; }
.fc-of__cartao i { font-style: normal; color: var(--fc-text-2); font-size: 20px; padding: 0 2px; }
.fc-of__feito { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--fc-green); font-size: 17px; font-weight: 600; }
.fc-of__feito .fc-icon { width: 20px; height: 20px; stroke-width: 3; }
/* faixa das conquistas: de ponta a ponta, num tom mais escuro que o fundo */
.fc-of__faixa { padding: 30px 0 52px; background: var(--fc-marinho, #121923); box-shadow: 0 0 0 100vmax var(--fc-marinho, #121923); clip-path: inset(0 -100vmax); border-top: 1px solid var(--fc-border); text-align: center; }
.fc-of__faixa-t { margin: 0 0 20px; font: 700 22px var(--fc-font-title); letter-spacing: -0.02em; }
.fc-of__faixa-t small { margin-left: 8px; color: var(--fc-text-3); font: 600 14px var(--fc-font-text); }
.fc-of__pins { display: flex; justify-content: center; flex-wrap: wrap; gap: 22px 24px; }
.fc-of__pin { display: flex; flex-direction: column; align-items: center; gap: 3px; width: 196px; text-align: center; }
.fc-of__pin span { position: relative; display: grid; place-items: center; width: 72px; height: 72px; margin-bottom: 8px; border-radius: 50%; background: linear-gradient(160deg, var(--fc-surface-2), var(--fc-surface)); border: 1px solid rgba(255, 255, 255, .14); color: var(--fc-branco, #FFFFFF); box-shadow: 0 10px 24px rgba(0, 0, 0, .4); }
.fc-of__pin span .fc-icon { width: 30px; height: 30px; }
/* selo ganho: borda e ícone verdes, com o fundo de dentro aceso de leve (sem brilho verde por fora) */
.fc-of__pin.is-ganho span { border: 0; color: var(--fc-green); background: var(--fc-marinho, #121923); box-shadow: inset 0 0 0 2.5px var(--fc-green), inset 0 7px 12px rgba(0, 0, 0, .55), 0 10px 24px rgba(0, 0, 0, .4); }
.fc-of__pin span .fc-icon--cheio { width: 32px; height: 32px; }
.fc-of__pin strong { font-size: 15px; font-weight: 700; }
.fc-of__pin small { color: var(--fc-text-2); font-size: 13px; line-height: 1.35; white-space: nowrap; }
.fc-of__pin:not(.is-ganho) span { background: none; border: 2px dashed var(--fc-surface-2); color: var(--fc-text-3); box-shadow: none; }
.fc-of__pin:not(.is-ganho) strong { color: var(--fc-text-3); }
.fc-claro .fc-of__faixa { background: var(--fc-surface); box-shadow: 0 0 0 100vmax var(--fc-surface); }
.fc-claro .fc-of__pin.is-ganho span { background: var(--fc-surface); box-shadow: inset 0 -4px 10px rgba(18, 25, 35, .08), 0 8px 18px rgba(18, 25, 35, .12); color: var(--fc-marinho, #121923); border-color: var(--fc-marinho, #121923); }
@media (max-width: 860px) {
  .fc-of { min-height: 0; }
  .fc-of__foco { grid-template-columns: 1fr; gap: 28px; padding-top: 24px; }
  .fc-of__anel { max-width: 260px; }
  .fc-of__chama { font-size: 120px; }
  .fc-of__texto { align-items: center; text-align: center; }
  .fc-of__cartao { justify-content: center; }
  .fc-of__pins { gap: 16px 12px; }
  .fc-of__pin { width: 104px; }
  .fc-of__pin small { white-space: normal; }
}

/* Selinho da sequência no topo, ao lado do sino: vidro escuro, o fogo e o número */
.fc-ofs__bt { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 14px 0 10px; border-radius: 999px; background: rgba(18, 25, 35, .55); border: 1px solid rgba(255, 255, 255, .22); -webkit-backdrop-filter: blur(14px) saturate(1.4); backdrop-filter: blur(14px) saturate(1.4); color: var(--fc-branco, #FFFFFF); font: 700 15px var(--fc-font-text); cursor: pointer; box-shadow: 0 4px 18px rgba(0, 0, 0, .25); transition: background var(--fc-fast); }
.fc-ofs__bt:hover, .fc-ofs.is-open .fc-ofs__bt { background: rgba(18, 25, 35, .72); border-color: rgba(255, 255, 255, .35); }
.fc-ofs__fogo { display: inline-block; font-size: 19px; line-height: 1; transform-origin: 50% 90%; }
.fc-ofs__txt { font-weight: 600; opacity: .9; }
.fc-ofs.is-zero .fc-ofs__fogo { filter: grayscale(1); opacity: .5; }
.fc-ofs:not(.is-zero) .fc-ofs__fogo { animation: fc-chama 1.5s ease-in-out infinite; }
.fc-ofs:not(.is-zero) .fc-ofs__bt { animation: fc-ofs-pulso 6s ease-out infinite; }
.fc-ofs.is-open .fc-ofs__bt { animation: none; }
.fc-claro .fc-nx-top.is-solid .fc-ofs__bt { background: var(--fc-surface); border-color: var(--fc-border-2); color: var(--fc-text); box-shadow: none; }
.fc-ofs__menu { width: 280px; padding: 18px; display: grid; gap: 6px; text-align: center; }
.fc-ofs__menu .fc-ofs__fogo { font-size: 40px; margin: 0 auto; }
.fc-ofs__t { font: 700 17px var(--fc-font-title); }
.fc-ofs__d { margin: 0; color: var(--fc-text-2); font-size: 14px; }
.fc-ofs__link { display: inline-flex; align-items: center; justify-content: center; gap: 4px; margin-top: 6px; color: var(--fc-text); font-size: 14px; font-weight: 600; }
@media (max-width: 720px) { .fc-ofs__txt { display: none; } .fc-ofs__bt { padding: 0 10px; } }

@keyframes fc-chama {
  0%, 100% { transform: scale(1, 1) rotate(0deg); }
  20% { transform: scale(1.06, .94) rotate(-4deg); }
  40% { transform: scale(.95, 1.09) rotate(3deg); }
  60% { transform: scale(1.04, .97) rotate(-2deg); }
  80% { transform: scale(.98, 1.05) rotate(2deg); }
}
@keyframes fc-ofs-pulso {
  0%, 82%, 100% { box-shadow: 0 4px 18px rgba(0, 0, 0, .25), 0 0 0 0 rgba(46, 255, 160, 0); }
  88% { box-shadow: 0 4px 18px rgba(0, 0, 0, .25), 0 0 0 4px rgba(46, 255, 160, .45); }
  96% { box-shadow: 0 4px 18px rgba(0, 0, 0, .25), 0 0 0 10px rgba(46, 255, 160, 0); }
}
@media (prefers-reduced-motion: reduce) { .fc-of__chama, .fc-ofs__fogo, .fc-ofs__bt { animation: none !important; } }

/* Conecta: aviso de quem pediu a afiliação e ainda não colou o link (segue em todas as páginas) */
.fc-af-aviso { position: fixed; left: 50%; bottom: 20px; z-index: 60; transform: translateX(-50%); display: flex; align-items: center; gap: 14px; width: min(640px, calc(100vw - 24px)); padding: 12px 12px 12px 18px; border-radius: 16px; background: var(--fc-green); color: var(--fc-marinho, #121923); box-shadow: 0 16px 40px rgba(0, 0, 0, .45); font-size: 15px; font-weight: 600; animation: fc-af-sobe .4s var(--fc-ease) both; }
.fc-af-aviso .fc-icon { flex: none; width: 20px; height: 20px; }
.fc-af-aviso p { flex: 1; margin: 0; }
.fc-af-aviso a { flex: none; padding: 9px 14px; border-radius: 10px; background: var(--fc-marinho, #121923); color: var(--fc-green); font-size: 14px; }
@keyframes fc-af-sobe { from { opacity: 0; transform: translate(-50%, 12px); } }
@media (max-width: 720px) { .fc-af-aviso { bottom: calc(76px + env(safe-area-inset-bottom)); } }

/* Seção em grade (Personalização › Vitrine › Seções › Exibição: Grade): todos os cards abertos, em linhas */
.fc-nx-rail.fc-rail--grade .fc-rail__track { --g: 6; grid-auto-flow: row; grid-template-columns: repeat(var(--g), minmax(0, 1fr)); grid-auto-columns: auto; overflow: visible; scroll-snap-type: none; row-gap: 28px; }
.fc-nx-rail.fc-rail--grade.fc-rail--wide .fc-rail__track { --g: 4; }
@media (max-width: 1400px) { .fc-nx-rail.fc-rail--grade .fc-rail__track { --g: 5; } .fc-nx-rail.fc-rail--grade.fc-rail--wide .fc-rail__track { --g: 3; } }
@media (max-width: 1100px) { .fc-nx-rail.fc-rail--grade .fc-rail__track { --g: 4; } .fc-nx-rail.fc-rail--grade.fc-rail--wide .fc-rail__track { --g: 2; } }
@media (max-width: 767px) { .fc-nx-rail.fc-rail--grade .fc-rail__track { --g: 2; row-gap: 18px; } .fc-nx-rail.fc-rail--grade.fc-rail--wide .fc-rail__track { --g: 1; } }

/* Porta por cima da tela (.fc-porta--janela): a mesma porta "Acesso bloqueado", aberta sem sair da página (ex.: vitrine "Em breve"). Fica abaixo do menu de cima. */
.fc-porta--janela { position: fixed; inset: 0; z-index: 55; min-height: 0; display: grid; place-items: center; padding: calc(var(--fc-topbar) + 72px) 16px 104px; border-radius: 0; overflow: hidden; background: var(--fc-marinho, #121923); } /* mesma área da porta na página: a caixa fica na mesma altura */
.fc-porta--janela[hidden] { display: none; }
.fc-porta--janela .fc-porta__fundo { position: absolute; inset: -40px; z-index: 0; }
.fc-porta--janela .fc-porta__card { z-index: 1; width: min(520px, 100%); box-sizing: border-box; }
.fc-porta--janela .fc-porta__x { border: 0; background: none; cursor: pointer; }
.fc-porta__card p b { color: var(--fc-branco, #FFFFFF); }
@media (prefers-reduced-motion: no-preference) { .fc-porta--janela, .fc-porta--janela .fc-porta__card { transition: opacity .22s ease, scale .26s cubic-bezier(.16, 1, .3, 1); } @starting-style { .fc-porta--janela { opacity: 0; } .fc-porta--janela .fc-porta__card { opacity: 0; scale: .96; } } }

/* ===== desafio-chat.php ===== */
  .fc-chat { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; }
  .fc-chat__top { display: flex; align-items: center; gap: 12px; padding: 8px 0 20px; border-bottom: 1px solid var(--fc-border); }
  .fc-chat__bot { flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--fc-green-soft); color: var(--fc-green); border: 1px solid var(--fc-green-line); }
  .fc-chat__bot--sm { width: 32px; height: 32px; }
  .fc-chat__quem { flex: 1; min-width: 0; line-height: 1.25; }
  .fc-chat__quem small { display: block; color: var(--fc-text-3); font-size: 12px; }
  .fc-chat__fluxo { flex: 1; display: flex; flex-direction: column; gap: 14px; padding: 28px 0 150px; }
  .fc-msg { display: flex; gap: 10px; align-items: flex-end; max-width: 88%; animation: fc-msg-in .25s ease; }
  .fc-msg__balao { padding: 12px 16px; border-radius: 18px 18px 18px 6px; background: var(--fc-surface-2); border: 1px solid var(--fc-border); font-size: 16px; line-height: 1.55; color: var(--fc-text); white-space: pre-wrap; }
  .fc-msg--eu { align-self: flex-end; }
  .fc-msg--eu .fc-msg__balao { border-radius: 18px 18px 6px 18px; background: var(--fc-green); color: var(--fc-on-green); border-color: var(--fc-green); }
  .fc-msg__sem-ic { width: 32px; flex: none; }
  .fc-digitando span { display: inline-block; width: 7px; height: 7px; margin: 0 2px; border-radius: 50%; background: var(--fc-text-3); animation: fc-dig 1.2s infinite; }
  .fc-digitando span:nth-child(2) { animation-delay: .15s; } .fc-digitando span:nth-child(3) { animation-delay: .3s; }
  @keyframes fc-dig { 0%, 60%, 100% { opacity: .3; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }
  @keyframes fc-msg-in { from { opacity: 0; transform: translateY(6px); } }
  .fc-chat__opcoes { display: flex; flex-wrap: wrap; gap: 8px; padding-left: 42px; }
  .fc-chat__entrada { position: fixed; z-index: 50; left: 0; right: 0; bottom: 0; background: linear-gradient(transparent, var(--fc-bg) 30%); padding: 24px 16px calc(16px + env(safe-area-inset-bottom)); }
  .fc-chat__caixa { max-width: 728px; margin: 0 auto; display: flex; gap: 8px; align-items: flex-end; padding: 8px; border: 1px solid var(--fc-border-2); border-radius: 22px; background: var(--fc-surface); }
  .fc-chat__caixa:focus-within { border-color: var(--fc-border-strong); }
  .fc-chat__caixa textarea { flex: 1; border: 0; background: transparent; color: var(--fc-text); font: inherit; font-size: 16px; line-height: 1.5; resize: none; padding: 8px 10px; max-height: 180px; outline: none; }
  .fc-chat__btn { flex: none; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; border: 0; cursor: pointer; background: var(--fc-surface-3); color: var(--fc-text-2); }
  .fc-chat__btn--enviar { background: var(--fc-green); color: var(--fc-on-green); }
  .fc-chat__btn:disabled { opacity: .4; cursor: default; }
  .fc-chat__btn.is-gravando { background: var(--fc-danger); color: var(--fc-branco, #FFFFFF); animation: fc-rl-pulso 1s infinite; }
  .fc-chat__entrada[hidden] { display: none; }
  .fc-chat__aviso { max-width: 728px; margin: 6px auto 0; text-align: center; font-size: 12px; color: var(--fc-text-3); }

/* ===== conecta-manual.php ===== */
.fc-mn { max-width: 760px; margin: 0 auto; padding: 24px 16px 80px; color: var(--fc-text); }
.fc-mn__olho { margin: 0; color: var(--fc-menta, #2EFFA0); font: 700 15px var(--fc-font-title); }
.fc-mn h1 { margin: 6px 0 4px; font: 700 clamp(32px, 5vw, 46px)/1.05 var(--fc-font-title); letter-spacing: -.03em; }
.fc-mn__data { margin: 0 0 28px; opacity: .65; font-size: 14px; }
.fc-mn h2 { margin: 36px 0 12px; font: 700 22px/1.2 var(--fc-font-title); letter-spacing: -.02em; }
.fc-mn h3 { margin: 22px 0 8px; font: 700 17px var(--fc-font-title); }
.fc-mn p, .fc-mn li { font-size: 16px; line-height: 1.65; opacity: .92; }
.fc-mn ul { margin: 0; padding-left: 22px; display: grid; gap: 6px; }
.fc-mn b { opacity: 1; font-weight: 700; }
.fc-mn__voltar { margin-top: 40px; }
.fc-mn__voltar a { color: var(--fc-menta, #2EFFA0); font-weight: 600; }

/* Organizar: o ícone do título da seção vira botão para trocar */
.fc-vit-icone { display: inline-grid; place-items: center; width: 32px; height: 32px; margin: -6px -4px -6px -6px; border: 1px dashed rgba(255, 255, 255, .35); border-radius: 8px; background: none; color: var(--fc-green); cursor: pointer; }
.fc-vit-icone:hover { border-color: var(--fc-branco, #FFFFFF); }
.fc-vit-icone .fc-icon { width: 18px; height: 18px; }
.fc-vit-ic__grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(44px, 1fr)); gap: 6px; }
.fc-vit-ic__grade button { height: 44px; display: grid; place-items: center; border: 1px solid transparent; border-radius: 10px; background: none; color: var(--fc-text-2); cursor: pointer; }
.fc-vit-ic__grade button:hover { background: rgba(255, 255, 255, .06); color: var(--fc-text); }
.fc-vit-ic__grade button[aria-pressed="true"] { border-color: var(--fc-menta, #2EFFA0); color: var(--fc-menta, #2EFFA0); }
.fc-vit-nome { padding: 2px 6px; margin-left: -6px; border-radius: 6px; outline: none; cursor: text; }
.fc-vit-nome:hover { background: rgba(255, 255, 255, .06); }
.fc-vit-nome:focus { background: var(--fc-ardosia, #2A3446); box-shadow: 0 0 0 1px rgba(255, 255, 255, .35); }

/* Mentoria: jeito de cada encontro (Organizar) */
.fc-mts--carrossel .fc-mts__grade { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc((100% - 4 * 12px) / 5); gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
.fc-mts--carrossel .fc-mts__grade::-webkit-scrollbar { display: none; }
.fc-mts--vertical .fc-mts__capa { aspect-ratio: 5 / 8; }
.fc-mts--vertical.fc-mts--grade .fc-mts__grade { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.fc-mts--vertical.fc-mts--carrossel .fc-mts__grade { grid-auto-columns: calc((100% - 5 * 12px) / 6); }
@media (max-width: 1100px) { .fc-mts--carrossel .fc-mts__grade { grid-auto-columns: calc((100% - 2 * 12px) / 3); } .fc-mts--vertical.fc-mts--grade .fc-mts__grade { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) { .fc-mts--carrossel .fc-mts__grade { grid-auto-columns: 72%; } .fc-mts--vertical.fc-mts--carrossel .fc-mts__grade { grid-auto-columns: 46%; } .fc-mts--vertical.fc-mts--grade .fc-mts__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.is-mto-editando .fc-mts__cab { flex-wrap: wrap; }
.is-mto-editando .fc-mts__cab .fc-vit-ctrl { margin-left: auto; display: flex; gap: 8px; }
.is-mto-editando .fc-mts__card { cursor: grab; }
.is-mto-editando .fc-mts__grade[data-fc-sortable] { grid-auto-flow: row; grid-template-columns: repeat(5, minmax(0, 1fr)); grid-auto-columns: auto; overflow: visible; scroll-snap-type: none; }
.is-mto-editando .fc-mts--vertical .fc-mts__grade[data-fc-sortable] { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.is-mto-editando .fc-mts__grade[data-fc-sortable] > [data-id] { touch-action: none; -webkit-user-drag: none; user-select: none; }
.is-mto-editando .fc-mts__grade[data-fc-sortable] > [data-id] * { -webkit-user-drag: none; }
.is-mto-editando .fc-mts__grade > .fc-sort-vaga { opacity: .25; outline: 1px dashed rgba(255, 255, 255, 0.5); border-radius: 6px; }
.is-lvo-editando .fc-ev-rows > [data-id] > .fc-rail__head { justify-content: flex-start; gap: 10px; }
.is-lvo-editando .fc-ev-rows > [data-id] .fc-nx-rail__link, .is-lvo-editando .fc-ev-rows > [data-id] .fc-rail__nav { display: none; }
.is-lvo-editando .fc-ev-rows > .is-dragging { max-height: 220px; overflow: hidden; border-radius: 12px; background: var(--fc-ardosia, #2A3446); box-shadow: 0 20px 50px rgba(0, 0, 0, .45); }

@keyframes fc-rl-pulso { 50% { opacity: 0.3; } }
/* Página Mentorias: o espaço entre o banner e os dias e entre um dia e outro é só o gap da página (sem margem somada) */
.fc-mtl > .fc-mts, .fc-mtl > .fc-mt-turma, .fc-mtl > .fc-mt-faixa { margin-top: 0; }
.fc-mtl > .fc-mt__topo { margin-bottom: 0; }
.fc-mtl { gap: 40px; }
/* Mentorias: título de cada dia no mesmo padrão das seções da Academy (Sora 19 px, 10 px até os cards) */
.fc-mts__cab { margin-bottom: 10px; }
.fc-mts__cab h2 { font-size: 19px; }

/* Mentorias: gravações de quem não comprou, em preto e branco com cadeado (o clique leva à compra ou à lista de espera) */
.fc-mts__card.is-trancado .fc-mts__capa img { filter: grayscale(1) brightness(.6); }
.fc-mts__card.is-trancado:hover .fc-mts__capa img { filter: grayscale(.6) brightness(.75); }

.fc-mt__venda { margin-top: 20px; align-self: flex-start; }

/* A ofensiva é um raio preenchido em Menta (ação, energia); 21/10/2026 */
.fc-ofs__fogo, .fc-of__chama { color: var(--fc-menta, #2EFFA0); }
.fc-ofs__fogo .fc-icon, .fc-of__chama .fc-icon { display: block; width: 1em; height: 1em; }

/* Selos de pendência e caixas de aviso: neutros (névoa, letra marinho); o destaque é só a Menta (21/10/2026) */
.hm-chip--amarelo, .hm-chip--p.hm-chip--amarelo, .hm-st--amarelo, .hm-acesso--pend, .fc-adm-corpo.is-claro .fc-adm-main .fc-badge--warning { background: var(--fc-nevoa, #EAEFEE); border-color: var(--fc-tom-80, #D0D1D3); color: var(--fc-marinho, #121923); }
.hm-alerta { border-color: var(--fc-tom-80, #D0D1D3); color: var(--fc-marinho, #121923); }
.fc-nota__estrelas button:hover, .fc-nota__estrelas button.is-on { color: var(--fc-menta, #2EFFA0); }

/* Ofensiva: verde só no raio, no anel e no botão; textos e semanas neutros (21/10/2026) */
.fc-of__parabens { color: var(--fc-text-2); }
.fc-of__cartao span.is-ok { border-style: solid; border-color: var(--fc-ardosia, #2A3446); background: var(--fc-ardosia, #2A3446); color: var(--fc-text); }
.fc-of__cartao span.is-ok .fc-icon { color: var(--fc-text); }

/* Animação do raio (21/10/2026): parado, e a cada 2,6 s uma "descarga": dá um tranco para cima, pisca duas vezes como faísca e volta. Sem brilho em volta. */
@keyframes fc-raio {
  0%, 74%, 100% { transform: translateY(0) scale(1) rotate(0deg); opacity: 1; }
  78% { transform: translateY(-4%) scale(1.1) rotate(-6deg); opacity: 1; }
  81% { opacity: .35; }
  84% { transform: translateY(0) scale(1.04) rotate(3deg); opacity: 1; }
  87% { opacity: .55; }
  90% { transform: scale(1) rotate(0deg); opacity: 1; }
}
.fc-of__chama { animation: fc-raio 2.6s ease-in-out infinite; transform-origin: 50% 50%; }
.fc-ofs:not(.is-zero) .fc-ofs__fogo { animation: fc-raio 2.6s ease-in-out infinite; transform-origin: 50% 50%; }
.fc-of.is-zero .fc-of__chama { animation: none; }
@media (prefers-reduced-motion: reduce) { .fc-of__chama, .fc-ofs__fogo { animation: none !important; } }

/* Raio com efeito elétrico (21/10/2026): uma faixa de luz branca atravessa o raio e, junto, ele dá um tremor curto de descarga. Substitui o pisca-pisca. */
.fc-ofs__fogo { position: relative; }
.fc-of__chama .fc-icon, .fc-ofs__fogo .fc-icon { visibility: hidden; }
.fc-of__chama::before, .fc-ofs__fogo::before {
  content: ""; position: absolute; left: 50%; top: 50%; width: 1em; height: 1em; transform: translate(-50%, -50%);
  -webkit-mask: url(../icons/app/zap.svg) center / contain no-repeat; mask: url(../icons/app/zap.svg) center / contain no-repeat;
  background: linear-gradient(115deg, var(--fc-menta, #2EFFA0) 0 40%, var(--fc-branco, #FFFFFF) 48% 52%, var(--fc-menta, #2EFFA0) 60% 100%) 100% 0 / 320% 100% no-repeat;
}
@keyframes fc-raio-luz { 0%, 55% { background-position: 100% 0; } 80%, 100% { background-position: 0 0; } }
@keyframes fc-raio {
  0%, 56%, 100% { transform: translate(0, 0) rotate(0deg) scale(1); }
  59% { transform: translate(-2%, 1%) rotate(-3deg) scale(1.04); }
  62% { transform: translate(2%, -1%) rotate(3deg) scale(1.07); }
  65% { transform: translate(-1%, 0) rotate(-2deg) scale(1.05); }
  68% { transform: translate(1%, 1%) rotate(1deg) scale(1.03); }
  74% { transform: translate(0, 0) rotate(0deg) scale(1); }
}
.fc-of__chama { animation: fc-raio 2.8s ease-out infinite; }
.fc-of__chama::before { animation: fc-raio-luz 2.8s ease-in-out infinite; }
.fc-ofs:not(.is-zero) .fc-ofs__fogo { animation: fc-raio 2.8s ease-out infinite; }
.fc-ofs:not(.is-zero) .fc-ofs__fogo::before { animation: fc-raio-luz 2.8s ease-in-out infinite; }
.fc-of.is-zero .fc-of__chama, .fc-of.is-zero .fc-of__chama::before { animation: none; }
.fc-of.is-zero .fc-of__chama::before, .fc-ofs.is-zero .fc-ofs__fogo::before { background: var(--fc-tom-40, #71757B); }
@media (prefers-reduced-motion: reduce) { .fc-of__chama, .fc-ofs__fogo, .fc-of__chama::before, .fc-ofs__fogo::before { animation: none !important; } }

/* Partículas de eletricidade (21/10/2026): na hora da descarga, faíscas (riscos e pontos) saem do centro do raio para fora e somem. */
.fc-of__anel { container-type: inline-size; }
.fc-of__faiscas { position: absolute; inset: 0; pointer-events: none; }
.fc-of__faiscas i { position: absolute; left: 50%; top: 50%; width: 3px; height: 3px; border-radius: 2px; background: var(--fc-menta, #2EFFA0); opacity: 0; transform: rotate(var(--a)) translateY(0); animation: fc-faisca 2.8s ease-out infinite; animation-delay: var(--t); }
.fc-of__faiscas i.is-r { width: 4px; height: 20px; background: linear-gradient(var(--fc-branco, #FFFFFF), var(--fc-menta, #2EFFA0)); }
.fc-of__faiscas i.is-p { width: 7px; height: 7px; border-radius: 50%; background: var(--fc-branco, #FFFFFF); }
@keyframes fc-faisca {
  0%, 57% { opacity: 0; transform: rotate(var(--a)) translateY(-10%) scale(.4); }
  60% { opacity: 1; transform: rotate(var(--a)) translateY(calc(var(--d) * -0.26cqi)) scale(1); }
  70% { opacity: .9; transform: rotate(var(--a)) translateY(calc(var(--d) * -0.44cqi)) scale(.9); }
  78%, 100% { opacity: 0; transform: rotate(var(--a)) translateY(calc(var(--d) * -0.58cqi)) scale(.3); }
}
.fc-of.is-zero .fc-of__faiscas { display: none; }
@media (prefers-reduced-motion: reduce) { .fc-of__faiscas { display: none; } }

/* Celular (21/10/2026): toda seção vira fileira que desliza para o lado, com 2 capas inteiras e um pedaço da 3ª (convida a deslizar);
   a seção em "Grade" também desliza no celular. O topo de boas-vindas deixa o rosto em cima e o texto embaixo, na parte escura. */
@media (max-width: 767px) {
  .fc-nx-rail .fc-rail__track { --cols: 2.3; }
  .fc-nx-rail.fc-rail--grade .fc-rail__track { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: calc((100% - (var(--cols) - 1) * var(--fc-s3)) / var(--cols)); overflow-x: auto; scroll-snap-type: x mandatory; row-gap: 0; }
  .fc-nx-rail.fc-rail--grade.fc-rail--wide .fc-rail__track { --cols: 1.15; }
  .fc-nx-hero--boasvindas .fc-nx-hero__slide { min-height: 118vw; align-items: flex-end; }
  .fc-nx-hero--boasvindas .fc-nx-hero__bg img { object-position: center top; }
  .fc-nx-hero--boasvindas .fc-nx-hero__content { padding-top: 0; padding-bottom: 36px; }
}
/* Celular, ajuste 2 (21/10/2026): capas verticais maiores (1 e meia por tela); banners horizontais (eventos, continuar assistindo, cursos largos) quase a tela toda;
   topo com a imagem vertical 4:5 (1080 × 1350 px) e o texto por cima da parte de baixo, sem escurecer o rosto. */
@media (max-width: 767px) {
  .fc-nx-rail .fc-rail__track, .fc-nx-rail.fc-rail--grade .fc-rail__track { --cols: 1.5; }
  .fc-nx-rail.fc-rail--wide .fc-rail__track, .fc-nx-rail.fc-rail--grade.fc-rail--wide .fc-rail__track,
  .fc-nx-rail.fc-rail--eventos .fc-rail__track, .fc-nx-rail.fc-rail--agenda .fc-rail__track { --cols: 1.06; }
  .fc-nx-hero--banners.fc-nx-hero--texto { height: 125vw; }
  .fc-nx-hero--banners.fc-nx-hero--texto .fc-nx-hero__bg { bottom: 0; height: auto; }
  .fc-nx-hero--banners.fc-nx-hero--texto .fc-nx-hero__bg img { object-position: center top; }
  .fc-nx-hero--banners.fc-nx-hero--texto .fc-nx-hero__content { padding-top: 0; padding-bottom: 28px; gap: var(--fc-s2); }
  .fc-nx-hero--banners.fc-nx-hero--texto .fc-nx-hero__slide::after { background: linear-gradient(0deg, var(--fc-bg) 0, rgba(18, 25, 35, 0.82) 20%, rgba(18, 25, 35, 0) 45%); }
}
/* A faixa de anúncio entre as fileiras não soma margem própria: o espaço é o mesmo de qualquer seção (computador 40 px, celular 32 px) */
.fc-nx-rows > .fc-anuncio--faixa { margin: 0; }

/* Espaço do banner do topo até a primeira seção — regra única (21/10/2026, substitui 7 regras antigas que brigavam):
   computador 32 px; celular 0, porque o texto do banner já fica 28 px acima da faixa */
.fc-nx-hero--banners + .fc-nx-rows, .fc-nx-hero--arte + .fc-nx-rows { margin-top: 32px; }
@media (max-width: 767px) { .fc-nx-hero--banners + .fc-nx-rows, .fc-nx-hero--arte + .fc-nx-rows { margin-top: 0; } }

/* Porta "Acesso bloqueado" (21/10/2026): cadeado grande no centro, "Acesso bloqueado" numa etiqueta pequena logo abaixo; o grande é o que está bloqueado (ex.: "As lives e os eventos são exclusivos para assinantes") */
.fc-porta__tag { display: inline-flex; align-items: center; gap: 8px; margin-top: 2px; padding: 6px 14px; border-radius: 999px; background: rgba(255, 255, 255, .08); color: rgba(255, 255, 255, .8); font: 600 14px/1 var(--fc-font-text); }
.fc-porta__card .fc-porta__tag + h1 { margin: 6px 0 2px; font: 700 30px/1.15 var(--fc-font-title); letter-spacing: -.02em; }
@media (max-width: 767px) { .fc-porta__card .fc-porta__tag + h1 { font-size: 26px; } .fc-porta__card { padding: 30px 22px; } }

/* Celular (21/10/2026): 5ª aba "Menu" na barra de baixo; o menu sobe de baixo como gaveta e a aba vira um X. A foto do topo continua e abre o mesmo menu. */
.fc-app-abas__ic-fechar { display: none; }
@media (max-width: 767px) {
  .is-menu .fc-app-abas { z-index: 72; }
  .is-menu .fc-app-abas__menu { color: var(--fc-menta, #2EFFA0); }
  .is-menu .fc-app-abas__ic-abrir { display: none; }
  .is-menu .fc-app-abas__ic-fechar { display: contents; }
  .fc-app-abas__ic-abrir { display: contents; }
  .fc-nx-menu { top: auto; left: 0; right: 0; width: auto; max-height: 80vh; border-right: 0; border-radius: 20px 20px 0 0; padding-bottom: calc(84px + env(safe-area-inset-bottom)); transform: translateY(102%); }
}

/* Celular, topo enxuto (26/10/2026): a logo (maior), o sino (como em todo app) e a foto; a busca e a sequência (o raio) no Menu */
.fc-nx-menu__cel { display: none; }
@media (max-width: 767px) {
  .fc-nx-top__acoes > [data-fc-modal="fc-busca"], .fc-nx-top__acoes > .fc-ofs { display: none; }
  .fc-nx-menu__of .fc-icon { color: var(--fc-menta, #2EFFA0); }
  .fc-nx-menu__of.is-zero .fc-icon { color: var(--fc-tom-40, #71757B); }
  .fc-nx-top__logo img { height: 30px; }
  .fc-nx-menu__cel { display: grid; gap: 4px; }
  .fc-nx-menu__busca { display: flex; align-items: center; gap: 10px; height: 46px; padding: 0 14px; border: 0; border-radius: 12px; background: rgba(255, 255, 255, .07); color: var(--fc-text-2); font: inherit; font-size: 15px; text-align: left; cursor: pointer; }
  .fc-nx-menu__busca .fc-icon { width: 20px; height: 20px; }
}
/* Celular: os trechos das mentorias deslizam para o lado com o card quase da largura da tela (igual ao Dia 01), em vez da grade de 2 pequenos */
@media (max-width: 700px) {
  .fc-mts .fc-mts__grade, .fc-mts--grade .fc-mts__grade { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 86%; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .fc-mts .fc-mts__grade > * { scroll-snap-align: start; }
  .fc-mts--vertical .fc-mts__grade { grid-auto-columns: 62%; }
}
/* Player em tela cheia (trecho de mentoria, gravação de live): a barra do topo e a barra de abas do celular somem enquanto ele está aberto, para não ficarem por cima dos botões */
body:has(.fc-tv) .fc-nx-top, body:has(.fc-tv) .fc-app-abas { display: none; }

/* Mentorias: a turma do aluno vira um selo pequeno dentro do banner (no lugar da faixa grande), 21/10/2026 */
.fc-mt-selo { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 4px; }
.fc-mt-selo__tag { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border-radius: 999px; background: rgba(255, 255, 255, .1); color: var(--fc-branco, #FFFFFF); font-size: 14px; font-weight: 600; }
.fc-mt-selo__tag .fc-icon { width: 16px; height: 16px; color: var(--fc-menta, #2EFFA0); }
.fc-mt-selo__grupo { display: inline-flex; align-items: center; gap: 6px; color: rgba(255, 255, 255, .8); font-size: 14px; font-weight: 600; text-decoration: underline; }
.fc-mt-selo__grupo .fc-icon { width: 16px; height: 16px; }
/* Bolinha dos banners fixos: a cor se escolhe no painel (Banners e anúncios) */
.fc-ev-ponto--vermelha { background: var(--fc-framboesa, #F04A68); animation-name: fc-ev-pulso-vermelha; }
.fc-ev-ponto--branca { background: #FFFFFF; animation-name: fc-ev-pulso-branca; }
@keyframes fc-ev-pulso-vermelha { 0% { box-shadow: 0 0 0 0 rgba(240, 74, 104, .55); } 70% { box-shadow: 0 0 0 .35em rgba(240, 74, 104, 0); } 100% { box-shadow: 0 0 0 0 rgba(240, 74, 104, 0); } }
@keyframes fc-ev-pulso-branca { 0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, .5); } 70% { box-shadow: 0 0 0 .35em rgba(255, 255, 255, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); } }

/* Ranking do mês (menu Ranking): pódio com os 3 primeiros (1º no meio, mais alto, com a coroa), lista do 4º em diante e, ao lado, você e as regras */
.fc-rk { max-width: 1100px; margin: 0 auto; padding-bottom: 48px; }
.fc-rk__cab { margin: 16px 0 8px; text-align: center; }
.fc-rk__cab h1 { margin: 0; font: 700 clamp(28px, 3vw, 40px)/1.1 var(--fc-font-title); letter-spacing: -.03em; }
.fc-rk__cab p { margin: 6px 0 0; color: var(--fc-text-2); }
.fc-rk__vazio { display: flex; justify-content: center; align-items: center; gap: 10px; margin: 32px 0; color: var(--fc-text-2); }
.fc-rk__vazio .fc-icon { width: 22px; height: 22px; }
.fc-rk__podio { display: flex; justify-content: center; align-items: flex-end; gap: 16px; margin: 24px auto 32px; padding: 0; list-style: none; }
.fc-rk__lugar { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; width: 190px; text-align: center; }
.fc-rk__foto { width: 76px; height: 76px; font-size: 24px; box-shadow: 0 0 0 3px #2A3446; }
.fc-rk__foto.is-grande { width: 104px; height: 104px; font-size: 32px; box-shadow: 0 0 0 4px var(--fc-menta, #2EFFA0); }
.fc-rk__coroa { display: block; height: 30px; color: var(--fc-menta, #2EFFA0); }
.fc-rk__coroa .fc-icon { width: 34px; height: 34px; }
.fc-rk__lugar strong { max-width: 100%; margin-top: 4px; font-size: 16px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fc-rk__lugar strong small { color: var(--fc-text-2); font-weight: 500; }
.fc-rk__p { color: var(--fc-text-2); font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; }
.fc-rk__degrau { display: grid; place-items: center; width: 100%; margin-top: 8px; border-radius: 14px 14px 0 0; background: #2A3446; font: 700 30px var(--fc-font-title); color: var(--fc-text); }
.fc-rk__lugar.is-1 .fc-rk__degrau { height: 132px; background: var(--fc-menta, #2EFFA0); color: #121923; font-size: 40px; }
.fc-rk__lugar.is-2 .fc-rk__degrau { height: 96px; }
.fc-rk__lugar.is-3 .fc-rk__degrau { height: 70px; }
.fc-rk__lista { max-width: 760px; margin: 0 auto; padding: 0; list-style: none; border-top: 1px solid var(--fc-border); }
.fc-rk__lista li { display: flex; align-items: center; gap: 14px; padding: 12px 8px; border-bottom: 1px solid var(--fc-border); }
.fc-rk__lista li.is-eu { background: rgba(255, 255, 255, .06); border-radius: 10px; }
.fc-rk__fora { margin-top: 12px; }
.fc-rk__pos { width: 36px; flex: none; font: 700 18px var(--fc-font-title); color: var(--fc-text-2); }
.fc-rk__lista .fc-avatar { width: 40px; height: 40px; flex: none; }
.fc-rk__nome { flex: 1; min-width: 0; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fc-rk__nome small { color: var(--fc-text-2); font-weight: 500; }
.fc-rk__pts { font-weight: 700; font-variant-numeric: tabular-nums; }
.fc-rk__pts small { color: var(--fc-text-2); font-weight: 500; }
/* como ganhar pontos: um ícone por ação, o número grande e o nome curto */
.fc-rk__como { max-width: 760px; margin: 40px auto 0; text-align: center; }
.fc-rk__como h2 { margin: 0 0 16px; font: 700 20px var(--fc-font-title); letter-spacing: -.02em; }
.fc-rk__premio { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 18px; color: var(--fc-text-2); font-size: 14px; }
.fc-rk__premio b { color: var(--fc-text); }
.fc-rk__premio .fc-icon { width: 18px; height: 18px; color: var(--fc-menta, #2EFFA0); }
.fc-rk__como ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.fc-rk__como li { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 18px 10px; border-radius: 16px; background: #202836; }
.fc-rk__ic { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #2A3446; }
.fc-rk__ic .fc-icon { width: 22px; height: 22px; color: var(--fc-menta, #2EFFA0); }
.fc-rk__como li b { font: 700 24px var(--fc-font-title); }
.fc-rk__como li small { color: var(--fc-text-2); font-size: 13px; font-weight: 600; }
body.fc-claro .fc-rk__como li { background: var(--fc-branco, #FFFFFF); }
body.fc-claro .fc-rk__ic { background: var(--fc-nevoa, #EAEFEE); }
body.fc-claro .fc-rk__ic .fc-icon, body.fc-claro .fc-rk__premio .fc-icon { color: var(--fc-marinho, #121923); }
body.fc-claro .fc-rk__degrau { background: var(--fc-branco, #FFFFFF); }
body.fc-claro .fc-rk__foto { box-shadow: 0 0 0 3px var(--fc-branco, #FFFFFF); }
body.fc-claro .fc-rk__lista li.is-eu { background: rgba(18, 25, 35, .05); }
@media (max-width: 860px) { .fc-rk__como ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } .fc-rk__podio { gap: 8px; } .fc-rk__lugar { width: 31%; } .fc-rk__foto { width: 56px; height: 56px; } .fc-rk__foto.is-grande { width: 76px; height: 76px; } .fc-rk__lugar strong { font-size: 14px; } }

/* Ranking: a chave "Aparecer no ranking" (o membro sai da lista; os pontos continuam contando) */
.fc-rk__aparecer { display: flex; justify-content: center; margin: 14px 0 0; }
.fc-rk__aparecer label { display: inline-flex; align-items: center; gap: 10px; color: var(--fc-text-2); font-size: 14px; font-weight: 600; cursor: pointer; }
.fc-rk__aparecer input { position: absolute; opacity: 0; pointer-events: none; }
.fc-rk__aparecer i { position: relative; width: 36px; height: 20px; border-radius: 10px; background: #2A3446; transition: background .2s; }
.fc-rk__aparecer i::after { content: ""; position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: #FFFFFF; transition: transform .2s; }
.fc-rk__aparecer input:checked + i { background: var(--fc-menta, #2EFFA0); }
.fc-rk__aparecer input:checked + i::after { transform: translateX(16px); background: #121923; }
.fc-rk__aparecer input:focus-visible + i { outline: 2px solid var(--fc-foco); outline-offset: 2px; }
.fc-rk__aviso { margin: 10px 0 0; color: var(--fc-text-2); font-size: 14px; }
body.fc-claro .fc-rk__aparecer i { background: var(--fc-tom-80, #D0D1D3); }

/* Ranking (26/10): a chave "Aparecer no ranking" fica no rodapé; o topo fica limpo para print */
.fc-rk__rodape { max-width: 760px; margin: 36px auto 0; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .1); text-align: center; }
.fc-rk__rodape > p { margin: 0; color: var(--fc-text-2); font-size: 13.5px; }
body.fc-claro .fc-rk__rodape { border-top-color: var(--fc-tom-88, #E3E3E5); }
/* Avisos desligados (26/10): faixa discreta em cima das abas do app, com Ativar; fecha por 3 dias */
.fc-push-faixa { position: fixed; left: 12px; right: 12px; bottom: calc(14px + env(safe-area-inset-bottom)); z-index: 59; max-width: 440px; margin: 0 auto; display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 14px; border-radius: 999px; background: #202836; color: #FFFFFF; font-size: 13px; font-weight: 600; box-shadow: 0 10px 30px -8px rgba(0, 0, 0, .5); }
.fc-push-faixa[hidden] { display: none; }
.fc-push-faixa > span { flex: 1; display: flex; align-items: center; gap: 8px; min-width: 0; }
.fc-push-faixa > span .fc-icon { flex: none; width: 18px; height: 18px; color: var(--fc-menta, #2EFFA0); }
.fc-push-faixa__bt { flex: none; height: 32px; padding: 0 14px; border: 0; border-radius: 999px; background: var(--fc-menta, #2EFFA0); color: #121923; font: 700 13px var(--fc-font-text, 'Inter', sans-serif); cursor: pointer; }
.fc-push-faixa__x { flex: none; display: grid; place-items: center; width: 32px; height: 32px; border: 0; border-radius: 50%; background: none; color: rgba(255, 255, 255, .7); cursor: pointer; }
.fc-push-faixa__x .fc-icon { width: 16px; height: 16px; }
@media (max-width: 1023px) { .fc-push-faixa { bottom: calc(84px + env(safe-area-inset-bottom)); } }
/* Celular (26/10): o sino voltou ao topo; a lista de notificações abre na largura da tela, logo abaixo da barra */
@media (max-width: 767px) {
  .fc-nx-top .fc-bell .fc-notif { position: fixed; top: calc(var(--fc-topbar, 64px) + env(safe-area-inset-top)); left: 12px; right: 12px; width: auto; max-width: none; }
}.fc-evento-pg__aovivo { width: min(100%, calc((100vh - 260px) * 16 / 9 + 376px)); margin: var(--fc-s3) auto var(--fc-s6); } /* live pelo nosso servidor: vídeo, botão de oferta e chat (AoVivo) */

/* "Ao vivo" é sempre vermelho (Framboesa) com texto branco, como no YouTube: selo do card, selo da página do evento e selo da capa */
.fc-ao-vivo, .fc-ao-vivo--topo, .fc-evento__agora { background: var(--fc-framboesa, #F04A68); color: var(--fc-branco, #FFFFFF); }
.fc-ao-vivo--topo .fc-ao-vivo__ponto, .fc-evento__agora .fc-ao-vivo__ponto--onda { background: var(--fc-branco, #FFFFFF); }
.fc-evento__agora .fc-ao-vivo__ponto--onda::after { border-color: var(--fc-branco, #FFFFFF); }

/* Webinário pelo Streemo: o cronômetro de 15 a 5 min antes (no lugar do botão; aos 5 min vira "Entrar na sala"): uma pílula discreta */
.fc-evento-contagem { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: var(--fc-surface-2); font-size: 13px; color: var(--fc-text-2); }
.fc-evento-contagem b { font: 700 15px/1 var(--fc-font-title, Sora), sans-serif; font-variant-numeric: tabular-nums; color: var(--fc-text); }
.fc-evento-contagem b i { font-style: normal; color: var(--fc-menta, #2EFFA0); margin: 0 1px; }
@media (prefers-reduced-motion: no-preference) { .fc-evento-contagem b i { animation: fc-pisca 1s steps(2, start) infinite; } }
@keyframes fc-pisca { to { opacity: .25; } }
/* o cronômetro em destaque: números e relógio em verde sobre o escuro (no tema claro, a pílula fica Marinho para o verde aparecer) */
.fc-evento-contagem .fc-icon, .fc-evento-contagem b { color: var(--fc-menta, #2EFFA0); }
.fc-evento-contagem b i { color: inherit; }
body.fc-claro .fc-evento-contagem { background: #121923; color: #C9CED6; }
/* sala do webinário no celular: sem a trilha "Início > Webinários" (o app já tem o menu embaixo); o vídeo começa no topo */
@media (max-width: 1023px) { .fc-evento-pg--cinema:has(.fc-aovivo-sala) > .fc-crumbs { display: none; } .fc-evento-pg--cinema .fc-evento-pg__aovivo { margin-top: 0; } }
