/* app-components.css — stack app-specific overrides (keep minimal) */

/* Shared page-header pattern used by all Stack pages */
.page-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-sm) var(--space-md);
  margin-bottom: var(--space-lg);

  & h1 {
    font-size: var(--font-size-2xl);
    font-weight: 600;
    letter-spacing: -0.01em;
    margin: 0;
    line-height: 1.2;
  }
}

.page-subtitle {
  margin: var(--space-2xs) 0 0;
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
  max-width: 60ch;
}

/* External domain links rendered inside cards and detail tables */
a.domain-link {
  color: var(--color-primary);
  text-decoration: none;

  &:hover {
    text-decoration: underline;
  }
}

/* Copyable install-command block (packages pages) */
.pkg-cmd {
  display: flex;
  align-items: center;
  gap: var(--space-2xs);
  background: var(--color-bg-base);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  padding-left: var(--space-sm);

  & code {
    flex: 1;
    min-width: 0;
    background: none;
    border: none;
    padding: var(--space-xs) 0;
    font-size: var(--font-size-xs);
    white-space: nowrap;
    overflow-x: auto;
  }
}

/* CLS prevention — reserve space before custom elements upgrade */
app-button:not(:defined) {
  visibility: hidden;
}

app-badge:not(:defined) {
  visibility: hidden;
}
