/* =========================
   CONTAINER / TÍTULO
========================= */
#frontpage-available-course-list {
  margin-top: 12px;
}

/* =========================
   BARRA DE BUSCA + CTA
========================= */
.local-courselistclean-searchwrap {
  display: flex;
  gap: 10px;
  align-items: center;
  margin: 10px 0 14px;
}

/* input ocupa espaço, CTA não estica */
.local-courselistclean-search {
  flex: 1 1 auto;
  min-width: 240px;
  max-width: 720px;

  padding: 12px 14px 12px 42px; /* espaço pra lupa */
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  outline: none;

  /* Ícone de lupa via SVG (discreto) */
  background-repeat: no-repeat;
  background-position: 14px center;
  background-size: 18px 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
}

.local-courselistclean-search:focus {
  border-color: rgba(13,110,253,.55);
  box-shadow: 0 0 0 4px rgba(13,110,253,.12);
}

/* CTA "Todos os cursos" — não parecer desativado */
.local-courselistclean-allcourses {
  flex: 0 0 auto;
  white-space: nowrap;

  padding: 12px 14px;
  border-radius: 12px;

  background: #eef4ff;
  color: #0d6efd;
  border: 1px solid rgba(13,110,253,.25);
  font-weight: 600;
  text-decoration: none;

  transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease;
}

.local-courselistclean-allcourses:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(13,110,253,.12);
  background: #e6f0ff;
  text-decoration: none;
}

/* contador */
.local-courselistclean-count {
  margin-left: auto; /* empurra contador pro fim quando houver espaço */
  font-size: .9rem;
  color: rgba(0,0,0,.55);
  white-space: nowrap;
}

/* Mobile: empilha */
@media (max-width: 576px) {
  .local-courselistclean-searchwrap {
    flex-direction: column;
    align-items: stretch;
  }

  .local-courselistclean-search {
    max-width: none;
    min-width: 0;
  }

  .local-courselistclean-allcourses {
    width: 100%;
    text-align: center;
  }

  .local-courselistclean-count {
    margin-left: 0;
    text-align: center;
  }
}

/* =========================
   EMPTY STATE
========================= */
.local-courselistclean-empty {
  margin: 14px 0 0;
  padding: 12px 14px;
  border: 1px dashed rgba(0,0,0,.18);
  border-radius: 12px;
}

/* =========================
   CARDS (mais clean + feedback)
========================= */
.courses.frontpage-course-list-all .dashboard-card-deck {
  gap: 14px;
}

.courses.frontpage-course-list-all .dashboard-card {
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 8px 24px rgba(0,0,0,.06);

  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.courses.frontpage-course-list-all .dashboard-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(0,0,0,.12);
  border-color: rgba(0,0,0,.14);
}

/* Conteúdo interno */
.courses.frontpage-course-list-all .dashboard-card .course-info-container {
  padding: 12px 14px;
}

/* Título: mais legível + clamp */
.courses.frontpage-course-list-all .dashboard-card .coursename {
  display: -webkit-box;
  -webkit-line-clamp: 2;              /* no máximo 2 linhas */
  -webkit-box-orient: vertical;
  overflow: hidden;

  font-weight: 800;
  font-size: 1.05rem;
  line-height: 1.25;
  margin: 0;

  color: inherit;
  text-decoration: none;
}

.courses.frontpage-course-list-all .dashboard-card .coursename:hover {
  text-decoration: none;
}

/* Badge de categoria mais discreta */
.courses.frontpage-course-list-all .dashboard-card .course-category {
  font-size: .75rem;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.55);
  color: #fff;
  backdrop-filter: blur(6px);
}

/* =========================
   OCULTAR INFOS EXTRAS (mantém no HTML)
========================= */
.local-courselistclean-visually-hidden {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
