/* =====================================================================
   ABEPRO, componentes das páginas de reconhecimento e cursos (prefixo rc-)
   Carregado DEPOIS de tokens.css + abepro.css + historia.css por:
   reconhecimento, premio-abepro, mencao-honrosa-abepriana,
   cursos-enade-nota-5, cursos-capes-6-7
   Ícones: Font Awesome 6 (cdnjs), carregado pela própria página.
   ===================================================================== */

/* ---- Cartão grande de honraria ---- */
.rc-awards { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-3); }
.rc-award { position: relative; display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--neutral-200); border-radius: var(--radius-xl); padding: var(--space-4); overflow: hidden; transition: box-shadow var(--duration-base), transform var(--duration-base) var(--ease-out); }
.rc-award:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.rc-award::after { content: ""; position: absolute; left: var(--space-4); right: var(--space-4); bottom: 0; height: 3px; background: var(--brand-500); border-radius: 3px 3px 0 0; transform: scaleX(.3); transform-origin: left; transition: transform var(--duration-slow) var(--ease-out); }
.rc-award--accent::after { background: var(--accent-600); }
.rc-award:hover::after { transform: scaleX(1); }
.rc-award__top { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; }
.rc-award__icon { width: 56px; height: 56px; border-radius: var(--radius-xl); background: var(--brand-700); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 24px; flex-shrink: 0; }
.rc-award--accent .rc-award__icon { background: var(--accent-600); }
.rc-award__title { font-family: var(--font-sans); font-weight: 600; font-size: 20px; color: var(--brand-800); line-height: 1.25; }
.rc-award__text { font-size: 14.5px; color: var(--neutral-600); line-height: 1.65; flex: 1; }
.rc-award__list { list-style: none; display: flex; flex-direction: column; gap: 8px; margin-top: 16px; }
.rc-award__list li { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; color: var(--neutral-700); line-height: 1.5; }
.rc-award__list i { color: var(--brand-500); margin-top: 3px; flex-shrink: 0; }
.rc-award--accent .rc-award__list i { color: var(--accent-600); }
.rc-award__actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: var(--space-3); }

/* ---- Cronograma (edital) ---- */
.rc-cal { display: flex; flex-direction: column; gap: 10px; }
.rc-cal__item { display: flex; align-items: center; gap: 18px; background: var(--white); border: 1px solid var(--neutral-200); border-radius: var(--radius-lg); padding: 14px 18px; }
.rc-cal__item.is-done { opacity: .68; }
.rc-cal__date { flex-shrink: 0; width: 108px; font-family: var(--font-mono); font-size: 12.5px; font-weight: 700; color: var(--brand-500); }
.rc-cal__body { flex: 1; min-width: 0; }
.rc-cal__title { font-size: 14.5px; font-weight: 600; color: var(--neutral-900); line-height: 1.35; }
.rc-cal__text { font-size: 13px; color: var(--neutral-600); margin-top: 3px; line-height: 1.5; }
.rc-cal__flag { flex-shrink: 0; }

/* ---- Lista de premiados / homenageados ---- */
.rc-winners { display: flex; flex-direction: column; gap: 10px; }
.rc-winner { display: flex; align-items: flex-start; gap: 16px; background: var(--white); border: 1px solid var(--neutral-200); border-radius: var(--radius-lg); padding: 16px 18px; transition: border-color var(--duration-base), box-shadow var(--duration-base); }
.rc-winner:hover { border-color: var(--brand-200); box-shadow: var(--shadow-sm); }
.rc-winner.is-hidden { display: none; }
.rc-winner__year { flex-shrink: 0; width: 54px; height: 54px; border-radius: var(--radius-lg); background: var(--brand-50); color: var(--brand-700); display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-mono); font-size: 13px; font-weight: 700; }
.rc-winner__body { flex: 1; min-width: 0; }
.rc-winner__cat { font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--accent-700); }
.rc-winner__name { font-family: var(--font-sans); font-weight: 600; font-size: 15.5px; color: var(--neutral-900); line-height: 1.35; margin-top: 3px; }
.rc-winner__work { font-size: 13.5px; color: var(--neutral-600); line-height: 1.55; margin-top: 4px; }
.rc-winner__inst { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--neutral-500); margin-top: 6px; }
.rc-winner__inst i { color: var(--brand-400); }

