/*! FitnessWorx Tools: content kit */
.fwx-ck-video, .fwx-ck-box, .fwx-ck-steps, .fwx-ck-cta {
	--fwx-ink: var(--contrast, #111);
	--fwx-muted: var(--contrast-3, #666);
	--fwx-soft: var(--base-2, #f7f7f7);
	--fwx-line: var(--base, #e5e5e5);
	--fwx-accent: var(--accent, #ffb300);
}

/* video */
.fwx-ck-video { margin: 28px 0; }
.fwx-ck-video__frame { position: relative; aspect-ratio: 16 / 9; background: #111; border-radius: 14px; overflow: hidden; box-shadow: 0 10px 30px rgba(0, 0, 0, .08); }
.fwx-ck-video video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #111; }
.fwx-ck-video figcaption { margin-top: 8px; font-size: 14px; color: var(--fwx-muted); text-align: center; }

/* boxes */
.fwx-ck-box { background: var(--fwx-soft); border-left: 5px solid var(--fwx-accent); border-radius: 12px; padding: 20px 24px; margin: 28px 0; }
.fwx-ck-box--tip { border-left-color: #4b8bbe; }
.fwx-ck-box--safety { border-left-color: #d64545; background: #fdf3f3; }
.fwx-ck-box__title { margin: 0 0 8px !important; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; font-size: 13px; }
.fwx-ck-box > :last-child { margin-bottom: 0; }
.fwx-ck-box ul, .fwx-ck-box ol { margin: 0 0 0 1.2em; }

/* numbered steps */
.fwx-ck-steps ol { list-style: none; counter-reset: fwxstep; margin: 24px 0; padding: 0; }
.fwx-ck-steps li { counter-increment: fwxstep; position: relative; padding: 2px 0 14px 52px; margin: 0; }
.fwx-ck-steps li::before { content: counter(fwxstep); position: absolute; left: 0; top: 0; width: 36px; height: 36px; border-radius: 50%; background: var(--fwx-accent); color: #111; font-weight: 800; display: flex; align-items: center; justify-content: center; }

/* calls to action */
.fwx-ck-cta { display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; background: var(--fwx-soft); border: 1px solid var(--fwx-line); border-radius: 14px; padding: 20px 24px; margin: 32px 0; }
.fwx-ck-cta--challenge { background: #fff8e6; border-color: #ffe1a3; }
.fwx-ck-cta__text { flex: 1 1 280px; }
.fwx-ck-cta__text p { margin: 0 0 4px; }
.fwx-ck-cta__kicker { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--fwx-muted); }
.fwx-ck-cta__title { font-size: 20px; font-weight: 800; line-height: 1.25; }
.fwx-ck-cta__btn { display: inline-block; background: var(--fwx-accent); color: #111 !important; font-weight: 800; text-decoration: none !important; padding: 12px 20px; border-radius: 10px; white-space: nowrap; }
.fwx-ck-cta__btn:hover { filter: brightness(.95); }

/* disclaimer */
.fwx-ck-disclaimer { font-size: 14px; color: var(--contrast-3, #666); border-top: 1px solid var(--base, #e5e5e5); padding-top: 16px; margin-top: 36px; }

/* hide empty paragraphs wpautop leaves after content-kit blocks */
.fwx-ck-video + p:empty, .fwx-ck-box + p:empty, .fwx-ck-steps + p:empty, .fwx-ck-cta + p:empty, .fwx-ck-disclaimer + p:empty { display: none; }
