/* Pages Cours — tout scopé sous .kb-promo (style2.css est envahissant) */
.kb-promo { font-family: "museo-sans-rounded", sans-serif; color: #414b56; padding: 0 0 70px; }
.kb-promo * { box-sizing: border-box; }
.kb-promo .kb-wrap { max-width: 1020px; margin: 0 auto; padding: 0 20px; }
.kb-promo .kb-band { background: #d7182c; transform: skewY(-2.4deg); margin: -1px 0 50px; padding: 54px 0 42px; }
.kb-promo .kb-band-inner { transform: skewY(2.4deg); text-align: center; }
.kb-promo .kb-band h1 { color: #fff; font-size: 32px; font-weight: 700; margin: 0 0 6px; line-height: 1.2; }
.kb-promo .kb-band p { color: rgba(255,255,255,.88); font-size: 17px; margin: 0; font-style: italic; }
.kb-promo .kb-tag { display: inline-block; background: rgba(255,255,255,.16); color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .5px; padding: 5px 14px; border-radius: 999px; margin-bottom: 12px; text-transform: uppercase; }
.kb-promo .kb-hero { display: block; border-radius: 14px; overflow: hidden; box-shadow: 0 10px 28px rgba(65,75,86,.18); margin-bottom: 40px; }
.kb-promo .kb-hero img { display: block; width: 100%; height: auto; }
.kb-promo h2.kb-h2 { font-size: 23px; font-weight: 700; color: #414b56; margin: 45px 0 16px; text-align: left; }
.kb-promo h2.kb-h2 span { color: #d7182c; }
.kb-promo p.kb-p { font-size: 16px; line-height: 1.65; color: #6b7280; text-align: left; margin: 0 0 14px; }
.kb-promo .kb-lead { font-size: 17px; color: #414b56; }
.kb-promo .kb-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 26px; text-align: left; }
.kb-promo ul.kb-ul { margin: 0; padding: 0; list-style: none; text-align: left; }
.kb-promo ul.kb-ul li { position: relative; padding: 6px 0 6px 26px; font-size: 15px; line-height: 1.55; color: #6b7280; }
.kb-promo ul.kb-ul li:before { content: ""; position: absolute; left: 4px; top: 13px; width: 9px; height: 9px; border-radius: 50%; background: #d7182c; }
.kb-promo .kb-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; text-align: left; }
.kb-promo .kb-cell { background: #f4f6f5; border-radius: 10px; padding: 16px 18px; }
.kb-promo .kb-cell strong { display: block; color: #d7182c; font-size: 15px; margin-bottom: 4px; }
.kb-promo .kb-cell span { font-size: 14px; color: #6b7280; line-height: 1.5; }
.kb-promo .kb-callout { background: #fdf1f2; border-left: 5px solid #d7182c; border-radius: 8px; padding: 16px 20px; text-align: left; font-size: 15px; color: #414b56; margin: 26px 0; }
.kb-promo table.kb-infos { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #e8ebea; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 14px rgba(65,75,86,.08); text-align: left; }
.kb-promo table.kb-infos td { padding: 13px 20px; font-size: 15px; border-bottom: 1px solid #f0f2f1; color: #6b7280; }
.kb-promo table.kb-infos tr:last-child td { border-bottom: none; }
.kb-promo table.kb-infos td:first-child { font-weight: 700; color: #d7182c; width: 34%; }
.kb-promo .kb-cta { text-align: center; margin-top: 45px; }
.kb-promo .kb-cta a.kb-btn { display: inline-block; background: #d7182c; color: #fff !important; font-weight: 700; font-size: 17px; text-decoration: none; padding: 15px 40px; border-radius: 10px; transition: background .2s; }
.kb-promo .kb-cta a.kb-btn:hover { background: #b01323; }
.kb-promo .kb-cta .kb-cta-note { font-size: 14px; color: #9f9f9f; margin-top: 10px; }
.kb-promo .kb-video { position: relative; padding-bottom: 56.25%; border-radius: 14px; overflow: hidden; box-shadow: 0 10px 28px rgba(65,75,86,.18); margin: 30px 0; }
.kb-promo .kb-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.kb-promo .kb-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; align-items: start; }
.kb-promo .kb-duo img { width: 100%; height: auto; border-radius: 12px; box-shadow: 0 6px 20px rgba(65,75,86,.15); }
.kb-promo .kb-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 22px; text-align: left; }
.kb-promo .kb-card { background: #fff; border: 1px solid #e8ebea; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 14px rgba(65,75,86,.08); display: flex; flex-direction: column; }
.kb-promo .kb-card img { width: 100%; height: 190px; object-fit: cover; }
.kb-promo .kb-card-body { padding: 20px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.kb-promo .kb-card h3 { font-size: 18px; font-weight: 700; color: #414b56; margin: 0 0 8px; }
.kb-promo .kb-card p { font-size: 14px; color: #7d8590; line-height: 1.55; margin: 0 0 14px; }
.kb-promo .kb-card a.kb-more { color: #d7182c; font-weight: 700; font-size: 14px; text-decoration: none; margin-top: auto; }
@media (max-width: 640px) {
    .kb-promo .kb-band h1 { font-size: 25px; }
    .kb-promo .kb-duo { grid-template-columns: 1fr; }
}
