// =============================================================================
// Styles specific to CookingSessionPage — colocated next to
// CookingSessionPage.tsx since nothing else uses these classes. Same page
// shell/status conventions as shopping-list-page.scss
// (`__header`/`__status`); below it, a vertical stack of phase sections
// each holding a "meanwhile" band and a list of task cards.
// =============================================================================

.cooking-session-page {
  height: 100%;
  display: flex;
  flex-direction: column;

  &__header {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--space-md);
    margin-bottom: var(--space-sm);
  }

  &__subtitle {
    flex-shrink: 0;
    margin: 0 0 var(--space-lg);
    color: var(--color-text-muted);
    font-size: var(--font-size-md);
  }

  &__status {
    color: var(--color-text-muted);
    font-size: var(--font-size-md);
  }

  &__status--error {
    color: var(--color-error);
  }
}

// --- Scrollable plan body --------------------------------------------------
.cooking-session {
  flex: 1;
  min-height: 0;
  overflow: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);

  // Recipe legend — one chip per planned recipe/portion pairing.
  &__legend {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
  }

  &__legend-item {
    padding: 0.15rem var(--space-sm);
    border-radius: var(--radius-pill);
    background: var(--color-surface);
    box-shadow: var(--shadow-sm);
    font-size: var(--font-size-sm);
    color: var(--color-text);
    font-variant-numeric: tabular-nums;
  }
}

// --- One phase ----------------------------------------------------------------
.cooking-phase {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);

  &__title {
    display: flex;
    align-items: baseline;
    gap: var(--space-sm);
    margin: 0;
    font-size: var(--font-size-md);
  }

  &__index {
    font-weight: 700;
    color: var(--color-text);
  }

  &__kind {
    font-size: var(--font-size-sm);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-text-muted);
  }

  // "Pendant ce temps" — passive cooks still running from earlier phases.
  &__background {
    border-left: 3px solid var(--color-border);
    padding: var(--space-xs) var(--space-md);
    color: var(--color-text-muted);
    font-size: var(--font-size-sm);

    &-title {
      display: block;
      font-weight: 600;
      margin-bottom: 0.15rem;
    }

    ul {
      margin: 0;
      padding-left: var(--space-md);
    }
  }

  &__tasks {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
  }
}

// --- One task card ----------------------------------------------------------
.cooking-task {
  background: var(--color-surface);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  padding: var(--space-sm) var(--space-md);

  // A pooled prep task is the headline feature of this page — give it a
  // subtle accent border so it stands out from plain recipe steps.
  &--merged-prep {
    border-left: 3px solid var(--color-accent);
  }

  &__headline {
    margin: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-xs);
    font-weight: 600;
    color: var(--color-text);
  }

  &__badge {
    padding: 0.05rem var(--space-xs);
    border-radius: var(--radius-pill);
    background: var(--color-accent);
    color: var(--color-surface);
    font-size: var(--font-size-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
  }

  &__recipes,
  &__utensils {
    margin: 0.2rem 0 0;
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
  }
}
