/* Стили для всплывающих меню в хабе */
.hub-popup-menu {
  position: absolute;
  bottom: calc(100% + 15px);
  left: 50%;
  transform: translateX(-50%) scale(0.8);
  background: linear-gradient(145deg, #17212b, #0e1621);
  border: 2px solid #242f3d;
  border-radius: 16px;
  padding: 15px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 100;
  box-shadow:
    0 15px 35px rgba(0, 0, 0, 0.8),
    inset 0 2px 10px rgba(255, 255, 255, 0.05);
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275),
    transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  min-width: 200px;
}

.hub-popup-menu.show {
  opacity: 1;
  transform: translateX(-50%) scale(1);
  pointer-events: auto;
}

/* Компенсация наклона родителя: меню визуально горизонтально к экрану */
#hub-calendar .hub-popup-menu {
  transform: translateX(-50%) scale(0.8) rotate(3deg);
}

#hub-calendar .hub-popup-menu.show {
  transform: translateX(-50%) scale(1) rotate(3deg);
}

/* Матрас: родитель rotate(8deg) — компенсируем попапом */
#hub-sofa:not(.hub-sofa--leather) .hub-popup-menu {
  transform: translateX(-50%) scale(0.8) rotate(-8deg) !important;
}

#hub-sofa:not(.hub-sofa--leather) .hub-popup-menu.show {
  transform: translateX(-50%) scale(1) rotate(-8deg) !important;
}

/* Кожаный диван без наклона — попап ровно к экрану */
#hub-sofa.hub-sofa--leather .hub-popup-menu {
  transform: translateX(-50%) scale(0.8) !important;
}

#hub-sofa.hub-sofa--leather .hub-popup-menu.show {
  transform: translateX(-50%) scale(1) !important;
}

/* Мячик: высокая hitbox — дефолт «над верхом» поднимает меню слишком высоко; якорим чуть выше центра спрайта. */
#hub-fightball .hub-popup-menu {
  bottom: auto;
  top: 42%;
  left: 50%;
  transform: translate(-50%, -100%) scale(0.8);
}

#hub-fightball .hub-popup-menu.show {
  transform: translate(-50%, -100%) scale(1);
}

/* Радио: попап из центра текстуры (сброс дефолтного bottom, иначе тянет вниз) */
#hub-radio .hub-popup-menu {
  bottom: unset !important;
  right: auto;
  top: 6%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.8) !important;
  transform-origin: center center;
}

#hub-radio .hub-popup-menu.show {
  transform: translate(-50%, -50%) scale(1) !important;
}

/* Гонвносборник: длинная подпись кнопки — чуть левее центра, чтобы не упираться в край экрана. */
#hub-gonvnosbornik .hub-popup-menu {
  transform: translateX(calc(-50% - 78px)) scale(0.8);
}

#hub-gonvnosbornik .hub-popup-menu.show {
  transform: translateX(calc(-50% - 78px)) scale(1);
}

/* Треугольничек вниз */
.hub-popup-menu::after {
  content: '';
  position: absolute;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 12px 12px 0;
  border-style: solid;
  border-color: #242f3d transparent transparent transparent;
  display: block;
  width: 0;
  filter: drop-shadow(0 5px 5px rgba(0, 0, 0, 0.5));
}

.hub-popup-btn {
  background: #1e293b;
  border: 1px solid #303b4a;
  color: #fff;
  font-family: var(--font-display);
  font-size: 16px;
  padding: 13px 22px;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.15s;
  white-space: nowrap;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.85);
  box-shadow: 0 4px 0 #111823;
  text-transform: uppercase;
}

.hub-popup-btn--with-suffix-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.hub-popup-btn__icon--telegram {
  display: inline-flex;
  flex-shrink: 0;
  line-height: 0;
  opacity: 0.95;
}

.hub-popup-btn__icon--telegram svg {
  display: block;
}

.hub-popup-btn:hover {
  background: #2a3b52;
  border-color: #5288c1;
  color: #5288c1;
  transform: translateY(-2px);
  box-shadow:
    0 6px 0 #111823,
    0 5px 15px rgba(82, 136, 193, 0.3);
}

.hub-popup-btn:active {
  transform: translateY(4px);
  box-shadow: 0 0 0 #111823;
  background: #17212b;
}

/* Оранжево-красная кнопка для Сеги */
#btn-tv-sega {
  background: linear-gradient(180deg, #ff7e00, #cc5500);
  border-color: #ffa040;
  box-shadow: 0 4px 0 #883300;
}

#btn-tv-sega:hover {
  background: linear-gradient(180deg, #ff9933, #e66000);
  color: #fff;
  border-color: #ffb366;
  box-shadow:
    0 6px 0 #883300,
    0 5px 15px rgba(255, 126, 0, 0.4);
}

