/* Oferta dos extensivos: identidade preta, vermelha e branca da campanha. */
.bn-plans { background: #050607; color: #fff; padding: 80px 24px; scroll-margin-top: 100px; }
.bn-plans-inner { max-width: 1140px; margin: 0 auto; }
.bn-plans h2 { color: #fff; font: 700 clamp(26px, 3vw, 40px)/1.2 Poppins, sans-serif; text-align: center; margin: 0 0 20px; text-wrap: balance; }
.bn-plans-intro { max-width: 740px; margin: 0 auto 40px; text-align: center; font-size: 17px; line-height: 1.65; }
.bn-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
.bn-plan { background: #141516; border: 1px solid #ff2020; border-radius: 14px; padding: 28px 24px; display: flex; flex-direction: column; min-width: 0; }
.bn-plan header { margin-bottom: 24px; }
.bn-plan h3 { color: #fff; font: 700 24px/1.25 Poppins, sans-serif; margin: 0 0 12px; text-wrap: balance; }
.bn-plan p { font-size: 14px; line-height: 1.65; margin: 0; color: #ededed; }
.bn-plan .bn-plan-duration { color: #4ade80; font-size: 17px; font-weight: 600; margin-bottom: 12px; }
.bn-plan-features { list-style: none; padding: 0; margin: 0 0 28px; }
.bn-plan-features li { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 18px; }
.bn-plan-features svg { flex: 0 0 20px; width: 20px; height: 20px; color: #4ade80; margin-top: 2px; }
.bn-plan-features strong { display: block; color: #fff; font-size: 15px; line-height: 1.45; margin-bottom: 5px; }
.bn-plan-cta { display: block; padding: 15px 12px; color: #fff; background: #15803d; text-align: center; font: 600 14px/1.5 Poppins, sans-serif; border-radius: 6px; text-decoration: none; }
.bn-plan-cta:hover { color: #fff; background: #166534; }
.bn-plan-cta:focus-visible, .bn-see-plans:focus-visible { outline: 3px solid #fff; outline-offset: 5px; }
.bn-see-plans { display: inline-block; margin-top: 16px; color: #fff; text-decoration: underline; text-underline-offset: 5px; font-size: 15px; }
.bn-see-plans:hover { color: #ff7777; }
.bn-plans-disclaimer { max-width: 740px; margin: 28px auto 0; color: #ededed; text-align: center; font-size: 14px; line-height: 1.6; }
@media (max-width: 1024px) {
 .bn-plan-grid { gap: 16px; }
 .bn-plan { padding: 24px 18px; }
 .bn-plan h3 { font-size: 21px; }
}
@media (max-width: 767px) {
 .bn-plans { padding: 56px 20px; scroll-margin-top: 145px; }
 .bn-plan-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
 .bn-plan { padding: 28px 24px; }
 .bn-plan h3 { font-size: 25px; }
 .bn-plans-intro { font-size: 16px; margin-bottom: 28px; }
}

.bn-lead-intro p { color: #fff; font-size: 17px; line-height: 1.6; }



.elementor-606 .bn-footer-logo { display: block; width: 120px; max-width: 75%; height: auto; margin: 0 auto 24px; }

/* Keep plan actions aligned after removing the explanatory notes. */
.bn-plan-cta { margin-top:auto; }
/* Remove blank paragraph space in the course introduction. */
.elementor-606 .elementor-element-4c83e3c3 p { margin:0; }
.elementor-606 .elementor-element-4c83e3c3 p + p { margin-top:24px; }
.elementor-606 .elementor-element.elementor-element-24f2d733 { --padding-bottom:0px; }

/* Green action buttons throughout the capture page. */
.elementor-606 .elementor-element.elementor-element .elementor-button {
 background-color:#15803d !important;
 background-image:none;
 color:#fff;
}
.elementor-606 .elementor-element.elementor-element .elementor-button:hover,
.elementor-606 .elementor-element.elementor-element .elementor-button:focus-visible {
 background-color:#166534 !important;
 color:#fff;
}

@media (max-width:767px) {
 .bn-lead-intro p { font-size:15px; line-height:1.55; }
 .elementor-606 .elementor-element.elementor-element-e9f2785 .elementor-icon-list-text { font-size:14px; white-space:nowrap; }
}
