.bkbg-lp-wrap { box-sizing: border-box; }
.bkbg-lp-wrap * { box-sizing: border-box; }

.bkbg-lp-header { padding: 24px 28px; }
.bkbg-lp-title {
    font-family: var(--bkbg-lp-tt-font-family, inherit);
    font-weight: var(--bkbg-lp-tt-font-weight, 700);
    font-style: var(--bkbg-lp-tt-font-style, normal);
    text-decoration: var(--bkbg-lp-tt-text-decoration, none);
    text-transform: var(--bkbg-lp-tt-text-transform, none);
    font-size: var(--bkbg-lp-tt-font-size-d, 24px);
    line-height: var(--bkbg-lp-tt-line-height-d, var(--bkbg-lp-tt-line-height, 1.2));
    letter-spacing: var(--bkbg-lp-tt-letter-spacing-d, var(--bkbg-lp-tt-letter-spacing, 0px));
    word-spacing: var(--bkbg-lp-tt-word-spacing-d, var(--bkbg-lp-tt-word-spacing, 0px));
    margin: 0 0 8px;
}
.bkbg-lp-wrap h2.bkbg-lp-title {
    font-family: var(--bkbg-lp-tt-font-family, inherit);
    font-weight: var(--bkbg-lp-tt-font-weight, 700);
    font-style: var(--bkbg-lp-tt-font-style, normal);
    text-decoration: var(--bkbg-lp-tt-text-decoration, none);
    text-transform: var(--bkbg-lp-tt-text-transform, none);
    font-size: var(--bkbg-lp-tt-font-size-d, 24px);
    line-height: var(--bkbg-lp-tt-line-height-d, var(--bkbg-lp-tt-line-height, 1.2));
    letter-spacing: var(--bkbg-lp-tt-letter-spacing-d, var(--bkbg-lp-tt-letter-spacing, 0px));
    word-spacing: var(--bkbg-lp-tt-word-spacing-d, var(--bkbg-lp-tt-word-spacing, 0px));
}
.bkbg-lp-desc {
    font-family: var(--bkbg-lp-d-font-family, inherit);
    font-weight: var(--bkbg-lp-d-font-weight, 400);
    font-style: var(--bkbg-lp-d-font-style, normal);
    text-decoration: var(--bkbg-lp-d-text-decoration, none);
    text-transform: var(--bkbg-lp-d-text-transform, none);
    font-size: var(--bkbg-lp-d-font-size-d, inherit);
    line-height: var(--bkbg-lp-d-line-height-d, var(--bkbg-lp-d-line-height, inherit));
    letter-spacing: var(--bkbg-lp-d-letter-spacing-d, var(--bkbg-lp-d-letter-spacing, 0px));
    word-spacing: var(--bkbg-lp-d-word-spacing-d, var(--bkbg-lp-d-word-spacing, 0px));
    margin: 0;
}

.bkbg-lp-meta { display: flex; align-items: center; gap: 16px; padding: 10px 28px; flex-wrap: wrap; }
.bkbg-lp-meta-item { font-size: 0.88em; }
.bkbg-lp-difficulty { font-size: 0.78em; font-weight: 700; padding: 3px 10px; border-radius: 100px; margin-left: auto; }

.bkbg-lp-steps { padding: 24px 28px; display: flex; flex-direction: column; gap: 0; }

.bkbg-lp-step { display: flex; gap: 16px; }
.bkbg-lp-step-left { display: flex; flex-direction: column; align-items: center; flex-shrink: 0; }
.bkbg-lp-step-num { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.85em; flex-shrink: 0; }
.bkbg-lp-connector { width: 2px; flex: 1; min-height: 16px; margin: 4px 0; }

.bkbg-lp-step-card { flex: 1; border-radius: 10px; padding: 14px 18px; margin-bottom: 16px; }
.bkbg-lp-step-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; margin-bottom: 6px; flex-wrap: wrap; }
.bkbg-lp-step-title-row { display: flex; align-items: center; gap: 7px; }
.bkbg-lp-type-icon { font-size: 1.1em; line-height: 1; }
.bkbg-lp-step-title {
    font-family: var(--bkbg-lp-st-font-family, inherit);
    font-weight: var(--bkbg-lp-st-font-weight, 600);
    font-style: var(--bkbg-lp-st-font-style, normal);
    text-decoration: var(--bkbg-lp-st-text-decoration, none);
    text-transform: var(--bkbg-lp-st-text-transform, none);
    font-size: var(--bkbg-lp-st-font-size-d, 16px);
    line-height: var(--bkbg-lp-st-line-height-d, var(--bkbg-lp-st-line-height, 1.4));
    letter-spacing: var(--bkbg-lp-st-letter-spacing-d, var(--bkbg-lp-st-letter-spacing, 0px));
    word-spacing: var(--bkbg-lp-st-word-spacing-d, var(--bkbg-lp-st-word-spacing, 0px));
}
.bkbg-lp-duration { font-size: 0.82em; white-space: nowrap; flex-shrink: 0; }

.bkbg-lp-step-desc { margin: 0 0 10px; font-size: 0.92em; }

.bkbg-lp-skills { display: flex; flex-wrap: wrap; gap: 5px; }
.bkbg-lp-skill-tag { font-size: 0.78em; padding: 2px 8px; border-radius: 6px; font-weight: 500; }

