.td-panel {
  position: fixed;
  right: 10px;
  bottom: 20px;

  width: 220px;
  min-height: 140px;

  display: flex;
  flex-direction: row;

  background: #fff;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,.2);

  z-index: 2147483647;

  overflow: hidden;

  transition: transform .28s ease;

  will-change: transform;
}

/* ===== TAB ===== */

.td-tab {
  width: 44px;
  min-width: 44px;

  background: #fff;
  cursor: pointer;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;

  align-self: stretch;

  border-radius: 12px 0 0 12px;

  z-index: 10;

  pointer-events: auto;
}

/* защита от перекрытий */
.td-tab * {
  pointer-events: none;
}

/* ===== ARROW ===== */

.td-tab::before {
  content: '';

  width: 9px;
  height: 9px;
  flex-shrink: 0;

  border-right: 2px solid #111;
  border-bottom: 2px solid #111;

  transform: rotate(-45deg); /* открыта → вправо */

  transition: transform .25s ease;

  pointer-events: none;
}

.td-tab::after {
  content: 'Скрыть';

  writing-mode: vertical-rl;
  transform: rotate(180deg);

  font-size: 12px;
  color: #555;
  letter-spacing: 0.5px;

  pointer-events: none;
}

.td-panel.is-collapsed .td-tab::after {
  content: 'Показать';
}

/* ===== COLLAPSE ===== */

.td-panel.is-collapsed {
  transform: translateX(calc(100% - 44px + 15px));
}

/* стрелка при сворачивании */
.td-panel.is-collapsed .td-tab::before {
  transform: rotate(135deg); /* свернута → влево */
}

/* ===== CONTENT ===== */

.td-content {
  flex: 1;
  min-width: 0;

  padding: 12px;
  box-sizing: border-box;
}

/* ===== TEXT ===== */

.td-title,
.td-text {
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.td-title {
  font-size: var(--td-title-size, 16px);
  font-weight: 600;
  margin-bottom: 6px;
  color: #111;
}

.td-text {
  font-size: var(--td-text-size, 14px);
  color: #666;
  margin-bottom: 10px;
}

/* ===== BUTTONS ===== */

.td-buttons {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.td-btn img {
  width: 100%;
  display: block;
  border-radius: 8px;
}

/* ===== MOBILE ===== */

@media (max-width: 768px) {
  .td-panel {
    width: 131px;
    min-height: 70px;
    border-radius: 6px;
    right: 5px;
    bottom: 10px;
  }

  .td-tab {
    width: 33px;
    min-width: 33px;
    border-radius: 6px 0 0 6px;
    gap: 4px;
  }

  .td-tab::before {
    width: 5px;
    height: 5px;
  }

  .td-tab::after {
    font-size: 9px;
  }

  .td-panel.is-collapsed {
    transform: translateX(calc(100% - 33px + 8px));
  }

  .td-content {
    padding: 6px;
  }

  .td-title {
    font-size: 12px;
    margin-bottom: 3px;
  }

  .td-text {
    font-size: 11px;
    margin-bottom: 5px;
  }

  .td-buttons {
    gap: 5px;
  }

  .td-btn img {
    border-radius: 4px;
  }
}