/* UNIMES redesign — pagina de curso (curso e curso-ead). CSS puro, mobile-first.
   Base: docs/design-system/share/curso.html. O verde setorial do prototipo nao
   passa no contraste AA em texto pequeno: rotulos e links usam --cyan-700 e navy;
   as cores claras ficam em fundos e chips. A Area, que decidiria a cor setorial,
   esta fora ate a decisao da coordenacao (docs/COURSE-AREA-PLAN.md). */

/* Especificidade zero: o reset nao pode vencer o margin-inline: auto do .unimes-container. */
:where(.unimes-course) :where(h1, h2, h3, p, ul, ol, dl, dd, figure) {
  margin: 0;
}

:where(.unimes-course) :where(ul[class], ol[class]) {
  padding: 0;
  list-style: none;
}

/* O script esconde o botao de uma inscricao encerrada com hidden; o
   display: inline-flex do .unimes-button nao pode vencer o atributo. */
.unimes-course [hidden] {
  display: none !important;
}

.unimes-course :where(summary):focus-visible {
  outline: 2px solid var(--unimes-navy);
  outline-offset: 2px;
  box-shadow: var(--shadow-focus);
}

/* Blocos comuns ------------------------------------------------------------ */

.unimes-course-section {
  padding-block: clamp(3rem, 6vw, 4rem);
}

.unimes-course-section--muted {
  border-top: 1px solid var(--border-subtle);
  background: var(--gray-050);
}

.unimes-course-eyebrow {
  margin-bottom: var(--unimes-space-3);
  color: var(--cyan-700);
  font-size: var(--text-xs);
  letter-spacing: 0.14em;
  line-height: 1.4;
  text-transform: uppercase;
}

.unimes-course-heading {
  color: var(--text-strong);
  font-size: clamp(1.625rem, 1.3rem + 1.2vw, 1.875rem);
  font-weight: var(--fw-light);
  letter-spacing: -0.01em;
  line-height: 1.1;
}

.unimes-course-subheading {
  margin-bottom: var(--unimes-space-2);
  color: var(--text-strong);
  font-size: var(--text-md);
  line-height: var(--leading-snug);
}

.unimes-course-prose {
  color: var(--gray-800, #25262F);
  font-size: var(--text-base);
  line-height: 1.7;
}

.unimes-course-prose > * + * {
  margin-top: var(--unimes-space-4);
}

.unimes-course-prose :where(p, ul, ol) {
  margin: 0;
}

.unimes-course-prose :where(ul, ol) {
  padding-left: 1.25rem;
}

.unimes-course-prose a {
  color: var(--text-link);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.unimes-course-prose :where(h2, h3, h4) {
  color: var(--text-strong);
  font-size: var(--text-lg);
  line-height: var(--leading-snug);
}

/* Faixas: topo em cinza suave; depois as secoes alternam branco e cinza, com a
   coordenacao em ciano suave e a chamada final num painel navy. */

.unimes-course-top {
  border-bottom: 1px solid var(--border-subtle);
  background: var(--gray-050);
}

/* Trilha ------------------------------------------------------------------- */

.unimes-course-trail {
  border-top: 3px solid var(--unimes-cyan);
}

.unimes-course-trail__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--unimes-space-1) var(--unimes-space-2);
  padding-block: var(--unimes-space-6) 0;
  color: var(--gray-600);
  font-size: var(--text-sm);
}

.unimes-course-trail__list li:not(:last-child)::after {
  margin-left: var(--unimes-space-2);
  color: var(--gray-500);
  content: '/';
}

.unimes-course-trail__list a {
  /* Area de toque de 44px sem mudar a linha: padding vertical em elemento em linha nao altera a
     altura da linha (QA final, 07/10/2026: tinha 16px). */
  padding-block: 14px;
  color: var(--gray-600);
  text-decoration: none;
}

.unimes-course-trail__list a:hover {
  color: var(--text-link);
  text-decoration: underline;
}

.unimes-course-trail__list [aria-current] {
  color: var(--text-strong);
}

/* Topo --------------------------------------------------------------------- */

.unimes-course-hero {
  padding-block: var(--unimes-space-8) var(--unimes-space-12);
}

