
.ktc-eib{
  position:relative;
  display:block;
  width:100%;
  height:320px;
  border-radius:40px;
  overflow:hidden;
  text-decoration:none;
  transform:translateZ(0);
  will-change:transform;
  transition:transform var(--ktc-eib-transition,250ms) ease;
  touch-action:manipulation;
}

.ktc-eib__bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.ktc-eib__overlay{
  position:absolute;
  inset:0;
  background:#000;
  opacity:.12;
}

.ktc-eib__label{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:18px;
  font-family:inherit;
  font-size:18px;
  font-weight:600;
  color:#fff;
}

.ktc-eib--uc .ktc-eib__label{ text-transform:uppercase; }

/* Apply scale only on devices that actually hover (desktop/laptop) */
@media (hover:hover) and (pointer:fine){
  .ktc-eib:hover{
    transform:scale(var(--ktc-eib-hover-scale,1.06));
    z-index:5;
  }
}

/* Optional: force-disable scale for touch devices even if browser emulates hover */
@media (hover:none), (pointer:coarse){
  .ktc-eib.ktc-eib--no-touch-scale:hover{
    transform:none !important;
  }
}

.ktc-eib:focus-visible{
  outline:2px solid currentColor;
  outline-offset:4px;
}

@media (prefers-reduced-motion: reduce){
  .ktc-eib{ transition:none; }
  @media (hover:hover) and (pointer:fine){
    .ktc-eib:hover{ transform:none; }
  }
}
