/*
 * theme.css — единая тема проекта
 *
 * Меняй переменные в :root под каждого клиента.
 * Файл подключается в base.html после mdb.min.css и переопределяет
 * Bootstrap/MDB значения по умолчанию.
 */

:root {
  /* ── Цвета бренда ───────────────────────────────────────────── */
  --bs-primary:           #0d6efd;
  --bs-primary-rgb:       13, 110, 253;

  --bs-secondary:         #6c757d;
  --bs-secondary-rgb:     108, 117, 125;

  --bs-success:           #198754;
  --bs-success-rgb:       25, 135, 84;

  --bs-danger:            #dc3545;
  --bs-danger-rgb:        220, 53, 69;

  --bs-warning:           #ffc107;
  --bs-warning-rgb:       255, 193, 7;

  --bs-info:              #0dcaf0;
  --bs-info-rgb:          13, 202, 240;

  /* ── Типографика ─────────────────────────────────────────────── */
  --bs-font-sans-serif:   system-ui, -apple-system, "Segoe UI", sans-serif;
  --bs-body-font-size:    0.9rem;
  --bs-body-color:        #212529;

  /* ── Скругления ──────────────────────────────────────────────── */
  --bs-border-radius:     0.375rem;
  --bs-border-radius-sm:  0.25rem;
  --bs-border-radius-lg:  0.5rem;

  /* ── Поверхности ─────────────────────────────────────────────── */
  --bs-body-bg:           #f8f9fa;
  --bs-card-bg:           #ffffff;
}

/* ── Navbar ───────────────────────────────────────────────────────── */
.navbar {
  background-color: #ffffff !important;
}

/* ── Кнопки ──────────────────────────────────────────────────────── */
.btn {
  border: 1px solid transparent;
  box-shadow: none !important;
  padding: 0.45rem 0.9rem;
}
.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-success,
.btn-outline-danger,
.btn-outline-warning,
.btn-outline-info {
  border: 1px solid currentColor;
}
.btn.btn-sm {
  padding: 0.3rem 0.65rem;
}
.btn.btn-lg {
  padding: 0.6rem 1.25rem;
}
.btn:focus,
.btn:active {
  outline: none;
}

/* ── Инпуты — увеличенный вертикальный паддинг ───────────────────── */
.form-outline .form-control {
  padding-top: 0.9rem;
  padding-bottom: 0.6rem;
  line-height: 1.5;
}

/* Лейбл — вертикальный центр инпута */
.form-outline .form-control ~ .form-label {
  padding-top: 0.8rem;
}

/* Активный лейбл — поднимаем выше чтобы вышел за границу инпута */
.form-outline .form-control:focus ~ .form-label,
.form-outline .form-control.active ~ .form-label {
  transform: translateY(-1.3rem) translateY(0.1rem) scale(0.8);
}

/* ── Dropzone ─────────────────────────────────────────────────────── */
.dropzone {
  display: block;
  border: 2px dashed var(--bs-secondary);
  border-radius: var(--bs-border-radius);
  padding: 2rem 1rem;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
  background: #fff;
}
.dropzone:hover,
.dropzone--active {
  border-color: var(--bs-primary);
  background: #f0f6ff;
}
.dropzone--selected {
  border-color: var(--bs-primary);
  background: #f0f6ff;
}

/* ── Result content (редактируемый результат) ─────────────────────── */
.result-content {
  min-height: 300px;
  font-size: 0.875rem;
  line-height: 1.8;
  outline: none;
}

/* ── Print: скрываем всё кроме результата ─────────────────────────── */
@media print {
  body * { visibility: hidden; }
  #printArea,
  #printArea * { visibility: visible; }
  #printArea {
    position: fixed;
    top: 0; left: 0;
    width: 100%;
    padding: 40px;
    box-sizing: border-box;
  }
}