/* ================= BO LOGO STRIP WIDGET — default styling =================
   Scoped under .bo-logo-strip-wrap. Reproduces .logo-strip marquee exactly.
   Duplicate .logo-strip-marks block is rendered server-side (PHP loop x2)
   so the seamless -50% loop works regardless of how many logos are added.
   ========================================================================= */

.bo-logo-strip-wrap{
  --ls-navy: #031B39;
  --ls-line: #E4E8EE;
  --ls-scroll-duration: 40s;
  --ls-scroll-direction: normal;
  --ls-logo-height: 100px;
  font-family:'Roboto', sans-serif;
}

.bo-logo-strip-wrap .ls-wrap{ max-width:1220px; margin:0 auto; padding:0 40px; }

@media (prefers-reduced-motion: reduce){
  .bo-logo-strip-wrap .logo-strip-track{ animation:none; }
}

.bo-logo-strip-wrap .logo-strip{
  padding:0;
  background:#fff;
  border-top:1px solid var(--ls-line);
  border-bottom:1px solid var(--ls-line);
  overflow:hidden;
  position:relative;
}
.bo-logo-strip-wrap .logo-strip::before,
.bo-logo-strip-wrap .logo-strip::after{
  content:"";
  position:absolute;
  top:0; bottom:0;
  width:80px;
  z-index:2;
  pointer-events:none;
}
.bo-logo-strip-wrap .logo-strip::before{
  left:0;
  background:linear-gradient(to right,#fff,transparent);
}
.bo-logo-strip-wrap .logo-strip::after{
  right:0;
  background:linear-gradient(to left,#fff,transparent);
}

.bo-logo-strip-wrap .logo-strip-inner{
  display:flex;
  align-items:center;
  gap:40px;
}

.bo-logo-strip-wrap .logo-strip-label{
  position:relative;
  z-index:5;
  flex-shrink:0;
  padding-right:24px;
  background:#fff;
  font-family:'IBM Plex Mono';
  font-size:17px;
  font-weight:600;
  letter-spacing:0em;
  text-transform:uppercase;
  color:var(--ls-navy);
  white-space:nowrap;
}

.bo-logo-strip-wrap .logo-strip-marquee{
  flex:1;
  min-width:0;
  width:100%;
  overflow:hidden;
  position:relative;
}

.bo-logo-strip-wrap .logo-strip-track{
  display:flex;
  width:max-content;
  flex-shrink:0;
  will-change:transform;
  animation:bo-ls-scroll var(--ls-scroll-duration) linear infinite;
  animation-direction: var(--ls-scroll-direction);
}

.bo-logo-strip-wrap .logo-strip-marks{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  flex-shrink:0;
  gap:34px;
  padding-right:34px;
  overflow:visible;
}

.bo-logo-strip-wrap .logo-strip-marks img{
  display:block;
  height:var(--ls-logo-height);
  width:auto;
  object-fit:contain;
  flex-shrink:0;
}
.bo-logo-strip-wrap .logo-strip-marks img:hover{
  transform:none;
}

@keyframes bo-ls-scroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

/* ================= RESPONSIVE ================= */
@media (max-width:640px){
  .bo-logo-strip-wrap .ls-wrap{ padding:0 20px; }

  .bo-logo-strip-wrap .logo-strip-inner{
    flex-direction:column;
    align-items:center;
    gap:16px;
    padding:16px 0;
  }
  .bo-logo-strip-wrap .logo-strip-label{
    padding-right:0;
    text-align:center;
  }
  .bo-logo-strip-wrap .logo-strip-marks{
    gap:24px;
    padding-right:24px;
  }
  .bo-logo-strip-wrap .logo-strip-marks img{
    max-width:none;
  }
}