/* GRIDBORN Build 25 – mobile stability, larger city imagery and trophy cabinet */
.brand-mark {
  padding: 0 !important;
  overflow: hidden;
  background: #080b0f !important;
  transform: none !important;
}

.brand-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.city-profile-image,
.city-profile-image-placeholder {
  width: min(100%, 760px) !important;
  min-height: 320px !important;
  aspect-ratio: 16 / 9 !important;
}

.city-profile-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

#city .city-banner {
  min-height: 300px !important;
  padding: 30px !important;
}

#profile .profile-trophy-cabinet,
#public-profile .profile-trophy-cabinet {
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

#profile .trophy-cabinet-shelf,
#public-profile .trophy-cabinet-shelf {
  width: 100%;
  box-sizing: border-box;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

#profile .trophy-display-item,
#public-profile .trophy-display-item {
  min-width: 0;
}

.challenge-inbox {
  margin: 18px 0;
  padding: 18px;
  border: 1px solid rgba(255, 122, 24, .34);
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(255, 122, 24, .08), transparent 56%),
    rgba(12, 17, 23, .94);
}

.challenge-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
}

.challenge-card {
  min-width: 0;
  padding: 16px;
  border: 1px solid #303a46;
  border-radius: 14px;
  background: #121922;
}

.challenge-card.incoming {
  border-color: rgba(255, 189, 69, .55);
  box-shadow: inset 3px 0 0 #ffbd45;
}

.challenge-card h4 {
  margin: 10px 0 4px;
  font-size: 1rem;
}

.challenge-card p,
.challenge-card small {
  display: block;
  margin: 0;
  color: #aab5c2;
}

.challenge-card .btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.challenge-card .btn-row .btn {
  flex: 1 1 120px;
}

@media (max-width: 720px) {
  .city-profile-image,
  .city-profile-image-placeholder {
    min-height: 230px !important;
  }

  #city .city-banner {
    min-height: 250px !important;
  }

  #profile .trophy-cabinet-shelf,
  #public-profile .trophy-cabinet-shelf {
    grid-template-columns: 1fr;
    padding: 10px;
  }

  .challenge-inbox {
    padding: 13px;
  }

  .challenge-card-grid {
    grid-template-columns: 1fr;
  }
}