/* ---- Cursos e programas ---- */
.rc-courses { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-2); }
.rc-course { display: flex; align-items: flex-start; gap: 14px; background: var(--white); border: 1px solid var(--neutral-200); border-radius: var(--radius-lg); padding: 16px 18px; transition: border-color var(--duration-base), box-shadow var(--duration-base); }
.rc-course:hover { border-color: var(--brand-200); box-shadow: var(--shadow-sm); }
.rc-course.is-hidden { display: none; }
.rc-course__note { flex-shrink: 0; width: 44px; height: 44px; border-radius: var(--radius-md); background: var(--brand-700); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 600; font-size: 19px; }
.rc-course__note--7 { background: var(--accent-600); }
.rc-course__inst { font-family: var(--font-sans); font-weight: 600; font-size: 14.5px; color: var(--neutral-900); line-height: 1.35; }
.rc-course__name { font-size: 13px; color: var(--neutral-600); margin-top: 3px; line-height: 1.45; }
.rc-course__place { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--neutral-500); margin-top: 6px; }
.rc-course__place i { color: var(--brand-400); }

/* ---- Filtros e contagem (compartilhados com pb-filter quando disponível) ---- */
.rc-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.rc-filter { display: inline-flex; align-items: center; gap: 7px; background: var(--white); border: 1px solid var(--neutral-200); border-radius: var(--radius-pill); padding: 7px 14px; font-family: var(--font-sans); font-size: 12px; font-weight: 600; line-height: 1.2; color: var(--neutral-700); cursor: pointer; transition: background var(--duration-base), color var(--duration-base), border-color var(--duration-base); }
.rc-filter:hover { border-color: var(--brand-300); color: var(--brand-700); background: var(--brand-50); }
.rc-filter.is-active { background: var(--brand-700); border-color: var(--brand-700); color: #fff; }
.rc-filter__n { font-size: 10px; font-weight: 700; background: var(--neutral-100); color: var(--neutral-600); border-radius: var(--radius-pill); padding: 2px 7px; line-height: 1.3; }
.rc-filter.is-active .rc-filter__n { background: rgba(255,255,255,.18); color: #fff; }
.rc-count { font-size: 13px; color: var(--neutral-500); }
.rc-empty { display: none; text-align: center; padding: var(--space-6); color: var(--neutral-500); font-size: 14.5px; }
.rc-empty.is-visible { display: block; }

/* ---- Perguntas frequentes ---- */
.rc-faq { display: flex; flex-direction: column; gap: 8px; max-width: 860px; margin: 0 auto; }
.rc-faq__item { background: var(--white); border: 1px solid var(--neutral-200); border-radius: var(--radius-lg); overflow: hidden; }
.rc-faq__btn { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; background: none; border: none; padding: 16px 20px; font-family: var(--font-sans); font-size: 15px; font-weight: 600; color: var(--brand-800); text-align: left; cursor: pointer; }
.rc-faq__btn i { color: var(--brand-400); transition: transform var(--duration-base); flex-shrink: 0; }
.rc-faq__btn[aria-expanded="true"] i { transform: rotate(180deg); }
.rc-faq__panel { padding: 0 20px 18px; font-size: 14.5px; color: var(--neutral-600); line-height: 1.7; }
.rc-faq__panel[hidden] { display: none; }
.rc-faq__panel a { color: var(--brand-600); text-decoration: underline; }

/* ---- Responsivo ---- */
@media (max-width: 1023px) {
  .rc-awards { grid-template-columns: 1fr; }
  .rc-courses { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  .rc-courses { grid-template-columns: 1fr; }
  .rc-cal__item { flex-direction: column; align-items: flex-start; gap: 8px; }
  .rc-cal__date { width: auto; }
}
