/* D&A Glossary — scoped styles */
.da-glossary {
	--g-navy:      #0c1f3f;
	--g-gold-deep: #b8860b;
	--g-blue-soft: #e8eefb;
	--g-muted:     #6b7280;
	--g-ink:       #111827;
	--g-line:      #e5e7eb;
	--g-line-str:  #d1d5db;
	--g-shadow-sm: 0 1px 3px rgba(0,0,0,.08);
	--g-shadow-lg: 0 8px 24px rgba(0,0,0,.12);
	--g-radius:    10px;
	--g-ease:      cubic-bezier(.22,.61,.36,1);
}

/* ── Search bar ───────────────────────────────────────────── */
.da-glossary .search-big {
	display: flex;
	align-items: center;
	gap: 14px;
	background: #fff;
	border: 1.5px solid var(--g-line-str);
	border-radius: 14px;
	padding: 8px 8px 8px 22px;
	max-width: 600px;
	margin: 0 auto 26px;
	box-shadow: var(--g-shadow-sm);
}
.da-glossary .search-big input {
	border: none;
	outline: none;
	flex: 1;
	font: inherit;
	font-size: 16px;
	background: none;
	padding: 11px 0;
}
.da-glossary .search-big > svg {
	width: 20px;
	height: 20px;
	color: var(--g-navy);
	flex: none;
}
.da-glossary .search-clear {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: none;
	background: var(--g-line);
	color: var(--g-muted);
	cursor: pointer;
	flex: none;
	padding: 0;
	transition: background .15s, color .15s;
}
.da-glossary .search-clear:hover {
	background: var(--g-navy);
	color: #fff;
}
.da-glossary .search-clear svg {
	width: 14px;
	height: 14px;
	pointer-events: none;
}

/* ── A-Z rail ─────────────────────────────────────────────── */
.da-glossary .alpha {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: center;
	margin: 0 auto 30px;
	max-width: 760px;
}
.da-glossary .alpha a {
	width: 36px;
	height: 36px;
	display: grid;
	place-items: center;
	border-radius: 9px;
	font-weight: 700;
	font-size: 14px;
	color: var(--g-navy);
	background: var(--g-blue-soft);
	text-decoration: none;
	transition: all .18s var(--g-ease);
}
.da-glossary .alpha a:hover {
	background: var(--g-navy);
	color: #fff;
	transform: translateY(-2px);
}
.da-glossary .alpha a.off {
	background: transparent;
	color: var(--g-line-str);
	pointer-events: none;
}

/* ── Filter chips ─────────────────────────────────────────── */
.da-glossary .filter-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}
.da-glossary .chip {
	padding: 7px 16px;
	border-radius: 999px;
	border: 1.5px solid var(--g-line-str);
	background: transparent;
	color: var(--g-ink);
	font-weight: 600;
	font-size: 14px;
	cursor: pointer;
	transition: all .18s var(--g-ease);
	font-family: inherit;
}
.da-glossary .chip:hover,
.da-glossary .chip.is-active {
	background: var(--g-navy);
	color: #fff;
	border-color: var(--g-navy);
}

/* ── Letter sections ──────────────────────────────────────── */
.da-glossary .gloss-section {
	margin-bottom: 48px;
	scroll-margin-top: 100px;
}

.da-glossary .gloss-letter-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 18px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--g-blue-soft);
}

.da-glossary .letter-badge {
	font-size: 32px;
	font-weight: 900;
	line-height: 1;
	color: var(--g-navy);
	letter-spacing: -.01em;
}

.da-glossary .back-to-filter {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 12px;
	font-weight: 600;
	color: var(--g-muted);
	padding: 5px 10px;
	border-radius: 6px;
	border: 1px solid var(--g-line);
	background: transparent;
	font-family: inherit;
	cursor: pointer;
	transition: all .15s var(--g-ease);
}
.da-glossary .back-to-filter:hover {
	color: var(--g-navy);
	border-color: var(--g-navy);
	background: var(--g-blue-soft);
}
.da-glossary .back-to-filter svg {
	flex: none;
	pointer-events: none;
}

/* ── Cards grid (inside each section) ────────────────────── */
.da-glossary .gloss-letter-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
@media (max-width: 980px) { .da-glossary .gloss-letter-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .da-glossary .gloss-letter-grid { grid-template-columns: 1fr; } }

/* ── Term card ────────────────────────────────────────────── */
.da-glossary .term {
	background: #fff;
	border: 1px solid var(--g-line);
	border-radius: var(--g-radius);
	padding: 22px 22px 20px;
	box-shadow: var(--g-shadow-sm);
	transition: transform .3s var(--g-ease), box-shadow .3s var(--g-ease), border-color .3s;
	display: flex;
	flex-direction: column;
}
.da-glossary .term:hover {
	transform: translateY(-4px);
	box-shadow: var(--g-shadow-lg);
	border-color: transparent;
}
.da-glossary .term-top {
	margin-bottom: 10px;
}
.da-glossary .term h3 {
	font-size: 18px;
	color: var(--g-ink);
	margin: 0;
	line-height: 1.25;
}
.da-glossary .term .abbr {
	font-size: 12px;
	font-weight: 600;
	color: var(--g-muted);
	margin-top: 3px;
}
.da-glossary .term p {
	font-size: 14px;
	line-height: 1.65;
	color: var(--g-muted);
	margin: 0;
	flex: 1;
}
.da-glossary .term .gloss-tag {
	display: inline-block;
	margin-top: 14px;
	padding: 4px 11px;
	border-radius: 999px;
	font-size: 11.5px;
	font-weight: 700;
	background: var(--g-blue-soft);
	color: var(--g-navy);
	width: max-content;
}
.da-glossary .term .gloss-tag.gloss-tag--gold {
	background: #fef3c7;
	color: var(--g-gold-deep);
}
.da-glossary .term .seealso {
	margin-top: 12px;
	font-size: 12px;
	color: var(--g-muted);
}
.da-glossary .term .seealso b {
	color: var(--g-navy);
	font-weight: 600;
}

/* ── Empty state ──────────────────────────────────────────── */
.da-glossary .gloss-empty {
	display: none;
	text-align: center;
	color: var(--g-muted);
	padding: 50px 0;
}
