:root {
  /* Navy background of the logo; sampled from static/img/logo.png. */
  --brand-navy: #0f1b3b;
}

.brand-navbar {
  background-color: var(--brand-navy);
}

.brand-logo-img {
  display: block;
  width: auto;
  height: auto;
  /* Wide wordmark (~7.5:1): cap height on desktop, but shrink to fit the
     viewport on narrow screens so it never overflows the navbar. */
  max-height: 36px;
  max-width: min(70vw, 280px);
}

.product-thumb {
  height: 180px;
  object-fit: contain;
  background: #fff;
}

.product-thumb-placeholder {
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f1f3f5;
  color: #ced4da;
  font-size: 3rem;
}

.product-detail-img {
  max-height: 380px;
  object-fit: contain;
}

.auth-card {
  max-width: 460px;
  margin: 2rem auto;
}

.banner-img {
  width: 100%;
  height: 360px;
  object-fit: cover;
}

@media (max-width: 768px) {
  .banner-img {
    height: 190px;
  }
}

.warehouse-img {
  height: 200px;
  object-fit: cover;
}

.warehouse-img-placeholder {
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f1f3f5;
  color: #ced4da;
  font-size: 3rem;
}

.manager-photo {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 50%;
  flex: 0 0 auto;
}

.manager-photo-placeholder {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e9ecef;
  color: #adb5bd;
  font-size: 1.75rem;
}
