body::-webkit-scrollbar {
  width: 10px;
}

body::-webkit-scrollbar-track {
  background: #191b1e;
}

body::-webkit-scrollbar-thumb {
  background: #3c4146;
  border-radius: 5px;
}

body::-webkit-scrollbar-thumb:hover {
  background: #4d5155;
}

body {
  overflow-x: hidden;
}

/*
Helpers
*/

.text-justify {
  text-align: justify;
}

.is-terms {
  font-size: 0.875em;
}

.pointer-events-none {
  pointer-events: none;
}

.btn.is-disabled:hover {
  box-shadow: initial !important;
}

.btn.btn-hover-default:hover {
  transform: translateY(0) !important;
  box-shadow: none !important;
  opacity: initial !important;
}

a.is-disabled:hover {
  box-shadow: initial !important;
  transform: initial !important;
  cursor: default;
}

/*
Input
*/

.form-control:-webkit-autofill,
.form-control:-webkit-autofill:hover,
.form-control:-webkit-autofill:focus,
.form-control:-webkit-autofill:active {
  background-color: #1f2225 !important;
  -webkit-text-fill-color: #adb5bd !important;
  box-shadow: 0 0 0 30px #1f2225 inset !important;
}

/*
Style Link
*/

.main-course-task .class_description a:not(.btn) {
  color: var(--green-light);
  text-decoration: underline;
}

.main-course-task .class_description a:not(.btn):hover {
  text-decoration: underline !important;
}

/*
BTN New Class
*/

.btn.btn-custom-class {
  margin-left: 10px !important;
}

/*
Search Classes
*/

.search-classes {
  max-height: 300px;
  overflow-y: auto;
}

.search-classes::-webkit-scrollbar {
  width: 7px;
  background-color: #191b1e;
}

.search-classes::-webkit-scrollbar-thumb {
  background-color: #555555;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  -ms-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  -o-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.3);
  -ms-box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.3);
  -o-box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.3);
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.3);
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
}

.class_list_item.is-blocked {
  opacity: 0.5;
}

.search-classes .class_list_item.is-blocked a,
.search-classes .class_list_item.is-blocked a:hover {
  pointer-events: none;
  cursor: default;
}

.class_list_item.is-blocked i {
  color: rgb(255, 57, 57);
}

/*
Level Comment
*/

.user-level-comment {
  display: flex;
  font-size: 0.8em;
  color: var(--bs-body-bg);
  padding: 0 8px;
  background-color: var(--green-light);
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}

/*
intlTel
*/

input.is-valid {
  border-color: #00a887 !important;
}

input.is-invalid {
  border-color: #f59e9e !important;
}

.intlTel {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.intlTel__message {
  font-weight: 600;
  text-transform: initial;
}

.intlTel__message.is-valid {
  color: #00a887;
}

.intlTel__message.is-invalid {
  color: #f79494;
}

/*
Owl Carousel
*/

.owl-carousel.only-one .owl-nav,
.owl-carousel.only-one:hover .owl-nav {
  display: none !important;
}

.owl-carousel .owl-stage {
  padding-left: 0 !important;
}

.owl-carousel .owl-item picture img {
  width: auto;
  margin: 0 auto;
}

.owl-carousel .owl-nav button.owl-prev span,
.owl-carousel .owl-nav button.owl-next span {
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
}

.carousel__link {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 15;
}

.owl-carousel.owl-campus .owl-nav,
.main-course-modules-slides .owl-nav {
  height: 0;
}

/* Correção específica para iOS */
.owl-carousel .owl-item {
  position: relative;
  z-index: 1;
}

.owl-carousel .owl-item.active {
  z-index: 10;
}

.owl-carousel .owl-stage-outer {
  touch-action: manipulation;
  -webkit-overflow-scrolling: touch;
}

.owl-carousel {
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.main-carousel .owl-nav,
.main-course-modules-slides .owl-nav {
  display: none !important;
}

.main-carousel:hover .owl-nav,
.main-course-modules-slides:hover .owl-nav {
  display: flex !important;
}

/* Banner da tela de módulos: mesma correção do campus (evita “pontinha” do slide seguinte). */
.main-course-modules-slides .owl-carousel.owl-course-modules .owl-stage-outer {
  overflow: hidden;
  clip-path: inset(0 2px 0 0);
  -webkit-clip-path: inset(0 2px 0 0);
}

.main-course-modules-slides .owl-carousel.owl-course-modules .owl-item {
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
}

.main-course-modules-slides .owl-carousel.owl-course-modules .owl-item>div {
  width: 100%;
}

.main-course-modules-slides .owl-carousel.owl-course-modules .owl-item a,
.main-course-modules-slides .owl-carousel.owl-course-modules .owl-item picture,
.main-course-modules-slides .owl-carousel.owl-course-modules .owl-item img {
  display: block;
  width: 100%;
}

@supports (-webkit-touch-callout: none) {
  .owl-carousel .owl-stage {
    touch-action: pan-y pinch-zoom;
  }

  .owl-carousel .owl-item.active {
    pointer-events: auto !important;
  }

  .owl-carousel .owl-item.active * {
    pointer-events: auto !important;
  }

  .owl-carousel .owl-nav button.owl-prev,
  .owl-carousel .owl-nav button.owl-next,
  .owl-carousel .owl-dot {
    z-index: 20;
    position: relative;
  }
}

/* Slides/Banners: dots no mobile/tablet, setas no desktop */
@media (max-width: 991.98px) {
  .main-carousel .owl-carousel.owl-campus .owl-nav,
  .main-course-modules-slides .owl-carousel.owl-course-modules .owl-nav {
    display: none !important;
  }

  .main-carousel .owl-carousel.owl-campus .owl-dots,
  .main-course-modules-slides .owl-carousel.owl-course-modules .owl-dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 10px;
    display: flex;
    justify-content: center;
    gap: 8px;
    padding: 0 12px;
  }

  .main-carousel .owl-carousel.owl-campus .owl-dots .owl-dot,
  .main-course-modules-slides .owl-carousel.owl-course-modules .owl-dots .owl-dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .main-carousel .owl-carousel.owl-campus .owl-dots .owl-dot span,
  .main-course-modules-slides .owl-carousel.owl-course-modules .owl-dots .owl-dot span {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.35);
    transition: transform 0.2s ease, background-color 0.2s ease;
    display: block;
  }

  .main-carousel .owl-carousel.owl-campus .owl-dots .owl-dot.active span,
  .main-course-modules-slides .owl-carousel.owl-course-modules .owl-dots .owl-dot.active span {
    background: var(--green-light, #09e3a6);
    transform: scale(1.15);
  }
}

@media (min-width: 992px) {
  .main-carousel .owl-carousel.owl-campus .owl-dots,
  .main-course-modules-slides .owl-carousel.owl-course-modules .owl-dots {
    display: none !important;
  }
}

/*
Editor
*/

.emojionearea .emojionearea-editor {
  color: var(--bs-body-color);
}

.emojionearea .emojionearea-editor:empty:before {
  color: var(--bs-secondary-color);
}

.emojionearea,
.emojionearea.form-control {
  background-color: #1f2225;
  border: 1px solid #424547;
}

.emojionearea .emojionearea-button>div.emojionearea-button-open,
.emojionearea .emojionearea-button-open {
  background-image: none !important;
}

.emojionearea .emojionearea-button-open:before {
  content: "\1F603";
}

.emojionearea * {
  background-color: #1f2225 !important;
}

.emojionearea .emojionearea-picker .emojionearea-search>input {
  border: 1px solid #424547;
}

.emojionearea .emojionearea-picker .emojionearea-search-panel+.emojionearea-scroll-area::-webkit-scrollbar {
  width: 5px;
  background-color: #424547;
}

.emojionearea .emojionearea-picker .emojionearea-search-panel+.emojionearea-scroll-area::-webkit-scrollbar-thumb {
  background-color: transparent;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  -ms-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  -o-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.3);
  -ms-box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.3);
  -o-box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.3);
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.3);
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
}

/*
Continue assistindo (sem thumbnail)
*/

.main-course-modules .main-keep-watching.main-keep-watching--text {
  height: 100%;
}

