.kuba-banners{position:relative;width:100%;margin:0 auto;overflow:hidden}.kuba-banners__viewport{overflow:hidden;border-radius:12px}.kuba-banners__track{display:flex;transition:transform .45s ease;will-change:transform}.kuba-banners__slide{flex:0 0 100%;min-width:0}.kuba-banners__slide a{display:block}.kuba-banners__slide img{display:block;width:100%;height:auto;margin:0}.kuba-banners__arrow{position:absolute;z-index:2;top:50%;width:42px;height:42px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:24px;line-height:1;cursor:pointer;transform:translateY(-50%);transition:background .2s ease,opacity .2s ease}.kuba-banners__arrow:hover,.kuba-banners__arrow:focus-visible{background:rgba(0,0,0,.8)}.kuba-banners__arrow--prev{left:14px}.kuba-banners__arrow--next{right:14px}.kuba-banners__dots{position:absolute;z-index:2;left:50%;bottom:12px;display:flex;gap:8px;transform:translateX(-50%)}.kuba-banners__dots button{width:10px;height:10px;padding:0;border:2px solid #fff;border-radius:50%;background:rgba(0,0,0,.35);cursor:pointer}.kuba-banners__dots button[aria-current=true]{background:#fff}.kuba-banners:focus-within .kuba-banners__arrow{opacity:1}@media (hover:hover){.kuba-banners__arrow{opacity:.65}.kuba-banners:hover .kuba-banners__arrow{opacity:1}}@media (max-width:600px){.kuba-banners__viewport{border-radius:8px}.kuba-banners__arrow{width:36px;height:36px;font-size:20px}.kuba-banners__arrow--prev{left:8px}.kuba-banners__arrow--next{right:8px}.kuba-banners__dots{bottom:8px}}@media (prefers-reduced-motion:reduce){.kuba-banners__track{transition:none}}

.kuba-banners--homepage_hero{margin:0 0 22px}
.kuba-banners--category{margin:0 0 22px}
.kuba-banners-global{position:relative;z-index:20;max-width:1400px;margin:14px auto;padding:0 20px}
.kuba-banners-popup{position:fixed;z-index:99990;bottom:22px}
.kuba-banners-popup.is-left{left:22px}.kuba-banners-popup.is-right{right:22px}
.kuba-banners-popup__launcher{min-height:42px;padding:0 16px;border:0;border-radius:999px;background:#1479bd;color:#fff;font-weight:800;box-shadow:0 8px 24px rgba(15,23,42,.22);cursor:pointer}
.kuba-banners-popup__panel{position:absolute;bottom:54px;width:min(520px,calc(100vw - 28px));padding:10px;border-radius:16px;background:#fff;box-shadow:0 20px 60px rgba(15,23,42,.28)}
.kuba-banners-popup.is-left .kuba-banners-popup__panel{left:0}.kuba-banners-popup.is-right .kuba-banners-popup__panel{right:0}
.kuba-banners-popup__close{position:absolute;z-index:4;top:16px;right:16px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(15,23,42,.78);color:#fff;font-size:22px;cursor:pointer}
@media(max-width:600px){.kuba-banners-popup{bottom:14px}.kuba-banners-popup.is-left{left:14px}.kuba-banners-popup.is-right{right:14px}}


/* 2.9.3 — robust popup state / iOS Safari */
.kuba-banners-popup__launcher,
.kuba-banners-popup__close{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  cursor:pointer;
}
.kuba-banners-popup__panel[hidden]{display:none!important}
.kuba-banners-popup.is-open .kuba-banners-popup__panel{display:block}


/* 2.9.6 — floating controls must not collide with the Privacy control.
   Privacy owns the lowest right-hand floating slot; Promotions sits above it. */
.kuba-banners-popup.is-right{
  right:16px;
  bottom:calc(66px + env(safe-area-inset-bottom, 0px));
}
.kuba-banners-popup.is-left{
  bottom:calc(22px + env(safe-area-inset-bottom, 0px));
}
@media(max-width:600px){
  .kuba-banners-popup.is-right{
    right:14px;
    bottom:calc(62px + env(safe-area-inset-bottom, 0px));
  }
  .kuba-banners-popup.is-left{
    left:14px;
    bottom:calc(14px + env(safe-area-inset-bottom, 0px));
  }
}
