/* ===== RESPONSIVE BANNER (FINAL) ===== */

.kbb-banner{
  width:100%;
  max-width:100%;
  display:block;
  overflow:visible;
}

.kbb-banner-shadow{
  display:block;
  border-radius:inherit;
  overflow:visible;
}

.kbb-banner-inner{
  width:100%;
  height:100%;
  position:relative;
  border-radius:inherit;
  overflow:hidden;
}

/* prevents baseline gap */
.kbb-banner,
.kbb-banner-shadow{
  line-height:0;
  font-size:0;
}
.kbb-layer{position:absolute;box-sizing:border-box}
.kbb-click{position:absolute;inset:0;z-index:50}
/* ===== FIX FRONTEND HEIGHT CROPPING ===== */

.kbb-banner {
  display:block;
  line-height:0;
}

.kbb-banner-shadow {
  display:block;
}

.kbb-banner-inner {
  width:100%;
  height:100%;
}

/* prevent Elementor flex shrink */
.elementor-widget-container .kbb-banner {
  min-height: 1px;
}

/* force exact height rendering */
.kbb-banner-shadow,
.kbb-banner-inner {
  box-sizing: border-box;
}

/* ===== FINAL ELEMENTOR CLIPPING FIX ===== */

.kbb-banner,
.kbb-banner-shadow,
.kbb-banner-inner {
  overflow: visible !important;
}

/* layers still clip correctly */
.kbb-layer {
  overflow: hidden;
}

/* ===== REMOVE INLINE BASELINE GAP ===== */

.kbb-banner,
.kbb-banner-shadow,
.kbb-banner-inner {
  display: block !important;
  line-height: 0 !important;
  font-size: 0 !important;
}

/* safety for Elementor wrappers */
.elementor-widget-container,
.elementor-shortcode {
  line-height: 0;
}