/* ================================================================================
Файл: buttons.css
Описание: Стили для всех кнопок приложения
Версия: 2.0.0
================================================================================ */

/* ===== БАЗОВЫЙ СТИЛЬ КНОПОК ===== */
.btn,
.back-button,
.save-button,
.edit-button,
.delete-button,
.view-note-button,
.save-button-small,
.back-button-small {
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: var(--radius-md);
  cursor: pointer;
  text-decoration: none;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  transition: all var(--transition-base);
  display: inline-block;
  text-align: center;
  box-shadow: var(--shadow-sm);
  color: var(--text-primary);
}

.btn:hover,
.back-button:hover,
.save-button:hover,
.edit-button:hover,
.delete-button:hover,
.view-note-button:hover,
.save-button-small:hover,
.back-button-small:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
  text-decoration: none;
}

.btn:active {
  transform: translateY(0);
  box-shadow: var(--shadow-sm);
}

.btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* ===== РАЗМЕРЫ ===== */
.btn-lg {
  padding: 1rem 2rem;
  font-size: var(--font-size-lg);
  min-width: 200px;
}

.btn-sm {
  padding: 0.5rem 1rem;
  font-size: var(--font-size-sm);
}

/* ===== ЦВЕТОВЫЕ ВАРИАНТЫ ===== */
.btn-primary {
  background: var(--primary-color);
  color: white;
  border: 2px solid var(--primary-color);
}
.btn-primary:hover {
  background: var(--primary-hover);
  border-color: var(--primary-hover);
}

.btn-secondary {
  background: var(--bg-tertiary);
  color: var(--text-primary);
  border: 2px solid var(--border-color);
}
.btn-secondary:hover {
  background: var(--text-muted);
  border-color: var(--text-muted);
}

.btn-warning, .edit-button {
  background: var(--warning-color);
  color: #1a1a1a;
  border: 2px solid var(--warning-color);
}
.btn-warning:hover, .edit-button:hover {
  background: var(--warning-hover);
  border-color: var(--warning-hover);
}

.btn-success, .save-button {
  background: var(--success-color);
  color: white;
  border: 2px solid var(--success-color);
}
.btn-success:hover, .save-button:hover {
  background: var(--success-hover);
  border-color: var(--success-hover);
}

.btn-danger, .delete-button {
  background: var(--danger-color);
  color: white;
  border: 2px solid var(--danger-color);
}
.btn-danger:hover, .delete-button:hover {
  background: var(--danger-hover);
  border-color: var(--danger-hover);
}

.btn-info, .view-note-button {
  background: var(--info-color);
  color: #1a1a1a;
  border: 2px solid var(--info-color);
}
.btn-info:hover, .view-note-button:hover {
  background: var(--info-hover);
  border-color: var(--info-hover);
}

.btn-ghost {
  background: transparent;
  border: 2px solid var(--border-color);
  color: var(--text-primary);
  box-shadow: none;
}
.btn-ghost:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: var(--primary-color);
}

/* ===== ГРУППЫ КНОПОК ===== */
.btn-group {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
}

.btn-block {
  display: block;
  width: 100%;
}