.unimes-course-hero__grid {
  display: grid;
  gap: var(--unimes-space-8);
}

.unimes-course-hero__title {
  color: var(--text-strong);
  font-size: clamp(2.25rem, 1.5rem + 3.2vw, 3.625rem);
  font-weight: var(--fw-light);
  letter-spacing: -0.025em;
  line-height: 1;
}

.unimes-course-hero__summary {
  max-width: 34rem;
  margin-top: var(--unimes-space-5);
  color: var(--gray-800, #25262F);
  font-size: var(--text-md);
  line-height: 1.55;
}

.unimes-course-mec {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--unimes-space-3) var(--unimes-space-4);
  margin-top: var(--unimes-space-6);
  padding: 12px 18px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  background: var(--unimes-white);
}

.unimes-course-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--unimes-space-3);
  margin-top: var(--unimes-space-8);
}

.unimes-course-hero__actions .unimes-button {
  min-height: 52px;
  padding-inline: var(--unimes-space-8);
  font-size: var(--text-base);
}

.unimes-course-hero__note {
  max-width: 30rem;
  margin-top: var(--unimes-space-4);
  color: var(--gray-700);
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
}

.unimes-course-mec__label {
  color: var(--gray-600);
  font-size: var(--text-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.unimes-course-mec__grade {
  display: inline-flex;
  align-items: center;
  gap: var(--unimes-space-2);
}

.unimes-course-mec__number {
  color: var(--text-strong);
  font-size: 2.125rem;
  font-weight: var(--fw-light);
  line-height: 1;
}

.unimes-course-mec__stars {
  display: inline-flex;
  gap: 2px;
}

.unimes-course-mec__stars svg {
  color: var(--gray-300, #C4C5CC);
}

.unimes-course-mec__stars svg.is-filled {
  color: var(--amber-500);
  fill: currentColor;
}

.unimes-course-mec__scale {
  color: var(--gray-600);
  font-size: var(--text-xs);
}

.unimes-course-hero__aside {
  display: grid;
  gap: var(--unimes-space-4);
  align-content: start;
}

.unimes-course-hero__media {
  display: flex;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-lg);
  background: var(--cyan-050);
}

.unimes-course-hero__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.unimes-course-hero__placeholder {
  color: var(--cyan-700);
}

.unimes-course-action {
  display: grid;
  gap: var(--unimes-space-4);
  padding: var(--unimes-space-6);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--unimes-white);
  box-shadow: var(--shadow-sm);
}

.unimes-course-action__price {
  display: grid;
  gap: 2px;
}

.unimes-course-action__price-label,
.unimes-course-action__price-note {
  color: var(--gray-600);
  font-size: var(--text-sm);
}

.unimes-course-action__price-value {
  color: var(--text-strong);
  font-size: var(--text-2xl);
  font-weight: var(--fw-light);
  line-height: 1.1;
}

/* Link solto (fora de uma frase) com alvo de toque de 44px. */
.unimes-course-action__discounts-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-self: start;
}

.unimes-course-action__discounts-link {
  font-size: var(--text-sm);
}

.unimes-course-action__discounts {
  display: flex;
  min-height: 44px;
  align-items: center;
  gap: var(--unimes-space-3);
  padding: var(--unimes-space-4);
  border: 1px solid var(--navy-100);
  border-radius: var(--radius-md);
  background: var(--surface-brand-soft);
  color: var(--text-strong);
  text-decoration: none;
}

.unimes-course-action__discounts:hover {
  border-color: var(--navy-200);
}

.unimes-course-action__discounts-icon {
  display: inline-flex;
  flex: 0 0 auto;
}

.unimes-course-action__discounts-text {
  display: grid;
  flex: 1 1 auto;
  gap: 2px;
}

.unimes-course-action__discounts-title {
  font-size: var(--text-md);
}

.unimes-course-action__discounts-hint {
  color: var(--gray-600);
  font-size: var(--text-sm);
}

.unimes-course-enrolment__button,
.unimes-course-cta__button,
.unimes-course-discounts__box .unimes-button {
  min-height: 48px;
}

/* Formulario de lead (Contact Form 7, ID 292) no cartao do topo. O CF7 envolve
   cada linha num <p>; o modelo do formulario traz os rotulos visiveis. */