.main-course-modules .main-keep-watching__card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  height: 100%;
  min-height: 168px;
  padding: 1rem 1.1rem;
  border-radius: 15px;
  border: 1px solid var(--dark-cards, #1f2225);
  background: var(--dark-primary, #18161b);
  text-decoration: none;
  color: var(--gray-font-light, #e8e8e8);
  transition: border-color 0.2s ease, transform 0.2s ease;
}

.main-course-modules .main-keep-watching__card:hover {
  border-color: var(--green-light, #09e3a6);
  color: var(--gray-font-light, #e8e8e8);
  transform: translateY(-2px);
}

.main-course-modules .main-keep-watching__module {
  display: flex;
  align-items: flex-start;
  gap: 0.35rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin-bottom: 0.35rem;
}

.main-course-modules .main-keep-watching__module-icon {
  flex-shrink: 0;
  font-size: 0.95rem;
  line-height: 1.2;
  margin-top: 0.04em;
  opacity: 0.88;
}

.main-course-modules .main-keep-watching__module-text {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.main-course-modules .main-keep-watching__title {
  display: flex;
  align-items: flex-start;
  gap: 0.3rem;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.35;
  margin: 0 0 0.75rem 0;
  color: var(--gray-font-light, #f0f0f0);
  flex: 1 1 auto;
}

.main-course-modules .main-keep-watching__title-play {
  flex-shrink: 0;
  font-size: 0.68rem;
  line-height: 1.35;
  margin-top: 0.22em;
  opacity: 0.42;
  color: var(--gray-font-regular, #9a9c9e);
}

.main-course-modules .main-keep-watching__title-text {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.main-course-modules .main-keep-watching__footer {
  margin-top: auto;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.main-course-modules .main-keep-watching__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 100%;
  padding: 0.5rem 0.75rem;
  border-radius: 10px;
  font-size: 0.88rem;
  font-weight: 600;
  background: var(--green-light, #09e3a6);
  color: var(--dark-primary, #18161b);
}

.main-course-modules .main-keep-watching__cta-icon {
  font-size: 1.1rem;
}

/* Reserva a altura da linha de progresso quando não há barra, alinhando o CTA entre cards */
.main-course-modules .main-keep-watching__progress-slot {
  flex-shrink: 0;
  min-height: 1.125rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.main-course-modules .main-keep-watching__progress-slot--empty {
  pointer-events: none;
}

.main-course-modules .main-keep-watching__progress {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
}

.main-course-modules .main-keep-watching__progress-track {
  flex: 1 1 auto;
  height: 4px;
  margin: 0;
  background: var(--dark-cards, #2a2d31);
  border-radius: 4px;
  overflow: hidden;
}

.main-course-modules .main-keep-watching__progress-bar {
  background: var(--green-light, #09e3a6);
  border-radius: 4px;
}

.main-course-modules .main-keep-watching__meta {
  flex: 0 0 auto;
  font-size: 0.72rem;
  color: var(--gray-font-regular, #9a9c9e);
  white-space: nowrap;
}

.main-course-modules .main-keep-watching:not(.main-keep-watching--text) img {
  margin: 0 auto !important;
}

.main-course-modules .main-keep-watching:not(.main-keep-watching--text) p {
  font-size: 0.85em;
  color: #6f7072;
}

.main-course-modules .owl-keep-watching .owl-item {
  display: flex;
}

.main-course-modules .owl-keep-watching .owl-item>.main-keep-watching {
  width: 100%;
}

.main-course-modules .module-item {
  border: 1px solid #1f2225;
  border-radius: 15px;
  overflow: hidden;
}

.main-course-modules .module-item img {
  border-radius: initial !important;
  border: none !important;
  overflow: initial !important;
}

.main-course-modules .module-item .module-check {
  padding: 2px 8px;
  border-radius: 7px;
  border: 1px solid #191b1e;
  background-color: #18161b;
}

/*
Courses
*/

.btn.btn-course {
  position: initial !important;
}

.btn.btn-renew {
  color: #16a882;
  border: 1px solid #16a882;
  background-color: rgba(22, 168, 130, 0.1);
}

.btn.btn-renew:hover {
  border: 1px solid #16a882;
  background-color: #16a882;
}

.btn.btn-renew>[class*="ri-"] {
  color: #16a882;
}

.btn.btn-trailer,
.btn.btn-trailer>[class*="ri-"] {
  color: var(--green-light) !important;
}

.btn.btn-trailer {
  border-color: var(--green-light) !important;
}

.btn.btn-trailer:hover {
  background-color: var(--green-light) !important;
}

.btn.btn-trailer:hover>[class*="ri-"] {
  color: #18161b !important;
}

.card.card-course .card-body {
  padding-bottom: 20px !important;
}

.card.card-course .course-cover,
.card.card-course .class-cover {
  display: block;
  width: 100%;
}

/* Mesma proporção das capas de curso (550×300) para alinhar altura dos cards no grid */
.card.card-course img.course-cover,
.card.card-course img.class-cover {
  aspect-ratio: 550 / 300;
  object-fit: cover;
  object-position: center;
  height: auto;
}

/* Media skeleton (course/module covers) */
img.js-media-skeleton {
  display: block;
  width: 100%;
  background-color: #1b1f23;
}

img.js-media-skeleton--course {
  aspect-ratio: 550 / 300;
}

img.js-media-skeleton--module {
  aspect-ratio: 250 / 450;
}

img.js-media-skeleton--progress {
  /* Alta resolução no src (550×300); exibição compacta para não dominar o layout */
  width: auto;
  max-width: 176px;
  height: auto;
  aspect-ratio: 550 / 300;
  object-fit: cover;
  flex-shrink: 0;
}

/* Mesmo breakpoint que .progress-course (coluna no mobile): capa mais legível em telas pequenas
   (o HTML usa width="176"; sem width explícita aqui o max-width não ultrapassa o intrínseco) */
@media (max-width: 49.99em) {
  img.js-media-skeleton--progress {
    width: min(100%, 280px);
    max-width: 100%;
  }
}

img.js-media-skeleton--loading {
  background-image: linear-gradient(110deg,
      transparent 36%,
      rgba(255, 255, 255, 0.06) 50%,
      transparent 64%);
  background-size: 200% 100%;
  -webkit-animation: media-skeleton-shimmer 1.1s ease-in-out infinite;
  animation: media-skeleton-shimmer 1.1s ease-in-out infinite;
}

img.js-media-skeleton--ready {
  -webkit-animation: none;
  animation: none;
}

@-webkit-keyframes media-skeleton-shimmer {
  0% {
    background-position: 100% 0;
  }

  100% {
    background-position: -100% 0;
  }
}

@keyframes media-skeleton-shimmer {
  0% {
    background-position: 100% 0;
  }

  100% {
    background-position: -100% 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  img.js-media-skeleton--loading {
    -webkit-animation: none;
    animation: none;
    background-image: none;
  }
}

/*
Trailer
*/

.trailer__video {
  display: none;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}

#viewTrailer .trailer__video.js-trailer-video,
#viewTrailer .ratio iframe.trailer__video {
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  overflow: hidden;
}

.trailer__link {
  margin: 0 auto !important;
}

@media (min-width: 576px) {
  .modal-trailer {
    width: 1000px !important;
    max-width: 90% !important;
  }
}

/*
Divisors
*/

.divisor-header {
  display: flex;
  align-items: center;
}

.divisor-title {
  box-sizing: border-box;
  width: fit-content;
  min-height: 50px;
  margin: 0;
  display: inline-flex;
  align-items: center;
  position: relative;
  font-weight: 700;
  font-size: 18px;
  line-height: 24px;
  color: #6f7072;

  border-radius: 10px;
  border: 1px solid #1f2225;
  padding: 8px 28px;
}

/* Home v2: títulos dos divisores de cursos (generic__border__card; styles.min usa 40px) */
section.main-my-courses .generic__border__card h1,
section.main-my-courses .generic__border__card .h1 {
  line-height: 24px;
}

.line-divisor {
  height: 1px;
  flex-grow: 1;
  background-color: #1f2225;
}

.line-divisor.is-carousel {
  margin-right: 20px;
}

.line-divisor.is-carousel.line-divisor--no-nav {
  margin-right: 0;
}

.module-nav-controls {
  display: flex;
}

.courses-nav-controls {
  display: flex;
}

/*
Watching
*/

.section-watching {
  height: 0;
  overflow: hidden;
}

/*
Skill
*/

.card.card-user-profile .skill-item,
.modal-show-skill-info .skill-item {
  border: 1px solid #424547 !important;
}

.card.card-user-profile .skill-item {
  width: 52px;
  height: 52px;
  max-width: 100%;
  object-fit: contain;
  display: block;
  margin: 0 auto;
  box-sizing: border-box;
}

.card.card-user-profile .owl-user-skill .owl-item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
}

.card.card-user-profile .owl-user-skill .owl-item>.skill-item {
  flex: 0 0 auto;
}

.modal-show-skill-info .skill-item {
  width: 52px;
  height: 52px;
}

/*
Login / recuperação (altura da viewport; h-100 sozinho falha se body não tem height)
*/
body.campus-page-auth {
  min-height: 100vh;
}

.campus-auth-layout {
  flex: 1 0 auto;
  width: 100%;
}

.campus-auth-layout .bg_cover {
  min-height: 50vh;
}

@media (min-width: 768px) {
  .campus-auth-layout .bg_cover {
    min-height: 100%;
  }
}

/*
Login
*/

.card.card-login .card-body {
  padding: 1rem !important;
}

/* 380px */
@media (min-width: 23.75em) {
  .card.card-login .card-body {
    padding: 2rem !important;
  }
}

/* 410px */
@media (min-width: 25.625em) {
  .card.card-login .card-body {
    padding: 3rem !important;
  }
}

.btn-change-eye {
  display: flex;
  align-items: center;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 6;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
}

.campus-auth-logo {
  display: block;
  width: auto !important;
  margin-left: auto;
  margin-right: auto;
  object-fit: contain;
  max-width: min(70vw, 220px);
  max-height: 88px;
  opacity: 0;
}

.campus-auth-logo.is-logo-ready {
  opacity: 1;
}

.campus-auth-logo.is-logo-horizontal {
  max-width: min(62vw, 180px);
  max-height: 64px;
}

.campus-auth-logo.is-logo-square {
  max-width: min(54vw, 132px);
  max-height: 132px;
}

.campus-auth-logo.is-logo-vertical {
  max-width: min(36vw, 82px);
  max-height: 124px;
}

/*
Task
*/

.main-course-task .class-title {
  line-height: 25px;
  margin-bottom: 10px;
}

.title-class-mobile {
  width: 100%;
}

.title-class-desktop {
  display: none;
}

/* 390px */
@media (min-width: 75em) {
  .title-class-mobile {
    display: none;
  }

  .title-class-desktop {
    display: initial;
    max-width: 390px;
  }
}

.checkbox-completed-class.is-disabled {
  opacity: 0.5;
  pointer-events: none;
}

/*
Certificate
*/

.certificates__content {
  background-color: #191b1e;
  border: 1px solid #1f2225;
  min-height: 100%;
}

.main-profile-certificates .certificates-grid {
  display: grid;
  gap: 1rem;
  margin-left: 0 !important;
  margin-right: 0 !important;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px) {
  .main-profile-certificates .certificates-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .main-profile-certificates .certificates-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1600px) {
  .main-profile-certificates .certificates-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.main-profile-certificates .certificates-grid>.certificates-grid__cell {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.main-profile-certificates .certificates__content {
  min-width: 0;
}

.main-profile-certificates .certificates__preview {
  flex-shrink: 0;
  width: 100%;
  background-color: #141619;
}

.main-profile-certificates .certificates__content .j_convert {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  aspect-ratio: 297 / 210;
  margin: 0;
}

.main-profile-certificates .certificates__title {
  margin-top: 0.35rem !important;
  margin-bottom: 0.35rem !important;
  overflow-wrap: anywhere;
  word-break: break-word;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  max-width: 100%;
}

.main-profile-certificates .certificates__description {
  padding: 8px 12px 10px;
}

@media (min-width: 1200px) {
  .main-profile-certificates .certificates__description {
    padding: 10px 14px 12px;
  }
}

.certificates__description {
  padding: 10px 20px;
}

/*
Prévia do PDF (PDF.js): reserva altura e skeleton para não “pular” texto → imagem.
*/
.j_convert {
  position: relative;
  width: 100%;
  aspect-ratio: 297 / 210;
  background-color: #141619;
  overflow: hidden;
  line-height: 0;
}

.j_convert img {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  vertical-align: top;
}

.j_convert.j_convert--loading::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(110deg,
      transparent 36%,
      rgba(255, 255, 255, 0.06) 50%,
      transparent 64%);
  background-size: 200% 100%;
  -webkit-animation: j-convert-shimmer 1.15s ease-in-out infinite;
  animation: j-convert-shimmer 1.15s ease-in-out infinite;
  pointer-events: none;
}

.j_convert.j_convert--ready::after {
  display: none;
}

.j_convert.j_convert--ready::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: #141619;
  z-index: 2;
  pointer-events: none;
}

@-webkit-keyframes j-convert-shimmer {
  0% {
    background-position: 100% 0;
  }

  100% {
    background-position: -100% 0;
  }
}

@keyframes j-convert-shimmer {
  0% {
    background-position: 100% 0;
  }

  100% {
    background-position: -100% 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .j_convert.j_convert--loading::after {
    -webkit-animation: none;
    animation: none;
    background: #1f2225;
  }
}

.certificates .main-title {
  line-height: normal;
}

/* 992px */
@media (min-width: 62em) {
  .certificate-download {
    width: 50%;
    margin: 0 auto;
  }
}

/*
Header
*/

.link-logo {
  width: 180px;
}

/*
Notify
*/

.notify-content {
  max-height: 500px;
  overflow: auto;
}

.notify-content::-webkit-scrollbar {
  width: 7px;
  background-color: #1f2225;
}

.notify-content::-webkit-scrollbar-thumb {
  background-color: transparent;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  -ms-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  -o-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.3);
  -ms-box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.3);
  -o-box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.3);
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.3);
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
}

/* Modal ajaxModal – centralizar na tela (notificação, etc.) */
#ajaxModal.modal {
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

#ajaxModal .modal__content {
  position: relative;
  margin: auto;
  max-width: 560px;
  width: 100%;
  max-height: calc(100vh - 2rem);
  overflow: auto;
  background: var(--dark-cards, #1f2225);
  border: 1px solid var(--gray-font-bold, #424547);
  border-radius: 10px;
  box-shadow: 0 2px 50px 5px rgba(0, 0, 0, 0.2);
}

#ajaxModal .modal__form {
  padding: 1.25rem;
}

#ajaxModal .modal-body {
  max-height: 60vh;
  overflow-y: auto;
}

/* Modal notificações – uma linha, sem barra horizontal */
.notify-area {
  overflow: hidden;
  max-width: 320px;
}

/* Dropdown do sino: um pouco mais próximo do ícone (sobe) */
.main-header .notify-area {
  top: -6px;
}

.notify-area .notify-content {
  overflow-x: hidden;
  min-width: 0;
}

.notify-area .notify-item {
  min-width: 0;
}

.notify-area .notify-title-wrap {
  min-width: 0;
  overflow: hidden;
  flex: 1 1 auto;
}

.notify-area .notify-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  line-height: 18px !important;
}

.notify-area .notify-description {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
  flex: 1 1 auto;
  max-width: 100%;
  margin: 0;
}

.notify-area .notify-item-actions .notify-description {
  margin-right: 8px;
}

.notify-area .notify-btn-open {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 11px;
  text-decoration: none;
  background: var(--green-light, #00c853);
  color: #18161B;
  flex-shrink: 0;
  transition: opacity 0.2s;
}

.notify-area .notify-btn-open:hover {
  opacity: 0.9;
  color: #18161B;
}

.notify-area .notify-btn-open i {
  font-size: 12px;
}

.notify-date {
  white-space: nowrap;
  flex-shrink: 0;
}

.main-page-notes .btn-primary,
.main-page-notifications .btn-primary {
  width: auto;
  background-color: #ff3939;
}

.card.card-notifications .main-title {
  line-height: 25px;
  margin-bottom: 10px;
}

.notification-description a:not(.btn),
.notification-description a:not(.btn):hover {
  color: var(--green-light);
}

.notification-description p:not(:last-child) {
  margin-bottom: 15px;
}

/* Notificações – responsivo e quebra de texto */
.main-page-notifications .row {
  min-width: 0;
}

.main-page-notifications .card-notifications .card-body .col {
  min-width: 0;
  overflow-wrap: break-word;
  word-break: break-word;
}

.main-page-notifications .card-notifications .main-title,
.main-page-notifications .card-notifications .main-subtitle {
  overflow-wrap: break-word;
  word-break: break-word;
  max-width: 100%;
}

.main-page-notifications .j_notify-result .main-title {
  overflow-wrap: break-word;
  word-break: break-word;
  max-width: 100%;
}

.main-page-notifications .notification-description {
  min-width: 0;
  overflow-wrap: break-word;
  word-break: break-word;
  max-width: 100%;
}

/* Anotações – responsivo; quebra só em espaços, exceto strings muito longas (URLs). */
.main-page-notes .row {
  min-width: 0;
}

.main-page-notes .card-notes .card-body .col {
  min-width: 0;
  overflow-wrap: break-word;
  word-break: normal;
}

.main-page-notes .card-notes .main-title,
.main-page-notes .card-notes .main-subtitle {
  overflow-wrap: break-word;
  word-break: normal;
  max-width: 100%;
}

.main-page-notes .j_note-result .main-title,
.main-page-notes .j_note-result-header .main-title {
  overflow-wrap: break-word;
  word-break: normal;
  max-width: 100%;
  text-align: left !important;
}

.main-page-notes .j_note-result .col-12,
.main-page-notes .j_note-result p.main-subtitle,
.main-page-notes .j_note-result .annotation-body {
  min-width: 0;
  overflow-wrap: break-word;
  word-break: normal;
  max-width: 100%;
}

.main-page-notes .annotation-body {
  word-break: normal;
  overflow-wrap: break-word;
}

.main-page-notes .annotation-body p {
  margin-bottom: 0.75rem;
}

.main-page-notes .annotation-body p:last-child {
  margin-bottom: 0;
}

.main-page-notes .j_note-result-header,
.main-page-notes .j_note-result-header h2 {
  text-align: left !important;
}

.main-page-notes .j_note-result-header .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  white-space: nowrap;
}

.main-page-notes .j_note-result-header .btn.btn-sm {
  padding: 0.3rem 0.55rem;
  line-height: 1.2;
}

.main-page-notes .j_note-result-header .btn.btn-sm i {
  font-size: 1rem;
  line-height: 1;
}

.main-page-notes .j_note-result-header .btn .main-subtitle {
  white-space: nowrap;
}

@media (max-width: 767px) {
  .main-page-notes .j_note-result {
    margin-top: 1.75rem !important;
  }

  .main-page-notes .j_note-result>.row.mb-2 {
    margin-bottom: 1.25rem !important;
  }

  /* Botão apagar acima do título (ordem no DOM: título, botão). */
  .main-page-notes .j_note-result-header {
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 1rem;
  }

  .main-page-notes .j_note-result-header .main-title {
    margin-top: 0.25rem;
  }

  .main-page-notes .j_note-result-header .btn {
    width: 100%;
    min-height: 40px;
  }

  .main-page-notes .j_note-result .annotation-body {
    margin-bottom: 1.75rem !important;
    padding-top: 0.25rem;
  }

  .main-page-notes .annotations {
    padding-bottom: 0.5rem;
  }
}

/* Notificações (mobile): evita texto colado no botão "Carregar mais" */
@media (max-width: 767px) {
  .main-page-notifications .notifications {
    padding-bottom: 12px;
  }

  .main-page-notifications .j_load_more {
    margin-top: 22px !important;
  }

  /* Quando empilha no mobile, cria respiro entre o botão (coluna esquerda) e o conteúdo (coluna direita) */
  .main-page-notifications .j_notify-result {
    margin-top: 26px !important;
  }
}

/* Bloco em fluxo: reserva altura real e empurra o header de forma estável (body é flex column) */
.push-permission-banner-root {
  position: relative;
  width: 100%;
  flex-shrink: 0;
  z-index: 100060;
  /* min-height vem do JS (= altura do banner) */
}

/* Conteúdo do aviso: absoluto dentro do root (o root é quem ocupa espaço no layout) */
.push-permission-banner {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  width: 100%;
  box-sizing: border-box;
  background: #131116;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
  padding-top: env(safe-area-inset-top, 0);
  overflow: hidden;
  isolation: isolate;
  pointer-events: auto;
  transition: none !important;
  animation: none !important;
}

/* Faixa superior sólida (cor da plataforma / variante informativa) */
.push-permission-banner::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: var(--green-light, #09e3a6);
  pointer-events: none;
}

.push-permission-banner__row {
  position: relative;
}

.push-permission-banner__ctas {
  width: 100%;
}

/* Fechar (X) — canto superior direito */
.push-permission-banner__dismiss-x {
  position: absolute;
  top: calc(10px + env(safe-area-inset-top, 0));
  right: 12px;
  z-index: 3;
  width: 30px;
  height: 30px;
  padding: 0;
  border: none;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease, color 0.2s ease;
}

.push-permission-banner__dismiss-x i {
  font-size: 15px;
  line-height: 1;
}

.push-permission-banner__dismiss-x:hover {
  background: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.95);
}

.push-permission-banner__dismiss-x:active {
  transform: scale(0.96);
}

.push-permission-banner__container {
  padding-top: 1.35rem !important;
  padding-bottom: 1.35rem !important;
  padding-left: 1.35rem !important;
  padding-right: 2.75rem !important;
}

@media (min-width: 576px) {
  .push-permission-banner__container {
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important;
    padding-left: 1.5rem !important;
    padding-right: 3rem !important;
  }
}

.push-permission-banner__icon {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.35rem;
  color: var(--green-light, #09e3a6);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* Variante informativa: mesma paleta da mensagem principal (faixa, ícone e botão = --green-light) */
.push-permission-banner--hint {
  border-bottom-color: color-mix(in srgb, var(--green-light, #09e3a6) 28%, rgba(255, 255, 255, 0.07));
}

@supports not (color: color-mix(in srgb, white, black)) {
  .push-permission-banner--hint {
    border-bottom-color: rgba(255, 255, 255, 0.1);
  }
}

.push-permission-banner__title {
  letter-spacing: 0.02em;
}

.push-permission-banner__desc {
  line-height: 1.45;
  opacity: 0.95;
}

/* CTA principal: cor primária da plataforma (--green-light no :root do campus) */
.push-permission-banner__btn-primary {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 38px;
  padding: 0.4rem 1.1rem;
  border: none;
  border-radius: 12px;
  font-family: inherit;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  cursor: pointer;
  line-height: 1.2;
  background-color: var(--green-light) !important;
  color: #131116 !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.22);
  transition: filter 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
}

.push-permission-banner__btn-primary:hover {
  filter: brightness(1.06);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.3);
}

.push-permission-banner__btn-primary:active {
  transform: scale(0.98);
  filter: brightness(0.96);
}

/* Header fixo/sticky: acompanha altura do banner (variável setada no JS) */
body.has-push-permission-banner .main-header.fixed-top,
body.has-push-permission-banner header.fixed-top,
body.has-push-permission-banner .sticky-top.main-header {
  top: var(--push-permission-banner-height, 0px);
}

/*
Loading
*/

.btn-loading {
  display: none;
  height: 40px;
  position: absolute;
  top: calc(50% - 20px);
  right: 10px;
}

/*
Scroll modules
*/

.list-module-task {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 30px;
}

/* 992px: padding à direita maior para o cadeado não colidir com a barra de rolagem */
@media (min-width: 62em) {
  .list-module-task {
    max-height: 613px;
    padding-right: max(28px, env(safe-area-inset-right, 0px));
    overflow: auto;
    scrollbar-gutter: stable;
  }

  .list-module-task::-webkit-scrollbar {
    width: 7px;
  }

  .list-module-task::-webkit-scrollbar-thumb {
    background-color: #1f2225;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
  }

  .list-module-task.hovered::-webkit-scrollbar-thumb {
    background-color: var(--green-light);
  }
}

/*
Favorite
*/

/* Favoritos: espaço estável entre título e botões em qualquer largura (evita “grudar” ao quebrar linha) */
.main-favorite .header-favorite {
  row-gap: 1rem;
}

.main-favorite .main-favorite__buttons-header {
  flex-wrap: nowrap;
  row-gap: 0.5rem;
  column-gap: 0.5rem;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.main-favorite .header-favorite .main-favorite__buttons-header .btn-outline,
.main-favorite .header-favorite .main-favorite__buttons-header .btn-primary {
  width: auto;
  flex: 0 0 auto;
  min-width: 130px;
  box-sizing: border-box;
}

/* Aulas favoritas: mesmo grid responsivo dos cursos (course-cards-grid + course-grid__cell) */
.main-favorite__lessons-grid .course-grid__cell .card.card-course {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.main-favorite__lessons-grid .course-grid__cell .card-body {
  flex: 1 1 auto;
}

/* Favoritos — aula só texto (sem vídeo / sem capa): placeholder escuro, sem gradiente */
/* Especificidade acima de .card.card-course .class-cover { display: block } para centralizar */
.card.card-course .class-cover.class-cover--text-lesson {
  --fav-ph-accent: var(--green-light, #3ddc97);
  position: relative;
  aspect-ratio: 550 / 300;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  text-align: center;
  overflow: hidden;
  box-sizing: border-box;
  background: #14171c;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.card.card-course .class-cover--text-lesson__inner {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  max-width: calc(100% - 1rem);
  padding: 0 0.5rem;
  box-sizing: border-box;
  text-align: center;
}

.card.card-course .class-cover--text-lesson__icon-ring {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 0.875rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
}

.card.card-course .class-cover--text-lesson__icon-ring [class^="ri-"] {
  font-size: 1.65rem;
  color: var(--fav-ph-accent);
  line-height: 1;
  display: block;
}

.card.card-course .class-cover--text-lesson__title {
  flex: 0 1 auto;
  max-width: 12rem;
  min-width: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.01em;
  color: rgba(255, 255, 255, 0.88);
  text-align: center;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

/* Embed: mesma cor de destaque do tema */
.card.card-course .class-cover.class-cover--text-lesson-embed {
  --fav-ph-accent: var(--green-light, #3ddc97);
}

/*
Container
*/

@media (max-width: 1199px) {
  #left__content__slide {
    display: none;
  }

  .task-button-cine {
    display: none;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  #button__show__modules {
    display: block !important;
  }

  #right__content__slide {
    width: 100% !important;
  }
}

/*
Course List
*/

.card.card-course {
  margin: 6px 0;
  -webit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.card.card-course:hover {
  transform: translateY(-6px);
}

/* Cursos à venda: no hover do card, cadeado → desbloqueado na cor da marca (--green-light) */
.card.card-course .icon__overlay i.icon__overlay-unlock {
  display: none;
}

.card.card-course:hover .icon__overlay i.icon__overlay-lock {
  display: none;
}

.card.card-course:hover .icon__overlay i.icon__overlay-unlock {
  display: inline-block;
  color: var(--green-light);
}

/* Cursos gratuitos: no hover do card, add-circle → add-line na cor da marca */
.card.card-course .icon__overlay i.icon__overlay-free-add {
  display: none;
}

.card.card-course:hover .icon__overlay i.icon__overlay-free-circle {
  display: none;
}

.card.card-course:hover .icon__overlay i.icon__overlay-free-add {
  display: inline-block;
  color: var(--green-light);
}

.category-course {
  width: fit-content;
  display: inline-flex;
  position: relative;
  font-size: 0.75rem;
  color: #18161b;
  font-weight: bold;
  padding: 5px 20px;
  background-color: var(--green-light);
  -webkkkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
}

/*
Meus pedidos — 4 colunas (sem garantia); labels no mobile alinhados ao thead
*/
@media (max-width: 1202px) {
  .main-orders .orders-table .orders-body .orders-line .orders-cell:nth-child(1)::before {
    content: 'PRODUTO' !important;
  }

  .main-orders .orders-table .orders-body .orders-line .orders-cell:nth-child(2)::before {
    content: 'DATA' !important;
  }

  .main-orders .orders-table .orders-body .orders-line .orders-cell:nth-child(3)::before {
    content: 'VALOR' !important;
  }

  .main-orders .orders-table .orders-body .orders-line .orders-cell:nth-child(4) {
    margin-bottom: 20px !important;
  }

  .main-orders .orders-table .orders-body .orders-line .orders-cell:nth-child(4)::before {
    content: 'STATUS' !important;
  }
}

/*
 * Descrição da aula / termos: o TinyMCE grava o botão como "btn btn_green" (igual ao painel), mas no campus
 * o CTA padrão é "btn btn-primary bg-green" (atoms/_buttons.sass + .bg-green). Não há .btn_green no bundle
 * do campus — estes seletores espelham o mesmo visual do restante da plataforma.
 */
.main-course-task .class_description a.btn.btn_green,
.use-terms__body a.btn.btn_green {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  margin-top: 0.5rem;
  margin-bottom: 0.25rem;
  box-sizing: border-box;
  padding: 0 30px;
  min-height: 40px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  text-decoration: none !important;
  color: #18161b !important;
  border: 0;
  border-radius: 10px;
  background-color: var(--green-light) !important;
  background-image: none !important;
  box-shadow: none;
  --bs-btn-bg: var(--green-light);
  --bs-btn-color: #18161b;
  vertical-align: middle;
  transition: 0.3s ease;
  transition-property: transform, box-shadow, opacity;
}

.main-course-task .class_description a.btn.btn_green:hover,
.use-terms__body a.btn.btn_green:hover {
  box-shadow: 0 15px 30px -15px #424547;
  transform: translateY(-2px);
}

/* Formulários colados do preview: sem caixa cinza do painel; enviar = mesmo CTA verde do campus */
.main-course-task .class_description form {
  padding: 0 !important;
  margin: 1.25rem 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  text-align: inherit !important;
}

.main-course-task .class_description form label {
  text-transform: none !important;
  font-size: inherit !important;
}

.main-course-task .class_description form button,
.main-course-task .class_description form input[type="submit"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  margin-top: 0.75rem;
  padding: 0 30px;
  min-height: 40px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none !important;
  color: #18161b !important;
  border: 0 !important;
  border-radius: 10px !important;
  background-color: var(--green-light) !important;
  background-image: none !important;
  cursor: pointer;
  text-shadow: none !important;
  box-shadow: none;
  transition: 0.3s ease;
  transition-property: transform, box-shadow, opacity;
}

.main-course-task .class_description form button:hover,
.main-course-task .class_description form input[type="submit"]:hover {
  box-shadow: 0 15px 30px -15px #424547;
  transform: translateY(-2px);
}

.class_description p {
  margin-bottom: 15px;
}

.class_description ul,
.class_description ol {
  padding-left: 20px;
  margin-bottom: 20px;
}

.class_description ul {
  list-style-type: disc;
}

.class_description ol {
  list-style-type: auto;
}

/*
BTN Go back
*/

.btn-go-back {
  border: 1px solid #1f2225 !important;
}

/*
Modules
*/

.main-course-task .module-task {
  justify-content: flex-start !important;
}

/*
Terms
*/

.use-terms__body {
  height: 400px;
  overflow: auto;
}

.use-terms__body::-webkit-scrollbar {
  width: 7px;
}

.use-terms__body::-webkit-scrollbar-track {
  background: #191b1e;
}

.use-terms__body::-webkit-scrollbar-thumb {
  background: #3c4146;
  border-radius: 5px;
}

.use-terms__body::-webkit-scrollbar-thumb:hover {
  background: #4d5155;
}

.use-terms__body h1,
.use-terms__body h2,
.use-terms__body h3,
.use-terms__body h4,
.use-terms__body h5 {
  margin-bottom: 20px;
}

.use-terms__body p,
.use-terms__body ol,
.use-terms__body ul {
  margin-bottom: 30px;
}

.use-terms__body ol,
.use-terms__body ul {
  padding-left: 20px;
}

.use-terms__body ol {
  list-style-type: auto;
}

.use-terms__body ul {
  list-style-type: disc;
}

.use-terms__body a {
  color: var(--green-light);
}

.use-terms__body a.btn {
  display: inline-flex;
  width: fit-content;
}

.use-terms__date {
  cursor: default !important;
}

@media (min-width: 992px) {
  .use-terms__body {
    height: 500px;
  }
}

@media (min-width: 1200px) {
  .use-terms__body {
    height: 700px;
  }
}

/*
Annotation
*/

.card-notes {
  -webit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.card-notes:hover {
  transform: translateY(-6px);
}

/*
Sheen effect
*/

.sheen-effect {
  position: relative;
  overflow: hidden;
  transition: 0.3s all;
}

.sheen-effect::before {
  content: "";
  position: absolute;
  top: -100%;
  left: -200%;
  width: 200%;
  height: 200%;
  background: linear-gradient(120deg,
      rgba(255, 255, 255, 0) 30%,
      rgba(255, 255, 255, 0.12) 50%,
      rgba(255, 255, 255, 0) 70%);
  transform: rotate(25deg);
  transition: all 0.4s ease-in-out;
  pointer-events: none;
  z-index: 1;
}

.sheen-effect:hover {
  filter: brightness(1.3);
}

.sheen-effect:hover::before {
  left: 100%;
  top: 0%;
}

/*
Certificate verse
*/

.page-break {
  page-break-before: always;
}

/*
Categories
*/

.categories {
  width: 100%;
}

.categories__button {
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
}

.categories__icon--button {
  position: relative;
  font-size: 1.2em;
  margin-right: 7px;
  z-index: 9;
}

.categories__header {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  font-size: 0.9rem;
  font-weight: 600;
  padding: 10px 14px;
  background-color: #191b1e;
  border: 1px solid #2a2f34;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  transition: all 0.2s ease;
  cursor: pointer;
}

.categories__header:hover {
  box-shadow: 0 15px 30px -15px #202020;
  border-color: #3a4046;
  -webkit-transform: translateY(-2px);
  -moz-transform: translateY(-2px);
  transform: translateY(-2px);
}

.categories.is-open .categories__header {
  background-color: var(--green-light);
  border-color: var(--green-light);
}

.categories.is-open .categories__header:hover {
  border-color: var(--green-light);
}

.categories__title {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #6f7072;
}

.categories.is-open .categories__title {
  color: #18161b;
}

.categories__icon {
  color: #424547;
  font-size: 1rem;
}

.categories.is-open .categories__icon {
  color: #18161b;
}

.categories__response {
  padding: 30px;
}

.categories__response:not(.is-open) {
  display: none;
}

.categories__form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.categories__options {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 20px;
}

.categories__paragraph {
  display: flex;
  align-items: center;
  cursor: default;
  margin-bottom: 0;
  cursor: pointer;
}

.categories__paragraph,
.categories__paragraph:focus {
  color: #6f7072;
}

.categories__paragraph:hover {
  color: var(--green-light);
}

.categories__paragraph--option {
  gap: 10px;
}

.categories__checkbox {
  -webkit-appearance: none;
  appearance: none;
  width: 1.125rem;
  height: 1.125rem;
  margin: 0;
  flex-shrink: 0;
  border: 2px solid #424547;
  border-radius: 5px;
  background-color: #191b1e;
  cursor: pointer;
  -webkit-transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
  -moz-transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.categories__checkbox:hover {
  border-color: color-mix(in srgb, var(--green-light) 55%, #424547);
}

.categories__checkbox:checked {
  background-color: var(--green-light);
  border-color: var(--green-light);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.5 8.2 6.4 11.1 12.5 4.5' stroke='%2318161b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: 11px 11px;
  background-position: center;
  background-repeat: no-repeat;
}

.categories__checkbox:focus {
  outline: none;
}

.categories__checkbox:focus-visible {
  box-shadow: 0 0 0 2px #191b1e, 0 0 0 4px color-mix(in srgb, var(--green-light) 50%, transparent);
}

.categories__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: flex-start;
}

.categories__apply {
  padding: 6px 12px;
  font-size: 0.78rem;
  border-radius: 8px;
}

.categories__clear {
  color: #6f7072;
  text-decoration: none;
  font-size: 0.85rem;
}

.categories__clear:hover {
  color: var(--green-light);
}

/*
Annotation
*/

.card.card-notes .main-title {
  line-height: 1.5rem;
}

/*
Filter category
*/

.filter-category {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  position: relative;
  font-size: 0.65rem;
  color: #18161b;
  font-weight: bold;
  padding: 5px 8px 5px 12px;
  background-color: var(--green-light);
  -webkkkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
}

.filter-category__label {
  line-height: 1.25;
}

.filter-category__remove {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.1rem;
  height: 1.1rem;
  margin: 0 -4px 0 0;
  align-self: center;
  border-radius: 50%;
  color: inherit;
  opacity: 0.8;
  flex-shrink: 0;
  text-decoration: none;
  -webkit-transition: opacity 0.2s ease, background-color 0.2s ease, color 0.2s ease;
  -moz-transition: opacity 0.2s ease, background-color 0.2s ease, color 0.2s ease;
  transition: opacity 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.filter-category__remove i {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  line-height: 1;
  font-size: 0.75rem;
}

.filter-category__remove:hover,
.filter-category__remove:focus {
  opacity: 1;
  color: #191b1e;
  background-color: rgba(25, 27, 30, 0.12);
}

/*
Play chat
*/

.play__chat {
  width: 100%;
  height: 600px;
}

/*
Play Cinema
*/

.play-cinema.has-chat {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* 1400px */
@media (min-width: 87.5em) {
  .play-cinema.is-cinema-mode.has-chat {
    flex-direction: row;
    justify-content: space-between;
    gap: inherit;
  }

  .play-cinema.is-cinema-mode.has-chat .play-cinema__video {
    width: calc(100% - 430px);
  }

  .play-cinema.is-cinema-mode.has-chat .play-cinema__chat {
    width: 400px;
  }

  .play-cinema.is-cinema-mode.has-chat .play-cinema__chat .play__chat {
    height: 100%;
  }
}

/*
Material
*/

.materials .main-title {
  line-height: normal;
}

.materials__item {
  padding: 5px 0;
}

/* 772px */
@media (max-width: 48.25em) {
  .main-title.title-line::after {
    display: none;
  }
}

/*
Zoom iframe
*/

.zoom-iframe-wrapper {
  position: relative;
  width: 100%;
  height: 600px;
  border-radius: 15px;
}

.zoom-iframe-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/*
Nav Header Button
*/

.main-header .buttons-area .btn {
  width: auto !important;
  padding: 0 10px;
}

@media (max-width: 1202px) {
  .main-header .buttons-area .btn {
    width: auto !important;
    padding: 0 10px;
  }
}

/*
Clamp
*/

.card.card-course .card-body {
  padding: 20px 25px !important;
}

.card.card-course .card-body .main-title .main-title-clamp {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.card.card-course .card-body .main-title .main-title-clamp:hover {
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.card.card-course .card-body .description-course {
  line-height: 16px;
  text-align: center;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  line-clamp: 1;
  -webkit-line-clamp: 1;
  overflow: hidden;
  max-height: 16px;
  /* 1 linha */
  transition: max-height 0.35s ease;
}

.card.card-course .card-body .description-course:hover {
  -webkit-line-clamp: unset;
  line-clamp: unset;
  max-height: 160px;
  /* 10 linhas x 16px */
}

/*
Embed Container
*/

.embed-container iframe {
  width: 100%;
}

/*
My Profile
*/

.main-header .user-avatar-content .user-avatar .user-level-image {
  top: 5px;
}

.main-user-profile .user-avatar-content .user-avatar .user-level-image {
  position: absolute;
  inset: 0;
  top: 10px;
  width: 165px;
  height: 165px;
  max-width: 100%;
  max-height: 100%;
  pointer-events: none;
}

.main-user-profile .user-avatar-content .user-avatar .user-avatar-frame {
  display: flex;
  align-items: center;
  justify-content: center;
}

.main-user-profile .user-avatar-content .user-avatar {
  padding: 8px 20px 20px;
}

.main-user-profile .user-avatar-content .user-progress-content .progress {
  flex: 1 1 0;
  min-width: 0;
  max-width: 220px;
  width: auto;
  height: 5px;
}

@media (max-width: 991.98px) {
  .main-user-profile .user-avatar-content {
    align-items: center;
    width: 100%;
  }

  .main-user-profile .user-avatar-content .user-profile-info {
    max-width: 100%;
  }

  .main-user-profile .user-avatar-content .user-avatar {
    padding: 4px 16px 8px;
  }

  .main-user-profile .user-avatar-content .user-name {
    overflow-wrap: anywhere;
  }

  .main-user-profile .user-avatar-content .user-progress-content {
    max-width: 100%;
  }

  .main-user-profile .user-avatar-content .user-progress-content .progress {
    flex: 1 1 0;
    min-width: 0;
    width: auto;
    max-width: 72%;
    height: 4px;
  }
}

/*
Play Audio
*/

*:focus {
  outline: none;
}

.class-content #play-audio {
  width: 100%;
}

.class-content #player {
  position: relative;
  height: 100%;
  z-index: 3;
}

.class-content #player-track {
  flex: 1;
  padding: 15px 20px;
  margin: 0 15px 0 25px;
  background-color: #272629;
  border-radius: 10px;
  opacity: 0.75;
}

.class-content #track-time {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
}

.class-content #current-time,
.class-content #track-length {
  color: var(--green-light);
  font-weight: bold;
  font-size: 0.875em;
  transition: 0.3s ease all;
}

.class-content #s-area,
.class-content #seek-bar {
  position: relative;
  height: 4px;
  border-radius: 4px;
}

.class-content #s-area {
  background-color: #ffe8ee;
  cursor: pointer;
}

.class-content #ins-time {
  position: absolute;
  top: -29px;
  color: #fff;
  font-size: 12px;
  white-space: pre;
  padding: 5px 6px;
  border-radius: 4px;
  display: none;
}

.class-content #s-hover {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  opacity: 0.2;
  z-index: 2;
}

.class-content #ins-time,
.class-content #s-hover {
  background-color: #3b3d50;
}

.class-content #seek-bar {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 0;
  background-color: var(--green-light);
  transition: 0.2s ease width;
  z-index: 1;
}

.class-content #player-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  height: 100%;
  background-color: #191b1e;
  border: 1px solid #1f2225;
  border-radius: 15px;
  padding: 15px 20px;
  z-index: 2;
}

.class-content #album-art,
.class-cover--text-lesson .album-art {
  position: relative;
  width: 65px;
  height: 65px;
  transform: rotateZ(0);
  border-radius: 50%;
  box-shadow: 0 0 0 5px #272629;
  overflow: hidden;
  flex-shrink: 0;
  /* background: linear-gradient(45deg, var(--green-light), #272629); */
}

@keyframes pulse-shadow {
  0% {
    box-shadow: 0 0 0 10px #272629;
  }

  25% {
    box-shadow: 0 0 0 8px #272629;
  }

  50% {
    box-shadow: 0 0 0 6px #272629;
  }

  75% {
    box-shadow: 0 0 0 7px #272629;
  }

  100% {
    box-shadow: 0 0 0 10px #272629;
  }
}

.class-content #album-art.active {
  animation: pulse-shadow 2s infinite ease-in-out;
}

.class-content #album-art:before,
.class-cover--text-lesson .album-art:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  width: 20px;
  height: 20px;
  margin: -10px auto 0 auto;
  background-color: #1f2225;
  border-radius: 50%;
  box-shadow: inset 0 0 0 2px #585859;
  z-index: 2;
}

.class-content #album-art img,
.class-cover--text-lesson .album-art img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 1;
  z-index: 1;
  object-fit: cover;
  object-position: center;
}

.class-content #album-art.active img.active {
  z-index: 1;
  animation: rotateAlbumArt 3s linear 0s infinite forwards;
}

@keyframes rotateAlbumArt {
  0% {
    transform: rotateZ(0);
  }

  100% {
    transform: rotateZ(360deg);
  }
}

.class-content #buffer-box {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  height: 13px;
  color: #1f1f1f;
  font-size: 13px;
  font-family: var(--site-font-family), Helvetica, sans-serif;
  text-align: center;
  font-weight: bold;
  line-height: 1;
  padding: 6px;
  margin: -12px auto 0 auto;
  opacity: 0;
  z-index: 2;
}

.class-content #album-art img,
.class-cover--text-lesson .album-art img,
.class-content #buffer-box {
  transition: 0.1s linear all;
}

.class-content #album-art.buffering img {
  opacity: 0.25;
}

.class-content #album-art.buffering img.active {
  opacity: 0.8;
  filter: blur(2px);
  -webkit-filter: blur(2px);
}

