/* =========================
   Bokun cart bubble wrapper
   ========================= */

/* Base: фиксируем позицию, предотвращаем CLS, по умолчанию скрыто */
#bokun-widgets-root .bokun-widgets-cart-wrapper{
  position: fixed !important;
  left: 16px !important;
  bottom: 14px !important;
  z-index: 1000 !important;
  overflow: visible !important;
  contain: layout paint style;

  opacity: 0 !important;
  pointer-events: none !important;
}

/* Активная корзина — показываем wrapper */
#bokun-widgets-root .bokun-widgets-cart-wrapper.eddy-cart--active{
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Прятать корзину под оверлеем бронирования */
body.booking-overlay-open #bokun-widgets-root .bokun-widgets-cart-wrapper{
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Доп. предохранитель: когда корзина пустая и не активна — прячем wrapper */
#bokun-widgets-root .bokun-widgets-cart-wrapper.eddy-cart--empty:not(.eddy-cart--active){
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Когда корзина пустая — гасим iframe, чтобы Bokun не “уезжал вниз” */
#bokun-widgets-root .bokun-widgets-cart-wrapper.eddy-cart--empty #bokun-widgets-cart{
  opacity: 0 !important;
  pointer-events: none !important;
}

/* =========================
   Skin (your custom bubble)
   ========================= */

/* Скин по умолчанию скрыт */
#bokun-widgets-root .bokun-widgets-cart-wrapper .eddy-bokun-cart-skin{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 59.5px;
  height: 59.5px;
  border-radius: 30px;
  transform: translate(-50%, -50%) scale(1);

  background: #ffffff;
  box-shadow: 0 3px 8px rgba(0,0,0,.2);
  border: 0.5px solid rgba(26,26,26,0.1);

  pointer-events: none;
  place-items: center;
  display: none;

  transition:
    transform 500ms ease,
    opacity 500ms ease,
    background 500ms ease,
    box-shadow 500ms ease,
    border-color 500ms ease;
}

#bokun-widgets-root .bokun-widgets-cart-wrapper .eddy-bokun-cart-skin svg{
  width: 32px;
  height: 32px;
  display: block;
  transition: opacity 150ms ease;
}

/* Показываем скин только когда bubble активен и НЕ expanded */
#bokun-widgets-root .bokun-widgets-cart-wrapper.eddy-cart--active:not(.eddy-bokun-cart--expanded) .eddy-bokun-cart-skin{
  display: grid;
}

/* Раскрытая корзина: без скина */
#bokun-widgets-root .bokun-widgets-cart-wrapper.eddy-bokun-cart--expanded .eddy-bokun-cart-skin{
  display: none;
}

/* =========================
   Bokun iframe mask (badge)
   ========================= */

/* По умолчанию маски нет */
#bokun-widgets-cart{
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

/* “только бейдж” включаем ТОЛЬКО когда bubble активен и НЕ expanded */
#bokun-widgets-root .bokun-widgets-cart-wrapper.eddy-cart--active:not(.eddy-bokun-cart--expanded) #bokun-widgets-cart{
  --badge-r: 12.25px;
  --badge-x: calc(100% - 17.5px);
  --badge-y: 17.5px;

  -webkit-mask-image: radial-gradient(
    circle var(--badge-r) at var(--badge-x) var(--badge-y),
    #000 0,
    #000 calc(var(--badge-r) - 0px),
    transparent var(--badge-r)
  ) !important;
  -webkit-mask-repeat: no-repeat !important;
  -webkit-mask-size: 100% 100% !important;

  mask-image: radial-gradient(
    circle var(--badge-r) at var(--badge-x) var(--badge-y),
    #000 0,
    #000 calc(var(--badge-r) - 0px),
    transparent var(--badge-r)
  ) !important;
  mask-repeat: no-repeat !important;
  mask-size: 100% 100% !important;
}

/* Expanded: всегда без маски */
#bokun-widgets-root .bokun-widgets-cart-wrapper.eddy-bokun-cart--expanded #bokun-widgets-cart{
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

/* =========================
   Open/close animations
   ========================= */

/* “в точку” */
#bokun-widgets-root .bokun-widgets-cart-wrapper.eddy-cart--closing .eddy-bokun-cart-skin{
  transform: translate(-50%, -50%) scale(0.08) !important;
  opacity: .35 !important;
  box-shadow: 0 0 0 rgba(0,0,0,0) !important;

  background: #1a1a1a !important;     /* цвет точки */
  border-color: transparent !important;
}

#bokun-widgets-root .bokun-widgets-cart-wrapper.eddy-cart--closing .eddy-bokun-cart-skin svg{
  opacity: 0;
}

/* “из точки обратно” */
@keyframes eddyCartPop{
  0%   { transform: translate(-50%, -50%) scale(0.08); opacity: .35; box-shadow: 0 0 0 rgba(0,0,0,0); }
  60%  { transform: translate(-50%, -50%) scale(1.06); opacity: 1; }
  100% { transform: translate(-50%, -50%) scale(1); }
}

#bokun-widgets-root .bokun-widgets-cart-wrapper.eddy-cart--opening .eddy-bokun-cart-skin{
  animation: eddyCartPop 520ms ease;
}

/* =========================
   Booking overlay backdrop
   ========================= */

#booking-overlay.overlay-backdrop{
  position: fixed !important;
  inset: 0 !important;
}

/* =========================
   Overlay loading state
   ========================= */

#booking-overlay.is-widget-loading .widget-frame-inner,
#eddy-booking-overlay.is-widget-loading .widget-frame-inner{
  min-height: 560px;
}

#booking-overlay .widget-frame-inner,
#eddy-booking-overlay .widget-frame-inner{
  position: relative;
}

#booking-overlay.is-widget-loading .widget-frame-inner::before,
#eddy-booking-overlay.is-widget-loading .widget-frame-inner::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.85);
  z-index: 9998;
  pointer-events: none;
}

#booking-overlay.is-widget-loading .widget-frame-inner::after,
#eddy-booking-overlay.is-widget-loading .widget-frame-inner::after{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 44px;
  height: 44px;
  margin-left: -22px;
  margin-top: -22px;
  border-radius: 50%;
  border: 3px solid rgba(0,0,0,0.15);
  border-top-color: rgba(0,0,0,0.55);
  animation: eddySpin 0.9s linear infinite;
  z-index: 9999;
  pointer-events: none;
}

@keyframes eddySpin { to { transform: rotate(360deg); } }