.unimes-course-lead {
  display: grid;
  gap: var(--unimes-space-2);
  padding-top: var(--unimes-space-4);
  border-top: 1px solid var(--border-subtle);
  scroll-margin-top: var(--unimes-space-24);
}

.unimes-course-action > .unimes-course-lead:first-child {
  padding-top: 0;
  border-top: 0;
}

.unimes-course-lead:focus {
  outline: none;
}

.unimes-course-lead__title {
  color: var(--text-strong);
  font-size: var(--text-lg);
  line-height: var(--leading-snug);
}

.unimes-course-lead__text {
  color: var(--gray-700);
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
}

.unimes-course-lead .wpcf7-form {
  display: grid;
  gap: var(--unimes-space-3);
  margin-top: var(--unimes-space-2);
}

.unimes-course-lead .wpcf7-form p {
  margin: 0;
}

.unimes-course-lead .wpcf7-form br {
  display: none;
}

.unimes-course-lead__field {
  display: grid;
  gap: 4px;
  color: var(--text-strong);
  font-size: var(--text-sm);
}

/* O CF7 poe size="40" nos campos: sem isto, em tela estreita, eles estourariam o
   cartao. So min-width nos filhos do cartao: um display: block aqui desfazia o
   flex do link de descontos e jogava a seta para outra linha. */
.unimes-course-action > * {
  min-width: 0;
}

.unimes-course-lead .wpcf7-form-control-wrap {
  display: block;
  min-width: 0;
}

.unimes-course-lead :where(input[type='text'], input[type='email'], input[type='tel']) {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  background: var(--unimes-white);
  color: var(--gray-900, #1A1A24);
  font-size: var(--text-base);
}

.unimes-course-lead :where(input[type='text'], input[type='email'], input[type='tel']):hover {
  border-color: var(--gray-500);
}

.unimes-course-lead .wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
}

.unimes-course-lead .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--gray-700);
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
}

.unimes-course-lead .wpcf7-acceptance input[type='checkbox'] {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  margin: 2px 0 0;
  accent-color: var(--unimes-navy);
}

