/* PitUp — базовий шар поверх Bootstrap 5.3 */

:root {
  --bs-primary: #ff5722;
  --bs-primary-rgb: 255, 87, 34;
  /* Тріо: mono — база/дані, Roboto — заголовки, Condensed — верхньорегістрові мітки. */
  --pitup-font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --pitup-font-sans: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;
  --pitup-font-cond: "Roboto Condensed", "Roboto", system-ui, sans-serif;
}

body {
  font-family: var(--pitup-font-mono);
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--pitup-font-sans);
}
.pitup-section,
.text-uppercase {
  font-family: var(--pitup-font-cond);
}

.navbar-brand {
  font-size: 1.35rem;
  letter-spacing: -0.02em;
}

/* Акцентна кнопка/лінки в брендовий помаранчевий (піт-стоп/драйв). */
.btn-primary {
  --bs-btn-bg: #ff5722;
  --bs-btn-border-color: #ff5722;
  --bs-btn-hover-bg: #e64a19;
  --bs-btn-hover-border-color: #e64a19;
  --bs-btn-active-bg: #d84315;
  --bs-btn-active-border-color: #d84315;
}

.text-primary {
  color: #ff5722 !important;
}

/* Бейджі — звичайна насиченість замість жирного (Bootstrap default 700). */
.badge {
  font-weight: normal;
}

.card {
  --bs-card-border-radius: 0.9rem;
  --bs-card-inner-border-radius: calc(0.9rem - var(--bs-card-border-width, 1px));
}

