/* Business Promoter logo: orbit rings around the globe, a masked light sweep,
   cursor tilt and a dot burst on click. Markup is added by storefront-logo.js. */
.bp-logo{
  --bp-cx:23.4%; --bp-cy:57.2%; --bp-r:12.65%;            /* globe center + radius inside the logo image */
  --bp-blue:#0a6fbf; --bp-sky:#2ba6e8; --bp-orange:#f47216;
  --bp-logo-ease:cubic-bezier(.22,1,.36,1);
  --bp-logo-spring:cubic-bezier(.34,1.56,.64,1);
  position:relative; isolation:isolate; -webkit-tap-highlight-color:transparent; outline-offset:8px;
}
.bp-logo-stage{
  --rx:0deg; --ry:0deg;
  position:relative; display:block; border-radius:12px;
  transform:perspective(700px) rotateX(var(--rx)) rotateY(var(--ry));
  transition:transform .7s var(--bp-logo-ease), scale .55s var(--bp-logo-spring), translate .6s var(--bp-logo-ease);
}
.bp-logo-stage>img{position:relative; z-index:1; transition:filter .6s var(--bp-logo-ease)}

/* Soft brand-colored glow behind the globe */
.bp-logo-aura{
  position:absolute; z-index:0; left:var(--bp-cx); top:var(--bp-cy); width:calc(var(--bp-r)*4); aspect-ratio:1;
  translate:-50% -50%; border-radius:50%; pointer-events:none;
  background:radial-gradient(closest-side, rgba(43,166,232,.34), rgba(43,166,232,.14) 45%, rgba(244,114,22,.08) 62%, transparent 76%);
  filter:blur(5px); opacity:0; scale:.6;
  transition:opacity .6s var(--bp-logo-ease), scale .9s var(--bp-logo-ease);
}

