/* ===== Kapable Inspired Glossary UI ===== */

.kapable-glossary-wrap {
  max-width:1200px;
  margin:60px auto;
  padding:0 20px;
}

.glossary-title {
  font-size:36px;
  margin-bottom:25px;
  text-align:center;
}

.glossary-search {
  text-align:center;
  margin-bottom:40px;
}

.glossary-search input {
  width:60%;
  max-width:420px;
  padding:14px 16px;
  border-radius:8px;
  border:1px solid #ddd;
  font-size:16px;
}

/* Grid */

.glossary-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:22px;
}

.glossary-card {
  background:#fff;
  padding:22px;
  border-radius:14px;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
  text-decoration:none;
  color:#111;
  transition:.25s ease;
}

.glossary-card:hover {
  transform:translateY(-4px);
  box-shadow:0 10px 30px rgba(0,0,0,.12);
}

.glossary-card h3 {
  margin-bottom:10px;
  font-size:18px;
}

/* Single */

.kapable-single-glossary {
  max-width:900px;
  margin:70px auto;
  padding:0 20px;
}

.glossary-single-card {
  background:#fff;
  padding:40px;
  border-radius:16px;
  box-shadow:0 10px 35px rgba(0,0,0,.08);
}

.glossary-single-card h1 {
  margin-bottom:20px;
}

/* Alphabet Bar */

.glossary-alphabet{
  text-align:center;
  margin-bottom:25px;
}

.alpha-letter{
  display:inline-block;
  margin:4px;
  padding:6px 10px;
  border-radius:6px;
  background:#f2f2f2;
  cursor:pointer;
  font-weight:600;
}

.alpha-letter.active,
.alpha-letter:hover{
  background:#1e90ff;
  color:#fff;
}

.glossary-search {
  margin-bottom: 18px;
}

.glossary-alphabet {
  margin-bottom: 35px;
}

.glossary-search-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
}

#glossarySearch{
  width:60%;
  max-width:420px;
  padding:14px 16px;
  border-radius:8px;
  border:1px solid #ddd;
  font-size:16px;
}

#glossaryReset{
  border:none;
  background:#eee;
  color:#333;
  width:40px;
  height:40px;
  border-radius:8px;
  font-size:18px;
  cursor:pointer;
}

#glossaryReset:hover{
  background:#1e90ff;
  color:#fff;
}

.glossary-loadmore-wrap{
  text-align:center;
  margin-top:40px;
}

#glossaryLoadMore{
  background:#1e90ff;
  color:#fff;
  border:none;
  padding:14px 28px;
  border-radius:8px;
  font-size:16px;
  cursor:pointer;
}

#glossaryLoadMore:hover{
  background:#1876cc;
}

/* Responsive glossary grid */

.glossary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 22px;
}

/* Tablet */
@media (max-width: 992px) {
  .glossary-grid {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  }
}

/* Mobile */
@media (max-width: 576px) {
  .glossary-grid {
    grid-template-columns: 1fr;
  }

  .glossary-search-wrap {
    flex-direction: column;
  }

  #glossarySearch {
    width: 100%;
  }
}

.glossary-loader{
  text-align:center;
  margin:30px 0;
  display:none;
  font-size:14px;
  color:#666;
}

.spinner{
  width:22px;
  height:22px;
  border:3px solid #ddd;
  border-top:3px solid #1e90ff;
  border-radius:50%;
  display:inline-block;
  animation:spin 1s linear infinite;
  margin-right:8px;
  vertical-align:middle;
}

@keyframes spin{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}

/* Fade-in animation */
.glossary-card {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .4s ease, transform .4s ease;
}

.glossary-card.show {
  opacity: 1;
  transform: translateY(0);
}

/* Progress */
.glossary-progress{
  text-align:center;
  margin:20px 0;
  font-size:14px;
  color:#666;
}

/* End message */
.glossary-end{
  text-align:center;
  margin:30px 0;
  color:#777;
  display:none;
  font-size:14px;
}