/* Bedynka palette: carrot terracotta on warm cream (Poctivka is green). Green stays only for
   states that mean "OK" – paid, active, picked up, success messages. */
:root {
  --brand: #c2410c;
  --brand-rgb: 194, 65, 12;
  --brand-dark: #9a3412;
  --brand-darker: #7c2d12;
  --brand-light: #ffedd5;
  --brand-cream: #fffaf3;
  --bs-body-bg: var(--brand-cream);
  --bs-link-color: var(--brand-dark);
  --bs-link-color-rgb: 154, 52, 18;
  --bs-link-hover-color: var(--brand-darker);
  --bs-link-hover-color-rgb: 124, 45, 18;
  --bs-focus-ring-color: rgba(var(--brand-rgb), 0.25);
}

.bg-brand {
  background-color: var(--brand) !important;
}

.text-brand {
  color: var(--brand-dark) !important;
}

.border-brand {
  border-color: var(--brand) !important;
}

/* Primary actions use the brand colour (the markup keeps Bootstrap's "success" classes). */
.btn-success {
  --bs-btn-bg: var(--brand);
  --bs-btn-border-color: var(--brand);
  --bs-btn-hover-bg: var(--brand-dark);
  --bs-btn-hover-border-color: var(--brand-dark);
  --bs-btn-active-bg: var(--brand-darker);
  --bs-btn-active-border-color: var(--brand-darker);
  --bs-btn-disabled-bg: var(--brand);
  --bs-btn-disabled-border-color: var(--brand);
  --bs-btn-focus-shadow-rgb: var(--brand-rgb);
}

.btn-outline-success {
  --bs-btn-color: var(--brand-dark);
  --bs-btn-border-color: var(--brand);
  --bs-btn-hover-bg: var(--brand);
  --bs-btn-hover-border-color: var(--brand);
  --bs-btn-active-bg: var(--brand-dark);
  --bs-btn-active-border-color: var(--brand-dark);
  --bs-btn-disabled-color: var(--brand);
  --bs-btn-disabled-border-color: var(--brand);
  --bs-btn-focus-shadow-rgb: var(--brand-rgb);
}

.nav-pills {
  --bs-nav-pills-link-active-bg: var(--brand);
  --bs-nav-link-color: var(--brand-dark);
  --bs-nav-link-hover-color: var(--brand-darker);
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
  border-color: rgba(var(--brand-rgb), 0.6);
  box-shadow: 0 0 0 0.25rem rgba(var(--brand-rgb), 0.2);
}

.form-check-input:checked {
  background-color: var(--brand);
  border-color: var(--brand);
}

.navbar-brand {
  letter-spacing: 0.02em;
}

.footer {
  background-color: var(--brand-light);
}

html {
  font-size: 16px;
}

/* Left sidebar menu: a fixed column from md up, an off-canvas drawer on phones. */
.sidebar {
  --bs-offcanvas-width: 260px;
  background-color: #fff;
}

@media (min-width: 768px) {
  .sidebar {
    width: 240px;
    flex-shrink: 0;
  }

  .sidebar .offcanvas-body {
    position: sticky;
    top: 56px;
    max-height: calc(100vh - 56px);
    padding: 0 0.75rem;
    overflow-y: auto;
  }
}

.sidebar .nav-link {
  padding: 0.6rem 1rem;
}

.sidebar .nav-link:not(.active):hover {
  background-color: var(--brand-light);
}

.min-w-0 {
  min-width: 0;
}

/* Large touch targets – sellers often use the administration on a phone. */
.btn {
  min-height: 44px;
}

.form-check-input {
  width: 1.3em;
  height: 1.3em;
}

/* Validation summary rendered without errors (client-side validation placeholder). */
.validation-summary-valid {
  display: none;
}