#btn-tv-sega:active {
  box-shadow: 0 0 0 #883300;
  background: #cc5500;
}

/* Красная кнопка для старта игры и лидерборда */
.hub-popup-btn.btn-red {
  background: linear-gradient(180deg, #ff3333, #aa0000) !important;
  border-color: #ff6666 !important;
  box-shadow: 0 4px 0 #660000 !important;
  color: #fff !important;
}

.hub-popup-btn.btn-red:hover {
  background: linear-gradient(180deg, #ff4d4d, #cc0000) !important;
  color: #fff !important;
  border-color: #ff9999 !important;
  box-shadow:
    0 6px 0 #660000,
    0 5px 15px rgba(255, 51, 51, 0.5) !important;
}

.hub-popup-btn.btn-red:active {
  box-shadow: 0 0 0 #660000 !important;
  background: #aa0000 !important;
}

/* Синяя кнопка (напр. топ недели в меню телека) */
.hub-popup-btn.btn-blue {
  background: linear-gradient(180deg, #3d9fff, #1560c0) !important;
  border-color: #79c8ff !important;
  box-shadow: 0 4px 0 #0a3a78 !important;
  color: #fff !important;
}

.hub-popup-btn.btn-blue:hover {
  background: linear-gradient(180deg, #5aadff, #1a6fd4) !important;
  color: #fff !important;
  border-color: #a6dcff !important;
  box-shadow:
    0 6px 0 #0a3a78,
    0 5px 15px rgba(61, 159, 255, 0.45) !important;
}

.hub-popup-btn.btn-blue:active {
  box-shadow: 0 0 0 #0a3a78 !important;
  background: #1560c0 !important;
}

/* Стили для тумблера (toggle) */
.hub-popup-toggle-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #1e293b;
  border: 1px solid #303b4a;
  padding: 11px 16px;
  border-radius: 10px;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.5);
}

.hub-popup-toggle-container span {
  color: #fff;
  font-family: var(--font-display);
  font-size: 16px;
  text-transform: uppercase;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.85);
}

.hub-popup-toggle-btn {
  width: 50px;
  height: 26px;
  background: #111823;
  border: 2px solid #303b4a;
  border-radius: 13px;
  position: relative;
  cursor: pointer;
  transition: all 0.3s;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.8);
}

.hub-popup-toggle-btn.active {
  background: #0f8;
  border-color: #0f8;
  box-shadow:
    0 0 10px rgba(0, 255, 128, 0.5),
    inset 0 2px 5px rgba(0, 0, 0, 0.2);
}

.hub-popup-toggle-thumb {
  width: 20px;
  height: 20px;
  background: #5288c1;
  border-radius: 50%;
  position: absolute;
  top: 1px;
  left: 2px;
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.hub-popup-toggle-btn.active .hub-popup-toggle-thumb {
  left: 24px;
  background: #fff;
}

/* Три подтверждения перед кухней — внутри #game-scale-container */
.kitchen-confirm-overlay {
  position: absolute;
  inset: 0;
  z-index: 260;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
  pointer-events: none;
}

.kitchen-confirm-overlay.kitchen-confirm-overlay--open {
  display: flex;
  pointer-events: auto;
}

.kitchen-confirm-overlay__backdrop {
  position: absolute;
  inset: 0;
  border: none;
  margin: 0;
  padding: 0;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.58);
}

.kitchen-confirm-overlay__panel {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  width: min(340px, 100%);
  max-width: 100%;
  box-sizing: border-box;
  padding: 22px 20px 18px;
  border-radius: 18px;
  background: linear-gradient(145deg, #17212b, #0e1621);
  border: 2px solid #242f3d;
  box-shadow:
    0 20px 50px rgba(0, 0, 0, 0.8),
    inset 0 2px 10px rgba(255, 255, 255, 0.05);
}

.kitchen-confirm-overlay__message {
  margin: 0 0 18px;
  color: #fff;
  font-family: var(--font-display);
  font-size: 18px;
  line-height: 1.35;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.85);
}

.kitchen-confirm-overlay__actions {
  display: flex;
  gap: 10px;
  justify-content: center;
}

.kitchen-confirm-overlay__btn {
  flex: 1;
  min-width: 0;
  padding: 13px 18px;
  border-radius: 10px;
  border: 1px solid #303b4a;
  background: #1e293b;
  color: #fff;
  font-family: var(--font-display);
  font-size: 16px;
  cursor: pointer;
  transition: all 0.15s;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.85);
}

.kitchen-confirm-overlay__btn:hover {
  background: #2a3a52;
  border-color: #4a76a8;
}

.kitchen-confirm-overlay__btn--yes {
  background: #4a76a8;
  border-color: #5a86b8;
}

.kitchen-confirm-overlay__btn--yes:hover {
  background: #5a86b8;
}
