/* MamaBetPro App — luxury loader v6 */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,600;0,700;1,600&family=Syne:wght@600;700;800&display=swap');

.bp-loader{
  position:fixed;inset:0;z-index:99999;
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .45s ease,visibility .45s ease;
  padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
}
.bp-loader.on{opacity:1;visibility:visible;pointer-events:auto}
.bp-loader.fade-out{opacity:0;visibility:hidden;pointer-events:none}

#bpParticles{
  position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;
}

.bp-loader-bg{
  position:absolute;inset:0;z-index:0;overflow:hidden;
  background:
    radial-gradient(ellipse 90% 62% at 50% 8%, rgba(34,197,94,.58), transparent 56%),
    radial-gradient(ellipse 50% 42% at 12% 72%, rgba(70,180,255,.3), transparent 52%),
    radial-gradient(ellipse 48% 40% at 90% 76%, rgba(232,197,106,.2), transparent 50%),
    radial-gradient(ellipse 36% 32% at 72% 32%, rgba(120,210,255,.22), transparent 46%),
    linear-gradient(168deg, #0e1612 0%, #14532d 36%, #166534 66%, #070b09 100%);
}
.bp-loader-bg::before{
  content:"";position:absolute;left:50%;top:-8%;
  width:min(520px,90vw);height:min(520px,90vw);
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.14), rgba(90,180,255,.08) 35%, transparent 68%);
  pointer-events:none;
}
.bp-loader-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(8,40,90,.05), rgba(4,18,42,.42));
  pointer-events:none;
}

.bp-loader-vignette{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  box-shadow:inset 0 0 100px 30px rgba(4,22,52,.42);
}
.bp-loader-frame{
  position:absolute;inset:14px;z-index:2;pointer-events:none;
  border:1px solid rgba(232,197,106,.16);
  border-radius:18px;
}
.bp-loader-frame::before,
.bp-loader-frame::after{
  content:"";position:absolute;width:22px;height:22px;
  border:1.5px solid rgba(232,197,106,.55);
}
.bp-loader-frame::before{top:-1px;left:-1px;border-right:0;border-bottom:0;border-radius:6px 0 0 0}
.bp-loader-frame::after{right:-1px;bottom:-1px;border-left:0;border-top:0;border-radius:0 0 6px 0}

