/* =========================================
   LETTER CARDS (alphabets page)
========================================== */
.letter-grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
  gap: 14px;
}
.letter-card{
  background: var(--parchment-card);
  border: 1px solid rgba(36,24,19,0.12);
  border-radius: var(--radius);
  padding: 18px 14px 14px;
  text-align:center;
  position:relative;
  cursor:pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  opacity:0; transform: translateY(10px);
}
.letter-card.in-view{ opacity:1; transform:none; transition: opacity .5s ease, transform .5s ease; }
.letter-card:hover, .letter-card:focus-visible{
  transform: translateY(-3px);
  box-shadow: 0 14px 26px -16px rgba(36,24,19,0.4);
  border-color: rgba(107,30,30,0.35);
}
.letter-card .hole{ position:absolute; top:10px; left:10px; width:8px; height:8px; }
.letter-card .glyph{
  font-family: var(--font-kn-display);
  font-size: 2.4rem;
  color: var(--maroon-deep);
  line-height:1;
  margin-bottom: 10px;
  margin-top: 4px;
}
.letter-card .roman{
  font-family: var(--font-en-body);
  font-weight:600;
  font-size: 0.9rem;
  color: var(--ink);
}
.letter-card .sound{
  font-size: 0.76rem;
  color: var(--ink-soft);
  margin-top: 2px;
}
.letter-card .play-btn{
  margin-top: 10px;
  width: 30px; height:30px;
  border-radius:50%;
  border: 1px solid rgba(107,30,30,0.3);
  background: transparent;
  display:inline-flex; align-items:center; justify-content:center;
  color: var(--maroon-deep);
  transition: background .15s ease, color .15s ease;
}
.letter-card .play-btn:hover{ background: var(--maroon-deep); color: var(--cream-white); }
.letter-card .play-btn svg{ width:12px; height:12px; }

/* vowel cards get a touch more presence since there are fewer of them */
.letter-grid.vowels .letter-card .glyph{ font-size: 2.7rem; }

/* =========================================
   RESPONSIVE
========================================== */
@media (max-width: 900px){
  .letter-grid{ grid-template-columns: repeat(auto-fill, minmax(108px, 1fr)); }
}
@media (max-width: 600px){
  .letter-grid{ grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 10px; }
}
