.glossary-section[style*="display: none"] {
    display: none !important;
}
    
.term-card {
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.term-card.is-hidden {
    opacity: 0;
    transform: scale(0.95);
    pointer-events: none;
}
    
.glossary-container{max-width:100%}

/* --- Верхняя навигация по категориям (кнопки) --- */
.glossary-nav{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}
.glossary-btn{display:inline-flex;align-items:center;padding:10px 20px;background:#e2eff5;color:#0c2556;border-radius:6px;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s,color .2s;border:none;cursor:pointer;font-family:inherit}
.glossary-btn:hover{background:#0c2556;color:#fff}
.glossary-btn.is-active{background:#0c2556;color:#fff}

/* --- Алфавитный индекс --- */
.alphabet-index{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 32px;padding:16px;background:#f3f7f9;border-radius:8px}
.alphabet-link{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:4px;font-size:14px;font-weight:500;color:#0c2556;text-decoration:none;transition:background .15s}
.alphabet-link:hover{background:#e2eff5;color:#e51a4b}
.alphabet-link.-disabled{color:#a7c1d2;pointer-events:none}

/* --- Секции категорий --- */
.glossary-section{margin-bottom:48px;scroll-margin-top:120px}
.glossary-section h2{font-size:22px;color:#0c2556;margin:0 0 8px;padding-bottom:12px;border-bottom:2px solid #e2eff5}
.glossary-section>.glossary-section-desc{color:#4d6b82;font-size:15px;margin:0 0 20px;line-height:1.6}

/* --- Счётчик терминов --- */
.glossary-section__count{display:inline-block;font-size:13px;color:#4d6b82;font-weight:400;margin-left:12px}

/* --- Сетка карточек терминов --- */
.terms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:768px){.terms-grid{grid-template-columns:1fr}}
@media(min-width:769px)and (max-width:1179px){.terms-grid{grid-template-columns:repeat(2,1fr)}}

/* --- Карточка термина --- */
.term-card{background:#fff;border:1px solid #e2eff5;border-radius:8px;padding:20px;transition:box-shadow .2s,border-color .2s;display:flex;flex-direction:column}
.term-card:hover{border-color:#a7c1d2;box-shadow:0 4px 16px rgba(5,34,87,.08)}
.term-card h3{margin:0 0 8px;font-size:16px;line-height:1.4}
.term-card h3 a{color:#0c2556;text-decoration:none}
.term-card h3 a:hover{color:#e51a4b}
.term-card p{color:#4d6b82;font-size:14px;line-height:1.5;margin:0 0 12px;flex:1}
.term-card .category-badge{display:inline-block;font-size:11px;font-weight:500;color:#fff;background:#3366cc;padding:3px 10px;border-radius:12px;align-self:flex-start}

/* --- Состояние скрытых карточек при фильтрации --- */
.term-card.is-hidden{display:none}

/* --- Алфавитный указатель (детальный) --- */
.glossary-alphabet-detailed{margin-bottom:48px}
.glossary-alphabet-detailed h2{font-size:22px;color:#0c2556;margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid #e2eff5}
.alphabet-group{display:flex;gap:20px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #f3f7f9}
.alphabet-letter{min-width:32px;font-size:18px;font-weight:700;color:#e51a4b;margin:0;line-height:1.5}
.alphabet-group ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px}
.alphabet-group ul li{margin:0}
.alphabet-group ul li a{color:#4d6b82;text-decoration:none;font-size:14px;line-height:1.6}
.alphabet-group ul li a:hover{color:#e51a4b}
@media(max-width:640px){.alphabet-group{flex-direction:column;gap:4px}}

/* --- Фильтры (активные и сброс) --- */
.glossary-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;padding:16px 20px;background:#f3f7f9;border-radius:8px;align-items:center}
.glossary-filters__label{font-size:13px;font-weight:500;color:#4d6b82;margin-right:8px}
.glossary-filters__btn{padding:6px 16px;border:2px solid transparent;border-radius:20px;font-size:13px;font-weight:500;color:#4d6b82;background:#fff;cursor:pointer;transition:all .2s;font-family:inherit}
.glossary-filters__btn:hover{border-color:#5f95ff;color:#0c2556}
.glossary-filters__btn.is-active{background:#5f95ff;color:#fff;border-color:#5f95ff}
.glossary-filters__btn.is-active:hover{background:#0c2556;border-color:#0c2556}
.glossary-filters__btn--reset{color:#4d6b82;background:transparent;border-color:#e2eff5}
.glossary-filters__btn--reset:hover{background:#e2eff5;border-color:#e2eff5}
.glossary-filters__count{font-size:13px;color:#4d6b82;margin-left:auto}

/* --- Адаптив фильтров --- */
@media(max-width:640px){
    .glossary-filters{flex-wrap:wrap;gap:6px}
    .glossary-filters__label{width:100%;margin-bottom:4px}
    .glossary-filters__count{margin-left:0;width:100%;margin-top:4px}
}

/* --- Секция контактов --- */
.glossary-contact{margin-top:60px}

/* --- Поиск по терминам --- */
.glossary-search{margin-bottom:20px}
.glossary-search__input{width:100%;padding:12px 20px;border:2px solid #e2eff5;border-radius:8px;font-size:15px;color:#0c2556;background:#fff;outline:none;transition:border-color .2s;font-family:inherit}
.glossary-search__input:focus{border-color:#5f95ff}
.glossary-search__input::placeholder{color:#a7c1d2}

/* --- Улучшение кривой алфавитного индекса --- */
.alphabet-link.-disabled{color:#a7c1d2;pointer-events:none;opacity:.4}

/* --- Responsive mobile improvements --- */
@media(max-width:768px){
    .glossary-section h2{font-size:18px}
    .term-card{padding:16px}
    .term-card h3{font-size:15px}
    .term-card p{font-size:13px}
    .glossary-nav{gap:6px;margin:16px 0}
    .glossary-btn{padding:8px 14px;font-size:12px}
    .alphabet-index{padding:10px}
    .alphabet-link{width:30px;height:30px;font-size:12px}
    .glossary-alphabet-detailed h2{font-size:18px}
    .alphabet-letter{font-size:16px;min-width:28px}
    .alphabet-group ul li a{font-size:13px}
    .glossary-filters{padding:12px 14px}
    .glossary-filters__btn{font-size:12px;padding:5px 12px}
    .glossary-search__input{font-size:14px;padding:10px 16px}
    .page-outer .text-content-outer{padding:10px}
}

@media(max-width:480px){
    .glossary-btn{padding:6px 10px;font-size:11px}
    .alphabet-link{width:26px;height:26px;font-size:11px}
    .glossary-filters__btn{font-size:11px;padding:4px 10px}
}