.unimes-course-lead .wpcf7-acceptance a {
  color: var(--text-link);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

.unimes-course-lead .wpcf7-submit {
  width: 100%;
  min-height: 48px;
  padding: 12px 24px;
  border: 1px solid var(--unimes-navy);
  border-radius: var(--radius-md);
  background: var(--unimes-navy);
  color: var(--unimes-white);
  cursor: pointer;
  font-size: var(--text-base);
}

.unimes-course-lead .wpcf7-submit:hover {
  border-color: var(--action-primary-hover);
  background: var(--action-primary-hover);
}

.unimes-course-lead .wpcf7-submit:disabled {
  border-color: var(--gray-200);
  background: var(--gray-200);
  color: var(--gray-600);
  cursor: not-allowed;
}

/* Vermelho so em erro, como manda o design system. */
.unimes-course-lead .wpcf7-not-valid-tip {
  margin-top: 4px;
  color: var(--state-danger, #C81E2B);
  font-size: var(--text-sm);
}

.unimes-course-lead .wpcf7-response-output {
  margin: 0;
  padding: 10px 14px;
  border-radius: var(--radius-md);
  font-size: var(--text-sm);
}

.unimes-course-lead .wpcf7-spinner {
  margin: 8px auto 0;
}

/* Dados rapidos: na coluna do texto, abaixo da nota do MEC ------------------ */

.unimes-course-facts {
  display: grid;
  max-width: 34rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--unimes-space-4) var(--unimes-space-6);
  margin-top: var(--unimes-space-6);
  padding-top: var(--unimes-space-5);
  border-top: 1px solid var(--border-subtle);
}

.unimes-course-facts__label {
  margin-bottom: 4px;
  color: var(--gray-600);
  font-size: var(--text-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.unimes-course-facts__value {
  color: var(--text-strong);
  font-size: var(--text-base);
  line-height: 1.35;
}

/* Inscricao ---------------------------------------------------------------- */

.unimes-course-enrolment__list {
  display: grid;
  gap: var(--unimes-space-4);
  margin-top: var(--unimes-space-8);
}

.unimes-course-enrolment__item {
  display: flex;
  flex-direction: column;
  gap: var(--unimes-space-3);
  padding: var(--unimes-space-6);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--unimes-white);
}

.unimes-course-enrolment__title {
  color: var(--text-strong);
  font-size: var(--text-lg);
  line-height: var(--leading-snug);
}

.unimes-course-enrolment__text {
  flex: 1 1 auto;
  color: var(--gray-700);
  font-size: var(--text-sm);
  line-height: var(--leading-relaxed);
}

.unimes-course-enrolment__button {
  align-self: flex-start;
  margin-top: auto;
}

.unimes-course-enrolment__closed {
  align-self: flex-start;
  margin-top: auto;
  padding: 10px 14px;
  border-radius: var(--radius-md);
  background: var(--gray-100);
  color: var(--gray-700);
  font-size: var(--text-sm);
}

.unimes-course-enrolment__empty {
  margin-top: var(--unimes-space-6);
  color: var(--gray-700);
}

/* Sobre -------------------------------------------------------------------- */

/* Texto a esquerda; objetivo, atividades e ato regulatorio ao lado. */
.unimes-course-about__grid {
  display: grid;
  gap: var(--unimes-space-8);
  margin-top: var(--unimes-space-6);
}

.unimes-course-about__text {
  min-width: 0;
  max-width: var(--unimes-layout-readable);
}

/* Titulos internos do "Sobre" ("Estrutura", "Internacionalizacao"...). */
.unimes-course-prose .unimes-course-prose__heading,
.unimes-course-prose h3 {
  margin-top: var(--unimes-space-8);
  padding-top: var(--unimes-space-4);
  border-top: 1px solid var(--border-subtle);
  color: var(--text-strong);
  font-size: var(--text-lg);
  font-weight: var(--fw-regular);
  line-height: var(--leading-snug);
}

.unimes-course-prose > :first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

/* Texto longo recolhido pelo script; sem JavaScript aparece inteiro. */
.unimes-course-readmore.is-folded {
  max-height: 26rem;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to bottom, #000 70%, transparent);
  mask-image: linear-gradient(to bottom, #000 70%, transparent);
}

.unimes-course-readmore--card.is-folded {
  max-height: 13rem;
}

.unimes-course-readmore__toggle {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: var(--unimes-space-2);
  margin-top: var(--unimes-space-3);
  padding: 0;
  border: 0;
  background: none;
  color: var(--text-link);
  cursor: pointer;
  font-size: var(--text-base);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.unimes-course-readmore__toggle[aria-expanded='true'] svg {
  transform: rotate(180deg);
}

.unimes-course-about__aside {
  display: grid;
  min-width: 0;
  align-content: start;
  gap: var(--unimes-space-4);
}

.unimes-course-about__card {
  padding: var(--unimes-space-6);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--unimes-white);
}

.unimes-course-about__regulatory {
  padding: var(--unimes-space-5) var(--unimes-space-6);
  border-left: 3px solid var(--unimes-cyan);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  background: var(--unimes-white);
}

.unimes-course-about__regulatory-title {
  margin-bottom: var(--unimes-space-2);
  color: var(--gray-600);
  font-size: var(--text-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.unimes-course-about__regulatory-text {
  color: var(--gray-800, #25262F);
  font-size: var(--text-sm);
  line-height: var(--leading-relaxed);
}

/* Matriz ------------------------------------------------------------------- */

.unimes-course-curriculum__header {
  margin-bottom: var(--unimes-space-8);
}

.unimes-course-curriculum__grid {
  display: grid;
  overflow: hidden;
  gap: 1px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--border-subtle);
}

.unimes-course-curriculum__semester {
  padding: 22px;
  background: var(--unimes-white);
}

.unimes-course-curriculum__label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  color: var(--text-strong);
  font-size: var(--text-sm);
}

.unimes-course-curriculum__number {
  display: inline-flex;
  min-width: 28px;
  height: 28px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  padding-inline: 6px;
  border-radius: var(--radius-pill);
  background: var(--cyan-100);
  color: var(--cyan-700);
  font-size: var(--text-xs);
}

.unimes-course-curriculum__subjects {
  display: grid;
  gap: 9px;
  color: var(--gray-800, #25262F);
  font-size: 0.84375rem;
  line-height: 1.3;
}

.unimes-course-curriculum__more {
  margin-top: var(--unimes-space-6);
}

.unimes-course-curriculum__toggle,
.unimes-course-faculty__toggle {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: var(--unimes-space-2);
  margin-inline: auto;
  color: var(--text-link);
  cursor: pointer;
  font-size: var(--text-sm);
  list-style: none;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.unimes-course-curriculum__toggle::-webkit-details-marker,
.unimes-course-faculty__toggle::-webkit-details-marker,
.unimes-course-faq__question::-webkit-details-marker,
.unimes-course-person__cv summary::-webkit-details-marker {
  display: none;
}

.unimes-course-curriculum__more > summary {
  display: flex;
  justify-content: center;
}

.unimes-course-curriculum__more[open] > summary {
  margin-bottom: var(--unimes-space-6);
}

.unimes-course-curriculum__more[open] > summary svg,
.unimes-course-faculty__more[open] > summary svg,
.unimes-course-faq__item[open] .unimes-course-faq__question svg {
  transform: rotate(180deg);
}

/* Areas e mercado ---------------------------------------------------------- */

.unimes-course-market__grid {
  display: grid;
  gap: var(--unimes-space-12);
}

.unimes-course-market__column .unimes-course-heading {
  margin-bottom: var(--unimes-space-5);
}

.unimes-course-market__areas {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.unimes-course-market__area {
  padding: 8px 16px;
  border-radius: var(--radius-pill);
  background: var(--cyan-050);
  color: var(--text-strong);
  font-size: var(--text-sm);
  line-height: 1.3;
}

.unimes-course-salary {
  display: grid;
  gap: 4px;
  margin-bottom: var(--unimes-space-5);
  padding: var(--unimes-space-5);
  border-left: 3px solid var(--unimes-cyan);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  background: var(--gray-050);
}

.unimes-course-salary__label {
  color: var(--gray-600);
  font-size: var(--text-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.unimes-course-salary__range {
  color: var(--text-strong);
  font-size: var(--text-xl);
  font-weight: var(--fw-light);
  line-height: 1.2;
}

.unimes-course-salary__source {
  color: var(--gray-600);
  font-size: var(--text-sm);
}

/* Coordenacao e docentes --------------------------------------------------- */

.unimes-course-people {
  padding-top: 0;
}

.unimes-course-coordination {
  padding-block: clamp(3rem, 6vw, 4rem);
  border-top: 1px solid var(--border-subtle);
  background: var(--cyan-050);
}

.unimes-course-coordination__list {
  display: grid;
  gap: var(--unimes-space-10);
}

.unimes-course-coordinator {
  display: grid;
  gap: var(--unimes-space-6);
  justify-items: start;
}

.unimes-course-coordinator__name {
  color: var(--text-strong);
  font-size: clamp(1.625rem, 1.3rem + 1.2vw, 1.875rem);
  font-weight: var(--fw-light);
  line-height: 1.1;
}

.unimes-course-coordinator__role {
  margin-top: 6px;
  color: var(--gray-800, #25262F);
}

.unimes-course-coordinator__contact {
  display: grid;
  gap: var(--unimes-space-2);
  margin-top: var(--unimes-space-4);
}

.unimes-course-coordinator__contact li {
  display: flex;
  align-items: center;
  gap: var(--unimes-space-2);
  color: var(--text-strong);
}

.unimes-course-coordinator__contact a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}

.unimes-course-person__photo,
.unimes-course-person__initials {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  object-fit: cover;
}

.unimes-course-person__initials {
  background: var(--cyan-700);
  color: var(--unimes-white);
  font-weight: var(--fw-light);
}

.unimes-course-person__photo.is-large,
.unimes-course-person__initials.is-large {
  width: 160px;
  height: 160px;
  box-shadow: var(--shadow-md);
  font-size: 3.25rem;
}

.unimes-course-person__photo.is-small,
.unimes-course-person__initials.is-small {
  width: 64px;
  height: 64px;
  font-size: var(--text-lg);
}

.unimes-course-person__links {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--unimes-space-2) var(--unimes-space-5);
  margin-top: var(--unimes-space-3);
  font-size: var(--text-sm);
}

.unimes-course-person__links > a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}

.unimes-course-person__cv {
  flex: 1 1 100%;
}

.unimes-course-person__cv summary {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: var(--text-link);
  cursor: pointer;
  list-style: none;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.unimes-course-person__cv .unimes-course-prose {
  max-width: var(--unimes-layout-readable);
  margin-top: var(--unimes-space-2);
  font-size: var(--text-sm);
}

.unimes-course-faculty {
  padding-top: clamp(3rem, 6vw, 4rem);
}

.unimes-course-faculty .unimes-course-subheading {
  margin-bottom: var(--unimes-space-6);
  font-size: clamp(1.625rem, 1.3rem + 1.2vw, 1.875rem);
  font-weight: var(--fw-light);
  line-height: 1.1;
}

.unimes-course-faculty__list {
  display: grid;
  gap: var(--unimes-space-4);
}

.unimes-course-person {
  display: flex;
  align-items: flex-start;
  gap: var(--unimes-space-4);
  padding: var(--unimes-space-4);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
}

.unimes-course-person__body {
  min-width: 0;
  flex: 1 1 auto;
}

.unimes-course-person__name {
  color: var(--text-strong);
  line-height: var(--leading-snug);
}

.unimes-course-faculty__more {
  margin-top: var(--unimes-space-6);
}

.unimes-course-faculty__more > summary {
  display: flex;
  justify-content: center;
}

.unimes-course-faculty__more[open] > summary {
  margin-bottom: var(--unimes-space-4);
}

/* Perguntas frequentes ----------------------------------------------------- */

.unimes-course-faq {
  border-top: 1px solid var(--border-subtle);
}

.unimes-course-faq__grid {
  display: grid;
  gap: var(--unimes-space-8);
}

.unimes-course-faq__list {
  border-top: 1px solid var(--border-subtle);
}

.unimes-course-faq__item {
  border-bottom: 1px solid var(--border-subtle);
}

.unimes-course-faq__question {
  display: flex;
  min-height: 56px;
  align-items: center;
  justify-content: space-between;
  gap: var(--unimes-space-4);
  padding-block: var(--unimes-space-4);
  color: var(--text-strong);
  cursor: pointer;
  font-size: var(--text-md);
  line-height: var(--leading-snug);
  list-style: none;
}

.unimes-course-faq__question svg {
  flex: 0 0 auto;
  color: var(--cyan-700);
  transition: transform var(--dur-fast) var(--ease-standard);
}

.unimes-course-faq__answer {
  padding-bottom: var(--unimes-space-5);
}

/* E-mail da secretaria do curso no fim das perguntas, ou sozinho no mesmo lugar (07/10/2026). */
.unimes-course-secretary {
  display: flex;
  align-items: center;
  gap: var(--unimes-space-2);
  margin: var(--unimes-space-5) 0 0;
  color: var(--text-strong);
  overflow-wrap: anywhere;
}

.unimes-course-secretary svg {
  flex: 0 0 auto;
  color: var(--cyan-700);
}

.unimes-course-secretary a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}

.unimes-course-faq--help-only .unimes-course-secretary {
  margin: 0;
}

/* Bolsas e descontos, chamada final ---------------------------------------- */

.unimes-course-discounts__box {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--unimes-space-4);
  padding: var(--unimes-space-6);
  border: 1px solid var(--navy-100);
  border-radius: var(--radius-lg);
  background: var(--surface-brand-soft);
}

.unimes-course-discounts__icon {
  display: inline-flex;
  color: var(--text-strong);
}

.unimes-course-discounts__content {
  flex: 1 1 auto;
}

.unimes-course-discounts__eyebrow {
  margin-bottom: var(--unimes-space-2);
}

.unimes-course-discounts__title {
  color: var(--text-strong);
  font-size: clamp(1.375rem, 1.1rem + 0.9vw, 1.75rem);
  font-weight: var(--fw-light);
  line-height: var(--leading-snug);
}

.unimes-course-discounts__text {
  margin-top: var(--unimes-space-2);
  color: var(--gray-700);
  font-size: var(--text-sm);
  line-height: var(--leading-relaxed);
}

/* Chamada final: painel navy dentro da pagina, com o grafismo de trilha
   (trail.css), para nao se fundir com o rodape navy logo abaixo. */
.unimes-course-discounts + .unimes-course-cta {
  padding-top: 0;
}

/* "Este curso também é oferecido em EAD": discreto, logo acima do painel. */
.unimes-course-also {
  margin-bottom: var(--unimes-space-5);
  color: var(--gray-700);
  font-size: var(--text-base);
}

.unimes-course-also .unimes-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}

.unimes-course-cta__panel {
  border-radius: var(--radius-lg);
  background: var(--surface-brand);
  color: var(--text-on-brand);
}

.unimes-course-cta__content {
  display: flex;
  max-width: 34rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--unimes-space-4);
  padding: var(--unimes-space-8) calc(var(--unimes-space-6) + 2.5rem) var(--unimes-space-8) var(--unimes-space-6);
}

.unimes-course-cta__title {
  font-size: clamp(1.625rem, 1.3rem + 1.2vw, 1.875rem);
  font-weight: var(--fw-light);
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.unimes-course-cta__text {
  color: var(--navy-200);
  line-height: var(--leading-relaxed);
}

.unimes-course-cta :where(a):focus-visible {
  outline-color: var(--unimes-white);
}

/* Barra de acao do celular ------------------------------------------------- */

.unimes-course-bar {
  position: sticky;
  z-index: 20;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--unimes-space-4);
  padding: 10px var(--unimes-space-gutter);
  border-top: 1px solid var(--border-subtle);
  background: var(--unimes-white);
  box-shadow: 0 -6px 18px rgba(4, 0, 61, 0.08);
}

.unimes-course-bar__info {
  display: grid;
  min-width: 0;
  gap: 2px;
  line-height: 1.2;
}

.unimes-course-bar__value {
  overflow: hidden;
  color: var(--text-strong);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.unimes-course-bar__label {
  color: var(--gray-600);
  font-size: var(--text-xs);
}

.unimes-course-bar .unimes-button {
  flex: 0 0 auto;
}

/* Telas maiores ------------------------------------------------------------ */

@media (min-width: 640px) {
  .unimes-course-enrolment__list,
  .unimes-course-faculty__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .unimes-course-curriculum__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .unimes-course-discounts__box {
    flex-direction: row;
    align-items: center;
    padding: var(--unimes-space-8);
  }

  .unimes-course-coordinator {
    grid-template-columns: 160px minmax(0, 1fr);
    align-items: center;
    gap: var(--unimes-space-10);
  }
}

@media (min-width: 768px) {
  .unimes-course-cta__content {
    padding: var(--unimes-space-10);
  }
}

@media (min-width: 1024px) {
  .unimes-course-hero {
    padding-block: var(--unimes-space-10) var(--unimes-space-16);
  }

  .unimes-course-hero__grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    align-items: start;
    gap: 48px;
  }

  /* A coluna do texto fica fixa na rolagem enquanto a do formulario, mais
     alta, passa ao lado (aprovado por Matheus no preview de 30/09/2026). */
  .unimes-course-hero__content {
    position: sticky;
    top: var(--unimes-space-6);
    padding-top: var(--unimes-space-8);
  }

  /* Foto mais baixa: a coluna da direita ja leva o preco e o formulario. */
  .unimes-course-hero__media {
    aspect-ratio: 16 / 9;
  }

  .unimes-course-about__grid {
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    align-items: start;
    gap: 48px;
  }

  .unimes-course-about__grid--single {
    grid-template-columns: minmax(0, 1fr);
  }

  .unimes-course-market__grid,
  .unimes-course-faq__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 48px;
  }

  .unimes-course-market__grid--single {
    grid-template-columns: minmax(0, 1fr);
  }

  .unimes-course-enrolment__list {
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  }

  .unimes-course-curriculum__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .unimes-course-faculty__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .unimes-course-coordination__list {
    grid-template-columns: repeat(auto-fit, minmax(28rem, 1fr));
  }

  .unimes-course-bar {
    display: none;
  }
}
