/* ============================================================
   模块 45 · 术语页词条网格（页面类型库 A3「默认形态」）
   站拷成 <主题>/assets/css/glossary.css（起步包主题在页型 glossary 时自动加载）。
   颜色只用 _地基.css 的 12 档变量 —— 换站只换色系，这里一个字不改。
   版式照茶站 /chinese-tea-glossary/（站主 2026-10-21 点名）：胶囊分组跳转 + 4 / 2 / 1 列卡片，点开就地占满一行。
   结构（类名）只住 起步包/主题骨架/site-theme/parts/glossary.php；交互规矩只住本目录 来源.md。
   ============================================================ */

/* --- 分组跳转：一排胶囊，真 <a href="#group-…">（零 JS 也能跳） --- */
.glossary__groups ul {
	display: flex; flex-wrap: wrap; gap: 8px;
	margin: 0 0 32px; padding: 0 0 16px;
	list-style: none; border-bottom: 1px solid var(--s6);
}
.glossary__groups li { margin: 0; padding: 0; }
.glossary__groups li::before { content: none; }
.glossary__groups a {
	display: inline-block; padding: 4px 16px;
	border: 1px solid var(--s6); border-radius: 999px;
	font-size: 14px; line-height: 24px; font-weight: 600;
	color: var(--s12); background: var(--s1); text-decoration: none;
}
.glossary__groups a:hover { border-color: var(--s8); background: var(--s3); }
.glossary__groups a:focus-visible { outline: 2px solid var(--s8); outline-offset: 2px; }

.glossary__group { margin: 0 0 56px; scroll-margin-top: 96px; }
.glossary__group-title { margin: 0 0 24px; padding-bottom: 8px; border-bottom: 2px solid var(--a9); }

/* --- 没有脚本（或脚本还没跑）：全展开一列，每条都读得到 --- */
.glossary__entry { margin: 0 0 32px; scroll-margin-top: 96px; }
.glossary__name { margin: 0 0 8px; }
.glossary__native { display: block; margin-top: 4px; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--s11); }
.glossary__def > p, .glossary__long p { margin: 0 0 12px; }
.glossary__more a { font-weight: 600; }

/* --- 有脚本：收成卡片网格（parts/glossary.php 的脚本给 .glossary 加 .is-collapsible） --- */
.glossary.is-collapsible .glossary__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.glossary.is-collapsible .glossary__entry {
	margin: 0; background: var(--s2);
	border: 1px solid var(--s6); border-radius: 12px;
}
.glossary.is-collapsible .glossary__entry:hover { border-color: var(--s8); }
.glossary.is-collapsible .glossary__entry.is-open {
	grid-column: 1 / -1; /* 点开就地占满一行，释义在卡片下面展开（茶站的样子） */
	background: var(--s1); border-left: 4px solid var(--a9);
}
.glossary.is-collapsible .glossary__name { margin: 0; font-size: 18px; line-height: 24px; }
.glossary__btn {
	display: grid; grid-template-columns: 1fr auto; column-gap: 8px; align-items: start;
	width: 100%; margin: 0; padding: 16px;
	border: 0; border-radius: 12px; background: none;
	font: inherit; color: var(--s12); text-align: left; cursor: pointer;
}
.glossary__btn:focus-visible { outline: 2px solid var(--s8); outline-offset: 2px; }
.glossary__term { grid-column: 1; }
.glossary__btn .glossary__native { grid-column: 1; }
.glossary__toggle { grid-column: 2; grid-row: 1 / span 2; }
.glossary__toggle::before {
	content: "+"; display: inline-block;
	font-size: 24px; line-height: 24px; font-weight: 400; color: var(--a9);
	transition: transform .2s ease;
}
.glossary__entry.is-open .glossary__toggle::before { transform: rotate(45deg); }
.glossary.is-collapsible .glossary__def { padding: 0 24px 16px 16px; }
.glossary.is-collapsible .glossary__def[hidden] { padding: 0; } /* hidden="until-found" 在 Chrome 里是 content-visibility:hidden，盒子还在，内边距会把收起的卡撑高 */

@media (max-width: 900px) {
	.glossary.is-collapsible .glossary__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
	.glossary.is-collapsible .glossary__grid { grid-template-columns: 1fr; gap: 12px; }
	.glossary.is-collapsible .glossary__name { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
	.glossary__toggle::before { transition: none; }
}
@media print {
	.glossary__groups, .glossary__toggle { display: none; }
	.glossary__def[hidden] { display: block !important; }
}