.class-content #album-art.buffering #buffer-box {
  opacity: 1;
}

.class-content #player-controls {
  display: flex;
}

.class-content #play-pause-button {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
  background-color: #272629;
  border-radius: 6px;
  cursor: pointer;
  opacity: 0.75;
  transition: opacity 0.2s ease-in-out;
}

.class-content #play-pause-button i {
  display: block;
  color: #d6dee7;
  font-size: 26px;
  text-align: center;
  line-height: 1;
}

.class-content #play-pause-button,
.class-content #play-pause-button i {
  transition: 0.2s ease all;
}

.class-content #play-pause-button:hover {
  opacity: 0.9;
}

.class-content #play-pause-button:hover i {
  color: var(--green-light);
}

/*
Modules
*/

.progress-course {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
}

.progress-course__part--left,
.progress-course__part--right {
  justify-content: center;
  max-width: 100%;
}

.progress-course__part--left {
  flex-wrap: wrap;
  min-width: 0;
}

@media (max-width: 49.99em) {
  .progress-course__header {
    flex: 1 1 100%;
    text-align: center;
  }
}

.progress-course__part--right {
  min-width: 0;
  width: 100%;
}

.progress-course__title {
  font-size: 1.2em;
  line-height: 26px;
}

.progress-course__concluded {
  color: #6f7072;
}

