.dsk-trustbar{
  background: rgba(255,255,255,0.92);
  border-bottom: 1px solid rgba(0,0,0,0.06);
}

.dsk-trustbar-title{
  margin: 0 0 14px 0;
  text-align: center;
  font-size: clamp(1rem, 1.35vw, 1.12rem);
  line-height: 1.25;
  font-weight: 800;
  color: rgba(10,12,20,0.88);
  letter-spacing: 0.01em;
  display: block;
  opacity: 1;
  visibility: visible;
  position: relative;
  z-index: 2;
}

.dsk-brands-marquee{
  --tile-h: clamp(80px, 7.7vw, 106px);
  --tile-r: 16px;
  --gap: 18px;
  --duration: 34s;
  position: relative;
  max-width: 100%;
}

.dsk-brands-marquee__viewport{
  position: relative;
  width: 100%;
  box-sizing: border-box;
  height: calc(var(--tile-h) + 18px);
  padding: 9px 0;
  display: flex;
  align-items: center;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,1) 10%, rgba(0,0,0,1) 90%, rgba(0,0,0,0));
  mask-image: linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,1) 10%, rgba(0,0,0,1) 90%, rgba(0,0,0,0));
}

.dsk-brands-marquee__track{
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  gap: var(--gap);
  width: max-content;
  transform: translate3d(0, 0, 0);
  animation: dsk-brands-marquee-ltr var(--duration) linear infinite;
  will-change: transform;
}

.dsk-brands-marquee__item{
  flex: 0 0 auto;
}

.dsk-brands-marquee__tile{
  box-sizing: border-box;
  height: var(--tile-h);
  width: clamp(198px, 22vw, 286px);
  padding: 11px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border: 1px solid rgba(15,23,42,0.10);
  border-radius: var(--tile-r);
  box-shadow: 0 10px 24px rgba(15,23,42,0.10);
}

.dsk-brands-marquee__logo{
  display: block;
  filter: invert(1) !important;
  width: auto;
  height: calc(var(--tile-h) - 22px);
  max-height: calc(var(--tile-h) - 22px);
  max-width: 88%;
  object-fit: contain;
}

@keyframes dsk-brands-marquee-ltr{
  from{ transform: translate3d(0, 0, 0); }
  to{ transform: translate3d(-50%, 0, 0); }
}

@media (prefers-reduced-motion: reduce){
  .dsk-brands-marquee__viewport{
    height: auto;
    overflow: visible;
    padding: 0;
    display: block;
    -webkit-mask-image: none;
    mask-image: none;
  }

  .dsk-brands-marquee__track{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    animation: none;
    transform: none;
  }

  .dsk-brands-marquee__track [aria-hidden="true"]{
    display: none !important;
  }

  .dsk-brands-marquee__item{
    min-width: 0;
  }

  .dsk-brands-marquee__tile{
    width: 100%;
    min-width: 0;
  }
}

@media (min-width: 1025px){
  .dsk-page-home #o-nas > .container > .sb-row,
  .dsk-page-home #testimonials-overview > .container > .sb-row,
  .dsk-page-home #formularz-zgloszeniowy > .container > .sb-row{
    padding-top: 40px !important;
  }

  .dsk-page-home #dlaczego-laboratorium > .container > .sb-row:first-child,
  .dsk-page-home #jak-to-dziala > .container > .sb-row:first-child{
    padding-top: 28px !important;
  }

  .dsk-page-home #o-nas > .container > .sb-row{
    padding-bottom: 28px !important;
  }

  .dsk-page-home #dlaczego-laboratorium > .container > .sb-row.sb-row-opt-padding-top-small.sb-row-opt-padding-bottom-large{
    padding-bottom: 28px !important;
  }

  .dsk-page-home #testimonials-overview > .container > .sb-row,
  .dsk-page-home #formularz-zgloszeniowy > .container > .sb-row{
    padding-bottom: 40px !important;
  }
}

