/* UNIMES redesign — Institucional (/institucional/). CSS puro, sem build.
   Mesma linguagem das outras paginas novas: topo cinza, grade de cartoes com foto e
   painel navy de destaque com o CTA branco. Mobile-first; de 640px e de 1024px.
   Sem negrito; sem vermelho. */

.unimes-institucional {
  display: block;
  min-width: 0;
  background: var(--unimes-color-neutral-white);
}

.unimes-institucional :where(h1, h2, p, ul) {
  margin: 0;
}

.unimes-institucional :where(.unimes-institucional-blocks__grid, .unimes-institucional-highlight__items) {
  padding: 0;
  list-style: none;
}

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

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

.unimes-institucional-intro {
  padding-block: var(--unimes-space-8);
  border-bottom: 1px solid var(--border-subtle);
  background: var(--gray-050);
}

.unimes-institucional-intro__eyebrow {
  margin-bottom: var(--unimes-space-2);
}

.unimes-institucional-intro__title {
  color: var(--text-strong);
  font-size: clamp(2rem, 1.5rem + 2.2vw, 3rem);
  font-weight: var(--fw-light);
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-tight);
}

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

.unimes-institucional-blocks {
  padding-block: var(--unimes-space-10);
}

.unimes-institucional-blocks__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--unimes-space-5);
}

.unimes-institucional-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--unimes-white);
}

.unimes-institucional-card__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.unimes-institucional-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: var(--unimes-space-2);
  padding: var(--unimes-space-5);
}

.unimes-institucional-card__title {
  color: var(--text-strong);
  font-size: var(--text-lg);
  font-weight: var(--fw-regular);
  line-height: var(--leading-snug);
}

/* Textos longos (ate ~1.900 caracteres) ficam em quatro linhas; o texto inteiro esta na
   pagina de destino e continua no HTML para o leitor de tela. */
.unimes-institucional-card__text {
  display: -webkit-box;
  overflow: hidden;
  color: var(--gray-700);
  font-size: var(--text-sm);
  line-height: var(--leading-relaxed);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
}

.unimes-institucional-card__link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: var(--unimes-space-1);
  margin-top: auto;
}

/* ---------- Destaques (banners) ---------- */

.unimes-institucional-highlight {
  padding-bottom: var(--unimes-space-12);
}

.unimes-institucional-highlight__panel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--unimes-space-6);
  padding: var(--unimes-space-8) var(--unimes-space-6);
  border-radius: var(--radius-lg);
  background: var(--surface-brand, var(--unimes-navy));
  color: var(--text-on-brand, var(--unimes-white));
}

.unimes-institucional-highlight__items {
  display: grid;
  width: 100%;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--unimes-space-5);
}

.unimes-institucional-highlight__item {
  display: flex;
  flex-direction: column;
  gap: var(--unimes-space-1);
}

.unimes-institucional-highlight__figure {
  color: var(--unimes-white);
  font-size: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem);
  font-weight: var(--fw-light);
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-tight);
}

/* Ciano sobre o navy: a excecao de contraste do design system (10,6:1). */
.unimes-institucional-highlight__label {
  color: var(--unimes-cyan);
  font-size: var(--text-base);
  line-height: var(--leading-snug);
}

.unimes-institucional-highlight__button {
  min-height: 44px;
  flex: 0 0 auto;
  white-space: nowrap;
}

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

  .unimes-institucional-highlight__items {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
  }
}

@media (min-width: 1024px) {
  .unimes-institucional-intro {
    padding-block: var(--unimes-space-12);
  }

  .unimes-institucional-blocks {
    padding-block: var(--unimes-space-12);
  }

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

  .unimes-institucional-highlight__panel {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: var(--unimes-space-10);
  }

  .unimes-institucional-highlight__items {
    flex: 1 1 auto;
  }
}

@media (min-width: 1280px) {
  .unimes-institucional-blocks__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