/* Light sweep + cursor spotlight, clipped to the logo's own shape */
.bp-logo-sheen,.bp-logo-spot{
  position:absolute; z-index:2; inset:0; pointer-events:none;
  -webkit-mask:var(--bp-logo-mask) center/100% 100% no-repeat; mask:var(--bp-logo-mask) center/100% 100% no-repeat;
}
.bp-logo-sheen{
  opacity:0; background-size:320% 100%; background-repeat:no-repeat; background-position:100% 0;
  background-image:linear-gradient(105deg, transparent 41%, rgba(255,255,255,.22) 45.5%, rgba(255,255,255,.88) 49.2%, #fff 50%, rgba(255,255,255,.88) 50.8%, rgba(255,255,255,.22) 54.5%, transparent 59%);
}
.bp-logo-spot{
  --mx:50%; --my:50%; opacity:0; transition:opacity .45s ease;
  background:radial-gradient(circle 64px at var(--mx) var(--my), rgba(255,255,255,.44), rgba(255,255,255,.12) 45%, transparent 72%);
}

/* Orbit rings around the globe (rotation is driven from JS so it can spin up smoothly) */
.bp-logo-orbit{
  position:absolute; z-index:3; left:var(--bp-cx); top:var(--bp-cy); aspect-ratio:1;
  translate:-50% -50%; border-radius:50%; pointer-events:none;
  transition:opacity .6s var(--bp-logo-ease), scale .8s var(--bp-logo-ease);
}
.bp-logo-orbit::before{
  content:''; position:absolute; inset:0; border-radius:50%;
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 1.7px), #000 calc(100% - 1.3px));
  mask:radial-gradient(farthest-side, transparent calc(100% - 1.7px), #000 calc(100% - 1.3px));
}
.bp-logo-orbit>i{
  position:absolute; left:50%; top:0; width:4px; height:4px; translate:-50% -50%; border-radius:50%;
  background:#fff; transition:box-shadow .5s ease;
}
.bp-logo-orbit-a{width:calc(var(--bp-r)*2.2); opacity:.55}
.bp-logo-orbit-a::before{background:conic-gradient(from 0deg, transparent 0 60%, rgba(43,166,232,.12) 72%, rgba(10,111,191,.95) 100%)}
.bp-logo-orbit-a>i{box-shadow:0 0 0 1px rgba(10,111,191,.55), 0 0 6px 1px rgba(43,166,232,.7)}
.bp-logo-orbit-b{width:calc(var(--bp-r)*2.34); opacity:0; scale:.86}
.bp-logo-orbit-b::before{background:conic-gradient(from 0deg, rgba(244,114,22,.95) 0, rgba(244,114,22,.18) 14%, transparent 26%)}
.bp-logo-orbit-b>i{width:3.5px; height:3.5px; box-shadow:0 0 0 1px rgba(244,114,22,.6), 0 0 6px 1px rgba(244,114,22,.75)}
.bp-logo[data-bp-logo="footer"] .bp-logo-orbit-a{opacity:0; scale:.86}

/* Hover / keyboard focus */
.bp-logo.is-hover .bp-logo-stage,.bp-logo:focus-visible .bp-logo-stage{translate:0 -2px}
.bp-logo.is-hover .bp-logo-stage>img,.bp-logo:focus-visible .bp-logo-stage>img{
  filter:drop-shadow(0 10px 14px rgba(0,72,140,.16)) drop-shadow(0 2px 3px rgba(0,40,90,.12)) saturate(1.08);
}
.bp-logo.is-hover .bp-logo-aura,.bp-logo:focus-visible .bp-logo-aura{opacity:1; scale:1}
.bp-logo.is-hover .bp-logo-spot{opacity:1}
.bp-logo.is-hover .bp-logo-orbit-a,.bp-logo:focus-visible .bp-logo-orbit-a{opacity:1; scale:1}
.bp-logo.is-hover .bp-logo-orbit-b,.bp-logo:focus-visible .bp-logo-orbit-b{opacity:.9; scale:1}
.bp-logo.is-hover .bp-logo-orbit-a>i{box-shadow:0 0 0 1px rgba(10,111,191,.6), 0 0 9px 3px rgba(43,166,232,.85)}
.bp-logo.is-hover .bp-logo-orbit-b>i{box-shadow:0 0 0 1px rgba(244,114,22,.6), 0 0 9px 3px rgba(244,114,22,.8)}

/* Press: quick squeeze, springs back on release */
.bp-logo.is-pressed .bp-logo-stage{scale:.955; transition:transform .7s var(--bp-logo-ease), scale .12s ease-out, translate .6s var(--bp-logo-ease)}

/* Click burst layer (dots, shockwaves, lens flash) */
.bp-logo-fx{position:absolute; z-index:4; inset:0; pointer-events:none; overflow:visible}
.bp-logo-dot,.bp-logo-wave,.bp-logo-flash{position:absolute; left:0; top:0; border-radius:50%; pointer-events:none; opacity:0; will-change:transform,opacity}
.bp-logo-wave{border:1.6px solid var(--bp-sky); box-shadow:0 0 12px rgba(43,166,232,.35), inset 0 0 10px rgba(43,166,232,.25)}
.bp-logo-wave.is-orange{border-color:var(--bp-orange); box-shadow:0 0 12px rgba(244,114,22,.3)}
.bp-logo-flash{background:radial-gradient(closest-side, rgba(255,255,255,.95), rgba(160,220,255,.55) 40%, rgba(43,166,232,0) 72%)}

@media (prefers-reduced-motion: reduce){
  .bp-logo-stage,.bp-logo.is-pressed .bp-logo-stage{transition:none; transform:none; scale:none; translate:none}
  .bp-logo-orbit,.bp-logo-aura{transition:opacity .2s linear}
  .bp-logo-orbit-a{opacity:0}
  .bp-logo.is-hover .bp-logo-orbit-b{opacity:.6}
  .bp-logo-spot{display:none}
}