/* ===== СПЕЦИАЛЬНЫЕ КНОПКИ ===== */
.eventadd {
  display: inline-block;
  padding: 0.8rem 1.8rem;
  background: radial-gradient(circle at center, #2c4838 0%, #1c2c21 100%);
  color: #a7ffeb;
  border: 1px solid rgba(0, 255, 136, 0.3);
  border-radius: 10px;
  font-size: 0.95rem;
  font-weight: 500;
  cursor: pointer;
  box-shadow: 0 0 15px rgba(44, 72, 56, 0.5), inset 0 0 20px rgba(28, 44, 33, 0.8);
  transition: all var(--transition-slow);
  text-shadow: 0 0 8px rgba(0, 255, 136, 0.5);
  text-decoration: none;
}
.eventadd:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 25px rgba(0, 255, 136, 0.6), inset 0 0 30px rgba(28, 44, 33, 0.9);
  background: radial-gradient(circle at center, #3c5848 0%, #2c3c31 100%);
  color: #a7ffeb;
  text-decoration: none;
}

/* ===== КНОПКИ В ДЕЙСТВИЯХ КАЛЕНДАРЯ (day-actions) ===== */
.day-actions a,
.day-actions button,
.hide-occurrence-button,
.hide-button {
  /* Размеры и отступы */
  padding: 0.5rem 0.25rem;
  min-height: 2rem;
  
  /* Сброс стандартных стилей */
  border: none;
  background: none;
  
  /* Текст */
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
  text-align: center;
  font-family: inherit;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  
  /* Геометрия */
  border-radius: var(--radius-sm);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  
  /* Тени и эффекты */
  box-shadow: var(--shadow-sm);
  transition: all var(--transition-base);
  
  /* Цвет текста по умолчанию */
  color: var(--text-primary);
  
  /* Фон по умолчанию (как на главной) */
  background: linear-gradient(135deg, #2d3748 0%, #1a202c 100%);
}

/* Эффект при наведении для всех кнопок в карточках */
.day-actions a:hover,
.day-actions button:hover,
.hide-occurrence-button:hover,
.hide-button:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
  text-decoration: none;
}

/* Активное состояние */
.day-actions a:active,
.day-actions button:active,
.hide-occurrence-button:active,
.hide-button:active {
  transform: translateY(0);
  box-shadow: var(--shadow-sm);
}

/* ===== ЦВЕТОВЫЕ ВАРИАНТЫ ДЛЯ КНОПОК В КАЛЕНДАРЕ ===== */

/* Primary - просмотр */
.day-actions a.btn-primary,
.day-actions .btn-primary {
  background: linear-gradient(135deg, #2d3748 0%, #1a202c 100%);
  color: var(--text-primary);
  border: 1px solid var(--border-color);
}
.day-actions a.btn-primary:hover,
.day-actions .btn-primary:hover {
  background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-hover) 100%);
  color: white;
  border-color: var(--primary-color);
}

/* Warning - редактирование */
.day-actions a.btn-warning,
.day-actions .btn-warning {
  background: linear-gradient(135deg, #2d3748 0%, #1a202c 100%);
  color: var(--text-primary);
  border: 1px solid var(--border-color);
}
.day-actions a.btn-warning:hover,
.day-actions .btn-warning:hover {
  background: linear-gradient(135deg, var(--warning-color) 0%, var(--warning-hover) 100%);
  color: #1a1a1a;
  border-color: var(--warning-color);
}

/* Success - завершить */
.day-actions a.btn-success,
.day-actions .btn-success {
  background: linear-gradient(135deg, #2d3748 0%, #1a202c 100%);
  color: var(--text-primary);
  border: 1px solid var(--border-color);
}
.day-actions a.btn-success:hover,
.day-actions .btn-success:hover {
  background: linear-gradient(135deg, var(--success-color) 0%, var(--success-hover) 100%);
  color: white;
  border-color: var(--success-color);
}

/* Danger - удалить */
.day-actions a.btn-danger,
.day-actions .btn-danger {
  background: linear-gradient(135deg, #2d3748 0%, #1a202c 100%);
  color: var(--text-primary);
  border: 1px solid var(--border-color);
}
.day-actions a.btn-danger:hover,
.day-actions .btn-danger:hover {
  background: linear-gradient(135deg, var(--danger-color) 0%, var(--danger-hover) 100%);
  color: white;
  border-color: var(--danger-color);
}

/* Info - скрыть / восстановить / детали */
.day-actions a.btn-info,
.day-actions .btn-info,
.hide-occurrence-button,
.hide-button {
  background: linear-gradient(135deg, #2d3748 0%, #1a202c 100%);
  color: var(--text-primary);
  border: 1px solid var(--border-color);
}
.day-actions a.btn-info:hover,
.day-actions .btn-info:hover,
.hide-occurrence-button:hover,
.hide-button:hover {
  background: linear-gradient(135deg, var(--info-color) 0%, var(--primary-hover) 100%);
  color: white;
  border-color: var(--info-color);
}

/* ===== КНОПКА СКРЫТЬ (HIDE OCCURRENCE) ===== */
.hide-occurrence-button,
.hide-button {
  /* Те же стили что и у остальных кнопок в day-actions */
  padding: 0.5rem 0.25rem;
  font-size: 0.8rem;
  font-weight: 500;
  height: 2rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-color);
  background: linear-gradient(135deg, #2d3748 0%, #1a202c 100%);
  color: var(--text-primary);
  cursor: pointer;
  transition: all var(--transition-base);
  box-shadow: var(--shadow-sm);
}

.hide-occurrence-button:hover,
.hide-button:hover {
  background: linear-gradient(135deg, var(--info-color) 0%, var(--primary-hover) 100%);
  color: white;
  border-color: var(--info-color);
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}

.hide-occurrence-button:active,
.hide-button:active {
  transform: translateY(0);
  box-shadow: var(--shadow-sm);
}

/* ===== КНОПКИ В СПИСКАХ ===== */
.action-buttons,
.btn-group {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}