.demo-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin: 0 0 1rem;
  padding: 0.65rem 1rem;
  border-radius: 10px;
  border: 1px solid rgba(37, 99, 235, 0.25);
  background: linear-gradient(90deg, rgba(37, 99, 235, 0.1), rgba(34, 211, 238, 0.06));
  font-size: 0.88rem;
  color: var(--text);
}

.demo-banner--embed {
  margin: 0;
  border-radius: 0;
  border-left: none;
  border-right: none;
  border-top: none;
}

.demo-banner-tag {
  display: inline-flex;
  padding: 0.15rem 0.5rem;
  border-radius: 6px;
  background: #2563eb;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 600;
}

.demo-banner-link {
  margin-left: auto;
  font-weight: 600;
  color: #2563eb;
  white-space: nowrap;
}

.layout--demo-embed {
  --sidebar-w: 210px;
  min-height: 0 !important;
  height: auto;
  align-items: start;
}

@media (max-width: 960px) {
  .layout--demo-embed {
    grid-template-columns: 1fr;
  }

  .layout--demo-embed .sidebar {
    position: fixed;
    min-height: 100vh !important;
    height: auto !important;
    max-height: 100vh;
    align-self: auto;
  }

  .layout--demo-embed .main {
    min-height: 0;
    overflow: visible;
  }
}

@media (min-width: 961px) {
  .layout--demo-embed .sidebar {
    min-height: 0 !important;
    height: auto !important;
    max-height: none;
    position: relative;
    top: auto;
    font-size: 0.88rem;
    align-self: start;
  }
}

.layout--demo-embed .sidebar-head {
  padding: 0.75rem 0.85rem 0.65rem;
}

.layout--demo-embed .brand-text {
  font-size: 0.92rem;
}

.layout--demo-embed .sidebar-user {
  padding: 0 0.85rem 0.65rem;
}

.layout--demo-embed .sidebar-user-role {
  font-size: 0.72rem;
}

.layout--demo-embed .nav-leaf {
  padding: 0.45rem 0.85rem;
  font-size: 0.84rem;
}

.layout--demo-embed .main {
  min-height: 0;
  overflow: auto;
}

.layout--demo-embed .main-inner {
  padding: 0.75rem 1rem 1rem;
}

body.layout--demo-embed {
  min-height: 0 !important;
  height: auto !important;
}