.progress-course__totals {
  color: #6f7072;
}

.progress-course__check {
  color: var(--green-light);
}

.progress-course__progress {
  height: 6px;
}

.progress-course__progress-bar {
  background-color: var(--green-light);
}

/* 800px */
@media (min-width: 50em) {
  .progress-course {
    flex-direction: row;
    justify-content: space-between;
  }

  .progress-course__part--left {
    justify-content: flex-start;
  }

  .progress-course__part--right {
    min-width: 270px;
    width: auto;
  }
}

/*
Form Comment
*/

.btn.btn-send-comment {
  min-width: 200px;
  min-height: 38px;
}

/* Título da anotação aberta – forçar alinhamento à esquerda */
section.main-page-notes .j_note-result .row .col.j_note-result-header h2.main-title,
section.main-page-notes .j_note-result-header h2.main-title {
  text-align: left !important;
  display: block;
  width: 100%;
}

/*
Segment Interest - select com seta
*/

.form-custom .inp-group-sign-up select {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  border: 0;
  box-shadow: none;
  font-size: 14px;
  background: #1f2225;
}

/* Segment interest / nacionalidade: select + seta; uma linha só, overflow visible */
.form-custom .inp-group-select.inp-group-sign-up {
  border-radius: 10px;
  position: relative;
  overflow: visible;
  flex-wrap: nowrap;
}

