/* Temporary Black Friday campaign. Scoped to the home while the campaign flag is active. */
.bf-campaign { --bf-yellow:#ffdc00; --bf-dark:#0b101b; }
.bf-campaign .ud-promo-bar { background:#111b32!important; }
.bf-campaign header.ud-header { background:#0b101b!important; border-bottom:1px solid #25324a; }
.bf-campaign .bf-hero { background:var(--bf-dark)!important; padding:110px 0 72px!important; position:relative; overflow:hidden; }
.bf-campaign .bf-hero::before,.bf-campaign .bf-hero::after { display:none!important; }
.bf-campaign .bf-hero .container { max-width:1280px; position:relative; }
.bf-campaign .bf-stage { display:grid; grid-template-columns:1.05fr 1fr; gap:0; align-items:center; margin-bottom:28px; }
.bf-campaign .bf-stage > div { width:100%; min-width:0; order:initial!important; }
.bf-campaign .bf-stage .ud-hero-content { max-width:none; margin:0; padding:20px 0; text-align:left; visibility:visible!important; animation:none!important; }
.bf-campaign .bf-label { display:inline-block; background:var(--bf-yellow); color:#0b101b; font-size:12px; font-weight:800; letter-spacing:2px; padding:9px 13px; border-radius:6px; margin-bottom:22px; }
.bf-campaign .bf-headline { font-size:clamp(38px,4.6vw,68px); font-weight:850; line-height:1.06; letter-spacing:-2.6px; color:white; margin:0 0 22px; }
.bf-campaign .bf-headline span { color:var(--bf-yellow); }
.bf-campaign .bf-stage .ud-hero-title { font-size:21px!important; text-align:left!important; line-height:1.4; letter-spacing:-.3px; margin:0 0 12px; color:#fff!important; background:none!important; -webkit-text-fill-color:initial!important; }
.bf-campaign .bf-stage .ud-hero-title span { color:inherit!important; }
.bf-campaign .bf-stage .hero-sub-text { font-size:15px!important; line-height:1.7; color:#b9c7de!important; max-width:510px; }
.bf-campaign .bf-actions { display:flex; gap:12px; flex-wrap:wrap; margin:24px 0; }
.bf-campaign .bf-actions a { display:inline-flex; gap:24px; align-items:center; justify-content:center; min-height:52px; border-radius:7px; padding:12px 22px; font-size:15px; font-weight:750; text-decoration:none; transition:background .15s; }
.bf-campaign .bf-primary { background:var(--bf-yellow); color:#0b101b; border:1px solid var(--bf-yellow); }
.bf-campaign .bf-primary:hover { background:#ffe955; }
.bf-campaign .bf-secondary { border:1px solid #7b8ba7; color:#fff; }
.bf-campaign .bf-secondary:hover { background:#1b2942; }
.bf-campaign .bf-actions a:focus-visible { outline:3px solid white; outline-offset:4px; }
.bf-campaign .bf-benefits { display:flex; flex-wrap:wrap; gap:10px 20px; padding:0; margin:20px 0 24px; list-style:none; }
.bf-campaign .bf-benefits li { color:#e2e9f5; font-size:14px; display:flex; align-items:center; gap:8px; }
.bf-campaign .bf-benefits li span { color:#50dba4; font-size:19px; font-weight:700; }
.bf-campaign .bf-offer { display:flex; flex-wrap:wrap; align-items:center; gap:18px 24px; }
.bf-campaign .bf-offer > a { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:54px; padding:14px 22px; border-radius:7px; font-weight:750; font-size:15px; text-decoration:none; }
.bf-campaign .bf-offer-price { margin:0; color:#b9c7de; font-size:13px; }
.bf-campaign .bf-offer-price span { display:block; color:var(--bf-yellow); font-size:26px; font-weight:800; letter-spacing:-.5px; }
.bf-campaign .bf-offer-terms { margin:24px 0 0!important; color:#aab8cd; font-size:11px; line-height:1.7; text-align:left; }
.bf-campaign .bf-customize { display:inline-flex; align-items:center; gap:12px; min-height:44px; margin-top:12px; color:#dae4f5; font-size:13px; text-underline-offset:4px; }
.bf-campaign .bf-customize:hover { color:var(--bf-yellow); text-decoration:underline; }
.bf-campaign .bf-offer > a:focus-visible,.bf-campaign .bf-customize:focus-visible { outline:3px solid white; outline-offset:4px; }
.bf-campaign .bf-deal-badge { position:absolute; top:0; right:0; z-index:2; display:flex; flex-direction:column; gap:2px; padding:15px 18px; max-width:190px; border-radius:10px; background:var(--bf-yellow); color:#0b101b; box-shadow:0 8px 32px #0006; }
.bf-campaign .bf-deal-badge > span { font-size:11px; font-weight:800; letter-spacing:1.5px; }
.bf-campaign .bf-deal-badge strong { font-size:30px; line-height:1.2; font-weight:850; letter-spacing:-1px; }
.bf-campaign .bf-deal-badge small { font-size:10px; line-height:1.4; }
.bf-campaign .bf-stage .ud-hero-buttons { gap:10px; margin:0; }
.bf-campaign .bf-stage .ud-hero-buttons .ud-main-btn { padding:10px 0!important; font-size:11px!important; background:transparent!important; color:#b9c7de!important; box-shadow:none!important; min-height:44px; }
.bf-campaign .bf-stage .hero-price-tag { color:#b9c7de; font-size:14px; }
.bf-campaign .bf-stage .hero-price-tag span { color:var(--bf-yellow); }
.bf-campaign .bf-stage .hero-visual-container { display:block!important; position:relative!important; width:100%!important; height:auto!important; min-height:0!important; margin:0!important; transform:none!important; visibility:visible!important; animation:none!important; }
.bf-campaign .bf-robot { display:block; position:relative!important; width:125%; max-width:none; height:auto; margin-left:-12%; object-fit:contain; mask-image:linear-gradient(to right,transparent,#000 14%,#000 88%,transparent); }
.bf-campaign .bf-stage .os-icons-wrapper { margin-top:20px; gap:17px; }
.bf-campaign .bf-stage .os-icons-wrapper img { width:23px!important; height:23px!important; object-fit:contain; }
.bf-campaign .bf-campaign-note { border-top:1px solid #26344b; padding:18px 0 28px; margin:0; color:#a8b6cc; font-size:11px; letter-spacing:.4px; text-align:center; }
.bf-campaign #pricing { scroll-margin-top:100px; }
/* Legacy carousel used -250px margins to overlap the old tall hero.
   Keep sections in normal flow so cards never cover the configurator. */
.bf-campaign .ud-features { padding:36px 0 64px!important; background:#f6f8fc; }
.bf-campaign .ud-features .container { margin-top:0!important; }
.bf-campaign .features-carousel-wrapper { overflow:hidden; padding-top:60px; padding-bottom:24px; min-height:0; }
.bf-campaign .features-carousel .slick-list { overflow:hidden!important; margin:0!important; padding-top:8px; }
.bf-campaign .features-carousel .slick-prev,
.bf-campaign .features-carousel .slick-next { top:-54px!important; }
.bf-campaign .features-carousel .plan-card { display:flex!important; flex-direction:column; min-height:360px; margin:10px; visibility:visible!important; opacity:1!important; animation:none!important; }
.bf-campaign .features-carousel .ud-feature-content { flex:1; }
.bf-campaign .features-carousel .plan-card-footer { margin-top:auto; }
.bf-campaign .features-carousel .plan-card-title { color:#17243b!important; }
.bf-campaign .features-carousel .plan-card-desc { color:#52627b!important; }
.bf-campaign .configurator-wrapper { margin-top:0!important; }
@media (max-width:991px) {
 .bf-campaign .bf-hero { padding-top:30px!important; }
 .bf-campaign .bf-stage { grid-template-columns:1fr; }
 .bf-campaign .bf-stage .ud-hero-content { max-width:650px; margin:auto; }
 .bf-campaign .bf-headline { font-size:58px; }
 .bf-campaign .bf-stage .hero-visual-container { max-width:620px; margin:0 auto!important; }
 .bf-campaign .bf-robot { width:100%; margin:0; }
}
@media (max-width:575px) {
 .bf-campaign .ud-promo-bar .container { padding-left:16px!important; padding-right:16px!important; }
 .bf-campaign .ud-promo-bar .promo-text { padding:0!important; font-size:12px!important; line-height:1.7; }
 .bf-campaign .bf-offer { gap:14px; }
 .bf-campaign .bf-offer > a { flex:1 0 100%; }
 .bf-campaign .bf-offer-price span { display:inline; margin-left:5px; font-size:24px; }
 .bf-campaign .bf-benefits { flex-direction:column; gap:8px; }
 .bf-campaign .bf-deal-badge { position:relative; margin:0 auto 20px; width:fit-content; align-items:center; padding:10px 16px; }
 .bf-campaign .bf-promo-condition { display:block; font-size:10px; margin-top:3px; }
 .bf-campaign .bf-hero { padding:20px 0 40px!important; }
 .bf-campaign .bf-hero .container { padding-right:20px!important; padding-left:20px!important; }
 .bf-campaign .bf-stage { margin:0 0 12px; }
 .bf-campaign .bf-headline { font-size:clamp(31px,9.1vw,42px); letter-spacing:-1.4px; }
 .bf-campaign .bf-stage .ud-hero-buttons { flex-direction:row!important; justify-content:flex-start!important; align-items:center; flex-wrap:wrap; }
 .bf-campaign .bf-stage .ud-hero-buttons li { width:auto!important; margin:0!important; }
 .bf-campaign .bf-stage .hero-price-tag { font-size:13px!important; }
 .bf-campaign .bf-stage .hero-price-tag span { font-size:16px!important; }
 .bf-campaign .bf-stage .os-icons-wrapper { flex-wrap:nowrap!important; gap:16px!important; margin:16px 0!important; }
 .bf-campaign .bf-label { font-size:10px; letter-spacing:1.4px; margin-bottom:18px; }
 .bf-campaign .bf-stage .ud-hero-title { font-size:18px!important; }
 .bf-campaign .bf-stage .hero-sub-text { font-size:14px!important; }
 .bf-campaign .bf-actions { flex-direction:column; }
 .bf-campaign .bf-actions a { width:100%; }
 .bf-campaign .bf-campaign-note { line-height:1.7; padding-bottom:28px; }
}
