:root { --cg-accent:#ff6a00; --cg-card-radius:16px; --cg-cream:#f4efe7; }
.cg-glossary-wrap{margin:1rem 0}
.cg-glossary-controls{margin-bottom:.75rem;display:flex;justify-content:center;align-items:center;gap:.6rem;max-width:800px;margin-left:auto;margin-right:auto}
.cg-g-search{width:100%;padding:.7rem .9rem;border:1px solid #ff8c00;border-radius:5px}
.cg-g-search::placeholder{text-align:center;color:#888;font-size:1.8rem}
.cg-cat-filter{display:flex;justify-content:center;margin:.5rem auto .25rem;gap:.5rem;max-width:800px}
.cg-cat-select{width:100%;max-width:800px;padding:.7rem .9rem;border:1px solid #ff8c00;border-radius:5px;background:#fff;font-size:1.8rem;line-height:1.4;text-align:center}
.cg-cat-select.is-empty{color:#888;font-weight:400}
.cg-cat-select.has-value{color:var(--primary);font-weight:600}
.cg-reset-wrap{display:flex;justify-content:center;margin:.35rem 0 1rem}
.cg-reset{background:transparent;border:0;padding:.25rem .35rem;cursor:pointer}
/* A–Z row */
.cg-g-alpha{display:flex;flex-wrap:wrap;gap:.75rem;margin:.75rem 0 1.2rem;justify-content:center;align-items:center}
.cg-g-letter{padding:.7rem .9rem;border:0;border-radius:8px;background:#fff;cursor:pointer;font-weight:600;font-size:1.1rem;color:var(--primary)}
/* ALL button must override cg-g-letter */
.cg-g-letter.cg-g-all{
  margin-right:1.2rem;
  border:1px solid #ccc;
  border-radius:8px;
  background:transparent;
  padding:.35rem .65rem;
  line-height:1.1;
  color:#000;
}
.cg-g-letter.cg-g-all:hover{ border-color:#999; color:var(--primary); }
.cg-g-letter.is-disabled{color:#000;cursor:not-allowed}
.cg-g-letter.is-active{ text-decoration: underline; text-underline-offset: 3px; }
/* Unavailable (filtered out by search/category) */
.cg-g-letter.is-unavailable{ color:#777; opacity:.45; cursor:not-allowed }
.cg-g-heading{margin:1rem 0 .75rem;font-size:3rem;border-bottom:1px solid #eee;padding-bottom:.35rem}
.cg-g-items{list-style:none;padding:0;margin:0;display:grid;gap:1rem;grid-template-columns:repeat(var(--cg-cols-desktop,3),minmax(0,1fr))}
@media (max-width:1023.98px){.cg-g-items{grid-template-columns:repeat(var(--cg-cols-tablet,2),minmax(0,1fr))}}
@media (max-width:639.98px){.cg-g-items{grid-template-columns:repeat(var(--cg-cols-mobile,1),minmax(0,1fr))}}
.cg-card,.cg-g-item{list-style:none}
.cg-card-link{display:block;background:#fff;border:1px solid #e9e9e9;border-radius:var(--cg-card-radius);text-decoration:none;padding:18px 20px;box-shadow:0 2px 10px rgba(0,0,0,.06);position:relative;transition:transform .18s ease,box-shadow .18s ease;border-top:0}
.cg-card-link::before{content:"";position:absolute;top:3px;left:0;right:0;margin:0 auto;width:99%;height:6px;background:var(--cg-accent);border-top-left-radius:var(--cg-card-radius);border-top-right-radius:var(--cg-card-radius)}
.cg-card-link:hover{transform:translateY(-4px);box-shadow:0 8px 18px rgba(0,0,0,.08)}
.cg-card-title{font-weight:600;margin:6px 0 2px;display:block;text-decoration:underline;text-align:center}
.cg-card-excerpt{display:block;color:#444;line-height:1.55;margin-top:6px;font-size:.98rem}
.cg-related--cards{background:var(--cg-cream);padding:2.2rem 1rem;border-radius:7px;margin-top:2rem}
.cg-related-title{text-align:center;margin:0 0 1.4rem}
.cg-card-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
@media (max-width:1024px){.cg-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.cg-card-grid{grid-template-columns:1fr}}


/* Restore dropdown arrow on the topic filter */
.cg-cat-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: #fff;
  background-image:
    linear-gradient(45deg, transparent 50%, #555 50%),
    linear-gradient(135deg, #555 50%, transparent 50%);
  background-position:
    calc(100% - 18px) center,
    calc(100% - 13px) center;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  padding-right: 2.2rem; /* make room for arrow */
}

/* Focus / hover states for better feedback */
.cg-cat-select:focus {
  outline: none;
  border-color: var(--cg-accent, #ff6a00);
  box-shadow: 0 0 0 2px rgba(255,106,0,0.2);
}

/* Optional: darken arrow when open (Firefox) */
.cg-cat-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}