.bp-loader-content{
  position:relative;z-index:4;
  display:flex;flex-direction:column;align-items:center;
  gap:1.25rem;text-align:center;
  width:min(360px,88vw);
  padding:28px 22px 24px;
  border-radius:24px;
  background:linear-gradient(160deg, rgba(10,36,78,.42), rgba(5,18,42,.28));
  border:1px solid rgba(34,197,94,.18);
  box-shadow:0 24px 60px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.bp-logo-orbit{
  position:relative;
  width:148px;height:148px;
  display:grid;place-items:center;
}
.bp-orbit-ring{
  position:absolute;inset:0;border-radius:50%;
  border:1px solid rgba(232,197,106,.3);
  box-shadow:0 0 40px rgba(34,197,94,.2);
}
.bp-orbit-ring::before,
.bp-orbit-ring::after{content:"";position:absolute;border-radius:50%}
.bp-orbit-ring::before{
  inset:-10px;
  border:1.5px solid transparent;
  border-top-color:#7ad0ff;
  border-right-color:rgba(232,197,106,.5);
  animation:bpSpin 1.15s linear infinite;
}
.bp-orbit-ring::after{
  inset:10px;
  border:1px solid transparent;
  border-bottom-color:rgba(232,197,106,.75);
  border-left-color:rgba(34,197,94,.4);
  animation:bpSpin 2.2s linear infinite reverse;
}
.bp-orbit-dot{
  position:absolute;width:7px;height:7px;border-radius:50%;
  background:#f5c518;box-shadow:0 0 12px #f5c518;
  top:6px;left:50%;margin-left:-3.5px;
  transform-origin:3.5px 68px;
  animation:bpSpin 1.15s linear infinite;
}
.bp-logo-core{
  position:relative;
  width:104px;height:104px;border-radius:50%;
  display:grid;place-items:center;
  overflow:hidden;
  background:linear-gradient(145deg, #f6e7b5 0%, #f5c518 42%, #c9a243 100%);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.25) inset,
    0 0 46px rgba(232,197,106,.4),
    0 14px 32px rgba(0,0,0,.38);
  animation:bpLogoPulse 2.4s ease-in-out infinite;
}
.bp-logo-core::after{
  content:"";position:absolute;inset:-40%;
  background:linear-gradient(115deg, transparent 40%, rgba(255,255,255,.45) 50%, transparent 60%);
  animation:bpShine 2.8s ease-in-out infinite;
}
.bp-logo-core b{
  position:relative;z-index:1;
  font:700 2.05rem/1 "Cormorant Garamond",serif;
  font-style:italic;color:#06122c;letter-spacing:-.04em;
}
@keyframes bpLogoPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@keyframes bpSpin{to{transform:rotate(360deg)}}
@keyframes bpShine{0%,100%{transform:translateX(-30%) rotate(18deg)}50%{transform:translateX(30%) rotate(18deg)}}

.bp-loader-eyebrow{
  margin:0;font:700 10px/1 Syne,sans-serif;
  letter-spacing:.34em;text-transform:uppercase;color:#f5c518;
}
.bp-loader-title{
  margin:0;font:700 clamp(1.3rem,4.4vw,1.65rem)/1.15 Syne,sans-serif;
  color:#f7faf8;letter-spacing:-.02em;
}
.bp-loader-sub{
  margin:0;font-size:.84rem;color:rgba(190,210,240,.78);
  letter-spacing:.03em;min-height:1.3em;transition:opacity .25s ease;
}
.bp-loader-pct{
  margin:0;font:700 11px/1 Syne,sans-serif;
  letter-spacing:.18em;color:rgba(232,197,106,.9);
}

.bp-loader-track{
  width:min(220px,72vw);height:3px;border-radius:99px;overflow:hidden;
  background:rgba(34,197,94,.16);
}
.bp-loader-fill{
  height:100%;width:100%;border-radius:99px;
  transform-origin:left center;transform:scaleX(0);
  background:linear-gradient(90deg,#0b62ef,#55c8ff,#f5c518);
  will-change:transform;
}
.bp-loader-fill.run{animation:bpLoadScale 2.15s cubic-bezier(.4,0,.2,1) forwards}
@keyframes bpLoadScale{
  0%{transform:scaleX(0)}
  25%{transform:scaleX(.3)}
  55%{transform:scaleX(.62)}
  82%{transform:scaleX(.9)}
  100%{transform:scaleX(1)}
}

.bp-loader-footer{
  position:absolute;
  bottom:calc(1.6rem + env(safe-area-inset-bottom,0px));
  left:50%;transform:translateX(-50%);
  z-index:4;text-align:center;pointer-events:none;
}
.bp-loader-footer strong{
  display:block;font:600 1rem/1.2 "Cormorant Garamond",serif;
  font-style:italic;color:#fff;
}
.bp-loader-footer span{
  display:block;margin-top:4px;font-size:10px;
  letter-spacing:.22em;text-transform:uppercase;color:rgba(170,190,220,.7);
}

@media (max-width:520px){
  .bp-loader-frame{inset:10px;border-radius:14px}
  .bp-loader-content{padding:22px 16px 20px;border-radius:20px}
}
@media (prefers-reduced-motion:reduce){
  .bp-orbit-ring::before,.bp-orbit-ring::after,.bp-orbit-dot,.bp-logo-core,.bp-logo-core::after,.bp-loader-fill{animation:none!important}
  .bp-loader-fill{transform:scaleX(1)}
}


/* premium loader - emerald pulse */
.loader-overlay,.app-loader,#appLoader,.lux-loader{
  background:radial-gradient(800px 500px at 50% 30%,rgba(34,197,94,.2),transparent 60%),#050805!important;
}
.loader-ring,.spinner,.lux-spin{
  width:64px;height:64px;border-radius:50%;
  border:3px solid rgba(255,255,255,.12);
  border-top-color:var(--green-3,#4ade80);
  border-right-color:#fff;
  animation:mamaSpin 0.85s linear infinite;
  box-shadow:0 0 28px rgba(34,197,94,.35);
}
.loader-brand,.lux-loader-title{
  font-family:"Syne",system-ui,sans-serif;font-weight:800;letter-spacing:.08em;
  background:linear-gradient(90deg,#fff,#4ade80,#fff);background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:mamaShine 2.4s ease infinite;
}
.loader-bar{height:3px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.loader-bar>span,.loader-bar-fill{display:block;height:100%;width:40%;background:linear-gradient(90deg,transparent,#4ade80,#fff,transparent);animation:mamaBar 1.4s ease-in-out infinite}
@keyframes mamaSpin{to{transform:rotate(360deg)}}
@keyframes mamaShine{0%{background-position:0% 50%}100%{background-position:200% 50%}}
@keyframes mamaBar{0%{transform:translateX(-120%)}100%{transform:translateX(320%)}}
