:root {
  --app-header-min-top-padding: 66px;
  --app-header-safe-top-offset: 26px;
  --app-header-top-padding: max(
    var(--app-header-min-top-padding),
    calc(var(--app-safe-area-top) + var(--app-header-safe-top-offset))
  );
  --app-header-bottom-padding: 8px;
  --app-header-logo-height: 36px;
  --app-logo-content-gap: 13px;
}

.tg-desktop .topbar-spacer,
.tg-desktop .logo-block {
  display: none;
}

.tg-desktop {
  --app-header-min-top-padding: 0px;
  --app-header-safe-top-offset: 0px;
  --app-header-bottom-padding: 0px;
  --app-header-logo-height: 0px;
  --app-logo-content-gap: 0px;
}

.topbar-spacer {
  position: relative;
  z-index: 2;
  height: var(--app-header-top-padding);
  margin-top: 0;
}

.logo-block {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  min-height: calc(var(--app-header-logo-height) + var(--app-header-bottom-padding));
  padding: 0 0 var(--app-header-bottom-padding);
  margin-bottom: -8px;
  animation: fadeUp 0.6s ease both;
}

.logo-text {
  font-weight: 800;
  font-size: 17px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  line-height: 1;
}

.logo-text .gold {
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-bright) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.logo-text .light {
  color: rgba(255, 255, 255, 0.85);
}

.logo-text--catalog {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.0325rem;
  text-transform: none;
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}