/* --- Заголовки секцій: брендовий чип замість блідого сірого --- */
.pitup-section {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-size: .8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #fff;
  background: #ff5722;
  padding: .34rem .72rem;
  border-radius: .5rem;
  line-height: 1;
}
.pitup-section i { color: #fff !important; font-size: .95em; }

/* --- Світла тема: більше контрасту (сірий фон, помітні межі й тіні) --- */
[data-bs-theme="light"] {
  --bs-body-bg: #eef1f5;
  --bs-secondary-bg: #e4e8ee;
  --bs-tertiary-bg: #edf0f4;
  --bs-border-color: #ccd2db;
  --bs-border-color-translucent: rgba(16, 24, 40, .14);
}
/* Картки — біле тло + межа-обведення навіть на .border-0 */
[data-bs-theme="light"] .card { --bs-card-bg: #ffffff; }
[data-bs-theme="light"] .shadow-sm {
  box-shadow: 0 1px 2px rgba(16, 24, 40, .07), 0 0 0 1px rgba(16, 24, 40, .09) !important;
}
[data-bs-theme="light"] .list-group { --bs-list-group-bg: #ffffff; }
/* Бічне меню й верхня панель — білі, щоб відділятись від сірого фону */
[data-bs-theme="light"] .pitup-sidebar,
[data-bs-theme="light"] .navbar.bg-body { background-color: #ffffff !important; }

/* --- Плитки техніки в гаражі --- */
.vehicle-tile {
  border: 1px solid var(--bs-border-color);
  box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
  overflow: hidden;
}
.vehicle-tile:hover {
  transform: translateY(-3px);
  border-color: #ff5722;
  box-shadow: 0 .6rem 1.2rem rgba(0, 0, 0, .18);
}
.vehicle-tile-media {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
/* У темній темі межі роблю помітнішими. */
[data-bs-theme="dark"] .vehicle-tile {
  border-color: rgba(255, 255, 255, .18);
  box-shadow: 0 1px 4px rgba(0, 0, 0, .5);
}
[data-bs-theme="dark"] .vehicle-tile:hover {
  border-color: #ff5722;
}

/* --- Підсвічування полів, заповнених по VIN --- */
.pitup-vin-filled {
  animation: pitup-vin-flash 1.6s ease-out;
}
@keyframes pitup-vin-flash {
  0% { background-color: rgba(255, 87, 34, .28); }
  100% { background-color: transparent; }
}

/* --- Drag&drop зона завантаження --- */
.pitup-dropzone {
  border: 2px dashed var(--bs-border-color);
  border-radius: 0.75rem;
  padding: 1rem;
  transition: border-color .15s, background-color .15s;
}
.pitup-dropzone.is-dragover {
  border-color: #ff5722;
  background-color: rgba(255, 87, 34, .06);
}
.pitup-dz-hint {
  cursor: pointer;
  text-align: center;
  color: var(--bs-secondary-color);
  padding: 1rem;
}
.pitup-dz-hint i { font-size: 1.5rem; }
.pitup-dz-previews {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin-top: .5rem;
}
.pitup-dz-previews:empty { margin-top: 0; }
/* «Хлібні крихти» — назад-лінк, виразний у світлій і темній темі */
.pitup-back {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-bottom: 1rem;
  padding: .35rem .8rem;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1;
  border-radius: 999px;
  color: var(--bs-body-color);
  background: var(--bs-secondary-bg);
  border: 1px solid var(--bs-border-color);
  text-decoration: none;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.pitup-back:hover,
.pitup-back:focus {
  background: var(--bs-tertiary-bg);
  border-color: var(--bs-primary);
  color: var(--bs-primary);
}
.pitup-back i { font-size: .8em; }

/* Lightbox для фото */
.pitup-lb {
  position: fixed; inset: 0; z-index: 2000;
  background: rgba(0, 0, 0, .92);
  display: none; align-items: center; justify-content: center;
}
.pitup-lb.is-open { display: flex; }
.pitup-lb-fig {
  margin: 0; max-width: 94vw; max-height: 92vh;
  display: flex; flex-direction: column; align-items: center;
}
.pitup-lb-img {
  max-width: 94vw; max-height: 88vh; object-fit: contain;
  border-radius: .4rem; box-shadow: 0 8px 40px rgba(0, 0, 0, .5);
}
.pitup-lb-cap { color: #eee; font-size: .9rem; margin-top: .5rem; text-align: center; }
.pitup-lb-close {
  position: absolute; top: 8px; right: 14px;
  font-size: 36px; line-height: 1; color: #fff;
  background: none; border: 0; cursor: pointer; opacity: .85;
}
.pitup-lb-nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  font-size: 30px; color: #fff; background: rgba(0, 0, 0, .35);
  border: 0; width: 50px; height: 66px; cursor: pointer; opacity: .8;
}
.pitup-lb-prev { left: 6px; border-radius: 0 .5rem .5rem 0; }
.pitup-lb-next { right: 6px; border-radius: .5rem 0 0 .5rem; }
.pitup-lb-nav:hover, .pitup-lb-close:hover { opacity: 1; }
.pitup-lb-counter { position: absolute; top: 14px; left: 16px; color: #ddd; font-size: .85rem; }

.pitup-dz-item { width: 96px; }
.pitup-dz-remove {
  position: absolute; top: 2px; right: 2px;
  width: 22px; height: 22px; line-height: 1;
  border: 0; border-radius: 50%;
  background: rgba(0, 0, 0, .6); color: #fff;
  font-size: 16px; cursor: pointer; padding: 0;
  display: flex; align-items: center; justify-content: center;
}
.pitup-dz-remove:hover { background: var(--bs-danger); }
.pitup-dz-item img,
.pitup-dz-file {
  width: 96px;
  height: 96px;
  object-fit: cover;
  border-radius: .5rem;
  background: var(--bs-tertiary-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  color: var(--bs-secondary-color);
}
.pitup-dz-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 96px;
}

/* --- Бічне меню (app shell) --- */
.pitup-sidebar { width: 260px; }
.pitup-sidebar .nav-link {
  color: var(--bs-body-color);
  padding: .5rem .75rem;
}
.pitup-sidebar .nav-link:hover:not(.active) { background: var(--bs-secondary-bg); }
@media (min-width: 992px) {
  .pitup-sidebar {
    position: fixed;
    top: 0; left: 0;
    height: 100vh;
    width: 260px;
    overflow-y: auto;
    z-index: 1030;
  }
  .pitup-has-sidebar .pitup-content-wrap { margin-left: 260px; }
}
