/* Training catalog, scoped so theme and other widget styles remain independent. */
.btoc-training-catalog {
	--plum-900: #40164c;
	--plum-700: #692979;
	--pink: #e6318a;
	--ink: #241229;
	--ink-soft: #6b5a73;
	--bg-tint: #f8f5fa;
	--line: #ece5f0;
	--r-lg: 28px;
	--ease: cubic-bezier(.22,.8,.26,.99);
	--font-body: 'Open Sans', system-ui, 'Segoe UI', Arial, sans-serif;
	padding: 56px 0 110px;
	background: #fff;
	color: var(--ink);
	font-family: var(--font-body);
	font-size: 17px;
	line-height: 1.7;
}
.btoc-training-catalog *, .btoc-training-catalog *::before, .btoc-training-catalog *::after { box-sizing: border-box; }
.btoc-training-catalog [hidden] { display: none !important; }
.btoc-training-catalog__wrap { max-width: 1400px; margin: 0 auto; padding: 0 28px; }
.btoc-training-catalog .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.btoc-training-catalog .cat-tools { display: grid; gap: 18px; margin-bottom: 34px; }
.btoc-training-catalog .search-wrap { display: block; margin: 0; }
.btoc-training-catalog .search-wrap input { width: 100%; max-width: 560px; padding: 15px 20px; border: 1.5px solid var(--line); border-radius: 999px; font-family: var(--font-body); font-size: 1rem; line-height: normal; background: var(--bg-tint); color: var(--ink); height: auto; }
.btoc-training-catalog .search-wrap input:focus { outline: none; border-color: var(--plum-700); box-shadow: 0 0 0 4px rgba(105,41,121,.14); background: #fff; }
.btoc-training-catalog .search-wrap input::placeholder { color: var(--ink-soft); opacity: 1; }
.btoc-training-catalog .search-status { font-size: .92rem; color: var(--ink-soft); margin: 0; min-height: 1.3em; }
.btoc-training-catalog .jumps { display: flex; gap: 10px; flex-wrap: wrap; }
.btoc-training-catalog .jump { display: inline-block; padding: 9px 18px; border-radius: 999px; background: var(--bg-tint); border: 1.5px solid var(--line); text-decoration: none; font-weight: 700; font-size: .9rem; color: var(--plum-900); transition: background .2s, color .2s, border-color .2s; overflow-wrap: anywhere; }
.btoc-training-catalog .jump:hover, .btoc-training-catalog .jump[aria-current] { background: var(--chip,var(--plum-700)); border-color: var(--chip,var(--plum-700)); color: #fff; }
.btoc-training-catalog a:focus-visible, .btoc-training-catalog summary:focus-visible { outline: 3px solid var(--plum-700); outline-offset: -3px; }
.btoc-training-catalog .chapters { display: grid; gap: 18px; }
.btoc-training-catalog details.chapter { border: 1px solid var(--line); border-radius: var(--r-lg); background: #fff; overflow: hidden; scroll-margin-top: 110px; }
.btoc-training-catalog details.chapter > summary { display: flex; align-items: center; gap: 22px; padding: 26px 30px; cursor: pointer; list-style: none; border-left: 8px solid var(--card-accent,var(--plum-700)); transition: background .2s; }
.btoc-training-catalog summary::-webkit-details-marker { display: none; }
.btoc-training-catalog summary::marker { content: ''; }
.btoc-training-catalog details.chapter > summary:hover { background: var(--bg-tint); }
.btoc-training-catalog .ch-no { font-weight: 800; font-size: 1rem; color: var(--card-accent,var(--pink)); letter-spacing: .06em; }
.btoc-training-catalog .ch-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 32px; width: 32px; height: 32px; font-size: 28px; line-height: 1; letter-spacing: 0; }
.btoc-training-catalog .ch-icon svg { display: block; width: 16px; height: auto; min-width: 16px; flex-shrink: 0; }
.btoc-training-catalog .ch-name { display: grid; gap: 2px; flex: 1; min-width: 0; }
.btoc-training-catalog .ch-title { font-weight: 800; font-size: clamp(1.1rem,2vw,1.45rem); color: var(--plum-900); letter-spacing: -.02em; line-height: 1.25; overflow-wrap: anywhere; }
.btoc-training-catalog .ch-blurb { font-size: .9rem; color: var(--ink-soft); overflow-wrap: anywhere; }
.btoc-training-catalog .ch-count { font-size: .82rem; font-weight: 700; color: var(--plum-900); background: var(--bg-tint); border: 1px solid var(--line); border-radius: 999px; padding: 6px 14px; white-space: nowrap; }
.btoc-training-catalog .ch-chev, .btoc-training-catalog .cr-chev { color: var(--ink-soft); transition: transform .25s var(--ease); font-size: .9rem; }
.btoc-training-catalog .chapter[open] > summary .ch-chev, .btoc-training-catalog .course-row[open] > summary .cr-chev { transform: rotate(180deg); }
.btoc-training-catalog .ch-body { padding: 6px 30px 26px; display: grid; gap: 10px; border-left: 8px solid var(--card-accent,var(--plum-700)); }
.btoc-training-catalog details.course-row { border: 1px solid var(--line); border-radius: 14px; background: #fff; overflow: hidden; min-width: 0; }
.btoc-training-catalog details.course-row > summary { display: flex; align-items: center; gap: 14px; padding: 16px 20px; cursor: pointer; list-style: none; transition: background .2s; }
.btoc-training-catalog details.course-row > summary:hover { background: var(--bg-tint); }
.btoc-training-catalog details.course-row[open] > summary { background: var(--bg-tint); border-bottom: 1px solid var(--line); }
.btoc-training-catalog .cr-title { flex: 1; font-weight: 700; font-size: 1.02rem; color: var(--plum-900); letter-spacing: -.01em; min-width: 0; overflow-wrap: anywhere; }
.btoc-training-catalog .cr-body { padding: 18px 22px 22px; overflow-wrap: anywhere; }
.btoc-training-catalog .cr-body p { margin: 0 0 1.15em; }
.btoc-training-catalog .cr-body .cr-explore { font-size: .78rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--card-accent,var(--plum-700)); margin-bottom: 10px; }
.btoc-training-catalog .cr-body ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.btoc-training-catalog .cr-body li { font-size: .95rem; color: var(--ink-soft); line-height: 1.65; padding-left: 18px; position: relative; }
.btoc-training-catalog .cr-body ul > li::before { content: ''; position: absolute; left: 0; top: .55em; width: 8px; height: 8px; border-radius: 50%; background: var(--card-accent,var(--plum-700)); }
.btoc-training-catalog .cr-body li strong { color: var(--ink); }
.btoc-training-catalog .duration { display: inline-flex; align-items: center; align-self: flex-start; gap: 6px; background: var(--bg-tint); border: 1px solid var(--line); border-radius: 999px; padding: 5px 14px; font-size: .8rem; font-weight: 700; color: var(--plum-900); white-space: nowrap; }
@media (max-width: 640px) {
	.btoc-training-catalog details.chapter > summary { padding: 20px 18px; gap: 12px; }
	.btoc-training-catalog .ch-count { display: none; }
	.btoc-training-catalog .ch-body { padding: 6px 14px 20px; }
	.btoc-training-catalog details.course-row > summary { flex-wrap: wrap; }
	.btoc-training-catalog .cr-title { flex-basis: 100%; }
	.btoc-training-catalog .duration { white-space: normal; max-width: 100%; }
}

