@import "https://assets.elements.dev/assets/app/shared/ui-catalog/catalog/style.c38e1d7304920e3.css";

.dropdown-menu-demo-row {
  display:         flex;
  flex-wrap:       wrap;
  align-items:     center;
  justify-content: center;
  gap:             var(--space-3);
}

.dropdown-menu-demo-log {
  font-family: var(--font-mono);
  font-size:   var(--text-xs);
  color:       var(--ink-dim);
  text-align:  center;
}

.dropdown-menu-demo-sub-label {
  display:     inline-flex;
  align-items: center;
  gap:         var(--item-gap);
}

.dropdown-menu-demo-sub-label .icon {
  width:  var(--icon-size);
  height: var(--icon-size);
  color:  var(--ink-dim);
}

.dropdown-menu-demo-rtl {
  display: flex;
}

.dropdown-menu-demo-scroller {
  box-sizing:    border-box;
  width:         100%;
  max-width:     var(--container-xs);
  height:        var(--space-32);
  overflow:      auto;
  border:        var(--control-border-width) dashed var(--control-border);
  border-radius: var(--radius-surface);
}

.dropdown-menu-demo-scroller:focus-visible {
  outline:    none;
  box-shadow: var(--focus-ring);
}

/* Room above and below the trigger so it can scroll out of the box. */
.dropdown-menu-demo-scroller-body {
  display:        flex;
  flex-direction: column;
  align-items:    center;
  gap:            var(--space-3);
  padding:        var(--space-12) var(--space-4) var(--space-64);
}

/* A box whose edges count as collision edges (collisionBoundary). */
.dropdown-menu-demo-boundary {
  box-sizing:      border-box;
  display:         flex;
  align-items:     flex-end;
  justify-content: center;
  width:           100%;
  max-width:       var(--container-xs);
  height:          var(--space-64);
  padding:         var(--space-3);
  border:          var(--control-border-width) dashed var(--control-border);
  border-radius:   var(--radius-surface);
}

/* The anchor demo: the menu opens against the box, not its trigger. */
.dropdown-menu-demo-anchor {
  display:     flex;
  align-items: center;
  gap:         var(--space-3);
}

.dropdown-menu-demo-anchor-target {
  padding:       var(--space-2) var(--space-3);
  font-size:     var(--text-ui-sm);
  color:         var(--ink-dim);
  border:        var(--control-border-width) dashed var(--control-border);
  border-radius: var(--radius-surface);
}

/* An echo line takes its own full-width line under the controls and
   reserves its lines, so a longer or wrapping echo never moves a control or
   grows the demo (1280, 390, rtl). */
.demo-stage > .dropdown-menu-demo-log[data-testid],
.dropdown-menu-demo-row > .dropdown-menu-demo-log[data-testid] {
  align-self: stretch;
  min-height: 2lh;
  text-align: center;
}

.demo-stage:not(.is-column) > .dropdown-menu-demo-log[data-testid],
.dropdown-menu-demo-row > .dropdown-menu-demo-log[data-testid] {
  flex-basis: 100%;
}

.dropdown-menu-demo-log[data-testid].is-long {
  min-height: 3lh;
}

.dropdown-menu-demo-log[data-testid].is-longer {
  min-height: 4lh;
}

/* The form demo's trigger names the chosen status: a fixed width that fits
   the longest one, so choosing a status never moves it or the Save button. */
.dropdown-menu-demo-status {
  width:           14rem;
  justify-content: flex-start;
}