.form-custom .inp-group-select .input-group-text {
  border-radius: 10px;
}

.form-custom .inp-group-select .input-group-text:first-child {
  border-top-left-radius: 10px !important;
  border-bottom-left-radius: 10px !important;
}

/* Select é filho direto = Bootstrap aplica flex:1; min-width 0 para não quebrar linha */
.form-custom .inp-group-select .form-select-sign-up {
  min-width: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border: 0;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 2.5rem;
  background: #1f2225;
  box-shadow: none;
  font-size: 14px;
}

/* Seta: ao lado do select (no fluxo), clicável para abrir a lista via JS */
.form-custom .inp-group-select .select-arrow {
  flex: 0 0 auto;
  width: 2.5rem;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  border-left: 0;
  background: #1f2225;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--gray-font-regular, #8a8f98);
  font-size: 1.25rem;
  border: 0;
  padding: 0;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.form-custom .inp-group-select .select-arrow:hover {
  color: var(--gray-font-light, #b8bcc4);
  background: #272a2e;
}

.form-custom .inp-group-select .select-arrow:focus {
  outline: none;
  box-shadow: none;
}

/* Mensagem de erro abaixo do campo quando o campo está dentro de .input-group */
.form-custom .input-group.is-invalid+.invalid-feedback {
  display: block;
}

/* Placeholder do campo CPF/CNPJ/Passaporte: fonte menor */
.form-custom .js-user-document::placeholder {
  font-size: 12px;
  opacity: 0.9;
}

.form-custom .js-user-document::-webkit-input-placeholder {
  font-size: 12px;
  opacity: 0.9;
}

.form-custom .js-user-document::-moz-placeholder {
  font-size: 12px;
  opacity: 0.9;
}

.form-custom .js-user-document:-ms-input-placeholder {
  font-size: 12px;
  opacity: 0.9;
}

/*
 * Player YouTube: container 16:9 + barra de controles custom (sem cara do YouTube)
 */
#frame__video #play-video {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

#play-video {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 0;
}

/* YouTube (iframe nativo): preencher o ratio 16x9 */
#play-video #play-iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Navegação full-page (PWA / sem barra do browser): feedback de carregamento */
.campus-nav-progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  z-index: 2147483000;
  pointer-events: none;
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.15s ease;
}

.campus-nav-progress.is-visible {
  opacity: 1;
}

.campus-nav-progress__bar {
  display: block;
  height: 100%;
  width: 100%;
  transform-origin: 0 50%;
  transform: scaleX(0);
  background: var(--green-light, #09e3a6);
  box-shadow: 0 0 10px color-mix(in srgb, var(--green-light, #09e3a6) 55%, transparent);
}

/*
Class announce
*/

.class-announce-card {
  margin-bottom: 1.5rem;
}

.class-announce-card__row {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.85rem;
}

.class-announce-card__thumb {
  flex-shrink: 0;
  border-radius: 8px;
  overflow: hidden;
  background: #1f2937;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 9;
}

.class-announce-card__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  vertical-align: top;
}

/* Skeleton do campus: mesma animação que curso/módulos, cor alinhada ao fundo do thumb */
.class-announce-card__thumb img.js-media-skeleton {
  background-color: #1f2937;
}

.class-announce-card__main {
  flex: 1;
  min-width: 0;
  max-width: 800px;
}

.class-announce-card__title {
  color: #fff;
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1.35;
  margin: 0 0 0.5rem;
}

.class-announce-card__desc {
  color: #cbd5e1;
  font-size: 0.95rem;
  line-height: 1.5;
  margin-bottom: 0;
}

.class-announce-card__desc p:last-child {
  margin-bottom: 0;
}

.class-announce-card__desc a {
  color: #86efac;
}

.class-announce-card__cta {
  width: 100%;
  margin-top: 0.5rem;
  white-space: nowrap;
}

.class-announce-card__prices {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.35rem;
  padding-top: 0.2rem;
  text-align: left;
}

.class-announce-card__price-old-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.65rem;
}

.class-announce-card__price-old {
  color: #9ca3af;
  text-decoration: line-through;
  font-size: 0.95rem;
  margin: 0;
}

.class-announce-card__badge {
  background: #14532d;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  line-height: 1.2;
}

.class-announce-card__price-current {
  color: #4ade80;
  font-weight: 700;
  font-size: 1.65rem;
  line-height: 1.2;
  margin: 0;
}

.class-announce-card__installments {
  color: #9ca3af;
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.35;
  margin-top: 0.35rem;
}

.class-add-note-btn {
  text-transform: none !important;
}

@media (min-width: 992px) {
  .class-announce-card__row {
    flex-direction: row;
    align-items: center;
    gap: 0.9rem;
  }

  .class-announce-card__thumb {
    width: clamp(240px, 30vw, 300px);
    max-width: 36%;
  }

  .class-announce-card__thumb img {
    width: 100%;
    height: 100%;
  }

  .class-announce-card__main {
    flex: 0 1 440px;
    max-width: 440px;
    margin-left: 0.5rem;
  }

  .class-announce-card__prices {
    margin-left: 0;
    text-align: left;
    align-items: flex-start;
    min-width: 0;
    max-width: none;
    border-left: 1px solid var(--gray-font-bold, #424547);
    padding-left: 1.5rem;
  }

  .class-announce-card__cta {
    width: auto;
    min-width: 100%;
  }

  .class-announce-card__price-old-row {
    justify-content: flex-start;
  }
}

/*
Simulated
*/

/* Tokens do fluxo de provas (cores sólidas; fundos que eram gradient/mix → --card) */
:root {
  --bg: #0d0f14;
  --surface: #13161d;
  --card: #191b1e;
  --border: #2a2f34;
  --accent: var(--green-light, #09e3a6);
  --accent2: #34d399;
  --warn: #f59e0b;
  --danger: #FF3939;
  --text: var(--gray-font-light, #b8bcc4);
  --muted: #6b7280;
  --sim-btn-hover-shadow: 0 10px 20px -16px #424547;
  /* Simulated home — caixas de ícone nos stats (sólidas, sem gradiente) */
  --sim-stat-icon-blue-bg: #1a2638;
  --sim-stat-icon-blue-fg: #60a5fa;
  --sim-stat-icon-green-bg: #142922;
  --sim-stat-icon-amber-bg: #2c2310;
  --sim-stat-icon-rose-bg: #2a141c;
}

/*
Simulated Home
*/

/* Mantém tipografia padrão do campus em todo o sistema de provas */
.simulated-home,
.simulated-home *,
.simulated-questions,
.simulated-questions *,
.simulated-result,
.simulated-result * {
  font-family: var(--site-font-family), Helvetica, sans-serif !important;
}

/* Preserva a fonte do Remix Icon dentro do sistema de provas */
.simulated-home i[class^="ri-"],
.simulated-home i[class*=" ri-"],
.simulated-questions i[class^="ri-"],
.simulated-questions i[class*=" ri-"],
.simulated-result i[class^="ri-"],
.simulated-result i[class*=" ri-"] {
  font-family: remixicon !important;
  font-style: normal;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  vertical-align: middle;
}

.simulated-home {
  padding-top: 1.5rem;
  margin-bottom: 100px;
}

/* wrapper */
.simulated-home__wrapper {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

@keyframes simulated-home-fadeUp {
  from {
    opacity: 0;
    transform: translateY(28px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* module label */
.simulated-home__module-tag {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--accent);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: .35rem .85rem;
  border-radius: 8px;
  width: fit-content;
}

.simulated-home__module-tag svg,
.simulated-home__module-tag i {
  width: 13px;
  height: 13px;
}

/* header */
.simulated-home__exam-header {
}

.simulated-home__exam-header h1 {
  font-size: clamp(1.6rem, 4vw, 2.3rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.02em;
}

.simulated-home__exam-header h1 span {
  background: none;
  color: var(--accent);
  -webkit-text-fill-color: unset;
}

.simulated-home__exam-header p {
  margin-top: .55rem;
  font-size: .9rem;
  color: var(--muted);
  line-height: 1.6;
  max-width: 520px;
}

/* stats row */
.simulated-home__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 1rem;
}

.simulated-home__stat-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 1.1rem 1.2rem;
  display: flex;
  flex-direction: column;
  gap: .35rem;
  position: relative;
  overflow: hidden;
  transition: border-color .2s, transform .2s;
}

.simulated-home__stat-card:hover {
  border-color: var(--border);
  transform: translateY(-2px);
}

.simulated-home__stat-icon {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: .2rem;
  position: relative;
  z-index: 1;
  flex-shrink: 0;
}

.simulated-home__stat-icon svg,
.simulated-home__stat-icon i {
  width: 16px;
  height: 16px;
}

.simulated-home__stat-icon--blue {
  background: var(--sim-stat-icon-blue-bg);
  color: var(--sim-stat-icon-blue-fg);
}

.simulated-home__stat-icon--green {
  background: var(--sim-stat-icon-green-bg);
  color: var(--green-light, #09e3a6);
}

.simulated-home__stat-icon--amber {
  background: var(--sim-stat-icon-amber-bg);
  color: var(--warn);
}

.simulated-home__stat-icon--rose {
  background: var(--sim-stat-icon-rose-bg);
  color: var(--danger);
}

.simulated-home__stat-label {
  font-size: .72rem;
  color: var(--muted);
  font-weight: 500;
  letter-spacing: .04em;
  text-transform: uppercase;
  position: relative;
  z-index: 1;
}

.simulated-home__stat-value {
  font-family: 'DM Mono', monospace;
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--text);
  position: relative;
  z-index: 1;
}

.simulated-home__stat-value em {
  font-style: normal;
  font-size: .8rem;
  color: var(--muted);
  margin-left: .2rem;
}

/* divider */
.simulated-home__divider {
  height: 1px;
  background: var(--border);
}

/* material panel */
.simulated-home__material-panel {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 1.4rem 1.6rem;
  display: flex;
  align-items: center;
  gap: 1.2rem;
  transition: border-color .2s;
}

.simulated-home__material-panel:hover {
  border-color: var(--border);
}

.simulated-home__material-icon {
  width: 46px;
  height: 46px;
  flex-shrink: 0;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--accent);
}

.simulated-home__material-icon svg,
.simulated-home__material-icon i {
  width: 22px;
  height: 22px;
}

.simulated-home__material-text {
  flex: 1;
}

.simulated-home__material-text strong {
  display: block;
  font-size: .95rem;
  font-weight: 600;
}

.simulated-home__material-text span {
  font-size: .8rem;
  color: var(--muted);
}

.simulated-home__btn-download {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--accent);
  font-family: 'Sora', sans-serif;
  font-size: .8rem;
  font-weight: 600;
  padding: .6rem 1.2rem;
  border-radius: 10px;
  cursor: pointer;
  transition: background .2s, border-color .2s, transform .15s, box-shadow .2s;
  white-space: nowrap;
  text-decoration: none;
}

.simulated-home__btn-download:hover {
  background: var(--card);
  border-color: var(--border);
  transform: translateY(-2px);
  box-shadow: var(--sim-btn-hover-shadow);
  color: var(--accent);
}

.simulated-home__btn-download:active {
  transform: translateY(0);
}

.simulated-home__btn-download svg,
.simulated-home__btn-download i {
  width: 15px;
  height: 15px;
}

/* notice (padrão campus: faixa informativa com --green-light) */
.simulated-home__notice {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 1rem 1.2rem;
  font-size: .83rem;
  color: var(--gray-font-light, #b8bcc4);
  line-height: 1.55;
}

.simulated-home__notice svg,
.simulated-home__notice i {
  width: 18px;
  height: 18px;
  color: var(--green-light, #09e3a6);
  flex-shrink: 0;
  margin-top: 1px;
}

/* prova em aberto (referência: simulated provas.php) */
.simulated-home__session-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 1.1rem 1.25rem 1.25rem;
  margin-bottom: 1.25rem;
}

.simulated-home__session-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
  padding-bottom: .85rem;
  border-bottom: 1px solid var(--border);
}

.simulated-home__session-course {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--text);
  letter-spacing: .01em;
}

.simulated-home__session-started {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: .78rem;
  font-weight: 600;
  color: var(--accent);
  background: var(--card);
  border: 1px solid var(--border);
  padding: .35rem .65rem;
  border-radius: 999px;
  white-space: nowrap;
}

.simulated-home__session-started svg,
.simulated-home__session-started i {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.simulated-home__session-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.45fr) minmax(0, 0.85fr) minmax(0, 1fr);
  gap: .75rem 1rem;
  margin-bottom: 1.1rem;
}

@media (max-width: 768px) {
  .simulated-home__session-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.simulated-home__session-cell {
  min-width: 0;
}

.simulated-home__session-label {
  display: block;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--muted);
  margin-bottom: .25rem;
}

.simulated-home__session-val {
  display: block;
  font-size: .92rem;
  font-weight: 700;
  color: var(--text);
  font-variant-numeric: tabular-nums;
}

.simulated-home__session-val--muted {
  color: var(--muted);
  font-weight: 600;
}

.simulated-home__session-status {
  display: inline-block;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  padding: .28rem .55rem;
  border-radius: 999px;
  background: var(--card);
  color: var(--danger);
  border: 1px solid var(--border);
}

.simulated-home__session-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-end;
  gap: .65rem;
}

.simulated-home__btn-resume {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .65rem 1.15rem;
  border-radius: 10px;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--accent);
  background: var(--card);
  border: 1px solid var(--border);
  box-shadow: none;
  transition: transform .15s, box-shadow .2s;
}

