/* FitBiz Academy — inherits your theme's fonts; colors via --fba-accent */
.fba {
	--fba-ink: #1d2327;
	--fba-muted: #646970;
	--fba-line: #e3e5e8;
	--fba-soft: #f6f7f8;
	--fba-done: #1f9d55;
	--fba-radius: 12px;
	color: var(--fba-ink);
	line-height: 1.6;
	max-width: 880px;
	margin-inline: auto;
}
.fba *, .fba *::before, .fba *::after { box-sizing: border-box; }
.fba a { text-decoration: none; }
.fba-i { width: 1.1em; height: 1.1em; flex: none; vertical-align: -0.15em; }

/* Breadcrumbs */
.fba-crumbs { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; align-items: center; margin: 0 0 1rem; font-size: .9rem; }
.fba-crumbs a { color: var(--fba-accent); font-weight: 600; display: inline-flex; gap: .3rem; align-items: center; }
.fba-crumbs__where { color: var(--fba-muted); }

/* Video */
.fba-video { position: relative; aspect-ratio: 16 / 9; background: #000; border-radius: var(--fba-radius); overflow: hidden; margin: 0 0 1.5rem; }
.fba-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.fba-video--embed { aspect-ratio: auto; background: none; }
.fba-video--embed iframe { position: static; }
.fba-video--embed > div[style*="padding"] iframe { position: absolute; }

.fba-body { margin-bottom: 1.5rem; }

/* Buttons */
.fba-btn { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: .1rem; padding: .7rem 1.3rem; border-radius: 999px; background: var(--fba-accent); color: #fff !important; font-weight: 700; line-height: 1.2; border: 2px solid var(--fba-accent); transition: filter .15s, transform .15s; }
.fba-btn:hover { filter: brightness(.93); }
.fba-btn small { font-weight: 500; opacity: .9; font-size: .8rem; }
.fba-btn--lg { padding: .9rem 1.8rem; font-size: 1.05rem; }
.fba-btn--ghost { background: transparent; color: var(--fba-accent) !important; }

/* Complete toggle */
.fba-actions { margin: 0 0 1.25rem; }
.fba-complete { display: inline-flex; align-items: center; gap: .5rem; padding: .6rem 1.1rem; border-radius: 999px; border: 2px solid var(--fba-line); background: #fff; color: var(--fba-ink); font: inherit; font-weight: 600; cursor: pointer; transition: all .15s; }
.fba-complete .fba-i { color: var(--fba-line); }
.fba-complete:hover { border-color: var(--fba-done); }
.fba-complete.is-done { background: var(--fba-done); border-color: var(--fba-done); color: #fff; }
.fba-complete.is-done .fba-i { color: #fff; }
.fba-complete[disabled] { opacity: .6; cursor: wait; }
.fba-preview-note { background: var(--fba-soft); padding: .75rem 1rem; border-radius: var(--fba-radius); margin: 0; }
.fba-preview-note a { color: var(--fba-accent); font-weight: 700; }

/* Prev / next */
.fba-pager { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 0 0 2rem; }
.fba-pager a { display: flex; align-items: center; gap: .75rem; padding: 1rem 1.1rem; border: 1px solid var(--fba-line); border-radius: var(--fba-radius); color: var(--fba-ink); background: #fff; transition: border-color .15s, box-shadow .15s; }
.fba-pager a:hover { border-color: var(--fba-accent); box-shadow: 0 2px 10px rgba(0,0,0,.06); }
.fba-pager span { display: flex; flex-direction: column; min-width: 0; }
.fba-pager small { font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--fba-muted); font-weight: 600; }
.fba-pager__next { justify-content: flex-end; text-align: right; background: var(--fba-accent) !important; border-color: var(--fba-accent) !important; color: #fff !important; font-weight: 700; }
.fba-pager__next small { color: rgba(255,255,255,.85); }
.fba-pager__prev { font-weight: 600; }

/* Locked */
.fba-locked { text-align: center; padding: 2.5rem 1.5rem; border: 1px solid var(--fba-line); border-radius: var(--fba-radius); background: var(--fba-soft); margin: 0 0 2rem; }
.fba-locked__icon { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: #fff; color: var(--fba-accent); margin-bottom: .5rem; }
.fba-locked__icon .fba-i { width: 26px; height: 26px; }
.fba-locked h3 { margin: .25rem 0 .5rem; }
.fba-locked p { color: var(--fba-muted); max-width: 34rem; margin-inline: auto; }
.fba-locked__teaser { font-style: italic; }
.fba-locked__buttons { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; margin-top: 1.25rem; }
.fba-home .fba-locked__buttons { justify-content: flex-start; }

/* Outline (lesson page) + syllabus (home) */
.fba-outline { border: 1px solid var(--fba-line); border-radius: var(--fba-radius); background: #fff; }
.fba-outline > summary { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.25rem; cursor: pointer; font-weight: 700; list-style: none; }
.fba-outline > summary::-webkit-details-marker { display: none; }
.fba-outline > summary::after { content: "▾"; margin-left: .75rem; color: var(--fba-muted); }
.fba-outline:not([open]) > summary::after { content: "▸"; }
.fba-outline__pct { margin-left: auto; font-weight: 600; font-size: .85rem; color: var(--fba-done); }
.fba-outline .fba-chapter { border-top: 1px solid var(--fba-line); padding: .75rem 1.25rem; }

.fba-syllabus { display: grid; gap: 1rem; }
.fba-syllabus .fba-chapter { border: 1px solid var(--fba-line); border-radius: var(--fba-radius); padding: 1.1rem 1.25rem; background: #fff; }

.fba-chapter__head { display: flex; align-items: flex-start; gap: .85rem; }
.fba-chapter__head > div { flex: 1; min-width: 0; }
.fba-chapter__num { font-weight: 800; color: var(--fba-accent); font-variant-numeric: tabular-nums; line-height: 1.5; }
.fba-chapter__title { margin: 0; font-size: 1.05rem; line-height: 1.5; }
.fba-chapter__desc { margin: .2rem 0 0; color: var(--fba-muted); font-size: .92rem; }
.fba-chapter__count { font-size: .8rem; font-weight: 700; color: var(--fba-muted); background: var(--fba-soft); padding: .15rem .55rem; border-radius: 999px; white-space: nowrap; }
.fba-chapter.is-done .fba-chapter__count { background: var(--fba-done); color: #fff; }

.fba-lessons { list-style: none; margin: .5rem 0 0; padding: 0; }
.fba-l a { display: flex; align-items: center; gap: .65rem; padding: .5rem .6rem; margin: 0 -.6rem; border-radius: 8px; color: var(--fba-ink); }
.fba-l a:hover { background: var(--fba-soft); }
.fba-l__status { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; border: 2px solid var(--fba-line); color: var(--fba-muted); flex: none; }
.fba-l__status .fba-i { width: 12px; height: 12px; }
.fba-l__title { flex: 1; min-width: 0; }
.fba-l__dur { font-size: .82rem; color: var(--fba-muted); white-space: nowrap; }
.fba-l.is-done .fba-l__status { background: var(--fba-done); border-color: var(--fba-done); color: #fff; }
.fba-l.is-current a { background: color-mix(in srgb, var(--fba-accent) 10%, #fff); font-weight: 700; }
.fba-l.is-current .fba-l__status { border-color: var(--fba-accent); color: var(--fba-accent); }
.fba-l.is-done.is-current .fba-l__status { background: var(--fba-done); border-color: var(--fba-done); color: #fff; }
.fba-l.is-locked a { color: var(--fba-muted); }
.fba-badge { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; padding: .15rem .5rem; border-radius: 999px; background: color-mix(in srgb, var(--fba-accent) 14%, #fff); color: var(--fba-accent); white-space: nowrap; }

/* Course home hero */
.fba-hero { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; padding: 1.5rem; border-radius: var(--fba-radius); background: var(--fba-soft); margin: 0 0 1.5rem; }
.fba-progress { flex: 1 1 260px; }
.fba-progress__text { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: .4rem; }
.fba-progress__text span { color: var(--fba-muted); font-size: .9rem; }
.fba-bar { height: 10px; border-radius: 999px; background: #fff; overflow: hidden; border: 1px solid var(--fba-line); }
.fba-bar span { display: block; height: 100%; background: var(--fba-done); border-radius: 999px; transition: width .4s; }
.fba-meta { margin: 0; font-weight: 600; color: var(--fba-muted); }
.fba-congrats { flex-basis: 100%; margin: 0; font-weight: 700; color: var(--fba-done); }
.fba-empty { color: var(--fba-muted); }

@media (max-width: 600px) {
	.fba-pager { grid-template-columns: 1fr; }
	.fba-pager > span:empty { display: none; }
	.fba-pager__next { order: -1; }
	.fba-hero { padding: 1.1rem; }
	.fba-hero .fba-btn { width: 100%; }
}

/* Downloads */
.fba-downloads { margin: 0 0 1.5rem; padding: 1.1rem 1.25rem; border: 1px solid var(--fba-line); border-radius: var(--fba-radius); background: var(--fba-soft); }
.fba-downloads__title { margin: 0 0 .75rem; font-size: 1rem; }
.fba-downloads ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.fba-dl { display: flex; align-items: center; gap: .85rem; padding: .7rem .9rem; border-radius: 10px; background: #fff; border: 1px solid var(--fba-line); color: var(--fba-ink) !important; transition: border-color .15s, box-shadow .15s; }
.fba-dl:hover { border-color: var(--fba-accent); box-shadow: 0 2px 10px rgba(0,0,0,.06); }
.fba-dl__icon { display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 8px; background: color-mix(in srgb, var(--fba-accent) 12%, #fff); color: var(--fba-accent); flex: none; }
.fba-dl__icon .fba-i { width: 20px; height: 20px; }
.fba-dl__text { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.35; }
.fba-dl__text small { color: var(--fba-muted); font-size: .8rem; }
.fba-dl__go { font-size: .85rem; font-weight: 700; color: var(--fba-accent); white-space: nowrap; }
.fba-locked__includes { display: flex; gap: .4rem; align-items: center; justify-content: center; font-size: .92rem; }
.fba-locked__includes .fba-i { color: var(--fba-accent); }

/* Some themes underline every link in post content; keep our buttons/cards clean. */
.fba a, .fba a:hover, .fba a *, .fba-dl *, .fba-pager a *, .fba-l a * { text-decoration: none !important; }