/* Typography – responsive */
@media (max-width: 1024px) {
    .bkbg-lp-wrap .bkbg-lp-title { font-size: var(--bkbg-lp-tt-font-size-t, var(--bkbg-lp-tt-font-size-d, 24px)); line-height: var(--bkbg-lp-tt-line-height-t, var(--bkbg-lp-tt-line-height-d, 1.2));letter-spacing:var(--bkbg-lp-tt-letter-spacing-t, var(--bkbg-lp-tt-letter-spacing-d, var(--bkbg-lp-tt-letter-spacing, 0px)));word-spacing:var(--bkbg-lp-tt-word-spacing-t, var(--bkbg-lp-tt-word-spacing-d, var(--bkbg-lp-tt-word-spacing, 0px)))}
    .bkbg-lp-wrap .bkbg-lp-desc { font-size: var(--bkbg-lp-d-font-size-t, var(--bkbg-lp-d-font-size-d, inherit)); line-height: var(--bkbg-lp-d-line-height-t, var(--bkbg-lp-d-line-height-d, inherit));letter-spacing:var(--bkbg-lp-d-letter-spacing-t, var(--bkbg-lp-d-letter-spacing-d, var(--bkbg-lp-d-letter-spacing, 0px)));word-spacing:var(--bkbg-lp-d-word-spacing-t, var(--bkbg-lp-d-word-spacing-d, var(--bkbg-lp-d-word-spacing, 0px)))}
    .bkbg-lp-wrap .bkbg-lp-step-title { font-size: var(--bkbg-lp-st-font-size-t, var(--bkbg-lp-st-font-size-d, 16px)); line-height: var(--bkbg-lp-st-line-height-t, var(--bkbg-lp-st-line-height-d, 1.4));letter-spacing:var(--bkbg-lp-st-letter-spacing-t, var(--bkbg-lp-st-letter-spacing-d, var(--bkbg-lp-st-letter-spacing, 0px)));word-spacing:var(--bkbg-lp-st-word-spacing-t, var(--bkbg-lp-st-word-spacing-d, var(--bkbg-lp-st-word-spacing, 0px)))}
}
@media (max-width: 767px) {
    .bkbg-lp-wrap .bkbg-lp-title { font-size: var(--bkbg-lp-tt-font-size-m, var(--bkbg-lp-tt-font-size-t, var(--bkbg-lp-tt-font-size-d, 24px))); line-height: var(--bkbg-lp-tt-line-height-m, var(--bkbg-lp-tt-line-height-t, var(--bkbg-lp-tt-line-height-d, 1.2)));letter-spacing:var(--bkbg-lp-tt-letter-spacing-m, var(--bkbg-lp-tt-letter-spacing-t, var(--bkbg-lp-tt-letter-spacing-d, var(--bkbg-lp-tt-letter-spacing, 0px))));word-spacing:var(--bkbg-lp-tt-word-spacing-m, var(--bkbg-lp-tt-word-spacing-t, var(--bkbg-lp-tt-word-spacing-d, var(--bkbg-lp-tt-word-spacing, 0px))))}
    .bkbg-lp-wrap .bkbg-lp-desc { font-size: var(--bkbg-lp-d-font-size-m, var(--bkbg-lp-d-font-size-t, var(--bkbg-lp-d-font-size-d, inherit))); line-height: var(--bkbg-lp-d-line-height-m, var(--bkbg-lp-d-line-height-t, var(--bkbg-lp-d-line-height-d, inherit)));letter-spacing:var(--bkbg-lp-d-letter-spacing-m, var(--bkbg-lp-d-letter-spacing-t, var(--bkbg-lp-d-letter-spacing-d, var(--bkbg-lp-d-letter-spacing, 0px))));word-spacing:var(--bkbg-lp-d-word-spacing-m, var(--bkbg-lp-d-word-spacing-t, var(--bkbg-lp-d-word-spacing-d, var(--bkbg-lp-d-word-spacing, 0px))))}
    .bkbg-lp-wrap .bkbg-lp-step-title { font-size: var(--bkbg-lp-st-font-size-m, var(--bkbg-lp-st-font-size-t, var(--bkbg-lp-st-font-size-d, 16px))); line-height: var(--bkbg-lp-st-line-height-m, var(--bkbg-lp-st-line-height-t, var(--bkbg-lp-st-line-height-d, 1.4)));letter-spacing:var(--bkbg-lp-st-letter-spacing-m, var(--bkbg-lp-st-letter-spacing-t, var(--bkbg-lp-st-letter-spacing-d, var(--bkbg-lp-st-letter-spacing, 0px))));word-spacing:var(--bkbg-lp-st-word-spacing-m, var(--bkbg-lp-st-word-spacing-t, var(--bkbg-lp-st-word-spacing-d, var(--bkbg-lp-st-word-spacing, 0px))))}
}

@media (max-width: 480px) {
    word-spacing: var(--bkbg-lp-tt-word-spacing-m, var(--bkbg-lp-tt-word-spacing-t, var(--bkbg-lp-tt-word-spacing-d, var(--bkbg-lp-tt-word-spacing, 0px))));
    .bkbg-lp-header { padding: 18px 18px; }
    .bkbg-lp-steps { padding: 16px 18px; }
    .bkbg-lp-step-header { flex-direction: column; }
    .bkbg-lp-meta { padding: 10px 18px; }
}
