
.bf-hero{position:relative;width:100%;min-height:var(--bf-hero-h,78vh);overflow:hidden;border-radius:0}
/*
  IMPORTANT:
  "Wide" mode must be FULL-BLEED (100vw) even when the widget is placed inside
  a theme/Elementor container that has a max-width.
*/
.bf-hero--wide{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.bf-hero--boxed{max-width:var(--bf-boxed-w,1200px);margin:0 auto;border-radius:var(--bf-boxed-radius,18px);box-shadow:0 18px 48px rgba(0,0,0,.22)}
.bf-hero--boxed .bf-hero-overlay{border-radius:var(--bf-boxed-radius,18px)}
.bf-hero--boxed .swiper{border-radius:var(--bf-boxed-radius,18px)}
.bf-hero .bf-hero-swiper,.bf-hero .swiper-wrapper,.bf-hero .swiper-slide{height:var(--bf-hero-h,78vh)}
.bf-hero-slide{position:relative;background-size:cover;background-position:center;background-repeat:no-repeat}
.bf-hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(1200px 600px at 20% 35%,
      rgba(0,0,0,var(--bf-ov-radial-center, .60)),
      rgba(0,0,0,var(--bf-ov-radial-outer, .88)) 70%),
    linear-gradient(90deg,
      rgba(0,0,0,var(--bf-ov-lin-left, .82)) 0%,
      rgba(0,0,0,var(--bf-ov-lin-mid, .48)) 46%,
      rgba(0,0,0,var(--bf-ov-lin-right, .25)) 100%);
}
.bf-hero-inner{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:clamp(28px,6vw,70px) clamp(18px,3vw,30px);height:100%;display:flex;align-items:center}
.bf-hero-content{max-width:780px;position:relative}
.bf-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.92);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:13px;letter-spacing:.2px}
.bf-big-title{position:absolute;top:38px;left:-6px;font-weight:800;font-size:clamp(52px,7vw,84px);letter-spacing:.5px;color:rgba(255,255,255,.08);text-shadow:0 12px 30px rgba(0,0,0,.28);pointer-events:none;user-select:none;white-space:nowrap}
.bf-headline{margin:18px 0 10px 0;font-size:clamp(30px,4.4vw,46px);line-height:1.12;color:#fff;font-weight:800}
.bf-desc{color:rgba(255,255,255,.86);font-size:16px;line-height:1.6;max-width:640px}
.bf-desc p{margin:0 0 10px 0}
.bf-cta{margin-top:18px;display:flex;gap:12px;flex-wrap:wrap}
.bf-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;font-weight:700;text-decoration:none!important;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease}
.bf-btn-primary{background:#F1CF79;color:#111;box-shadow:0 10px 25px rgba(0,0,0,.25)}
.bf-btn-primary:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(0,0,0,.32)}
.bf-btn-outline{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.bf-btn-outline:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.28)}
.bf-stats-row{margin-top:26px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:820px}
.bf-stat-card{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px 16px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 12px 30px rgba(0,0,0,.25);min-height:86px}
.bf-stat-num{font-weight:900;font-size:28px;color:#F1CF79;line-height:1;margin-bottom:8px}
.bf-stat-label{color:rgba(255,255,255,.84);font-size:13px}
.bf-hero-nav{position:absolute;right:18px;bottom:22px;z-index:5;display:flex;gap:10px}
.bf-hero-prev,.bf-hero-next{width:42px;height:42px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 12px 24px rgba(0,0,0,.22);cursor:pointer;position:relative}
.bf-hero-prev::after,.bf-hero-next::after{content:"";position:absolute;inset:0;margin:auto;width:10px;height:10px;border-top:2px solid rgba(255,255,255,.9);border-right:2px solid rgba(255,255,255,.9);transform:rotate(45deg);top:0;bottom:0;left:0;right:0}
.bf-hero-prev::after{transform:rotate(-135deg)}
.bf-hero-pagination{position:absolute;left:18px;bottom:26px;z-index:5;width:auto!important}
.bf-hero-pagination .swiper-pagination-bullet{width:8px;height:8px;background:rgba(255,255,255,.5);opacity:1}
.bf-hero-pagination .swiper-pagination-bullet-active{background:#F1CF79}
@media (max-width:860px){
  .bf-hero{min-height:var(--bf-hero-h-mobile,var(--bf-hero-h,78vh))}
  .bf-stats-row{grid-template-columns:1fr;max-width:520px}
  .bf-big-title{top:18px}
  .bf-hero-nav{display:none}
}

/* Mobile variant: compact */
@media (max-width:860px){
  .bf-hero--m-compact .bf-hero-inner{padding:28px 16px;justify-content:center}
  .bf-hero--m-compact .bf-hero-content{max-width:560px;text-align:center}
  .bf-hero--m-compact .bf-pill{margin:0 auto}
  .bf-hero--m-compact .bf-big-title{display:none}
  .bf-hero--m-compact .bf-desc{margin-left:auto;margin-right:auto}
  .bf-hero--m-compact .bf-cta{justify-content:center}
  .bf-hero--m-compact .bf-btn{width:100%;max-width:340px}
  .bf-hero--m-compact .bf-stats-row{grid-template-columns:repeat(2,minmax(0,1fr));max-width:520px;margin-left:auto;margin-right:auto}
  .bf-hero--m-compact .bf-stats-row .bf-stat-card:nth-child(3){grid-column:1/-1}
}
