/* Link exercise */
.link-item { min-height: 3rem; font-size: 1.05rem; white-space: normal; }
.link-item.active { background-color: var(--bs-primary); border-color: var(--bs-primary); color: #fff; }

/* Memory exercise */
.memory-card {
  position: relative;
  width: 100%;
  min-height: 6rem;
  border: 2px solid transparent;
  border-radius: .75rem;
  padding: .5rem;
  font-size: 1.05rem;
  font-weight: 600;
  color: #fff;
  background: var(--bs-secondary);
  box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .1);
  transition: transform .15s ease, background-color .2s ease;
}
.memory-card:hover:not(.flipped) { transform: translateY(-2px); }
.memory-card .memory-text { display: none; }
.memory-card .memory-back { font-size: 2rem; opacity: .6; }
.memory-card.flipped .memory-text { display: inline; }
.memory-card.flipped .memory-back { display: none; }
.memory-card.flipped.memory-fr { background: #fff; color: var(--bs-primary); border-color: var(--bs-primary); }
.memory-card.flipped.memory-x { background: #fff; color: #d9480f; border-color: #fd7e14; }
.memory-card.matched { background: var(--bs-success-bg-subtle) !important; border-color: var(--bs-success) !important; color: var(--bs-success) !important; cursor: default; }
.memory-card.wrong { border-color: var(--bs-danger) !important; }

/* Article exercise: der = bleu, die = rouge, das = vert */
.article-der { --article-color: #1c7ed6; }
.article-die { --article-color: #e03131; }
.article-das { --article-color: #2f9e44; }
.badge.article-der, .badge.article-die, .badge.article-das { background: var(--article-color); }
.article-btn { min-width: 6rem; color: var(--article-color); border: 2px solid var(--article-color); background: #fff; }
.article-btn:hover { color: #fff; background: var(--article-color); }
.article-btn.chosen-ok, .article-btn.expected { color: #fff; background: var(--bs-success); border-color: var(--bs-success); }
.article-btn.chosen-ko { color: #fff; background: var(--bs-danger); border-color: var(--bs-danger); }

.exercise-card { max-width: 48rem; margin: 0 auto; }
.special-char { min-width: 2.2rem; }
