/* Full-bleed wrapper (robust across block themes + desktop/tablet/mobile)
   Goal: always render the bar truly edge-to-edge, independent of the theme's content width.
*/
body .mibp-wrap.alignfull{
  box-sizing:border-box;
  position:relative;
  display:block;
  /* Standard full-bleed technique: make the element viewport-wide and pull it out of any centered container */
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  /* Defensively neutralize possible theme overrides */
  left:auto !important;
  right:auto !important;
  transform:none !important;
  padding-left:0 !important;
  padding-right:0 !important;
  overflow:hidden; /* prevents 1px rounding causing horizontal scroll */
}

/* Prefer dynamic viewport units when available (better behavior with overlays/scrollbars) */
@supports (width: 100dvw){
  body .mibp-wrap.alignfull{
    width:100dvw !important;
    max-width:100dvw !important;
    margin-left:calc(50% - 50dvw) !important;
    margin-right:calc(50% - 50dvw) !important;
  }
}

/* If the shortcode sits inside a Block "Group" (or similar) that clips overflow,
   JS adds .mibp-unclip to the nearest clipping ancestor so full-bleed can work on iPad/iPad Pro. */
.mibp-unclip{
  overflow:visible !important;
  overflow-x:visible !important;
  overflow-y:visible !important;
}

/* iOS safe-area (doesn't change background color) */
body .mibp-wrap.alignfull .mibp-bar{
  box-sizing:border-box;
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}

/* bar */
.mibp-bar{
  width:100%;
  height:var(--mibp-h);
  display:flex;
  align-items:center;
  overflow:hidden;
  position:relative;
}

@media (max-width:768px){
  .mibp-bar{ height:var(--mibp-h-m); }
}

.mibp-track{ display:flex; width:max-content; align-items:center; }
.mibp-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 40px;
  white-space:nowrap;
  font-size:18px;
  text-decoration:none;
}
.mibp-icon{ height:22px; width:auto; }

/* Theme styles (do NOT touch background) */
.mibp-theme-auto .mibp-item{ color:#fff; }
.mibp-theme-dark .mibp-item{ color:#fff; }
.mibp-theme-light .mibp-item{ color:#111; }

/* Slide */
.mibp-anim-slide .mibp-track{ animation:mibp-slide linear infinite; }
@keyframes mibp-slide{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

/* Fade */
.mibp-anim-fade .mibp-track{ position:relative; width:100%; justify-content:center; }
.mibp-anim-fade .mibp-item{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  opacity:0;
  transition:opacity calc(450ms * var(--mibp-speed, 1)) ease;
}
.mibp-anim-fade .mibp-item.mibp-active{ opacity:1; }

/* Sticky */
.mibp-mode-sticky{ position:sticky; z-index:999; }
.mibp-sticky-top{ top:0; }
.mibp-sticky-bottom{ bottom:0; }