.simulated-home__btn-resume:hover {
  transform: translateY(-2px);
  box-shadow: var(--sim-btn-hover-shadow);
  color: var(--accent);
}

.simulated-home__btn-retry {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .65rem 1.15rem;
  border-radius: 10px;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--accent);
  background: var(--card);
  border: 1px solid var(--border);
  transition: background .15s, border-color .15s, transform .15s, box-shadow .2s;
}

.simulated-home__btn-retry:hover {
  background: var(--card);
  border-color: var(--border);
  transform: translateY(-2px);
  box-shadow: var(--sim-btn-hover-shadow);
  color: var(--accent);
}

.simulated-home__btn-retry svg,
.simulated-home__btn-retry i {
  width: 16px;
  height: 16px;
  opacity: .9;
}

.simulated-home__btn-retry--disabled {
  opacity: .45;
  cursor: not-allowed;
  pointer-events: none;
  filter: grayscale(.2);
}

.simulated-home__btn-retry-wrap {
  cursor: help;
}

/* Histórico de provas (EAD simulated home) */
.simulated-home__history {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: flex-start;
  margin-top: 1.25rem;
}

.simulated-home__history-main {
  flex: 1 1 280px;
  min-width: 0;
}

.simulated-home__history-title {
  font-family: 'Sora', sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--text);
  margin: 0 0 0.75rem;
}

.simulated-home__history-table-wrap {
  overflow-x: auto;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: var(--card);
}

.simulated-home__history-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.simulated-home__history-table th,
.simulated-home__history-table td {
  padding: 0.65rem 0.85rem;
  text-align: left;
  border-bottom: 1px solid var(--border);
  vertical-align: middle;
}

.simulated-home__history-table th {
  color: var(--muted);
  font-weight: 600;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.simulated-home__history-table tbody tr:last-child th,
.simulated-home__history-table tbody tr:last-child td {
  border-bottom: none;
}

.simulated-home__history-th-center,
.simulated-home__history-grade,
.simulated-home__history-status {
  text-align: center;
}

.simulated-home__history-id {
  font-weight: 700;
  color: var(--text);
}

.simulated-home__history-time {
  white-space: nowrap;
  color: var(--muted);
  min-width: 9.5rem;
}

.simulated-home__history-dash {
  color: var(--muted);
}

.simulated-home__hist-badge {
  display: inline-block;
  min-width: 2.25rem;
  padding: 0.2rem 0.55rem;
  border-radius: 8px;
  font-weight: 700;
  font-size: 0.8rem;
  text-align: center;
}

.simulated-home__hist-badge--success {
  background: var(--card);
  color: var(--green-light, #09e3a6);
  border: 1px solid var(--border);
}

.simulated-home__hist-badge--danger {
  background: var(--card);
  color: var(--danger);
  border: 1px solid var(--border);
}

.simulated-home__hist-badge--brand {
  background: var(--card);
  color: var(--green-light, #09e3a6);
  border: 1px solid var(--border);
}

.simulated-home__hist-badge--muted {
  background: var(--card);
  color: var(--muted);
  border: 1px solid var(--border);
}

.simulated-home__hist-status {
  display: inline-block;
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.75rem;
}

.simulated-home__hist-status--open {
  background: var(--card);
  color: var(--danger);
  border: 1px solid var(--border);
}

.simulated-home__hist-status--done {
  background: var(--card);
  color: var(--green-light, #09e3a6);
  border: 1px solid var(--border);
}

.simulated-home__hist-status--expired {
  background: var(--card);
  color: var(--muted);
  border: 1px solid var(--border);
}

.simulated-home__history-action {
  text-align: right;
}

.simulated-home__hist-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.45rem 0.85rem;
  border-radius: 10px;
  font-family: 'Sora', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: transform 0.15s, box-shadow 0.2s;
  white-space: nowrap;
}

.simulated-home__hist-btn--resume {
  background: var(--card);
  color: var(--accent);
  border: 1px solid var(--border);
  box-shadow: none;
}

.simulated-home__hist-btn--resume:hover {
  transform: translateY(-2px);
  box-shadow: var(--sim-btn-hover-shadow);
  color: var(--accent);
}

.simulated-home__hist-btn--correction {
  background: var(--card);
  color: var(--green-light, #09e3a6);
  border: 1px solid var(--border);
  box-shadow: none;
}

.simulated-home__hist-btn--correction:hover {
  background: var(--card);
  transform: translateY(-2px);
  box-shadow: var(--sim-btn-hover-shadow);
  color: var(--green-light, #09e3a6);
}

.simulated-home__history-aside {
  flex: 0 0 auto;
  width: 100%;
  max-width: 220px;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.simulated-home__history-attempts-msg {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.45;
  color: var(--muted);
}

.simulated-home__history-attempts-msg svg,
.simulated-home__history-attempts-msg i {
  flex-shrink: 0;
  margin-top: 0.1rem;
  color: var(--green-light, #09e3a6);
}

.simulated-home__history-attempts-msg--muted {
  color: var(--muted);
  opacity: 0.85;
}

.simulated-home__history-attempts-msg--warn {
  font-weight: 600;
}

.simulated-home__hist-btn--tryagain {
  width: 100%;
  padding: 0.85rem 1rem;
  font-size: 0.8rem;
  background: var(--card);
  color: var(--accent);
  border: 1px solid var(--border);
  box-shadow: none;
}

.simulated-home__hist-btn--tryagain:hover {
  transform: translateY(-2px);
  box-shadow: var(--sim-btn-hover-shadow);
  color: var(--accent);
}

.simulated-home__hist-btn--disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
  box-shadow: none;
}

.simulated-home__hist-try-wrap {
  cursor: help;
  display: block;
}

@media (max-width: 768px) {
  .simulated-home__history-aside {
    max-width: none;
  }

  .simulated-home__hist-btn--tryagain {
    width: 100%;
  }

  .simulated-home__history-action {
    text-align: center;
  }

  .simulated-home__history-table .simulated-home__hist-btn {
    width: 100%;
  }
}

/* action row */
.simulated-home__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.simulated-home__btn-start {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--accent);
  font-family: 'Sora', sans-serif;
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: .02em;
  padding: .9rem 2rem;
  border-radius: 12px;
  cursor: pointer;
  box-shadow: none;
  transition: transform .2s, box-shadow .2s;
  position: relative;
  overflow: hidden;
}

.simulated-home__btn-start::before {
  content: '';
  position: absolute;
  inset: 0;
  background: transparent;
}

.simulated-home__btn-start:hover {
  transform: translateY(-2px);
  box-shadow: var(--sim-btn-hover-shadow);
  color: var(--accent);
}

.simulated-home__btn-start:active {
  transform: translateY(0);
}

.simulated-home__btn-start svg,
.simulated-home__btn-start i {
  width: 18px;
  height: 18px;
}

.simulated-home__btn-start--disabled {
  opacity: .5;
  cursor: not-allowed;
  pointer-events: none;
  box-shadow: none;
}

.simulated-home__btn-start--disabled:hover {
  transform: none;
}

@media (max-width: 540px) {
  .simulated-home__material-panel {
    flex-direction: column;
    align-items: flex-start;
  }

  .simulated-home__session-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .simulated-home__btn-resume,
  .simulated-home__btn-retry-wrap,
  .simulated-home__btn-retry {
    width: 100%;
    justify-content: center;
  }

  .simulated-home__actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .simulated-home__btn-start {
    width: 100%;
    justify-content: center;
  }
}

/*
Simulated Questions
*/

.simulated-questions {
  padding-top: 1.5rem;
  margin-bottom: 100px;
}

@keyframes simulated-questions-fadeUp {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes simulated-questions-pulse-ring {
  0% {
    box-shadow: 0 0 0 0 var(--border);
  }

  70% {
    box-shadow: 0 0 0 8px transparent;
  }

  100% {
    box-shadow: 0 0 0 0 transparent;
  }
}

@keyframes simulated-questions-blink {
  50% {
    opacity: 0;
  }
}

/* ── LAYOUT ── */
.simulated-questions__wrapper {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

/* ── HEADER ── */
.simulated-questions__exam-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.simulated-questions__module-tag {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--accent);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: .35rem .85rem;
  border-radius: 8px;
}

.simulated-questions__module-tag svg,
.simulated-questions__module-tag i {
  width: 13px;
  height: 13px;
}

.simulated-questions__header-right {
  display: flex;
  gap: .75rem;
}

/* live timer badge */
.simulated-questions__timer-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .2rem;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: .5rem 1rem;
  animation: simulated-questions-pulse-ring 2s infinite;
}

.simulated-questions__timer-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green-light, #09e3a6);
  flex-shrink: 0;
  animation: simulated-questions-blink 1s step-end infinite;
}

.simulated-questions__timer-label {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-size: .65rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .08em;
  line-height: 1.2;
}

.simulated-questions__timer-val {
  font-family: 'DM Mono', monospace;
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--green-light, #09e3a6);
  letter-spacing: .04em;
}

/* progress pill */
.simulated-questions__progress-pill {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: .5rem 1rem;
  display: flex;
  flex-direction: column;
  gap: .35rem;
  min-width: 160px;
}

.simulated-questions__progress-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.simulated-questions__progress-label {
  font-size: .65rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .08em;
}

.simulated-questions__progress-count {
  font-family: 'DM Mono', monospace;
  font-size: .78rem;
  color: var(--accent);
}

.simulated-questions__progress-bar {
  height: 4px;
  background: var(--border);
  border-radius: 99px;
  overflow: hidden;
}

.simulated-questions__progress-fill {
  height: 100%;
  background: var(--accent);
  border-radius: 99px;
  transition: width .4s ease;
}

/* ── QUESTION NAVIGATOR ── */
.simulated-questions__nav-strip {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
}

.simulated-questions__nav-label {
  font-size: .7rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-right: .3rem;
  flex-shrink: 0;
}

.simulated-questions__nav-btn {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'DM Mono', monospace;
  font-size: .72rem;
  font-weight: 500;
  border: 1px solid var(--border);
  background: var(--card);
  color: var(--muted);
  cursor: pointer;
  transition: all .15s;
}

.simulated-questions__nav-btn:hover {
  border-color: var(--border);
  background: var(--card);
}

.simulated-questions__nav-btn--active {
  border-color: var(--accent);
  background: var(--card);
  color: var(--accent);
}

.simulated-questions__nav-btn--done {
  border-color: var(--border);
  background: var(--card);
  color: var(--green-light, #09e3a6);
}

/* ── MAIN AREA ── */
.simulated-questions__main {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* question card */
.simulated-questions__q-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 18px;
  overflow: hidden;
}

.simulated-questions__q-head {
  display: flex;
  align-items: center;
  gap: .85rem;
  padding: 1rem 1.4rem;
  border-bottom: 1px solid var(--border);
}

.simulated-questions__q-num {
  width: 30px;
  height: 30px;
  border-radius: 9px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--accent);
  font-family: 'DM Mono', monospace;
  font-size: .78rem;
  font-weight: 500;
}

.simulated-questions__q-id-text {
  font-size: .75rem;
  color: var(--muted);
  font-family: 'DM Mono', monospace;
}

.simulated-questions__q-weight {
  margin-left: auto;
  font-family: 'DM Mono', monospace;
  font-size: .68rem;
  color: var(--muted);
  background: var(--card);
  border: 1px solid var(--border);
  padding: .22rem .65rem;
  border-radius: 6px;
}

.simulated-questions__q-body {
  padding: 1.4rem;
}

.simulated-questions__q-text {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: .3rem;
}

.simulated-questions__q-subject {
  font-size: .72rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 500;
  margin-bottom: .6rem;
}

.simulated-questions__q-desc {
  font-size: .85rem;
  color: var(--muted);
  line-height: 1.6;
  margin-bottom: 1rem;
}

.simulated-questions__q-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 220px));
  gap: .55rem;
  margin: 0 0 1.1rem;
}

/* options */
.simulated-questions__options {
  display: flex;
  flex-direction: column;
  gap: .55rem;
}

.simulated-questions__option {
  display: flex;
  align-items: flex-start;
  gap: .9rem;
  padding: .8rem 1rem;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: var(--card);
  font-size: .88rem;
  line-height: 1.4;
  cursor: pointer;
  transition: all .18s;
  user-select: none;
}

.simulated-questions__option:hover {
  background: var(--card);
  border-color: var(--accent);
}

.simulated-questions__option--selected {
  background: var(--card);
  border-color: var(--accent);
  color: var(--text);
}

.simulated-questions__opt-content {
  flex: 1;
  min-width: 0;
}

.simulated-questions__opt-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(90px, 140px));
  gap: .45rem;
  margin-top: .55rem;
}

