/* InnoPet logo badge — rolls onto header wordmark (desktop + mobile) */
.kb-image14_c8dc6d-30 {
  position: relative;
  overflow: visible;
}

.kb-image14_c8dc6d-30 .kb-advanced-image-link {
  position: relative;
  display: inline-block;
  max-width: 100%;
  vertical-align: top;
}

.kb-image14_c8dc6d-30 .kb-advanced-image-link > .kb-img {
  display: block;
  position: relative;
  z-index: 1;
}

/* Mobile / tablet: WordPress site logo */
.wp-block-site-logo {
  position: relative;
  overflow: visible;
  line-height: 0;
}

.wp-block-site-logo > a,
.wp-block-site-logo[data-innopet-logo-badge="1"] {
  position: relative;
  display: inline-block;
  max-width: 100%;
  vertical-align: top;
  line-height: 0;
}

.wp-block-site-logo .custom-logo,
.wp-block-site-logo img.custom-logo {
  display: block;
  position: relative;
  z-index: 1;
}

.innopet-logo-badge {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: auto;
  max-height: 100%;
  /* Source is 606×577 against wordmark 1810×577 */
  aspect-ratio: 606 / 577;
  z-index: 3;
  pointer-events: none;
  user-select: none;
  object-fit: contain;
  object-position: left center;
  transform-origin: center center;
  will-change: transform, opacity;
  opacity: 0;
  animation: innopet-logo-roll 1.15s cubic-bezier(0.22, 1, 0.36, 1) 0.25s forwards;
}

@keyframes innopet-logo-roll {
  0% {
    opacity: 0;
    transform: translate3d(-135%, 0, 0) rotate(-420deg) scale(0.92);
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .innopet-logo-badge {
    animation: none;
    opacity: 1;
    transform: none;
  }
}
