/* Black Friday cards: additive styles scoped to the two pricing sections. */
.pricing-sections { display:flex; flex-direction:column; gap:24px; }
.bf-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:stretch; }
.bf-card { display:flex; flex-direction:column; gap:14px; min-width:0; padding:28px; border:1px solid var(--line); border-radius:24px; background:var(--surface); color:var(--text); font-family:var(--font-sans); }
.bf-card--video { background:#0B1B33; border-color:#F5B400; color:#fff; }
.bf-top { display:flex; align-items:center; flex-wrap:wrap; gap:8px; justify-content:space-between; }
.bf-badge { display:inline-flex; width:fit-content; padding:5px 12px; border-radius:100px; background:var(--blue-soft); color:var(--blue); font-size:12px; line-height:18px; font-weight:700; }
.bf-card--video .bf-badge { background:#F5B400; color:#0B1B33; }
.bf-current { font-size:11px; font-weight:700; }
.bf-card h3 { margin:0; color:inherit; font-family:var(--font-sans); font-size:28px; line-height:1.5; font-weight:700; }
.bf-subtitle { margin:0; color:var(--text-2); font-size:16px; line-height:24px; }
.bf-card--video .bf-subtitle,.bf-card--video .bf-original,.bf-card--video .bf-price span,.bf-card--video .bf-features,.bf-card--video .bf-footnote { color:rgba(255,255,255,.9); }
.bf-divider { height:1px; background:var(--line); }
.bf-card--video .bf-divider { background:rgba(245,180,0,.4); }
.bf-original { margin:0; color:var(--text-2); font-size:14px; line-height:21px; }
.bf-price { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.bf-price strong { color:var(--blue); font-size:64px; font-weight:800; line-height:1.5; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.bf-price span { color:var(--text-2); font-size:16px; }
.bf-card--video .bf-price strong { color:#F5B400; }
.bf-benefit { display:flex; flex-direction:column; gap:2px; padding:12px 16px; border-radius:12px; background:var(--blue-soft); }
.bf-benefit b { color:var(--blue); font-size:18px; line-height:27px; }
.bf-benefit small { color:var(--text-2); font-size:12px; line-height:18px; }
.bf-card--video .bf-benefit { background:#FFF7E3; }
.bf-card--video .bf-benefit b,.bf-card--video .bf-benefit small { color:#8A6400; }
.bf-features { margin:0; color:var(--text-2); font-size:14px; line-height:21px; }
.bf-action { margin-top:auto; }
.bf-action .btn { min-height:50px; border-radius:12px; font-size:16px; font-weight:700; }
.bf-card--video .btn--gold { --btn-bg:#F5B400; --btn-fg:#0B1B33; --btn-bd:#F5B400; --btn-bg-hover:#FFC21A; --btn-bd-hover:#FFC21A; }
.bf-footnote { margin:0; color:var(--text-2); font-size:12px; line-height:18px; }
.bf-contact { width:fit-content; color:inherit; font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.bf-heading { margin-bottom:24px; }
.bf-heading h2 { font-family:var(--font-sans); font-size:34px; line-height:1.5; letter-spacing:-.025em; }
.bf-heading p:last-child { margin-top:10px; color:var(--text-2); font-size:15px; }
@media(max-width:760px) { .bf-grid { grid-template-columns:1fr; gap:16px; } .bf-card { padding:22px; } .bf-heading h2 { font-size:28px; } }
@media(max-width:360px) { .bf-card { padding:18px; } .bf-price strong { font-size:54px; } }

/* Compact pricing overview: all four offers share a single desktop row. */
.pricing-sections .bf-card { gap:11px; padding:22px; }
.pricing-sections .bf-card h3 { font-size:25px; }
.pricing-sections .bf-price strong { font-size:52px; line-height:1.25; }
.pricing-sections .bf-benefit small { display:inline-flex; align-self:flex-start; padding:5px 10px; margin-top:5px; border-radius:7px; background:var(--blue); color:var(--surface); font-size:14px; line-height:21px; font-weight:800; }
.pricing-sections .bf-card--video .bf-benefit small { background:#F5B400; color:#0B1B33; }
@media(min-width:1100px) {
  .pricing-sections { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; align-items:stretch; }
  .pricing-sections > .bf-grid,.pricing-sections > .price-grid { display:contents; }
  .pricing-sections .bf-card,.pricing-sections .price-card { padding:20px; min-width:0; border-radius:20px; }
  .pricing-sections .bf-card { gap:10px; }
  .pricing-sections .bf-card h3 { font-size:23px; }
  .pricing-sections .bf-badge { font-size:10px; padding:4px 9px; }
  .pricing-sections .bf-subtitle { font-size:13px; line-height:21px; }
  .pricing-sections .bf-original { font-size:12px; }
  .pricing-sections .bf-price { gap:6px; }
  .pricing-sections .bf-price strong { font-size:46px; }
  .pricing-sections .bf-price span { font-size:12px; }
  .pricing-sections .bf-benefit { padding:10px 12px; }
  .pricing-sections .bf-benefit b { font-size:15px; line-height:23px; }
  .pricing-sections .bf-benefit small { font-size:13px; padding:5px 8px; }
  .pricing-sections .bf-features { font-size:12px; line-height:21px; }
  .pricing-sections .bf-action .btn { min-height:44px; font-size:13px; padding:10px 8px; }
  .pricing-sections .bf-footnote { font-size:11px; line-height:18px; }
  .pricing-sections .price-card ul { gap:7px; margin:14px 0 18px; }
  .pricing-sections .price-card li { font-size:12px; }
  .pricing-sections .price-card .amount b { font-size:36px; }
}
/* Original price remains clearly readable alongside the offer. */
.pricing-sections .bf-original { font-size:15px; line-height:23px; font-weight:600; color:var(--text-2); }
.pricing-sections .bf-original s { text-decoration-thickness:1px; }
.pricing-sections .bf-card--video .bf-original { color:#DCE5F5; }
/* Approved November theory offers: shared four-card layout. */
.bf-card { position:relative; }
.bf-card--half { border:2px solid var(--blue); box-shadow:0 6px 20px #225acb10; }
.bf-recommend { position:absolute; right:16px; top:-13px; background:var(--blue); color:#fff; border:3px solid var(--bg,#f5f7fb); border-radius:20px; padding:5px 14px; font-size:12px; font-weight:700; }
.bf-feature-list { list-style:none; padding:0; margin:8px 0 16px; font-size:12px; line-height:1.8; color:var(--text-2); }
.bf-feature-list li::before { content:'✓ '; color:var(--blue); }
.bf-card--video .bf-feature-list { color:#dce5f5; }
.bf-card--soon .btn { opacity:.6; }
.bf-card--soon .daily-cost { margin:0; }
.bf-renewal { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
.pricing-sections .bf-original { min-height:23px; font-size:12px; font-weight:400; }
.pricing-sections .bf-original:has(s) { font-size:15px; font-weight:600; }
@media(min-width:1100px){.pricing-sections .bf-card{min-height:468px;} .pricing-sections .bf-subtitle{min-height:42px;} .pricing-sections .bf-original{min-height:42px;line-height:21px;} .pricing-sections .bf-top{min-height:26px;} }
.bf-card--soon .price-daily { display:flex; flex-direction:column; justify-content:center; min-height:64px; padding:10px 12px; border-radius:12px; background:var(--blue-soft); color:var(--blue); font-size:15px; font-weight:700; }
.bf-card--soon .price-daily-note { font-size:11px; font-weight:400; margin:0; }
.bf-card .bf-footnote { min-height:36px; }
.pricing-sections { scroll-margin-top:100px; }