.simulated-questions__opt-gallery a {
  display: block;
}

.simulated-questions__img-zoom {
  position: relative;
  display: block;
  width: fit-content;
  max-width: min(100%, 320px);
  border: 0;
  padding: 0;
  margin: 0;
  background: transparent;
  cursor: zoom-in;
  text-align: left;
}

.simulated-questions__img-zoom img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
}

.simulated-questions__img-zoom-icon {
  position: absolute;
  top: .45rem;
  right: .45rem;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--gray-font-light, #b8bcc4);
  background: rgba(19, 17, 22, .82);
  border: 1px solid var(--gray-font-bold, #424547);
  opacity: .95;
  transition: all .2s ease;
  z-index: 2;
}

.simulated-questions__img-zoom:hover .simulated-questions__img-zoom-icon {
  color: var(--green-light, #09e3a6);
  border-color: var(--green-light, #09e3a6);
  transform: translateY(-1px) scale(1.03);
}

.simulated-questions__opt-gallery img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid var(--border);
}

/* Modal de ampliação de imagem na prova – alinhada ao #ajaxModal do campus */
.simulated-questions__img-modal {
  position: fixed;
  inset: 0;
  /* Acima de header fixo, banners e modais comuns; abaixo da barra fina de progresso PWA (2147483000) */
  z-index: 2147482800;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.32s ease, visibility 0.32s ease;
  isolation: isolate;
}

.simulated-questions__img-modal--open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.simulated-questions__img-modal-dialog {
  position: relative;
  box-sizing: border-box;
  width: max-content;
  max-width: min(96vw, calc(100vw - 2rem));
  max-height: min(92vh, calc(100dvh - 2rem));
  margin: auto;
  padding: 0.85rem;
  padding-top: 2.75rem;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  background: var(--dark-cards, #1f2225);
  border: 1px solid var(--gray-font-bold, #424547);
  border-radius: 10px;
  box-shadow: 0 2px 50px 5px rgba(0, 0, 0, 0.22);
  transform: scale(0.94) translateY(14px);
  opacity: 0;
  transition:
    transform 0.38s cubic-bezier(0.34, 1.15, 0.64, 1),
    opacity 0.32s ease;
}

.simulated-questions__img-modal--open .simulated-questions__img-modal-dialog {
  transform: scale(1) translateY(0);
  opacity: 1;
}

.simulated-questions__img-modal-dialog img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: min(85vh, calc(100dvh - 2rem - 4.25rem));
  object-fit: contain;
  border-radius: 8px;
}

.simulated-questions__img-modal-close {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  border: 1px solid var(--gray-font-bold, #424547);
  background: var(--dark-cards, #1f2225);
  color: var(--gray-font-light, #b8bcc4);
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.simulated-questions__img-modal-close:hover {
  border-color: var(--accent, var(--green-light, #09e3a6));
  color: var(--accent, var(--green-light, #09e3a6));
}

.simulated-questions__opt-letter {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .72rem;
  font-weight: 700;
  transition: all .18s;
}

.simulated-questions__option .simulated-questions__opt-letter {
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--muted);
}

.simulated-questions__option:hover .simulated-questions__opt-letter {
  background: var(--accent);
  border-color: var(--accent);
  color: #131116;
}

.simulated-questions__option--selected .simulated-questions__opt-letter {
  background: var(--accent);
  border-color: var(--accent);
  color: #131116;
}

.simulated-questions__opt-check {
  margin-left: auto;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  border-radius: 50%;
  border: 1.5px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .18s;
}

.simulated-questions__option:hover .simulated-questions__opt-check {
  background: var(--accent);
  border-color: var(--accent);
}

.simulated-questions__option--selected .simulated-questions__opt-check {
  background: var(--accent);
  border-color: var(--accent);
}

.simulated-questions__opt-check svg,
.simulated-questions__opt-check i {
  width: 10px;
  height: 10px;
  color: #131116;
  opacity: 0;
  transition: opacity .15s;
}

.simulated-questions__option:hover .simulated-questions__opt-check svg,
.simulated-questions__option:hover .simulated-questions__opt-check i {
  opacity: 1;
}

.simulated-questions__option--selected .simulated-questions__opt-check svg,
.simulated-questions__option--selected .simulated-questions__opt-check i {
  opacity: 1;
}

.simulated-questions__option--has-image .simulated-questions__opt-letter,
.simulated-questions__option--has-image .simulated-questions__opt-check {
  align-self: flex-start;
  margin-top: .2rem;
}

/* action bar */
.simulated-questions__action-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 1rem 1.4rem;
  border-top: 1px solid var(--border);
}

.simulated-questions__skip-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: transparent;
  border: 1px solid var(--border);
  color: var(--muted);
  font-family: 'Sora', sans-serif;
  font-size: .8rem;
  font-weight: 500;
  padding: .6rem 1.1rem;
  border-radius: 10px;
  cursor: pointer;
  transition: border-color .18s, background .18s, transform .18s, box-shadow .2s;
}

.simulated-questions__skip-btn:hover {
  border-color: var(--border);
  background: var(--card);
  transform: translateY(-2px);
  box-shadow: var(--sim-btn-hover-shadow);
  color: var(--muted);
}

.simulated-questions__skip-btn svg,
.simulated-questions__skip-btn i {
  width: 14px;
  height: 14px;
}

.simulated-questions__btn-next {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--accent);
  font-family: 'Sora', sans-serif;
  font-size: .88rem;
  font-weight: 700;
  padding: .75rem 1.6rem;
  border-radius: 11px;
  cursor: pointer;
  box-shadow: none;
  transition: transform .18s, box-shadow .2s;
  position: relative;
  overflow: hidden;
}

.simulated-questions__btn-next::before {
  content: '';
  position: absolute;
  inset: 0;
  background: transparent;
}

.simulated-questions__btn-next:hover {
  transform: translateY(-2px);
  box-shadow: var(--sim-btn-hover-shadow);
  color: var(--accent);
}

.simulated-questions__btn-next svg,
.simulated-questions__btn-next i {
  width: 16px;
  height: 16px;
}

.simulated-questions__btn-next:disabled {
  opacity: .45;
  pointer-events: none;
}

/* ── FINISH BUTTON ── */
.simulated-questions__finish-wrap {
  display: flex;
  justify-content: flex-end;
}

.simulated-questions__btn-finish {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--accent);
  font-family: 'Sora', sans-serif;
  font-size: .9rem;
  font-weight: 700;
  padding: .85rem 2rem;
  border-radius: 12px;
  cursor: pointer;
  box-shadow: none;
  position: relative;
  overflow: hidden;
  opacity: .4;
  pointer-events: none;
  transition: opacity .3s, transform .18s, box-shadow .2s;
}

.simulated-questions__btn-finish--ready {
  opacity: 1;
  pointer-events: auto;
}

.simulated-questions__btn-finish::before {
  content: '';
  position: absolute;
  inset: 0;
  background: transparent;
}

.simulated-questions__btn-finish:hover {
  transform: translateY(-2px);
  box-shadow: var(--sim-btn-hover-shadow);
  color: var(--accent);
}

.simulated-questions__btn-finish svg,
.simulated-questions__btn-finish i {
  width: 18px;
  height: 18px;
}

.simulated-questions__btn-loader {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  margin-right: 6px;
  animation: simulated-questions-spin .8s linear infinite;
}

@keyframes simulated-questions-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 600px) {
  .simulated-questions__exam-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .simulated-questions__header-right {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: .6rem;
  }

  .simulated-questions__timer-badge,
  .simulated-questions__progress-pill {
    width: 100%;
  }

  .simulated-questions__progress-pill {
    min-width: 0;
  }

  .simulated-questions__action-bar {
    flex-direction: column-reverse;
    align-items: stretch;
  }

  .simulated-questions__btn-next,
  .simulated-questions__skip-btn {
    width: 100%;
    justify-content: center;
  }
}

/*
Simulated Result
*/

.simulated-result {
  --danger: #FF3939;
  padding-top: 1.5rem;
  margin-bottom: 100px;
}

@keyframes simulated-result-fadeUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.simulated-result__wrapper {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

/* ── HEADER ── */
.simulated-result__result-header {
}

.simulated-result__module-tag {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--accent);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: .35rem .85rem;
  border-radius: 8px;
  width: fit-content;
  margin-bottom: .9rem;
}

.simulated-result__module-tag svg,
.simulated-result__module-tag i {
  width: 13px;
  height: 13px;
}

.simulated-result__result-header h1 {
  font-size: clamp(1.5rem, 3.5vw, 2.1rem);
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.2;
  color: var(--gray-font-light, #b8bcc4);
}

.simulated-result__result-header h1 span {
  background: none;
  color: var(--accent);
  -webkit-text-fill-color: unset;
}

.simulated-result__result-header p {
  margin-top: .5rem;
  font-size: .88rem;
  color: var(--muted);
  line-height: 1.6;
}

/* ── SCORE PANEL ── */
.simulated-result__score-panel {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 18px;
  overflow: hidden;
}

.simulated-result__score-strip {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  padding: 1.4rem 1.8rem;
  position: relative;
  overflow: hidden;
}

.simulated-result__score-strip--approved {
  background: var(--card);
  border-bottom: 1px solid var(--border);
}

.simulated-result__score-strip--failed {
  background: var(--card);
  border-bottom: 1px solid var(--border);
}

.simulated-result__score-strip::before {
  display: none;
}

.simulated-result__score-big {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  min-width: 86px;
}

.simulated-result__score-big-label {
  font-size: .63rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: .1rem;
}

.simulated-result__score-big-val {
  font-family: 'DM Mono', monospace;
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.04em;
}

.simulated-result__score-strip--approved .simulated-result__score-big-val {
  color: var(--accent2);
}

.simulated-result__score-strip--failed .simulated-result__score-big-val {
  color: var(--danger);
}

.simulated-result__vdivider {
  width: 1px;
  align-self: stretch;
  background: var(--border);
  flex-shrink: 0;
}

.simulated-result__score-status-col {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  flex-shrink: 0;
}

.simulated-result__status-badge {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: .8rem;
  font-weight: 700;
  padding: .35rem .9rem;
  border-radius: 999px;
  width: fit-content;
}

.simulated-result__score-strip--approved .simulated-result__status-badge {
  background: var(--card);
  color: var(--green-light, #09e3a6);
  border: 1px solid var(--border);
}

.simulated-result__score-strip--failed .simulated-result__status-badge {
  background: var(--card);
  color: var(--danger);
  border: 1px solid var(--border);
}

.simulated-result__status-badge svg,
.simulated-result__status-badge i {
  width: 13px;
  height: 13px;
}

.simulated-result__status-sub {
  font-size: .75rem;
  color: var(--muted);
}

.simulated-result__score-counters {
  display: flex;
  gap: .55rem;
  margin-left: auto;
  flex-shrink: 0;
}

.simulated-result__s-counter {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: .6rem .85rem;
  min-width: 62px;
  text-align: center;
}

.simulated-result__s-counter-val {
  font-family: 'DM Mono', monospace;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
}

.simulated-result__s-counter-lbl {
  font-size: .6rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-top: .22rem;
}

.simulated-result__s-counter--c .simulated-result__s-counter-val {
  color: var(--accent2);
}

.simulated-result__s-counter--w .simulated-result__s-counter-val {
  color: var(--danger);
}

.simulated-result__s-counter--s .simulated-result__s-counter-val {
  color: var(--warn);
}

.simulated-result__score-meta {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.simulated-result__meta-item {
  padding: .85rem 1.2rem;
  border-right: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: .2rem;
}

.simulated-result__meta-item:last-child {
  border-right: none;
}

.simulated-result__meta-item-label {
  font-size: .63rem;
  color: var(--muted);
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.simulated-result__meta-item-val {
  font-size: .86rem;
  font-weight: 500;
  font-family: 'DM Mono', monospace;
}

/* ── LEGEND ── */
.simulated-result__legend {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
}

.simulated-result__legend-item {
  display: flex;
  align-items: center;
  gap: .45rem;
  font-size: .78rem;
  color: var(--muted);
}

.simulated-result__legend-dot {
  width: 26px;
  height: 18px;
  border-radius: 4px;
  font-size: .6rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.simulated-result__legend-dot--correct {
  background: var(--card);
  color: var(--accent2);
  border: 1px solid var(--border);
}

.simulated-result__legend-dot--wrong {
  background: var(--card);
  color: var(--danger);
  border: 1px solid var(--border);
}

.simulated-result__legend-dot--skipped {
  background: var(--card);
  color: var(--warn);
  border: 1px solid var(--border);
}

/* ── QUESTION CARDS ── */
.simulated-result__questions {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.simulated-result__q-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  transition: border-color .2s;
}

.simulated-result__q-card:hover {
  border-color: var(--border);
}

.simulated-result__q-card--correct {
  border-left: 3px solid var(--accent2);
}

.simulated-result__q-card--wrong {
  border-left: 3px solid var(--danger);
}

.simulated-result__q-card--skipped {
  border-left: 3px solid var(--warn);
}

.simulated-result__q-head {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .85rem 1.2rem .7rem;
  border-bottom: 1px solid var(--border);
}

.simulated-result__q-num {
  width: 26px;
  height: 26px;
  border-radius: 7px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'DM Mono', monospace;
  font-size: .72rem;
  font-weight: 500;
}

.simulated-result__q-card--correct .simulated-result__q-num {
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--accent2);
}

.simulated-result__q-card--wrong .simulated-result__q-num {
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--danger);
}

.simulated-result__q-card--skipped .simulated-result__q-num {
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--warn);
}

.simulated-result__q-id {
  font-size: .72rem;
  color: var(--muted);
  font-family: 'DM Mono', monospace;
}

.simulated-result__q-badge {
  margin-left: auto;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: .2rem .6rem;
  border-radius: 999px;
}

.simulated-result__q-card--correct .simulated-result__q-badge {
  background: var(--card);
  color: var(--accent2);
  border: 1px solid var(--border);
}

.simulated-result__q-card--wrong .simulated-result__q-badge {
  background: var(--card);
  color: var(--danger);
  border: 1px solid var(--border);
}

.simulated-result__q-card--skipped .simulated-result__q-badge {
  background: var(--card);
  color: var(--warn);
  border: 1px solid var(--border);
}

.simulated-result__q-body {
  padding: 1rem 1.2rem;
}

.simulated-result__q-text {
  font-size: .92rem;
  font-weight: 600;
  margin-bottom: .3rem;
}

.simulated-result__q-subject {
  font-size: .72rem;
  color: var(--muted);
  font-weight: 500;
  letter-spacing: .05em;
  text-transform: uppercase;
  margin-bottom: .8rem;
}

.simulated-result__q-desc {
  font-size: .82rem;
  color: var(--muted);
  margin-bottom: .9rem;
  line-height: 1.55;
}

.simulated-result__options {
  display: flex;
  flex-direction: column;
  gap: .45rem;
}

.simulated-result__option {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  padding: .6rem .9rem;
  border-radius: 10px;
  border: 1px solid transparent;
  font-size: .84rem;
  line-height: 1.4;
}

.simulated-result__option--neutral {
  background: var(--card);
  border-color: var(--border);
  color: var(--muted);
}

.simulated-result__option--correct-opt {
  background: var(--card);
  border-color: var(--border);
  color: var(--accent2);
}

.simulated-result__option--wrong-opt {
  background: var(--card);
  border-color: var(--border);
  color: var(--danger);
}

.simulated-result__opt-letter {
  width: 24px;
  height: 24px;
  border-radius: 7px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .7rem;
  font-weight: 700;
}

.simulated-result__option--neutral .simulated-result__opt-letter {
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--muted);
}

.simulated-result__option--correct-opt .simulated-result__opt-letter {
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--accent2);
}

.simulated-result__option--wrong-opt .simulated-result__opt-letter {
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--danger);
}

.simulated-result__opt-icon {
  margin-left: auto;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.simulated-result__q-feedback {
  margin-top: .85rem;
  padding: .75rem 1rem;
  border-radius: 10px;
  font-size: .82rem;
  line-height: 1.55;
  display: flex;
  gap: .65rem;
  align-items: flex-start;
}

.simulated-result__q-feedback svg,
.simulated-result__q-feedback i {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  margin-top: 1px;
}

.simulated-result__q-feedback--correct {
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--accent2);
}

.simulated-result__q-feedback--wrong {
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--danger);
}

.simulated-result__q-feedback--skip {
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--warn);
}

.simulated-result__q-footer {
  padding: .55rem 1.2rem;
  border-top: 1px solid var(--border);
  display: flex;
  justify-content: flex-end;
}

.simulated-result__peso-tag {
  font-family: 'DM Mono', monospace;
  font-size: .68rem;
  color: var(--muted);
  background: var(--card);
  border: 1px solid var(--border);
  padding: .2rem .6rem;
  border-radius: 6px;
}

.simulated-result__back-link {
  display: inline-block;
  font-size: .8rem;
  color: var(--muted);
  text-decoration: none;
  margin: 0 0.75rem .75rem 0;
}

.simulated-result__back-link:hover {
  color: var(--green-light, #09e3a6);
}

/* Sidebar da aula: aumenta levemente a altura do botão de imprimir certificado */
.btn-course-progress--print-certificate {
  min-height: 24px;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

/* Wrapper da ação abaixo da barra (evita corte do shadow) */
.progress-course__part--right .task-sidebar-cert-action {
  overflow: visible;
}

/* Hover padrão da ação abaixo da barra de progresso (prova/certificado/imprimir) */
.progress-course__part--right .task-sidebar-cert-action .btn.btn-course-progress.btn-not-hover {
  position: relative;
  z-index: 1;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.progress-course__part--right .task-sidebar-cert-action .btn.btn-course-progress.btn-not-hover:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 20px -16px #424547 !important;
  filter: drop-shadow(0 6px 12px rgba(66, 69, 71, 0.35)) !important;
}

.simulated-result__cover {
  width: fit-content;
  max-width: 100%;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--border);
  margin-bottom: 1rem;
}

.simulated-result__cover img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  max-height: 125px;
  object-fit: contain;
}

.simulated-result__opt-text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .45rem;
}

.simulated-result__opt-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(88px, 130px));
  gap: .4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.simulated-result__opt-gallery a {
  display: block;
}

