/* =========================
   Page header
========================= */

@use "../kit-deps" as *;

.page-header {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: $space-5;
  width: 100%;
  padding: $space-5;
  border: $border-width-base $border-style-base $border-color-muted;
  border-left-width: $border-width-accent;
  border-radius: $radius-md;
  background-color: $surface-panel-muted;
  overflow: hidden;

  .page-header-content {
    display: flex;
    flex-direction: column;
    gap: $space-2;
    min-width: min(100%, 320px);
  }

  .page-header-kicker {
    color: $mint-700;
    font-size: 12px;
    font-weight: $font-weight-bold;
    line-height: 1.4;
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }

  .page-header-title {
    margin: 0;
    color: $neutral-900;
    font-size: 28px;
    font-weight: $font-weight-bold;
    line-height: 1.2;
  }

  .page-header-subtitle {
    max-width: 720px;
    margin: 0;
    color: $neutral-600;
    font-size: 15px;
    line-height: 1.6;
  }

  .page-header-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: $space-2;
    color: $neutral-500;
    font-size: 13px;
  }

  .page-header-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: $space-3;
    min-width: 0;
  }

  &.page-header-compact {
    align-items: center;
    padding: $space-4;

    .page-header-title {
      font-size: 20px;
    }
  }

  &.page-header-accent {
    border-color: $mint-600;
    background-color: rgba($mint-300, 0.16);

    .page-header-kicker {
      color: $mint-800;
    }
  }
}
