/* =========================================================================
   Cursos de Extensão — Tabs (estilo shadcn) + ações
   Escopo: página template-cursos-de-extensao.php (#extensao-tabs).
   O modal de inscrição reutiliza o estilo da home (#modalCursosEmAlta).
   ========================================================================= */

:root {
  --ext-brand: #190c6d;
  --ext-brand-hover: #120848;
  --ext-muted-bg: #f1f5f9;
  --ext-border: #e2e8f0;
  --ext-text: #0f172a;
  --ext-text-muted: #64748b;
  --ext-ring: rgba(25, 12, 109, 0.25);
  --ext-radius: 10px;
}

/* ---------- Wrapper ---------- */
.extensao-tabs {
  margin: 32px auto 8px;
}

/* ---------- Título da seção ---------- */
.extensao-tabs-heading {
  color: var(--ext-brand);
  font-size: clamp(1.35rem, 1rem + 1.6vw, 2rem);
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 20px;
}

/* ---------- TabsList (trilho shadcn) ---------- */
.extensao-tabs-nav.nav {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
  background: var(--ext-muted-bg);
  border-radius: var(--ext-radius);
  padding: 5px;
  margin-bottom: 24px;
  max-width: 100%;
}

/* ---------- TabsTrigger (aba) ---------- */
.extensao-tabs-nav .extensao-tab-link.nav-link {
  border: 0;
  border-radius: 8px;
  padding: 8px 16px;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--ext-text-muted);
  background: transparent;
  white-space: nowrap;
  max-width: 320px;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.extensao-tabs-nav .extensao-tab-link.nav-link:hover {
  color: var(--ext-text);
}

.extensao-tabs-nav .extensao-tab-link.nav-link.active {
  background: #ffffff;
  color: var(--ext-text);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08), 0 1px 3px rgba(15, 23, 42, 0.1);
}

.extensao-tabs-nav .extensao-tab-link.nav-link:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--ext-ring);
}

/* ---------- TabsContent (painel) ---------- */
.extensao-tabs-content {
  border: 1px solid var(--ext-border);
  border-radius: var(--ext-radius);
  padding: 28px;
  background: #ffffff;
}

.extensao-tab-title {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--ext-text);
  margin: 0 0 16px;
}

.extensao-tab-descricoes {
  color: #334155;
  font-size: 1rem;
  line-height: 1.65;
}

.extensao-tab-descricao + .extensao-tab-descricao {
  margin-top: 14px;
}

.extensao-tab-descricao p:last-child {
  margin-bottom: 0;
}

/* ---------- Ações ---------- */
.extensao-tab-acoes {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.extensao-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 22px;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  border: 1.5px solid transparent;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.extensao-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--ext-ring);
}

/* Inscreva-se (primário) */
.extensao-btn-inscrever {
  background: var(--ext-brand);
  color: #ffffff;
}

.extensao-btn-inscrever:hover {
  background: var(--ext-brand-hover);
  color: #ffffff;
}

/* Download material (outline) */
.extensao-btn-download {
  background: transparent;
  color: var(--ext-brand);
  border-color: var(--ext-brand);
}

.extensao-btn-download:hover {
  background: var(--ext-brand);
  color: #ffffff;
}

/* Inscrições encerradas (selo desabilitado) */
.extensao-encerrado {
  background: #e2e8f0;
  color: var(--ext-text-muted);
  border-color: transparent;
  cursor: default;
  pointer-events: none;
}

/* ---------- Modal acima do preloader, se visível ---------- */
#modalCursosEmAlta {
  z-index: 1060;
}

/* ---------- Responsivo ---------- */
@media (max-width: 575.98px) {
  .extensao-tabs-nav.nav {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .extensao-tabs-nav .extensao-tab-link.nav-link {
    max-width: 220px;
  }

  .extensao-tabs-content {
    padding: 20px;
  }

  .extensao-tab-acoes .extensao-btn {
    width: 100%;
  }
}