.simulated-result__opt-gallery img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid var(--border);
}

.simulated-result__img-zoom {
  position: relative;
  display: block;
  width: fit-content;
  max-width: 100%;
  border: 0;
  margin: 0;
  padding: 0;
  background: transparent;
  cursor: zoom-in;
}

.simulated-result__img-zoom-icon {
  position: absolute;
  top: .45rem;
  right: .45rem;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--gray-font-light, #b8bcc4);
  background: rgba(19, 17, 22, .82);
  border: 1px solid var(--gray-font-bold, #424547);
  opacity: .95;
  z-index: 2;
  transition: all .2s ease;
}

.simulated-result__img-zoom:hover .simulated-result__img-zoom-icon {
  color: var(--green-light, #09e3a6);
  border-color: var(--green-light, #09e3a6);
  transform: translateY(-1px) scale(1.03);
}

.simulated-result__img-modal {
  position: fixed;
  inset: 0;
  z-index: 2147482800;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.32s ease, visibility 0.32s ease;
  isolation: isolate;
}

.simulated-result__img-modal--open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.simulated-result__img-modal-dialog {
  position: relative;
  box-sizing: border-box;
  width: max-content;
  max-width: min(96vw, calc(100vw - 2rem));
  max-height: min(92vh, calc(100dvh - 2rem));
  margin: auto;
  padding: .85rem;
  padding-top: 2.75rem;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  background: var(--dark-cards, #1f2225);
  border: 1px solid var(--gray-font-bold, #424547);
  border-radius: 10px;
  box-shadow: 0 2px 50px 5px rgba(0, 0, 0, 0.22);
  transform: scale(0.94) translateY(14px);
  opacity: 0;
  transition: transform 0.38s cubic-bezier(0.34, 1.15, 0.64, 1), opacity 0.32s ease;
}

.simulated-result__img-modal--open .simulated-result__img-modal-dialog {
  transform: scale(1) translateY(0);
  opacity: 1;
}

.simulated-result__img-modal-dialog img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: min(85vh, calc(100dvh - 2rem - 4.25rem));
  object-fit: contain;
  border-radius: 8px;
}

.simulated-result__img-modal-close {
  position: absolute;
  top: .5rem;
  right: .5rem;
  border: 1px solid var(--gray-font-bold, #424547);
  background: var(--dark-cards, #1f2225);
  color: var(--gray-font-light, #b8bcc4);
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.simulated-result__img-modal-close:hover {
  border-color: var(--accent, var(--green-light, #09e3a6));
  color: var(--accent, var(--green-light, #09e3a6));
}

.simulated-result__q-feedback-inner {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  min-width: 0;
}

.simulated-result__q-obs {
  display: block;
}

.simulated-result__q-obs:empty {
  display: none;
}

.simulated-result__q-correct-reveal {
  margin-top: .5rem;
  padding-top: .55rem;
  border-top: 1px solid var(--border);
}

.simulated-result__q-correct-reveal-label {
  font-weight: 600;
  display: block;
  margin-bottom: .25rem;
}

.simulated-result__q-correct-reveal-text {
  font-size: .8rem;
  opacity: .95;
}

.simulated-result__q-gallery {
  list-style: none;
  margin: .75rem 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}

.simulated-result__q-gallery li {
  max-width: 100%;
}

.simulated-result__q-gallery a {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  text-decoration: none;
  color: inherit;
  max-width: 300px;
}

.simulated-result__q-gallery img {
  border-radius: 8px;
  border: 1px solid var(--border);
  width: 100%;
  height: auto;
  display: block;
}

.simulated-result__q-gallery-cap {
  font-size: .72rem;
  color: var(--muted);
  line-height: 1.35;
}

.simulated-result__empty {
  color: var(--muted);
  font-size: .88rem;
  padding: 1rem 0;
}

@media (max-width: 600px) {
  .simulated-result__score-strip {
    flex-wrap: wrap;
    gap: 1rem;
  }

  .simulated-result__score-counters {
    margin-left: 0;
  }

  .simulated-result__score-meta {
    grid-template-columns: repeat(2, 1fr);
  }

  .simulated-result__meta-item:nth-child(2) {
    border-right: none;
  }

  .simulated-result__meta-item:nth-child(3),
  .simulated-result__meta-item:nth-child(4) {
    border-top: 1px solid var(--border);
  }
}