@media (min-width: 768px){
  /* Desktop/tablet sizing tokens only. The protected owner below keeps the
     homepage trustbar as a moving marquee, so this block must not take
     track/layout ownership. */
  .dsk-brands-marquee{
    --tile-h: 86px;
    --gap: 16px;
    --duration: 34s;
  }

  .dsk-brands-marquee__tile{
    width: clamp(126px, 12vw, 170px);
    max-inline-size: 100%;
    box-sizing: border-box;
    padding: 10px 14px;
    border-radius: 15px;
    box-shadow: 0 8px 18px rgba(15,23,42,0.08);
  }

  .dsk-brands-marquee__logo{
    max-width: 84%;
    height: calc(var(--tile-h) - 24px);
    max-height: calc(var(--tile-h) - 24px);
  }
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){
  body.dsk-page-home #trust-bar .dsk-trustbar-title{
    margin: 0 auto 14px;
    padding-inline: 8px;
    max-width: min(22ch, 100%);
    line-height: 1.28;
  }

  body.dsk-page-home #trust-bar .dsk-brands-marquee{
    --gap: 12px;
    --tile-r: 14px;
    --tile-h: 75px;
  }

  body.dsk-page-home #trust-bar .dsk-brands-marquee__item{
    min-width: 0;
  }

  body.dsk-page-home #trust-bar .dsk-brands-marquee__tile{
    min-width: 0;
    padding: 10px 12px;
    box-shadow: 0 8px 18px rgba(15,23,42,0.08);
  }

  body.dsk-page-home #trust-bar .dsk-brands-marquee__logo{
    max-width: 90%;
    height: calc(var(--tile-h) - 24px);
    max-height: calc(var(--tile-h) - 24px);
  }
}

@media (max-width: 359px){
  body.dsk-page-home #trust-bar .dsk-brands-marquee{
    --gap: 10px;
    --tile-h: 70px;
  }
}

/* Stage trustbar-animation-guard: the brand strip is a protected moving marquee.
   Earlier overflow-safe grid ownership disabled the live animation. Keep the
   viewport clipped, but restore the duplicated flex track so logos move again. */
body.dsk-page-home #trust-bar .dsk-brands-marquee__viewport{
  height: calc(var(--tile-h) + 18px) !important;
  padding: 9px 0 !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  -webkit-mask-image: linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,1) 10%, rgba(0,0,0,1) 90%, rgba(0,0,0,0)) !important;
  mask-image: linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,1) 10%, rgba(0,0,0,1) 90%, rgba(0,0,0,0)) !important;
}

body.dsk-page-home #trust-bar .dsk-brands-marquee__track{
  width: max-content !important;
  min-width: max-content !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  grid-template-columns: none !important;
  gap: var(--gap) !important;
  animation: dsk-brands-marquee-ltr var(--duration) linear infinite !important;
  transform: translate3d(0, 0, 0);
  will-change: transform !important;
}

body.dsk-page-home #trust-bar .dsk-brands-marquee__track [aria-hidden="true"]{
  display: block !important;
}

body.dsk-page-home #trust-bar .dsk-brands-marquee__item{
  flex: 0 0 auto !important;
  display: block !important;
}

body.dsk-page-home #trust-bar .dsk-brands-marquee__tile{
  width: clamp(156px, 42vw, 188px);
  min-width: 0 !important;
}

@media (min-width: 768px){
  body.dsk-page-home #trust-bar .dsk-brands-marquee__tile{
    width: clamp(126px, 12vw, 170px);
  }
}

@media (prefers-reduced-motion: reduce){
  body.dsk-page-home #trust-bar .dsk-brands-marquee__viewport{
    height: auto !important;
    padding: 0 !important;
    display: block !important;
    overflow: visible !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }

  body.dsk-page-home #trust-bar .dsk-brands-marquee__track{
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    animation: none !important;
    transform: none !important;
    will-change: auto !important;
  }

  body.dsk-page-home #trust-bar .dsk-brands-marquee__track [aria-hidden="true"]{
    display: none !important;
  }

  body.dsk-page-home #trust-bar .dsk-brands-marquee__tile{
    width: 100% !important;
  }
}
