/* Six Hive mark loaders adapted from the supplied animation gallery. The mark
   remains the same in every view; only its motion treatment changes. */
.hive-loading-animation__mount{
  display:grid; place-items:center; flex:none;
}
.hive-loading-animation__mark{
  display:block; width:128px; height:128px; overflow:visible;
}
.hive-loading-animation__tracks{ fill:var(--hive-loader-track,#646a75); opacity:.28; }
.hive-loading-animation__bar,
.hive-loading-animation__wipe{
  fill:var(--hive-loader-honey,#e2a400);
}
.hive-loading-animation__bar,
.hive-loading-animation__wipe,
.hive-loading-animation__shimmer{
  opacity:0; transform-box:fill-box;
}

/* 1a — honey fills bottom-up and drains through the top. */
[data-hive-loader-variant="rise"] .hive-loading-animation__wipe{
  opacity:1; animation:hive-loader-rise-fill 2.4s ease-in-out infinite;
}
@keyframes hive-loader-rise-fill{
  0%{ transform:translateY(102%); }
  45%,60%{ transform:translateY(0); }
  100%{ transform:translateY(-102%); }
}

/* 1b — right-to-left, left-to-right, right-to-left. */
[data-hive-loader-variant="serpentine"] .hive-loading-animation__bar{ opacity:1; }
[data-hive-loader-variant="serpentine"] .hive-loading-animation__bar--1{
  transform-origin:right center; animation:hive-loader-snake-1 2.6s ease-in-out infinite;
}
[data-hive-loader-variant="serpentine"] .hive-loading-animation__bar--2{
  transform-origin:left center; animation:hive-loader-snake-2 2.6s ease-in-out infinite;
}
[data-hive-loader-variant="serpentine"] .hive-loading-animation__bar--3{
  transform-origin:right center; animation:hive-loader-snake-3 2.6s ease-in-out infinite;
}
@keyframes hive-loader-snake-1{
  0%{ transform:scaleX(0); } 28%,86%{ transform:scaleX(1); } 100%{ transform:scaleX(0); }
}
@keyframes hive-loader-snake-2{
  0%,28%{ transform:scaleX(0); } 56%,86%{ transform:scaleX(1); } 100%{ transform:scaleX(0); }
}
@keyframes hive-loader-snake-3{
  0%,56%{ transform:scaleX(0); } 84%,86%{ transform:scaleX(1); } 100%{ transform:scaleX(0); }
}

/* 1c — one progress fill sweeps through the clipped logo. */
[data-hive-loader-variant="sweep"] .hive-loading-animation__wipe{
  opacity:1; animation:hive-loader-progress-sweep 2.2s ease-in-out infinite;
}
@keyframes hive-loader-progress-sweep{
  0%{ transform:translateX(-102%); }
  45%,60%{ transform:translateX(0); }
  100%{ transform:translateX(102%); }
}

/* 1d — the bars pulse gold from top to bottom. */
[data-hive-loader-variant="pulse"] .hive-loading-animation__tracks{ opacity:0; }
[data-hive-loader-variant="pulse"] .hive-loading-animation__bar{
  opacity:1; fill:#646a75; animation:hive-loader-bar-pulse 1.8s ease-in-out infinite;
}
[data-hive-loader-variant="pulse"] .hive-loading-animation__bar--2{ animation-delay:.3s; }
[data-hive-loader-variant="pulse"] .hive-loading-animation__bar--3{ animation-delay:.6s; }
@keyframes hive-loader-bar-pulse{
  0%,70%,100%{ fill:#646a75; } 20%,45%{ fill:var(--hive-loader-honey,#e2a400); }
}

/* 1e — each bar draws in from the left, staggered. */
[data-hive-loader-variant="draw"] .hive-loading-animation__bar{
  opacity:1; transform-origin:left center; animation:hive-loader-bar-draw 1.9s ease-in-out infinite;
}
[data-hive-loader-variant="draw"] .hive-loading-animation__bar--2{ animation-delay:.18s; }
[data-hive-loader-variant="draw"] .hive-loading-animation__bar--3{ animation-delay:.36s; }
@keyframes hive-loader-bar-draw{
  0%{ transform:scaleX(0); } 30%,80%{ transform:scaleX(1); } 100%{ transform:scaleX(0); }
}

/* 1f — a soft highlight crosses a solid honey mark. */
[data-hive-loader-variant="shimmer"] .hive-loading-animation__wipe{ opacity:1; transform:none; }
[data-hive-loader-variant="shimmer"] .hive-loading-animation__shimmer{
  opacity:1; animation:hive-loader-shimmer 1.7s ease-in-out infinite;
}
@keyframes hive-loader-shimmer{
  0%{ transform:translateX(0) skewX(-18deg); }
  100%{ transform:translateX(330%) skewX(-18deg); }
}

/* Full boot curtain. */
.hive-loader{
  --hive-loader-track:#656c77; --hive-loader-honey:#e8a800;
  position:fixed; inset:0; z-index:9000;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px;
  background:var(--bg,#f1f2f4); transition:opacity .28s ease;
}
:root[data-theme="dark"] .hive-loader{ background:var(--bg,#000); }
.hive-loader[hidden]{ display:none; }
.hive-loader[data-leaving="true"]{ opacity:0; pointer-events:none; }
.hive-loader .hive-loading-animation__mark{ width:clamp(150px,26vmin,280px); height:auto; }
.hive-loader__label{
  margin:0; min-height:1em; color:var(--dim,#6b7280);
  font:500 12px/1.4 var(--font);
  letter-spacing:.09em; text-transform:uppercase;
}
.hive-loader__label:empty{ display:none; }
.hive-loader__sr{
  position:absolute; width:1px; height:1px; margin:-1px; padding:0;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* View-specific sizes retain the hierarchy of their former loaders. */
.layout-build-globe__loading .hive-loading-animation__mark{
  width:clamp(96px,14vmin,132px); height:auto;
}
.seller-local-loading .hive-loading-animation__mark{ width:88px; height:88px; }

@media (prefers-reduced-motion:reduce){
  [data-hive-loader-variant] .hive-loading-animation__motion{ animation:none !important; }
  [data-hive-loader-variant] .hive-loading-animation__bar,
  [data-hive-loader-variant] .hive-loading-animation__shimmer{ opacity:0; }
  [data-hive-loader-variant] .hive-loading-animation__wipe{ opacity:1; transform:none; }
}
